codec

package
v1.13.2 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2022 License: MIT Imports: 10 Imported by: 12

Documentation

Index

Constants

View Source
const (
	EmmyBlockWatermark                byte = 1 // deprecated
	EmmyEndorsementWatermark               = 2 // deprecated
	OperationWatermark                     = 3
	TenderbakeBlockWatermark               = 11
	TenderbakePreendorsementWatermark      = 12
	TenderbakeEndorsementWatermark         = 13
)

Variables

This section is empty.

Functions

func CalculateMinFee

func CalculateMinFee(o Operation, gas int64, withHeader bool, p *tezos.Params) int64

CalculateMinFee returns the minimum fee at/above which bakers will accept this operation under default config settings. Lower fee operations may not pass the fee filter and may time out in the mempool.

Types

type ActivateAccount

type ActivateAccount struct {
	Simple
	PublicKeyHash tezos.Address  `json:"pkh"`
	Secret        tezos.HexBytes `json:"secret"`
}

ActivateAccount represents "activate_account" operation

func (*ActivateAccount) DecodeBuffer

func (o *ActivateAccount) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

func (ActivateAccount) EncodeBuffer

func (o ActivateAccount) EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

func (ActivateAccount) Kind

func (o ActivateAccount) Kind() tezos.OpType

func (ActivateAccount) MarshalBinary

func (o ActivateAccount) MarshalBinary() ([]byte, error)

func (ActivateAccount) MarshalJSON

func (o ActivateAccount) MarshalJSON() ([]byte, error)

func (*ActivateAccount) UnmarshalBinary

func (o *ActivateAccount) UnmarshalBinary(data []byte) error

type Ballot

type Ballot struct {
	Simple
	Source   tezos.Address      `json:"source"`
	Period   int32              `json:"period"`
	Proposal tezos.ProtocolHash `json:"proposal"`
	Ballot   tezos.BallotVote   `json:"ballot"`
}

Ballot represents "ballot" operation

func (*Ballot) DecodeBuffer

func (o *Ballot) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (Ballot) EncodeBuffer

func (o Ballot) EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

func (Ballot) Kind

func (o Ballot) Kind() tezos.OpType

func (Ballot) MarshalBinary

func (o Ballot) MarshalBinary() ([]byte, error)

func (Ballot) MarshalJSON

func (o Ballot) MarshalJSON() ([]byte, error)

func (*Ballot) UnmarshalBinary

func (o *Ballot) UnmarshalBinary(data []byte) error

type BlockHeader

type BlockHeader struct {
	Level            int32                `json:"level"`
	Proto            byte                 `json:"proto"`
	Predecessor      tezos.BlockHash      `json:"predecessor"`
	Timestamp        time.Time            `json:"timestamp"`
	ValidationPass   byte                 `json:"validation_pass"`
	OperationsHash   tezos.OpListListHash `json:"operations_hash"`
	Fitness          []tezos.HexBytes     `json:"fitness"`
	Context          tezos.ContextHash    `json:"context"`
	PayloadHash      tezos.PayloadHash    `json:"payload_hash"`
	PayloadRound     int                  `json:"payload_round"`
	ProofOfWorkNonce tezos.HexBytes       `json:"proof_of_work_nonce"`
	SeedNonceHash    tezos.NonceHash      `json:"seed_nonce_hash"`
	LbEscapeVote     bool                 `json:"liquidity_baking_escape_vote"`
	Signature        tezos.Signature      `json:"signature"`
	ChainId          *tezos.ChainIdHash   `json:"-"` // remote signer use only
}

BlockHeader represents a Tenderbake compatible block header

func (BlockHeader) Bytes

func (h BlockHeader) Bytes() []byte

Bytes serializes the block header into binary form. When no signature is set, the result can be used as input for signing, if a signature is set the result is ready for broadcast.

func (*BlockHeader) DecodeBuffer

func (h *BlockHeader) DecodeBuffer(buf *bytes.Buffer) (err error)

func (BlockHeader) Digest

func (h BlockHeader) Digest() []byte

Digest returns a 32 byte blake2b hash for signing the block header. The pre-image is binary serialized (without signature) and prefixed with a watermark byte.

func (*BlockHeader) EncodeBuffer

func (h *BlockHeader) EncodeBuffer(buf *bytes.Buffer) error

func (BlockHeader) MarshalBinary

func (h BlockHeader) MarshalBinary() ([]byte, error)

func (BlockHeader) MarshalJSON

func (h BlockHeader) MarshalJSON() ([]byte, error)

func (*BlockHeader) Sign

func (h *BlockHeader) Sign(key tezos.PrivateKey) error

Sign signs the block header using a private key and generates a generic signature. If a valid signature already exists, this function is a noop.

func (*BlockHeader) UnmarshalBinary

func (h *BlockHeader) UnmarshalBinary(data []byte) error

func (BlockHeader) WatermarkedBytes

func (h BlockHeader) WatermarkedBytes() []byte

WatermarkedBytes serializes the block header and prefixes it with a watermark. This format is only used for signing.

func (*BlockHeader) WithChainId

func (h *BlockHeader) WithChainId(id tezos.ChainIdHash) *BlockHeader

WithChainId sets chain_id for this block to id. Use this only for remote signing of blocks as it creates an invalid binary encoding otherwise.

func (*BlockHeader) WithSignature

func (h *BlockHeader) WithSignature(sig tezos.Signature) *BlockHeader

WithSignature adds an externally created signature to the block header. Converts any non-generic signature first. No signature validation is performed, it is assumed the signature is correct.

type Delegation

type Delegation struct {
	Manager
	Delegate tezos.Address `json:"delegate"`
}

Delegation represents "delegation" operation

func (*Delegation) DecodeBuffer

func (o *Delegation) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (Delegation) EncodeBuffer

func (o Delegation) EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

func (Delegation) Kind

func (o Delegation) Kind() tezos.OpType

func (Delegation) MarshalBinary

func (o Delegation) MarshalBinary() ([]byte, error)

func (Delegation) MarshalJSON

func (o Delegation) MarshalJSON() ([]byte, error)

func (*Delegation) UnmarshalBinary

func (o *Delegation) UnmarshalBinary(data []byte) error

type DoubleBakingEvidence

type DoubleBakingEvidence struct {
	Simple
	Bh1 BlockHeader `json:"bh1"`
	Bh2 BlockHeader `json:"bh2"`
}

DoubleBakingEvidence represents "double_baking_evidence" operation

func (*DoubleBakingEvidence) DecodeBuffer

func (o *DoubleBakingEvidence) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (DoubleBakingEvidence) EncodeBuffer

func (o DoubleBakingEvidence) EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

func (DoubleBakingEvidence) Kind

func (DoubleBakingEvidence) MarshalBinary

func (o DoubleBakingEvidence) MarshalBinary() ([]byte, error)

func (DoubleBakingEvidence) MarshalJSON

func (o DoubleBakingEvidence) MarshalJSON() ([]byte, error)

func (*DoubleBakingEvidence) UnmarshalBinary

func (o *DoubleBakingEvidence) UnmarshalBinary(data []byte) error

type DoubleEndorsementEvidence

type DoubleEndorsementEvidence struct {
	Simple
	Op1  InlinedEndorsement `json:"op1"`
	Op2  InlinedEndorsement `json:"op2"`
	Slot int16              `json:"slot"`
}

DoubleEndorsementEvidence represents "double_endorsement_evidence" operation

func (*DoubleEndorsementEvidence) DecodeBuffer

func (o *DoubleEndorsementEvidence) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (DoubleEndorsementEvidence) EncodeBuffer

func (o DoubleEndorsementEvidence) EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

func (DoubleEndorsementEvidence) Kind

func (DoubleEndorsementEvidence) MarshalBinary

func (o DoubleEndorsementEvidence) MarshalBinary() ([]byte, error)

func (DoubleEndorsementEvidence) MarshalJSON

func (o DoubleEndorsementEvidence) MarshalJSON() ([]byte, error)

func (*DoubleEndorsementEvidence) UnmarshalBinary

func (o *DoubleEndorsementEvidence) UnmarshalBinary(data []byte) error

type Endorsement

type Endorsement struct {
	Simple
	Level int32 `json:"level"`
}

Endorsement represents "endorsement" operation

func (*Endorsement) DecodeBuffer

func (o *Endorsement) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (Endorsement) EncodeBuffer

func (o Endorsement) EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

func (Endorsement) Kind

func (o Endorsement) Kind() tezos.OpType

func (Endorsement) MarshalBinary

func (o Endorsement) MarshalBinary() ([]byte, error)

func (Endorsement) MarshalJSON

func (o Endorsement) MarshalJSON() ([]byte, error)

func (*Endorsement) UnmarshalBinary

func (o *Endorsement) UnmarshalBinary(data []byte) error

type EndorsementWithSlot

type EndorsementWithSlot struct {
	Simple
	Endorsement InlinedEndorsement `json:"endorsement"`
	Slot        int16              `json:"slot"`
}

EndorsementWithSlot represents "endorsement_with_slot" operation

func (*EndorsementWithSlot) DecodeBuffer

func (o *EndorsementWithSlot) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (EndorsementWithSlot) EncodeBuffer

func (o EndorsementWithSlot) EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

func (EndorsementWithSlot) Kind

func (o EndorsementWithSlot) Kind() tezos.OpType

func (EndorsementWithSlot) MarshalBinary

func (o EndorsementWithSlot) MarshalBinary() ([]byte, error)

func (EndorsementWithSlot) MarshalJSON

func (o EndorsementWithSlot) MarshalJSON() ([]byte, error)

func (*EndorsementWithSlot) UnmarshalBinary

func (o *EndorsementWithSlot) UnmarshalBinary(data []byte) error

type FailingNoop

type FailingNoop struct {
	Simple
	Arbitrary string `json:"arbitrary"`
}

FailingNoop represents "failing_noop" operations. Used for signing arbitrary messages and guaranteed to be not included on-chain. This prevents an attack vector where a message is crafted which looks like a regular transaction.

func (*FailingNoop) DecodeBuffer

func (o *FailingNoop) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (FailingNoop) EncodeBuffer

func (o FailingNoop) EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

func (FailingNoop) Kind

func (o FailingNoop) Kind() tezos.OpType

func (FailingNoop) MarshalBinary

func (o FailingNoop) MarshalBinary() ([]byte, error)

func (FailingNoop) MarshalJSON

func (o FailingNoop) MarshalJSON() ([]byte, error)

func (*FailingNoop) UnmarshalBinary

func (o *FailingNoop) UnmarshalBinary(data []byte) error

type InlinedEndorsement

type InlinedEndorsement struct {
	Branch      tezos.BlockHash `json:"branch"`
	Endorsement Endorsement     `json:"operations"`
	Signature   tezos.Signature `json:"signature"`
}

InlinedEndorsement represents inlined endorsement operation with signature. This type is uses as part of other operations, but is not a stand-alone operation.

func (*InlinedEndorsement) DecodeBuffer

func (o *InlinedEndorsement) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (InlinedEndorsement) EncodeBuffer

func (o InlinedEndorsement) EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

type Manager

type Manager struct {
	Source       tezos.Address `json:"source"`
	Fee          tezos.N       `json:"fee"`
	Counter      tezos.N       `json:"counter"`
	GasLimit     tezos.N       `json:"gas_limit"`
	StorageLimit tezos.N       `json:"storage_limit"`
}

Manager contains fields common for all manager operations

func (*Manager) DecodeBuffer

func (o *Manager) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (Manager) EncodeBuffer

func (o Manager) EncodeBuffer(buf *bytes.Buffer, _ *tezos.Params) error

