pbcodec

package
v0.0.0-...-4066bdc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 10, 2022 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_sf_arweave_type_v1_type_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type BigInt

type BigInt struct {
	Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"`
	// contains filtered or unexported fields
}

func (*BigInt) Descriptor deprecated

func (*BigInt) Descriptor() ([]byte, []int)

Deprecated: Use BigInt.ProtoReflect.Descriptor instead.

func (*BigInt) GetBytes

func (x *BigInt) GetBytes() []byte

func (*BigInt) ProtoMessage

func (*BigInt) ProtoMessage()

func (*BigInt) ProtoReflect

func (x *BigInt) ProtoReflect() protoreflect.Message

func (*BigInt) Reset

func (x *BigInt) Reset()

func (*BigInt) String

func (x *BigInt) String() string

type Block

type Block struct {

	// Firehose block version (unrelated to Arweave block version)
	Ver uint32 `protobuf:"varint,1,opt,name=ver,proto3" json:"ver,omitempty"`
	// The block identifier
	IndepHash []byte `protobuf:"bytes,2,opt,name=indep_hash,json=indepHash,proto3" json:"indep_hash,omitempty"`
	// The nonce chosen to solve the mining problem
	Nonce []byte `protobuf:"bytes,3,opt,name=nonce,proto3" json:"nonce,omitempty"`
	// `indep_hash` of the previous block in the weave
	PreviousBlock []byte `protobuf:"bytes,4,opt,name=previous_block,json=previousBlock,proto3" json:"previous_block,omitempty"`
	// POSIX time of block discovery
	Timestamp uint64 `protobuf:"varint,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// POSIX time of the last difficulty retarget
	LastRetarget uint64 `protobuf:"varint,6,opt,name=last_retarget,json=lastRetarget,proto3" json:"last_retarget,omitempty"`
	// Mining difficulty; the number `hash` must be greater than.
	Diff *BigInt `protobuf:"bytes,7,opt,name=diff,proto3" json:"diff,omitempty"`
	// How many blocks have passed since the genesis block
	Height uint64 `protobuf:"varint,8,opt,name=height,proto3" json:"height,omitempty"`
	// Mining solution hash of the block; must satisfy the mining difficulty
	Hash []byte `protobuf:"bytes,9,opt,name=hash,proto3" json:"hash,omitempty"`
	// Merkle root of the tree of Merkle roots of block's transactions' data.
	TxRoot []byte `protobuf:"bytes,10,opt,name=tx_root,json=txRoot,proto3" json:"tx_root,omitempty"`
	// Transactions contained within this block
	Txs []*Transaction `protobuf:"bytes,11,rep,name=txs,proto3" json:"txs,omitempty"`
	// The root hash of the Merkle Patricia Tree containing
	// all wallet (account) balances and the identifiers
	// of the last transactions posted by them; if any.
	WalletList []byte `protobuf:"bytes,12,opt,name=wallet_list,json=walletList,proto3" json:"wallet_list,omitempty"`
	// (string or) Address of the account to receive the block rewards. Can also be unclaimed which is encoded as a null byte
	RewardAddr []byte `protobuf:"bytes,13,opt,name=reward_addr,json=rewardAddr,proto3" json:"reward_addr,omitempty"`
	// Tags that a block producer can add to a block
	Tags []*Tag `protobuf:"bytes,14,rep,name=tags,proto3" json:"tags,omitempty"`
	// Size of reward pool
	RewardPool *BigInt `protobuf:"bytes,15,opt,name=reward_pool,json=rewardPool,proto3" json:"reward_pool,omitempty"`
	// Size of the weave in bytes
	WeaveSize *BigInt `protobuf:"bytes,16,opt,name=weave_size,json=weaveSize,proto3" json:"weave_size,omitempty"`
	// Size of this block in bytes
	BlockSize *BigInt `protobuf:"bytes,17,opt,name=block_size,json=blockSize,proto3" json:"block_size,omitempty"`
	// Required after the version 1.8 fork. Zero otherwise.
	// The sum of the average number of hashes computed
	// by the network to produce the past blocks including this one.
	CumulativeDiff *BigInt `protobuf:"bytes,18,opt,name=cumulative_diff,json=cumulativeDiff,proto3" json:"cumulative_diff,omitempty"`
	// Required after the version 1.8 fork. Null byte otherwise.
	// The Merkle root of the block index - the list of {`indep_hash`; `weave_size`; `tx_root`} triplets
	HashListMerkle []byte `protobuf:"bytes,20,opt,name=hash_list_merkle,json=hashListMerkle,proto3" json:"hash_list_merkle,omitempty"`
	// The proof of access; Used after v2.4 only; set as defaults otherwise
	Poa *ProofOfAccess `protobuf:"bytes,21,opt,name=poa,proto3" json:"poa,omitempty"`
	// contains filtered or unexported fields
}

func (*Block) Descriptor deprecated

func (*Block) Descriptor() ([]byte, []int)

Deprecated: Use Block.ProtoReflect.Descriptor instead.

func (*Block) GetBlockSize

func (x *Block) GetBlockSize() *BigInt

func (*Block) GetCumulativeDiff

func (x *Block) GetCumulativeDiff() *BigInt

func (*Block) GetDiff

func (x *Block) GetDiff() *BigInt

func (*Block) GetHash

func (x *Block) GetHash() []byte

func (*Block) GetHashListMerkle

func (x *Block) GetHashListMerkle() []byte

func (*Block) GetHeight

func (x *Block) GetHeight() uint64

func (*Block) GetIndepHash

func (x *Block) GetIndepHash() []byte

func (*Block) GetLastRetarget

func (x *Block) GetLastRetarget() uint64

func (*Block) GetNonce

func (x *Block) GetNonce() []byte

func (*Block) GetPoa

func (x *Block) GetPoa() *ProofOfAccess

func (*Block) GetPreviousBlock

func (x *Block) GetPreviousBlock() []byte

func (*Block) GetRewardAddr

func (x *Block) GetRewardAddr() []byte

func (*Block) GetRewardPool

func (x *Block) GetRewardPool() *BigInt

func (*Block) GetTags

func (x *Block) GetTags() []*Tag

func (*Block) GetTimestamp

func (x *Block) GetTimestamp() uint64

func (*Block) GetTxRoot

func (x *Block) GetTxRoot() []byte

func (*Block) GetTxs

func (x *Block) GetTxs() []*Transaction

func (*Block) GetVer

func (x *Block) GetVer() uint32

func (*Block) GetWalletList

func (x *Block) GetWalletList() []byte

func (*Block) GetWeaveSize

func (x *Block) GetWeaveSize() *BigInt

func (*Block) ProtoMessage

func (*Block) ProtoMessage()

func (*Block) ProtoReflect

func (x *Block) ProtoReflect() protoreflect.Message

func (*Block) Reset

func (x *Block) Reset()

func (*Block) String

func (x *Block) String() string

type ProofOfAccess

type ProofOfAccess struct {

	// The recall byte option chosen; global offset of index byte
	Option string `protobuf:"bytes,1,opt,name=option,proto3" json:"option,omitempty"`
	// The path through the Merkle tree of transactions' `data_root`s;
	// from the `data_root` being proven to the corresponding `tx_root`
	TxPath []byte `protobuf:"bytes,2,opt,name=tx_path,json=txPath,proto3" json:"tx_path,omitempty"`
	// The path through the Merkle tree of identifiers of chunks of the
	// corresponding transaction; from the chunk being proven to the
	// corresponding `data_root`.
	DataPath []byte `protobuf:"bytes,3,opt,name=data_path,json=dataPath,proto3" json:"data_path,omitempty"`
	// The data chunk.
	Chunk []byte `protobuf:"bytes,4,opt,name=chunk,proto3" json:"chunk,omitempty"`
	// contains filtered or unexported fields
}

A succinct proof of access to a recall byte found in a TX

func (*ProofOfAccess) Descriptor deprecated

func (*ProofOfAccess) Descriptor() ([]byte, []int)

Deprecated: Use ProofOfAccess.ProtoReflect.Descriptor instead.

func (*ProofOfAccess) GetChunk

func (x *ProofOfAccess) GetChunk() []byte

func (*ProofOfAccess) GetDataPath

func (x *ProofOfAccess) GetDataPath() []byte

func (*ProofOfAccess) GetOption

func (x *ProofOfAccess) GetOption() string

func (*ProofOfAccess) GetTxPath

func (x *ProofOfAccess) GetTxPath() []byte

func (*ProofOfAccess) ProtoMessage

func (*ProofOfAccess) ProtoMessage()

func (*ProofOfAccess) ProtoReflect

func (x *ProofOfAccess) ProtoReflect() protoreflect.Message

func (*ProofOfAccess) Reset

func (x *ProofOfAccess) Reset()

func (*ProofOfAccess) String

func (x *ProofOfAccess) String() string

type Tag

type Tag struct {
	Name  []byte `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

func (*Tag) Descriptor deprecated

func (*Tag) Descriptor() ([]byte, []int)

Deprecated: Use Tag.ProtoReflect.Descriptor instead.

func (*Tag) GetName

func (x *Tag) GetName() []byte

func (*Tag) GetValue

func (x *Tag) GetValue() []byte

func (*Tag) ProtoMessage

func (*Tag) ProtoMessage()

func (*Tag) ProtoReflect

func (x *Tag) ProtoReflect() protoreflect.Message

func (*Tag) Reset

func (x *Tag) Reset()

func (*Tag) String

func (x *Tag) String() string

type Transaction

type Transaction struct {

	// 1 or 2 for v1 or v2 transactions. More allowable in the future
	Format uint32 `protobuf:"varint,1,opt,name=format,proto3" json:"format,omitempty"`
	// The transaction identifier.
	Id []byte `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	// Either the identifier of the previous transaction from the same
	// wallet or the identifier of one of the last ?MAX_TX_ANCHOR_DEPTH blocks.
	LastTx []byte `protobuf:"bytes,3,opt,name=last_tx,json=lastTx,proto3" json:"last_tx,omitempty"`
	// The public key the transaction is signed with.
	Owner []byte `protobuf:"bytes,4,opt,name=owner,proto3" json:"owner,omitempty"`
	// A list of arbitrary key-value pairs
	Tags []*Tag `protobuf:"bytes,5,rep,name=tags,proto3" json:"tags,omitempty"`
	// The address of the recipient; if any. The SHA2-256 hash of the public key.
	Target []byte `protobuf:"bytes,6,opt,name=target,proto3" json:"target,omitempty"`
	// The amount of Winstons to send to the recipient; if any.
	Quantity *BigInt `protobuf:"bytes,7,opt,name=quantity,proto3" json:"quantity,omitempty"`
	// The data to upload; if any. For v2 transactions; the field is optional
	// - a fee is charged based on the `data_size` field;
	//   data may be uploaded any time later in chunks.
	Data []byte `protobuf:"bytes,8,opt,name=data,proto3" json:"data,omitempty"`
	// Size in bytes of the transaction data.
	DataSize *BigInt `protobuf:"bytes,9,opt,name=data_size,json=dataSize,proto3" json:"data_size,omitempty"`
	// The Merkle root of the Merkle tree of data chunks.
	DataRoot []byte `protobuf:"bytes,10,opt,name=data_root,json=dataRoot,proto3" json:"data_root,omitempty"`
	// The signature.
	Signature []byte `protobuf:"bytes,11,opt,name=signature,proto3" json:"signature,omitempty"`
	// The fee in Winstons.
	Reward *BigInt `protobuf:"bytes,12,opt,name=reward,proto3" json:"reward,omitempty"`
	// contains filtered or unexported fields
}

func (*Transaction) Descriptor deprecated

func (*Transaction) Descriptor() ([]byte, []int)

Deprecated: Use Transaction.ProtoReflect.Descriptor instead.

func (*Transaction) GetData

func (x *Transaction) GetData() []byte

func (*Transaction) GetDataRoot

func (x *Transaction) GetDataRoot() []byte

func (*Transaction) GetDataSize

func (x *Transaction) GetDataSize() *BigInt

func (*Transaction) GetFormat

func (x *Transaction) GetFormat() uint32

func (*Transaction) GetId

func (x *Transaction) GetId() []byte

func (*Transaction) GetLastTx

func (x *Transaction) GetLastTx() []byte

func (*Transaction) GetOwner

func (x *Transaction) GetOwner() []byte

func (*Transaction) GetQuantity

func (x *Transaction) GetQuantity() *BigInt

func (*Transaction) GetReward

func (x *Transaction) GetReward() *BigInt

func (*Transaction) GetSignature

func (x *Transaction) GetSignature() []byte

func (*Transaction) GetTags

func (x *Transaction) GetTags() []*Tag

func (*Transaction) GetTarget

func (x *Transaction) GetTarget() []byte

func (*Transaction) ProtoMessage

func (*Transaction) ProtoMessage()

func (*Transaction) ProtoReflect

func (x *Transaction) ProtoReflect() protoreflect.Message

func (*Transaction) Reset

func (x *Transaction) Reset()

func (*Transaction) String

func (x *Transaction) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL