netmap

package
v0.19.2 Latest Latest
Warning

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

Go to latest
Published: Apr 4, 2024 License: GPL-3.0 Imports: 10 Imported by: 0

Documentation

Overview

Package netmap contains RPC wrappers for Netmap contract.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Actor

type Actor interface {
	Invoker

	MakeCall(contract util.Uint160, method string, params ...any) (*transaction.Transaction, error)
	MakeRun(script []byte) (*transaction.Transaction, error)
	MakeUnsignedCall(contract util.Uint160, method string, attrs []transaction.Attribute, params ...any) (*transaction.Transaction, error)
	MakeUnsignedRun(script []byte, attrs []transaction.Attribute) (*transaction.Transaction, error)
	SendCall(contract util.Uint160, method string, params ...any) (util.Uint256, uint32, error)
	SendRun(script []byte) (util.Uint256, uint32, error)
}

Actor is used by Contract to call state-changing methods.

type AddPeerEvent

type AddPeerEvent struct {
	NodeInfo []byte
}

AddPeerEvent represents "AddPeer" event emitted by the contract.

func AddPeerEventsFromApplicationLog

func AddPeerEventsFromApplicationLog(log *result.ApplicationLog) ([]*AddPeerEvent, error)

AddPeerEventsFromApplicationLog retrieves a set of all emitted events with "AddPeer" name from the provided result.ApplicationLog.

func (*AddPeerEvent) FromStackItem

func (e *AddPeerEvent) FromStackItem(item *stackitem.Array) error

FromStackItem converts provided stackitem.Array to AddPeerEvent or returns an error if it's not possible to do to so.

type AddPeerSuccessEvent

type AddPeerSuccessEvent struct {
	PublicKey *keys.PublicKey
}

AddPeerSuccessEvent represents "AddPeerSuccess" event emitted by the contract.

func AddPeerSuccessEventsFromApplicationLog

func AddPeerSuccessEventsFromApplicationLog(log *result.ApplicationLog) ([]*AddPeerSuccessEvent, error)

AddPeerSuccessEventsFromApplicationLog retrieves a set of all emitted events with "AddPeerSuccess" name from the provided result.ApplicationLog.

func (*AddPeerSuccessEvent) FromStackItem

func (e *AddPeerSuccessEvent) FromStackItem(item *stackitem.Array) error

FromStackItem converts provided stackitem.Array to AddPeerSuccessEvent or returns an error if it's not possible to do to so.

type Contract

type Contract struct {
	ContractReader
	// contains filtered or unexported fields
}

Contract implements all contract methods.

func New

func New(actor Actor, hash util.Uint160) *Contract

New creates an instance of Contract using provided contract hash and the given Actor.

func (*Contract) AddPeer

func (c *Contract) AddPeer(nodeInfo []byte) (util.Uint256, uint32, error)

AddPeer creates a transaction invoking `addPeer` method of the contract. This transaction is signed and immediately sent to the network. The values returned are its hash, ValidUntilBlock value and error if any.

func (*Contract) AddPeerIR

func (c *Contract) AddPeerIR(nodeInfo []byte) (util.Uint256, uint32, error)

AddPeerIR creates a transaction invoking `addPeerIR` method of the contract. This transaction is signed and immediately sent to the network. The values returned are its hash, ValidUntilBlock value and error if any.

func (*Contract) AddPeerIRTransaction

func (c *Contract) AddPeerIRTransaction(nodeInfo []byte) (*transaction.Transaction, error)

AddPeerIRTransaction creates a transaction invoking `addPeerIR` method of the contract. This transaction is signed, but not sent to the network, instead it's returned to the caller.

func (*Contract) AddPeerIRUnsigned

func (c *Contract) AddPeerIRUnsigned(nodeInfo []byte) (*transaction.Transaction, error)

AddPeerIRUnsigned creates a transaction invoking `addPeerIR` method of the contract. This transaction is not signed, it's simply returned to the caller. Any fields of it that do not affect fees can be changed (ValidUntilBlock, Nonce), fee values (NetworkFee, SystemFee) can be increased as well.

func (*Contract) AddPeerTransaction

func (c *Contract) AddPeerTransaction(nodeInfo []byte) (*transaction.Transaction, error)

AddPeerTransaction creates a transaction invoking `addPeer` method of the contract. This transaction is signed, but not sent to the network, instead it's returned to the caller.

func (*Contract) AddPeerUnsigned

func (c *Contract) AddPeerUnsigned(nodeInfo []byte) (*transaction.Transaction, error)

AddPeerUnsigned creates a transaction invoking `addPeer` method of the contract. This transaction is not signed, it's simply returned to the caller. Any fields of it that do not affect fees can be changed (ValidUntilBlock, Nonce), fee values (NetworkFee, SystemFee) can be increased as well.

func (*Contract) LastEpochBlock

func (c *Contract) LastEpochBlock() (util.Uint256, uint32, error)

LastEpochBlock creates a transaction invoking `lastEpochBlock` method of the contract. This transaction is signed and immediately sent to the network. The values returned are its hash, ValidUntilBlock value and error if any.

func (*Contract) LastEpochBlockTransaction

func (c *Contract) LastEpochBlockTransaction() (*transaction.Transaction, error)

LastEpochBlockTransaction creates a transaction invoking `lastEpochBlock` method of the contract. This transaction is signed, but not sent to the network, instead it's returned to the caller.

func (*Contract) LastEpochBlockUnsigned

func (c *Contract) LastEpochBlockUnsigned() (*transaction.Transaction, error)

LastEpochBlockUnsigned creates a transaction invoking `lastEpochBlock` method of the contract. This transaction is not signed, it's simply returned to the caller. Any fields of it that do not affect fees can be changed (ValidUntilBlock, Nonce), fee values (NetworkFee, SystemFee) can be increased as well.

func (*Contract) NewEpoch

func (c *Contract) NewEpoch(epochNum *big.Int) (util.Uint256, uint32, error)

NewEpoch creates a transaction invoking `newEpoch` method of the contract. This transaction is signed and immediately sent to the network. The values returned are its hash, ValidUntilBlock value and error if any.

func (*Contract) NewEpochTransaction

func (c *Contract) NewEpochTransaction(epochNum *big.Int) (*transaction.Transaction, error)

NewEpochTransaction creates a transaction invoking `newEpoch` method of the contract. This transaction is signed, but not sent to the network, instead it's returned to the caller.

func (*Contract) NewEpochUnsigned

func (c *Contract) NewEpochUnsigned(epochNum *big.Int) (*transaction.Transaction, error)

NewEpochUnsigned creates a transaction invoking `newEpoch` method of the contract. This transaction is not signed, it's simply returned to the caller. Any fields of it that do not affect fees can be changed (ValidUntilBlock, Nonce), fee values (NetworkFee, SystemFee) can be increased as well.

func (*Contract) SetConfig

func (c *Contract) SetConfig(id []byte, key []byte, val []byte) (util.Uint256, uint32, error)

SetConfig creates a transaction invoking `setConfig` method of the contract. This transaction is signed and immediately sent to the network. The values returned are its hash, ValidUntilBlock value and error if any.

func (*Contract) SetConfigTransaction

func (c *Contract) SetConfigTransaction(id []byte, key []byte, val []byte) (*transaction.Transaction, error)

SetConfigTransaction creates a transaction invoking `setConfig` method of the contract. This transaction is signed, but not sent to the network, instead it's returned to the caller.

func (*Contract) SetConfigUnsigned

func (c *Contract) SetConfigUnsigned(id []byte, key []byte, val []byte) (*transaction.Transaction, error)

SetConfigUnsigned creates a transaction invoking `setConfig` method of the contract. This transaction is not signed, it's simply returned to the caller. Any fields of it that do not affect fees can be changed (ValidUntilBlock, Nonce), fee values (NetworkFee, SystemFee) can be increased as well.

func (*Contract) Update

func (c *Contract) Update(script []byte, manifest []byte, data any) (util.Uint256, uint32, error)

Update creates a transaction invoking `update` method of the contract. This transaction is signed and immediately sent to the network. The values returned are its hash, ValidUntilBlock value and error if any.

func (*Contract) UpdateSnapshotCount

func (c *Contract) UpdateSnapshotCount(count *big.Int) (util.Uint256, uint32, error)

UpdateSnapshotCount creates a transaction invoking `updateSnapshotCount` method of the contract. This transaction is signed and immediately sent to the network. The values returned are its hash, ValidUntilBlock value and error if any.

func (*Contract) UpdateSnapshotCountTransaction

func (c *Contract) UpdateSnapshotCountTransaction(count *big.Int) (*transaction.Transaction, error)

UpdateSnapshotCountTransaction creates a transaction invoking `updateSnapshotCount` method of the contract. This transaction is signed, but not sent to the network, instead it's returned to the caller.

func (*Contract) UpdateSnapshotCountUnsigned

func (c *Contract) UpdateSnapshotCountUnsigned(count *big.Int) (*transaction.Transaction, error)

UpdateSnapshotCountUnsigned creates a transaction invoking `updateSnapshotCount` method of the contract. This transaction is not signed, it's simply returned to the caller. Any fields of it that do not affect fees can be changed (ValidUntilBlock, Nonce), fee values (NetworkFee, SystemFee) can be increased as well.

func (*Contract) UpdateState

func (c *Contract) UpdateState(state *big.Int, publicKey *keys.PublicKey) (util.Uint256, uint32, error)

UpdateState creates a transaction invoking `updateState` method of the contract. This transaction is signed and immediately sent to the network. The values returned are its hash, ValidUntilBlock value and error if any.

func (*Contract) UpdateStateIR

func (c *Contract) UpdateStateIR(state *big.Int, publicKey *keys.PublicKey) (util.Uint256, uint32, error)

UpdateStateIR creates a transaction invoking `updateStateIR` method of the contract. This transaction is signed and immediately sent to the network. The values returned are its hash, ValidUntilBlock value and error if any.

func (*Contract) UpdateStateIRTransaction

func (c *Contract) UpdateStateIRTransaction(state *big.Int, publicKey *keys.PublicKey) (*transaction.Transaction, error)

UpdateStateIRTransaction creates a transaction invoking `updateStateIR` method of the contract. This transaction is signed, but not sent to the network, instead it's returned to the caller.

func (*Contract) UpdateStateIRUnsigned

func (c *Contract) UpdateStateIRUnsigned(state *big.Int, publicKey *keys.PublicKey) (*transaction.Transaction, error)

UpdateStateIRUnsigned creates a transaction invoking `updateStateIR` method of the contract. This transaction is not signed, it's simply returned to the caller. Any fields of it that do not affect fees can be changed (ValidUntilBlock, Nonce), fee values (NetworkFee, SystemFee) can be increased as well.

func (*Contract) UpdateStateTransaction

func (c *Contract) UpdateStateTransaction(state *big.Int, publicKey *keys.PublicKey) (*transaction.Transaction, error)

UpdateStateTransaction creates a transaction invoking `updateState` method of the contract. This transaction is signed, but not sent to the network, instead it's returned to the caller.

func (*Contract) UpdateStateUnsigned

func (c *Contract) UpdateStateUnsigned(state *big.Int, publicKey *keys.PublicKey) (*transaction.Transaction, error)

UpdateStateUnsigned creates a transaction invoking `updateState` method of the contract. This transaction is not signed, it's simply returned to the caller. Any fields of it that do not affect fees can be changed (ValidUntilBlock, Nonce), fee values (NetworkFee, SystemFee) can be increased as well.

func (*Contract) UpdateTransaction

func (c *Contract) UpdateTransaction(script []byte, manifest []byte, data any) (*transaction.Transaction, error)

UpdateTransaction creates a transaction invoking `update` method of the contract. This transaction is signed, but not sent to the network, instead it's returned to the caller.

func (*Contract) UpdateUnsigned

func (c *Contract) UpdateUnsigned(script []byte, manifest []byte, data any) (*transaction.Transaction, error)

UpdateUnsigned creates a transaction invoking `update` method of the contract. This transaction is not signed, it's simply returned to the caller. Any fields of it that do not affect fees can be changed (ValidUntilBlock, Nonce), fee values (NetworkFee, SystemFee) can be increased as well.