func (Manager) EncodeJSON

func (o Manager) EncodeJSON(buf *bytes.Buffer) error

func (Manager) GetCounter

func (o Manager) GetCounter() int64

func (Manager) Limits

func (o Manager) Limits() tezos.Limits

func (*Manager) WithCounter

func (o *Manager) WithCounter(c int64)

func (*Manager) WithLimits

func (o *Manager) WithLimits(limits tezos.Limits)

func (*Manager) WithSource

func (o *Manager) WithSource(addr tezos.Address)

type Op

type Op struct {
	Branch    tezos.BlockHash    `json:"branch"`    // used for TTL handling
	Contents  []Operation        `json:"contents"`  // non-zero list of transactions
	Signature tezos.Signature    `json:"signature"` // added during the lifecycle
	ChainId   *tezos.ChainIdHash `json:"-"`         // optional, used for remote signing only
	TTL       int64              `json:"-"`         // optional, specify TTL in blocks
	Params    *tezos.Params      `json:"-"`         // optional, define protocol to encode for
	Source    tezos.Address      `json:"-"`         // optional, used as manager/sender
}

Op is a container used to collect, serialize and sign Tezos operations. It serves as a low level building block for constructing and serializing operations, but is agnostic to the order/lifecycle in which data is added or updated.

func DecodeOp

func DecodeOp(data []byte) (*Op, error)

DecodeOp decodes an operation from its binary representation. The encoded data may or may not contain a signature.

func NewOp

func NewOp() *Op

NewOp creates a new empty operation that uses default params and a default operation TTL.

func (*Op) Bytes

func (o *Op) Bytes() []byte

Bytes serializes the operation into binary form. When no signature is set, the result can be used as input for signing, if a signature is set the result is ready to be broadcast. Returns a nil slice when branch or contents are empty.

func (*Op) Digest

func (o *Op) Digest() []byte

Digest returns a 32 byte blake2b hash for signing the operation. The pre-image is the binary serialized operation (without signature) prefixed with a type-dependent watermark byte.

func (Op) Limits

func (o Op) Limits() tezos.Limits

Limits returns the sum of all limits (fee, gas, storage limit) currently set for all contained operations.

func (*Op) MarshalJSON

func (o *Op) MarshalJSON() ([]byte, error)

MarshalJSON conditionally marshals the JSON format of the operation with checks for required fields. Omits signature for unsigned ops so that the encoding is compatible with remote forging.

func (Op) NeedCounter

func (o Op) NeedCounter() bool

NeedCounter returns true if any of the contained operations has not assigned a valid counter value.

func (*Op) Sign

func (o *Op) Sign(key tezos.PrivateKey) error

Sign signs the operation using provided private key. If a valid signature already exists this function is a noop. Fails when either branch or contents are empty.

func (*Op) WatermarkedBytes

func (o *Op) WatermarkedBytes() []byte

WatermarkedBytes serializes the operation and prefixes it with a watermark. This format is only used for signing. Watermarked data is not useful anywhere else.

func (*Op) WithBranch

func (o *Op) WithBranch(hash tezos.BlockHash) *Op

WithBranch sets the branch for this operation to hash.

func (*Op) WithCall

func (o *Op) WithCall(to tezos.Address, params micheline.Parameters) *Op

WithCall adds a contract call transaction to the contents list.

func (*Op) WithCallExt

func (o *Op) WithCallExt(to tezos.Address, params micheline.Parameters, amount int64) *Op

WithCallExt adds a contract call with value transfer transaction to the contents list.

func (*Op) WithChainId

func (o *Op) WithChainId(id tezos.ChainIdHash) *Op

WithChainId sets chain_id for this operation to id. Use this only for remote signing of (pre)endorsements as it creates an invalid binary encoding otherwise.

func (*Op) WithContents

func (o *Op) WithContents(op Operation) *Op

WithContents adds a Tezos operation to the end of the contents list.

