README
¶
Chain Validator Design
Chain validators are organized by transaction type. The executor handles mundane tasks that are common to all chain validators, such as authentication and authorization.
In general, every transaction requires an origin record. Thus, the executor validates and loads the origin before delegating to the chain validator. However, certain transaction types, specifically synthetic transactions that create records, may not need an extant origin. The executor has a specific clause for these special cases.
Chain Validator Implementation
Chain validators must satisfy the TxExecutor
interface:
type TxExecutor interface {
Type() protocol.TransactionType
Validate(*StateManager, *protocol.Envelope) error
}
All state manipulation (mutating and loading) must go through the state manager. There are three methods that can be used to modify records and/or create synthetic transactions:
- Implementing a user transaction executor
Update(record)
- Update one or more existing records. Cannot be used to create records.Create(record)
- Create one or more new records. Produces a synthetic chain create transaction.Submit(url, body)
- Submit a synthetic transaction.
- Implementing a synthetic transaction executor
Update(record)
- Create or update one or more existing records.Create(record)
- Cannot be used by synthetic transactions.Submit(url, body)
- Cannot be used by synthetic transactions.
Documentation
¶
Index ¶
- func AddDirectoryEntry(getIndex func(*url.URL, ...interface{}) Value, directory *url.URL, ...) error
- func CreateSynthReceipt(transaction *protocol.Transaction, status *protocol.TransactionStatus) (*url.URL, *protocol.SyntheticReceipt)
- func NeedsReceipt(txt protocol.TransactionType) bool
- type AcmeFaucet
- type AddCredits
- type AddValidator
- type BurnTokens
- type ChainUpdates
- func (c *ChainUpdates) AddChainEntry(batch *database.Batch, account *url.URL, name string, typ protocol.ChainType, ...) error
- func (c *ChainUpdates) DidAddChainEntry(batch *database.Batch, u *url.URL, name string, typ protocol.ChainType, ...) error
- func (c *ChainUpdates) DidUpdateChain(update indexing.ChainUpdate)
- func (c *ChainUpdates) Merge(d *ChainUpdates)
- type CreateDataAccount
- type CreateIdentity
- type CreateKeyBook
- type CreateKeyPage
- type CreateToken
- type CreateTokenAccount
- type Delivery
- func (d *Delivery) IsForwarded() bool
- func (d *Delivery) LoadTransaction(batch *database.Batch) error
- func (d *Delivery) NewForwarded(fwd *protocol.SyntheticForwardTransaction) *Delivery
- func (d *Delivery) NewSyntheticReceipt(hash [32]byte, source *url.URL, receipt *protocol.Receipt) *Delivery
- func (d *Delivery) VerifySignatures() bool
- type InternalSendTransactions
- type InternalTransactionsSent
- type InternalTransactionsSigned
- type IssueTokens
- type ProcessTransactionState
- type RemoveValidator
- type SendTokens
- type StateManager
- func (m *StateManager) AddAuthority(account protocol.FullAccount, u *url.URL) error
- func (m *StateManager) AddChainEntry(u *url.URL, name string, typ protocol.ChainType, entry []byte, ...) error
- func (c *StateManager) AddDirectoryEntry(directory *url.URL, u ...*url.URL) error
- func (m *StateManager) AddSyntheticTxn(txid []byte, synth [32]byte)
- func (m *StateManager) AddValidator(pubKey ed25519.PubKey)
- func (m *StateManager) Commit() (*ProcessTransactionState, error)
- func (m *StateManager) Create(record ...protocol.Account)
- func (m *StateManager) DisableValidator(pubKey ed25519.PubKey)
- func (m *StateManager) Discard()
- func (c *StateManager) GetHeight(u *url.URL) (uint64, error)
- func (m *StateManager) InheritAuth(account protocol.FullAccount) error
- func (c *StateManager) LoadTxn(txid [32]byte) (*protocol.Transaction, error)
- func (c *StateManager) LoadUrl(account *url.URL) (protocol.Account, error)
- func (c *StateManager) LoadUrlAs(account *url.URL, target interface{}) error
- func (c *StateManager) ReadChain(u *url.URL, name string) (*database.Chain, error)
- func (c *StateManager) RecordIndex(u *url.URL, key ...interface{}) *writeIndex
- func (m *StateManager) SetAuth(account protocol.FullAccount, mainKeyBook, managerKeyBook *url.URL) error
- func (m *StateManager) SignTransaction(txid []byte, signatures ...protocol.Signature)
- func (m *StateManager) Submit(url *url.URL, body protocol.TransactionBody)
- func (c *StateManager) TxnIndex(id []byte, key ...interface{}) *writeIndex
- func (m *StateManager) Update(record ...protocol.Account)
- func (m *StateManager) UpdateData(record protocol.Account, entryHash []byte, dataEntry *protocol.DataEntry)
- func (m *StateManager) UpdateSignator(record protocol.Account) error
- func (m *StateManager) UpdateStatus(txid []byte, status *protocol.TransactionStatus)
- type SyntheticAnchor
- type SyntheticBurnTokens
- type SyntheticCreateChain
- type SyntheticDepositCredits
- type SyntheticDepositTokens
- type SyntheticForwardTransaction
- type SyntheticMirror
- type SyntheticReceipt
- type SyntheticWriteData
- type UpdateAccountAuth
- type UpdateKey
- type UpdateKeyPage
- type UpdateValidatorKey
- type ValidatorUpdate
- type Value
- type WriteData
- type WriteDataTo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddDirectoryEntry ¶
func CreateSynthReceipt ¶ added in v0.5.1
func CreateSynthReceipt(transaction *protocol.Transaction, status *protocol.TransactionStatus) (*url.URL, *protocol.SyntheticReceipt)
CreateSynthReceipt creates a receipt used to return the status of synthetic transactions to its sender
func NeedsReceipt ¶ added in v0.5.1
func NeedsReceipt(txt protocol.TransactionType) bool
NeedsReceipt selects which synth txs need / don't a receipt
Types ¶
type AcmeFaucet ¶
type AcmeFaucet struct{}
func (AcmeFaucet) Execute ¶ added in v0.6.0
func (AcmeFaucet) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (AcmeFaucet) Type ¶
func (AcmeFaucet) Type() protocol.TransactionType
func (AcmeFaucet) Validate ¶
func (AcmeFaucet) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type AddCredits ¶
type AddCredits struct{}
func (AddCredits) Execute ¶ added in v0.6.0
func (AddCredits) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (AddCredits) Type ¶
func (AddCredits) Type() protocol.TransactionType
func (AddCredits) Validate ¶
func (AddCredits) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type AddValidator ¶ added in v0.5.1
type AddValidator struct{}
func (AddValidator) Execute ¶ added in v0.6.0
func (AddValidator) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (AddValidator) Type ¶ added in v0.5.1
func (AddValidator) Type() protocol.TransactionType
func (AddValidator) Validate ¶ added in v0.5.1
func (AddValidator) Validate(st *StateManager, env *Delivery) (protocol.TransactionResult, error)
type BurnTokens ¶
type BurnTokens struct{}
func (BurnTokens) Execute ¶ added in v0.6.0
func (BurnTokens) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (BurnTokens) Type ¶
func (BurnTokens) Type() protocol.TransactionType
func (BurnTokens) Validate ¶
func (BurnTokens) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type ChainUpdates ¶ added in v0.5.1
type ChainUpdates struct { Entries []indexing.ChainUpdate // contains filtered or unexported fields }
func (*ChainUpdates) AddChainEntry ¶ added in v0.5.1
func (c *ChainUpdates) AddChainEntry(batch *database.Batch, account *url.URL, name string, typ protocol.ChainType, entry []byte, sourceIndex, sourceBlock uint64) error
AddChainEntry adds an entry to a chain and records the chain update in the block state.
func (*ChainUpdates) DidAddChainEntry ¶ added in v0.5.1
func (c *ChainUpdates) DidAddChainEntry(batch *database.Batch, u *url.URL, name string, typ protocol.ChainType, entry []byte, index, sourceIndex, sourceBlock uint64) error
DidAddChainEntry records a chain update in the block state.
func (*ChainUpdates) DidUpdateChain ¶ added in v0.5.1
func (c *ChainUpdates) DidUpdateChain(update indexing.ChainUpdate)
DidUpdateChain records a chain update.
func (*ChainUpdates) Merge ¶ added in v0.5.1
func (c *ChainUpdates) Merge(d *ChainUpdates)
type CreateDataAccount ¶
type CreateDataAccount struct{}
func (CreateDataAccount) Execute ¶ added in v0.6.0
func (CreateDataAccount) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (CreateDataAccount) Type ¶
func (CreateDataAccount) Type() protocol.TransactionType
func (CreateDataAccount) Validate ¶
func (CreateDataAccount) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type CreateIdentity ¶
type CreateIdentity struct{}
func (CreateIdentity) Execute ¶ added in v0.6.0
func (CreateIdentity) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (CreateIdentity) Type ¶
func (CreateIdentity) Type() protocol.TransactionType
func (CreateIdentity) Validate ¶
func (CreateIdentity) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type CreateKeyBook ¶
type CreateKeyBook struct{}
func (CreateKeyBook) Execute ¶ added in v0.6.0
func (CreateKeyBook) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (CreateKeyBook) Type ¶
func (CreateKeyBook) Type() protocol.TransactionType
func (CreateKeyBook) Validate ¶
func (CreateKeyBook) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type CreateKeyPage ¶
type CreateKeyPage struct{}
func (CreateKeyPage) Execute ¶ added in v0.6.0
func (CreateKeyPage) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (CreateKeyPage) Type ¶
func (CreateKeyPage) Type() protocol.TransactionType
func (CreateKeyPage) Validate ¶
func (CreateKeyPage) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type CreateToken ¶
type CreateToken struct{}
func (CreateToken) Execute ¶ added in v0.6.0
func (CreateToken) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (CreateToken) Type ¶
func (CreateToken) Type() protocol.TransactionType
func (CreateToken) Validate ¶
func (CreateToken) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type CreateTokenAccount ¶
type CreateTokenAccount struct{}
func (CreateTokenAccount) Execute ¶ added in v0.6.0
func (CreateTokenAccount) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (CreateTokenAccount) Type ¶
func (CreateTokenAccount) Type() protocol.TransactionType
func (CreateTokenAccount) Validate ¶
func (CreateTokenAccount) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type Delivery ¶ added in v0.6.0
type Delivery struct { Signatures []protocol.Signature Transaction *protocol.Transaction Remote []*protocol.ForwardedSignature State ProcessTransactionState // contains filtered or unexported fields }
func NormalizeEnvelope ¶ added in v0.6.0
NormalizeEnvelope normalizes the envelope into one or more deliveries.
func (*Delivery) IsForwarded ¶ added in v0.6.0
IsForwarded returns true if the transaction was delivered within a SyntheticForwardedTransaction.
func (*Delivery) LoadTransaction ¶ added in v0.6.0
LoadTransaction attempts to load the transaction from the database.
func (*Delivery) NewForwarded ¶ added in v0.6.0
func (d *Delivery) NewForwarded(fwd *protocol.SyntheticForwardTransaction) *Delivery
func (*Delivery) NewSyntheticReceipt ¶ added in v0.6.0
func (*Delivery) VerifySignatures ¶ added in v0.6.0
VerifySignatures verifies each signature.
type InternalSendTransactions ¶
type InternalSendTransactions struct{}
func (InternalSendTransactions) Execute ¶
func (InternalSendTransactions) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (InternalSendTransactions) Type ¶
func (InternalSendTransactions) Type() protocol.TransactionType
func (InternalSendTransactions) Validate ¶
func (InternalSendTransactions) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type InternalTransactionsSent ¶
type InternalTransactionsSent struct{}
func (InternalTransactionsSent) Execute ¶
func (InternalTransactionsSent) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (InternalTransactionsSent) Type ¶
func (InternalTransactionsSent) Type() protocol.TransactionType
func (InternalTransactionsSent) Validate ¶
func (InternalTransactionsSent) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type InternalTransactionsSigned ¶
type InternalTransactionsSigned struct{}
func (InternalTransactionsSigned) Execute ¶
func (InternalTransactionsSigned) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (InternalTransactionsSigned) Type ¶
func (InternalTransactionsSigned) Type() protocol.TransactionType
func (InternalTransactionsSigned) Validate ¶
func (InternalTransactionsSigned) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type IssueTokens ¶
type IssueTokens struct{}
func (IssueTokens) Execute ¶ added in v0.6.0
func (IssueTokens) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (IssueTokens) Type ¶
func (IssueTokens) Type() protocol.TransactionType
func (IssueTokens) Validate ¶
func (IssueTokens) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type ProcessTransactionState ¶ added in v0.5.1
type ProcessTransactionState struct { ValidatorsUpdates []ValidatorUpdate ProducedTxns []*protocol.Transaction AdditionalTransactions []*Delivery ChainUpdates ChainUpdates }
func (*ProcessTransactionState) DidProduceTxn ¶ added in v0.5.1
func (s *ProcessTransactionState) DidProduceTxn(url *url.URL, body protocol.TransactionBody)
DidProduceTxn records a produced transaction.
func (*ProcessTransactionState) Merge ¶ added in v0.5.1
func (s *ProcessTransactionState) Merge(r *ProcessTransactionState)
func (*ProcessTransactionState) ProcessAdditionalTransaction ¶ added in v0.6.0
func (s *ProcessTransactionState) ProcessAdditionalTransaction(txn *Delivery)
type RemoveValidator ¶ added in v0.5.1
type RemoveValidator struct{}
func (RemoveValidator) Execute ¶ added in v0.6.0
func (RemoveValidator) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (RemoveValidator) Type ¶ added in v0.5.1
func (RemoveValidator) Type() protocol.TransactionType
func (RemoveValidator) Validate ¶ added in v0.5.1
func (RemoveValidator) Validate(st *StateManager, env *Delivery) (protocol.TransactionResult, error)
type SendTokens ¶
type SendTokens struct{}
func (SendTokens) Execute ¶ added in v0.6.0
func (SendTokens) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (SendTokens) Type ¶
func (SendTokens) Type() protocol.TransactionType
func (SendTokens) Validate ¶
func (SendTokens) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type StateManager ¶
type StateManager struct { Origin protocol.Account OriginUrl *url.URL Signator protocol.Signer SignatorUrl *url.URL // contains filtered or unexported fields }
func LoadStateManager ¶ added in v0.6.0
func LoadStateManager(batch *database.Batch, nodeUrl *url.URL, principal protocol.Account, transaction *protocol.Transaction, status *protocol.TransactionStatus, logger log.Logger) (*StateManager, error)
func NewStateManager ¶
func NewStateManager(batch *database.Batch, nodeUrl, signerUrl *url.URL, signer protocol.Signer, principal protocol.Account, transaction *protocol.Transaction, logger log.Logger) *StateManager
NewStateManager creates a new state manager and loads the transaction's origin. If the origin is not found, NewStateManager returns a valid state manager along with a not-found error.
func (*StateManager) AddAuthority ¶ added in v0.6.0
func (m *StateManager) AddAuthority(account protocol.FullAccount, u *url.URL) error
func (*StateManager) AddChainEntry ¶
func (*StateManager) AddDirectoryEntry ¶
func (*StateManager) AddSyntheticTxn ¶ added in v0.5.1
func (*StateManager) AddValidator ¶
func (m *StateManager) AddValidator(pubKey ed25519.PubKey)
func (*StateManager) Commit ¶
func (m *StateManager) Commit() (*ProcessTransactionState, error)
commit writes pending records to the database.
func (*StateManager) Create ¶
Create queues a record for a synthetic chain create transaction. Will panic if called by a synthetic transaction. Will panic if the record is a transaction.
func (*StateManager) DisableValidator ¶ added in v0.5.1
func (m *StateManager) DisableValidator(pubKey ed25519.PubKey)
func (*StateManager) Discard ¶ added in v0.5.1
func (m *StateManager) Discard()
func (*StateManager) InheritAuth ¶ added in v0.6.0
func (m *StateManager) InheritAuth(account protocol.FullAccount) error
func (*StateManager) LoadTxn ¶
func (c *StateManager) LoadTxn(txid [32]byte) (*protocol.Transaction, error)
LoadTxn loads and unmarshals a saved transaction
func (*StateManager) LoadUrlAs ¶
LoadUrlAs loads a chain by URL and unmarshals it as a specific type.
func (*StateManager) RecordIndex ¶
func (*StateManager) SetAuth ¶ added in v0.6.0
func (m *StateManager) SetAuth(account protocol.FullAccount, mainKeyBook, managerKeyBook *url.URL) error
func (*StateManager) SignTransaction ¶
func (*StateManager) Submit ¶
func (m *StateManager) Submit(url *url.URL, body protocol.TransactionBody)
Submit queues a synthetic transaction for submission.
func (*StateManager) TxnIndex ¶
func (c *StateManager) TxnIndex(id []byte, key ...interface{}) *writeIndex
func (*StateManager) Update ¶
Update queues a record for storage in the database. The queued update will fail if the record does not already exist, unless it is created by a synthetic transaction, or the record is a transaction.
func (*StateManager) UpdateData ¶
func (m *StateManager) UpdateData(record protocol.Account, entryHash []byte, dataEntry *protocol.DataEntry)
UpdateData will cache a data associated with a DataAccount chain. the cache data will not be stored directly in the state but can be used upstream for storing a chain in the state database.
func (*StateManager) UpdateSignator ¶
func (*StateManager) UpdateStatus ¶ added in v0.5.1
func (m *StateManager) UpdateStatus(txid []byte, status *protocol.TransactionStatus)
type SyntheticAnchor ¶
func (SyntheticAnchor) Execute ¶ added in v0.6.0
func (SyntheticAnchor) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (SyntheticAnchor) Type ¶
func (SyntheticAnchor) Type() protocol.TransactionType
func (SyntheticAnchor) Validate ¶
func (x SyntheticAnchor) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type SyntheticBurnTokens ¶
type SyntheticBurnTokens struct{}
func (SyntheticBurnTokens) Execute ¶ added in v0.6.0
func (SyntheticBurnTokens) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (SyntheticBurnTokens) Type ¶
func (SyntheticBurnTokens) Type() protocol.TransactionType
func (SyntheticBurnTokens) Validate ¶
func (SyntheticBurnTokens) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type SyntheticCreateChain ¶
type SyntheticCreateChain struct{}
func (SyntheticCreateChain) Execute ¶
func (SyntheticCreateChain) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (SyntheticCreateChain) Type ¶
func (SyntheticCreateChain) Type() protocol.TransactionType
func (SyntheticCreateChain) Validate ¶
func (SyntheticCreateChain) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type SyntheticDepositCredits ¶
type SyntheticDepositCredits struct{}
func (SyntheticDepositCredits) Execute ¶ added in v0.6.0
func (SyntheticDepositCredits) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (SyntheticDepositCredits) Type ¶
func (SyntheticDepositCredits) Type() protocol.TransactionType
func (SyntheticDepositCredits) Validate ¶
func (SyntheticDepositCredits) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type SyntheticDepositTokens ¶
type SyntheticDepositTokens struct{}
func (SyntheticDepositTokens) Execute ¶ added in v0.6.0
func (SyntheticDepositTokens) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (SyntheticDepositTokens) Type ¶
func (SyntheticDepositTokens) Type() protocol.TransactionType
func (SyntheticDepositTokens) Validate ¶
func (SyntheticDepositTokens) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type SyntheticForwardTransaction ¶ added in v0.6.0
type SyntheticForwardTransaction struct{}
func (SyntheticForwardTransaction) Execute ¶ added in v0.6.0
func (SyntheticForwardTransaction) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (SyntheticForwardTransaction) Type ¶ added in v0.6.0
func (SyntheticForwardTransaction) Type() protocol.TransactionType
func (SyntheticForwardTransaction) Validate ¶ added in v0.6.0
func (SyntheticForwardTransaction) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type SyntheticMirror ¶
type SyntheticMirror struct{}
func (SyntheticMirror) Execute ¶ added in v0.6.0
func (SyntheticMirror) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (SyntheticMirror) Type ¶
func (SyntheticMirror) Type() protocol.TransactionType
func (SyntheticMirror) Validate ¶
func (SyntheticMirror) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type SyntheticReceipt ¶ added in v0.5.1
type SyntheticReceipt struct{}
func (SyntheticReceipt) Execute ¶
func (SyntheticReceipt) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (SyntheticReceipt) Type ¶ added in v0.5.1
func (SyntheticReceipt) Type() protocol.TransactionType
func (SyntheticReceipt) Validate ¶ added in v0.5.1
func (SyntheticReceipt) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type SyntheticWriteData ¶
type SyntheticWriteData struct{}
func (SyntheticWriteData) Execute ¶ added in v0.6.0
func (SyntheticWriteData) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (SyntheticWriteData) Type ¶
func (SyntheticWriteData) Type() protocol.TransactionType
func (SyntheticWriteData) Validate ¶
func (SyntheticWriteData) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type UpdateAccountAuth ¶ added in v0.6.0
type UpdateAccountAuth struct{}
func (UpdateAccountAuth) Execute ¶ added in v0.6.0
func (UpdateAccountAuth) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (UpdateAccountAuth) Type ¶ added in v0.6.0
func (UpdateAccountAuth) Type() protocol.TransactionType
func (UpdateAccountAuth) Validate ¶ added in v0.6.0
func (UpdateAccountAuth) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type UpdateKey ¶ added in v0.6.0
type UpdateKey struct{}
func (UpdateKey) Execute ¶ added in v0.6.0
func (UpdateKey) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (UpdateKey) Type ¶ added in v0.6.0
func (UpdateKey) Type() protocol.TransactionType
func (UpdateKey) Validate ¶ added in v0.6.0
func (UpdateKey) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type UpdateKeyPage ¶
type UpdateKeyPage struct{}
func (UpdateKeyPage) Execute ¶ added in v0.6.0
func (UpdateKeyPage) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (UpdateKeyPage) Type ¶
func (UpdateKeyPage) Type() protocol.TransactionType
func (UpdateKeyPage) Validate ¶
func (UpdateKeyPage) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type UpdateValidatorKey ¶ added in v0.5.1
type UpdateValidatorKey struct{}
func (UpdateValidatorKey) Execute ¶ added in v0.6.0
func (UpdateValidatorKey) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (UpdateValidatorKey) Type ¶ added in v0.5.1
func (UpdateValidatorKey) Type() protocol.TransactionType
func (UpdateValidatorKey) Validate ¶ added in v0.5.1
func (UpdateValidatorKey) Validate(st *StateManager, env *Delivery) (protocol.TransactionResult, error)
type ValidatorUpdate ¶ added in v0.5.1
type WriteData ¶
type WriteData struct{}
func (WriteData) Execute ¶ added in v0.6.0
func (WriteData) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (WriteData) Type ¶
func (WriteData) Type() protocol.TransactionType
func (WriteData) Validate ¶
func (WriteData) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
type WriteDataTo ¶
type WriteDataTo struct{}
func (WriteDataTo) Execute ¶ added in v0.6.0
func (WriteDataTo) Execute(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
func (WriteDataTo) Type ¶
func (WriteDataTo) Type() protocol.TransactionType
func (WriteDataTo) Validate ¶
func (WriteDataTo) Validate(st *StateManager, tx *Delivery) (protocol.TransactionResult, error)
Source Files
¶
- acme_faucet.go
- add_credits.go
- burn_tokens.go
- create_data_account.go
- create_identity.go
- create_key_book.go
- create_key_page.go
- create_token.go
- create_token_account.go
- delivery.go
- internal_send_transactions.go
- internal_transactions_sent.go
- internal_transactions_signed.go
- issue_tokens.go
- send_tokens.go
- state.go
- state_cache.go
- state_operation.go
- state_state.go
- synthetic_anchor.go
- synthetic_burn_tokens.go
- synthetic_create_chain.go
- synthetic_deposit_credits.go
- synthetic_deposit_tokens.go
- synthetic_forward_transaction.go
- synthetic_mirror.go
- synthetic_tx_receipt.go
- synthetic_write_data.go
- update_account_auth.go
- update_key.go
- update_key_page.go
- validators.go
- write_data.go
- write_data_to.go