type ContractReader

type ContractReader struct {
	// contains filtered or unexported fields
}

ContractReader implements safe contract methods.

func NewReader

func NewReader(invoker Invoker, hash util.Uint160) *ContractReader

NewReader creates an instance of ContractReader using provided contract hash and the given Invoker.

func (*ContractReader) Config

func (c *ContractReader) Config(key []byte) (any, error)

Config invokes `config` method of contract.

func (*ContractReader) Epoch

func (c *ContractReader) Epoch() (*big.Int, error)

Epoch invokes `epoch` method of contract.

func (*ContractReader) ListConfig

func (c *ContractReader) ListConfig() ([]stackitem.Item, error)

ListConfig invokes `listConfig` method of contract.

func (*ContractReader) Netmap

func (c *ContractReader) Netmap() ([]stackitem.Item, error)

Netmap invokes `netmap` method of contract.

func (*ContractReader) NetmapCandidates

func (c *ContractReader) NetmapCandidates() ([]stackitem.Item, error)

NetmapCandidates invokes `netmapCandidates` method of contract.

func (*ContractReader) Snapshot

func (c *ContractReader) Snapshot(diff *big.Int) ([]stackitem.Item, error)

Snapshot invokes `snapshot` method of contract.

func (*ContractReader) SnapshotByEpoch

func (c *ContractReader) SnapshotByEpoch(epoch *big.Int) ([]stackitem.Item, error)

SnapshotByEpoch invokes `snapshotByEpoch` method of contract.

func (*ContractReader) Version

func (c *ContractReader) Version() (*big.Int, error)

Version invokes `version` method of contract.

type Invoker

type Invoker interface {
	Call(contract util.Uint160, operation string, params ...any) (*result.Invoke, error)
}

Invoker is used by ContractReader to call various safe methods.

type NewEpochEvent

type NewEpochEvent struct {
	Epoch *big.Int
}

NewEpochEvent represents "NewEpoch" event emitted by the contract.

func NewEpochEventsFromApplicationLog

func NewEpochEventsFromApplicationLog(log *result.ApplicationLog) ([]*NewEpochEvent, error)

NewEpochEventsFromApplicationLog retrieves a set of all emitted events with "NewEpoch" name from the provided result.ApplicationLog.

func (*NewEpochEvent) FromStackItem

func (e *NewEpochEvent) FromStackItem(item *stackitem.Array) error

FromStackItem converts provided stackitem.Array to NewEpochEvent or returns an error if it's not possible to do to so.

type UpdateStateEvent

type UpdateStateEvent struct {
	State     *big.Int
	PublicKey *keys.PublicKey
}

UpdateStateEvent represents "UpdateState" event emitted by the contract.

func UpdateStateEventsFromApplicationLog

func UpdateStateEventsFromApplicationLog(log *result.ApplicationLog) ([]*UpdateStateEvent, error)

UpdateStateEventsFromApplicationLog retrieves a set of all emitted events with "UpdateState" name from the provided result.ApplicationLog.

func (*UpdateStateEvent) FromStackItem

func (e *UpdateStateEvent) FromStackItem(item *stackitem.Array) error

FromStackItem converts provided stackitem.Array to UpdateStateEvent or returns an error if it's not possible to do to so.

type UpdateStateSuccessEvent

type UpdateStateSuccessEvent struct {
	PublicKey *keys.PublicKey
	State     *big.Int
}

UpdateStateSuccessEvent represents "UpdateStateSuccess" event emitted by the contract.

func UpdateStateSuccessEventsFromApplicationLog

func UpdateStateSuccessEventsFromApplicationLog(log *result.ApplicationLog) ([]*UpdateStateSuccessEvent, error)

UpdateStateSuccessEventsFromApplicationLog retrieves a set of all emitted events with "UpdateStateSuccess" name from the provided result.ApplicationLog.

func (*UpdateStateSuccessEvent) FromStackItem

func (e *UpdateStateSuccessEvent) FromStackItem(item *stackitem.Array) error

FromStackItem converts provided stackitem.Array to UpdateStateSuccessEvent or returns an error if it's not possible to do to so.

Jump to

Keyboard shortcuts

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