func (*Op) WithContentsFront

func (o *Op) WithContentsFront(op Operation) *Op

WithContentsFront adds a Tezos operation to the front of the contents list.

func (*Op) WithDelegation

func (o *Op) WithDelegation(to tezos.Address) *Op

WithDelegation adds a delegation transaction to the contents list.

func (*Op) WithLimits

func (o *Op) WithLimits(limits []tezos.Limits, margin int64) *Op

WithLimits sets the limits (fee, gas and storage limit) of each contained operation to provided limits. Use this to apply values from simulation with an optional safety margin on gas. This will also calculate the minFee for each operation in the list and add the minFee for header bytes (branch and signature) to the first operation in a list.

Setting a user-defined fee for each individual operation is only honored when its higher than minFee. Note that when sending batch operations all fees must be >= the individual minFee. Otherwise the minFee rule will apply to all zero/lower fee operations and the entire batch may overpay (e.g. if you have the first operation pay all fees for example and set remaining fees to zero).

func (*Op) WithMinFee

func (o *Op) WithMinFee() *Op

func (*Op) WithOrigination

func (o *Op) WithOrigination(script micheline.Script) *Op

WithOrigination adds a contract origination transaction to the contents list.

func (*Op) WithOriginationExt

func (o *Op) WithOriginationExt(script micheline.Script, baker tezos.Address, amount int64) *Op

WithOriginationExt adds a contract origination transaction with optional delegation to baker and an optional value transfer to the contents list.

func (*Op) WithParams

func (o *Op) WithParams(p *tezos.Params) *Op

WithParams defines the protocol and other chain configuration params for which the operation will be encoded. If unset, defaults to tezos.DefaultParams.

func (*Op) WithRegisterBaker

func (o *Op) WithRegisterBaker() *Op

WithRegisterBaker adds a delegation transaction that registers the caller as baker to the contents list.

func (*Op) WithRegisterConstant

func (o *Op) WithRegisterConstant(value micheline.Prim) *Op

WithRegisterConstant adds a global constant registration transaction to the contents list.

func (*Op) WithSignature

func (o *Op) WithSignature(sig tezos.Signature) *Op

WithSignature adds an externally created signature to the operation. No signature validation is performed, it is assumed the signature is correct.

func (*Op) WithSource

func (o *Op) WithSource(addr tezos.Address) *Op

WithSource sets the source for all manager operations to addr.

func (*Op) WithTTL

func (o *Op) WithTTL(n int64) *Op

WithTTL sets a time-to-live for the operation in number of blocks. This may be used as a convenience method instead of setting a branch directly, but requires to use an autocomplete handler, wallet or custom function that fetches the hash of block head~N as branch. Note that serialization will fail until a brach is set.

func (*Op) WithTransfer

func (o *Op) WithTransfer(to tezos.Address, amount int64) *Op

WithTransfer adds a simple value transfer transaction to the contents list.

func (*Op) WithUndelegation

func (o *Op) WithUndelegation() *Op

WithUndelegation adds a delegation transaction that resets the callers baker to null to the contents list.

type Operation

type Operation interface {
	Kind() tezos.OpType
	Limits() tezos.Limits
	GetCounter() int64
	WithSource(tezos.Address)
	WithCounter(int64)
	WithLimits(tezos.Limits)
	encoding.BinaryMarshaler
	encoding.BinaryUnmarshaler
	json.Marshaler
	EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error
	DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) error
}

Operation is a generic type used to handle different Tezos operation types inside an operation's contents list.

type Origination

type Origination struct {
	Manager
	Balance  tezos.N          `json:"balance"`
	Delegate tezos.Address    `json:"delegate,omitempty"`
	Script   micheline.Script `json:"script"`
}

Origination represents "origination" operation

func (*Origination) DecodeBuffer

func (o *Origination) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (Origination) EncodeBuffer

func (o Origination) EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

func (Origination) Kind

func (o Origination) Kind() tezos.OpType

func (Origination) MarshalBinary

func (o Origination) MarshalBinary() ([]byte, error)

func (Origination) MarshalJSON

func (o Origination) MarshalJSON() ([]byte, error)

func (*Origination) UnmarshalBinary

func (o *Origination) UnmarshalBinary(data []byte) error

type Proposals

type Proposals struct {
	Simple
	Source    tezos.Address        `json:"source"`
	Period    int32                `json:"period"`
	Proposals []tezos.ProtocolHash `json:"proposals"`
}

Proposals represents "proposals" operation

func (*Proposals) DecodeBuffer

func (o *Proposals) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (Proposals) EncodeBuffer

func (o Proposals) EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

func (Proposals) Kind

func (o Proposals) Kind() tezos.OpType

func (Proposals) MarshalBinary

func (o Proposals) MarshalBinary() ([]byte, error)

func (Proposals) MarshalJSON

func (o Proposals) MarshalJSON() ([]byte, error)

func (*Proposals) UnmarshalBinary

func (o *Proposals) UnmarshalBinary(data []byte) error

type RegisterGlobalConstant

type RegisterGlobalConstant struct {
	Manager
	Value micheline.Prim `json:"value"`
}

RegisterGlobalConstant represents "register_global_constant" operation

func (*RegisterGlobalConstant) DecodeBuffer

func (o *RegisterGlobalConstant) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (RegisterGlobalConstant) EncodeBuffer

func (o RegisterGlobalConstant) EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

func (RegisterGlobalConstant) Kind

func (RegisterGlobalConstant) MarshalBinary

func (o RegisterGlobalConstant) MarshalBinary() ([]byte, error)

func (RegisterGlobalConstant) MarshalJSON

func (o RegisterGlobalConstant) MarshalJSON() ([]byte, error)

func (*RegisterGlobalConstant) UnmarshalBinary

func (o *RegisterGlobalConstant) UnmarshalBinary(data []byte) error

type Reveal

type Reveal struct {
	Manager
	PublicKey tezos.Key `json:"public_key"`
}

Reveal represents "reveal" operation

func (*Reveal) DecodeBuffer

func (o *Reveal) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (Reveal) EncodeBuffer

func (o Reveal) EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

func (Reveal) Kind

func (o Reveal) Kind() tezos.OpType

func (Reveal) MarshalBinary

func (o Reveal) MarshalBinary() ([]byte, error)

func (Reveal) MarshalJSON

func (o Reveal) MarshalJSON() ([]byte, error)

func (*Reveal) UnmarshalBinary

func (o *Reveal) UnmarshalBinary(data []byte) error

type SeedNonceRevelation

type SeedNonceRevelation struct {
	Simple
	Level int32          `json:"level,string"`
	Nonce tezos.HexBytes `json:"nonce"`
}

SeedNonceRevelation represents "seed_nonce_revelation" operation

func (*SeedNonceRevelation) DecodeBuffer

func (o *SeedNonceRevelation) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (SeedNonceRevelation) EncodeBuffer

func (o SeedNonceRevelation) EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

func (SeedNonceRevelation) Kind

func (o SeedNonceRevelation) Kind() tezos.OpType

func (SeedNonceRevelation) MarshalBinary

func (o SeedNonceRevelation) MarshalBinary() ([]byte, error)

func (SeedNonceRevelation) MarshalJSON

func (o SeedNonceRevelation) MarshalJSON() ([]byte, error)

func (*SeedNonceRevelation) UnmarshalBinary

func (o *SeedNonceRevelation) UnmarshalBinary(data []byte) error

type SetDepositsLimit

type SetDepositsLimit struct {
	Manager
	Limit *tezos.N `json:"limit"`
}

SetDepositsLimit represents "set_deposits_limit" operation

func (*SetDepositsLimit) DecodeBuffer

func (o *SetDepositsLimit) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (SetDepositsLimit) EncodeBuffer

func (o SetDepositsLimit) EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

func (SetDepositsLimit) Kind

func (o SetDepositsLimit) Kind() tezos.OpType

func (SetDepositsLimit) MarshalBinary

func (o SetDepositsLimit) MarshalBinary() ([]byte, error)

func (SetDepositsLimit) MarshalJSON

func (o SetDepositsLimit) MarshalJSON() ([]byte, error)

func (*SetDepositsLimit) UnmarshalBinary

func (o *SetDepositsLimit) UnmarshalBinary(data []byte) error

type Simple

type Simple struct{}

Simple is an empty helper struct that's used to fulfil the Operation interface for anonymous, consensus and voting operations which do not contain fees and counter.

func (Simple) GetCounter

func (o Simple) GetCounter() int64

func (*Simple) Limits

func (o *Simple) Limits() tezos.Limits

func (*Simple) WithCounter

func (o *Simple) WithCounter(int64)

func (*Simple) WithLimits

func (o *Simple) WithLimits(tezos.Limits)

func (*Simple) WithSource

func (o *Simple) WithSource(tezos.Address)

type TenderbakeDoubleEndorsementEvidence

type TenderbakeDoubleEndorsementEvidence struct {
	Simple
	Op1 TenderbakeInlinedEndorsement `json:"op1"`
	Op2 TenderbakeInlinedEndorsement `json:"op2"`
}

TenderbakeDoubleEndorsementEvidence represents "double_endorsement_evidence" operation for Tenderbake protocols

func (*TenderbakeDoubleEndorsementEvidence) DecodeBuffer

func (o *TenderbakeDoubleEndorsementEvidence) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (TenderbakeDoubleEndorsementEvidence) EncodeBuffer

func (TenderbakeDoubleEndorsementEvidence) Kind

func (TenderbakeDoubleEndorsementEvidence) MarshalBinary

func (o TenderbakeDoubleEndorsementEvidence) MarshalBinary() ([]byte, error)

func (TenderbakeDoubleEndorsementEvidence) MarshalJSON

func (o TenderbakeDoubleEndorsementEvidence) MarshalJSON() ([]byte, error)

func (*TenderbakeDoubleEndorsementEvidence) UnmarshalBinary

func (o *TenderbakeDoubleEndorsementEvidence) UnmarshalBinary(data []byte) error

type TenderbakeDoublePreendorsementEvidence

type TenderbakeDoublePreendorsementEvidence struct {
	Simple
	Op1 TenderbakeInlinedPreendorsement `json:"op1"`
	Op2 TenderbakeInlinedPreendorsement `json:"op2"`
}

TenderbakeDoublePreendorsementEvidence represents "double_preendorsement_evidence" operation for Tenderbake protocols

func (*TenderbakeDoublePreendorsementEvidence) DecodeBuffer

func (o *TenderbakeDoublePreendorsementEvidence) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (TenderbakeDoublePreendorsementEvidence) EncodeBuffer

func (TenderbakeDoublePreendorsementEvidence) Kind

func (TenderbakeDoublePreendorsementEvidence) MarshalBinary

func (o TenderbakeDoublePreendorsementEvidence) MarshalBinary() ([]byte, error)

func (TenderbakeDoublePreendorsementEvidence) MarshalJSON

func (o TenderbakeDoublePreendorsementEvidence) MarshalJSON() ([]byte, error)

func (*TenderbakeDoublePreendorsementEvidence) UnmarshalBinary

func (o *TenderbakeDoublePreendorsementEvidence) UnmarshalBinary(data []byte) error

type TenderbakeEndorsement

type TenderbakeEndorsement struct {
	Simple
	Slot             int16             `json:"slot"`
	Level            int32             `json:"level"`
	Round            int32             `json:"round"`
	BlockPayloadHash tezos.PayloadHash `json:"payload_hash"`
}

TenderbakeEndorsement represents tenderbake endorsement operation

func (*TenderbakeEndorsement) DecodeBuffer

func (o *TenderbakeEndorsement) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (TenderbakeEndorsement) EncodeBuffer

func (o TenderbakeEndorsement) EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

func (TenderbakeEndorsement) Kind

func (TenderbakeEndorsement) MarshalBinary

func (o TenderbakeEndorsement) MarshalBinary() ([]byte, error)

func (TenderbakeEndorsement) MarshalJSON

func (o TenderbakeEndorsement) MarshalJSON() ([]byte, error)

func (*TenderbakeEndorsement) UnmarshalBinary

func (o *TenderbakeEndorsement) UnmarshalBinary(data []byte) error

type TenderbakeInlinedEndorsement

type TenderbakeInlinedEndorsement struct {
	Branch      tezos.BlockHash       `json:"branch"`
	Endorsement TenderbakeEndorsement `json:"operations"`
	Signature   tezos.Signature       `json:"signature"`
}

TenderbakeInlinedEndorsement represents inlined endorsement operation with signature. This type is uses as part of other operations, but is not a stand-alone operation.

func (*TenderbakeInlinedEndorsement) DecodeBuffer

func (o *TenderbakeInlinedEndorsement) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (TenderbakeInlinedEndorsement) EncodeBuffer

func (o TenderbakeInlinedEndorsement) EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

type TenderbakeInlinedPreendorsement

type TenderbakeInlinedPreendorsement struct {
	Branch      tezos.BlockHash          `json:"branch"`
	Endorsement TenderbakePreendorsement `json:"operations"`
	Signature   tezos.Signature          `json:"signature"`
}

TenderbakeInlinedPreendorsement represents inlined preendorsement operation with signature. This type is uses as part of other operations, but is not a stand-alone operation.

func (*TenderbakeInlinedPreendorsement) DecodeBuffer

func (o *TenderbakeInlinedPreendorsement) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (TenderbakeInlinedPreendorsement) EncodeBuffer

func (o TenderbakeInlinedPreendorsement) EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

type TenderbakePreendorsement

type TenderbakePreendorsement struct {
	Simple
	Slot             int16             `json:"slot"`
	Level            int32             `json:"level"`
	Round            int32             `json:"round"`
	BlockPayloadHash tezos.PayloadHash `json:"payload_hash"`
}

TenderbakePreendorsement represents tenderbake preendorsement operation

func (*TenderbakePreendorsement) DecodeBuffer

func (o *TenderbakePreendorsement) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (TenderbakePreendorsement) EncodeBuffer

func (o TenderbakePreendorsement) EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

func (TenderbakePreendorsement) Kind

func (TenderbakePreendorsement) MarshalBinary

func (o TenderbakePreendorsement) MarshalBinary() ([]byte, error)

func (TenderbakePreendorsement) MarshalJSON

func (o TenderbakePreendorsement) MarshalJSON() ([]byte, error)

func (*TenderbakePreendorsement) UnmarshalBinary

func (o *TenderbakePreendorsement) UnmarshalBinary(data []byte) error

type Transaction

type Transaction struct {
	Manager
	Amount      tezos.N               `json:"amount"`
	Destination tezos.Address         `json:"destination"`
	Parameters  *micheline.Parameters `json:"parameters,omitempty"`
}

Transaction represents "transaction" operation

func (*Transaction) DecodeBuffer

func (o *Transaction) DecodeBuffer(buf *bytes.Buffer, p *tezos.Params) (err error)

func (Transaction) EncodeBuffer

func (o Transaction) EncodeBuffer(buf *bytes.Buffer, p *tezos.Params) error

func (Transaction) Kind

func (o Transaction) Kind() tezos.OpType

func (Transaction) MarshalBinary

func (o Transaction) MarshalBinary() ([]byte, error)

func (Transaction) MarshalJSON

func (o Transaction) MarshalJSON() ([]byte, error)

func (*Transaction) UnmarshalBinary

func (o *Transaction) UnmarshalBinary(data []byte) error

Jump to

Keyboard shortcuts

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