container

package
v0.26.0 Latest Latest
Warning

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

Go to latest
Published: Jan 23, 2026 License: GPL-3.0, Apache-2.0 Imports: 16 Imported by: 4

Documentation

Overview

Package container contains RPC wrappers for NeoFS Container contract.

Index

Constants

View Source
const (
	// RegistrationFeeKey is a key in netmap config which contains fee for container registration.
	RegistrationFeeKey = containerconst.RegistrationFeeKey
	// AliasFeeKey is a key in netmap config which contains fee for nice-name registration.
	AliasFeeKey = containerconst.AliasFeeKey

	// NotFoundError is returned if container is missing.
	NotFoundError = containerconst.NotFoundError

	// ErrorLocked is returned on locked container.
	ErrorLocked = containerconst.ErrorLocked
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Actor

type Actor interface {
	Invoker

	nep11.Actor

	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 AttributeChangedEvent added in v0.26.0

type AttributeChangedEvent struct {
	ContainerID util.Uint256
	Attribute   string
}

AttributeChangedEvent represents "AttributeChanged" event emitted by the contract.

func AttributeChangedEventsFromApplicationLog added in v0.26.0

func AttributeChangedEventsFromApplicationLog(log *result.ApplicationLog) ([]*AttributeChangedEvent, error)

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

func (*AttributeChangedEvent) FromStackItem added in v0.26.0

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

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

type CORSRule added in v0.26.0

type CORSRule struct {
	AllowedMethods []string
	AllowedOrigins []string
	AllowedHeaders []string
	ExposeHeaders  []string
	MaxAgeSeconds  int64
}

CORSRule describes one rule for the container’s CORS attribute.

type ContainerAPIVersion added in v0.26.0

type ContainerAPIVersion struct {
	Major *big.Int
	Minor *big.Int
}

ContainerAPIVersion is a contract-specific container.APIVersion type used by its methods.

func (*ContainerAPIVersion) FromStackItem added in v0.26.0

func (res *ContainerAPIVersion) FromStackItem(item stackitem.Item) error

FromStackItem retrieves fields of ContainerAPIVersion from the given stackitem.Item or returns an error if it's not possible to do to so. It implements stackitem.Convertible interface.

func (*ContainerAPIVersion) ToSCParameter added in v0.26.0

func (res *ContainerAPIVersion) ToSCParameter() (smartcontract.Parameter, error)

ToSCParameter creates smartcontract.Parameter representing ContainerAPIVersion. It implements smartcontract.Convertible interface so that ContainerAPIVersion could be used with invokers.

func (*ContainerAPIVersion) ToStackItem added in v0.26.0

func (res *ContainerAPIVersion) ToStackItem() (stackitem.Item, error)

ToStackItem creates stackitem.Item representing ContainerAPIVersion. It implements stackitem.Convertible interface.

type ContainerAttribute added in v0.26.0

type ContainerAttribute struct {
	Key   string
	Value string
}

ContainerAttribute is a contract-specific container.Attribute type used by its methods.

func (*ContainerAttribute) FromStackItem added in v0.26.0

func (res *ContainerAttribute) FromStackItem(item stackitem.Item) error

FromStackItem retrieves fields of ContainerAttribute from the given stackitem.Item or returns an error if it's not possible to do to so. It implements stackitem.Convertible interface.

func (*ContainerAttribute) ToSCParameter added in v0.26.0

func (res *ContainerAttribute) ToSCParameter() (smartcontract.Parameter, error)

ToSCParameter creates smartcontract.Parameter representing ContainerAttribute. It implements smartcontract.Convertible interface so that ContainerAttribute could be used with invokers.

func (*ContainerAttribute) ToStackItem added in v0.26.0

func (res *ContainerAttribute) ToStackItem() (stackitem.Item, error)

ToStackItem creates stackitem.Item representing ContainerAttribute. It implements stackitem.Convertible interface.

type ContainerContainer

type ContainerContainer struct {
	Value []byte
	Sig   []byte
	Pub   *keys.PublicKey
	Token []byte
}

ContainerContainer is a contract-specific container.Container type used by its methods.

func (*ContainerContainer) FromStackItem

func (res *ContainerContainer) FromStackItem(item stackitem.Item) error

FromStackItem retrieves fields of ContainerContainer from the given stackitem.Item or returns an error if it's not possible to do to so. It implements stackitem.Convertible interface.

func (*ContainerContainer) ToSCParameter added in v0.21.0

func (res *ContainerContainer) ToSCParameter() (smartcontract.Parameter, error)

ToSCParameter creates smartcontract.Parameter representing ContainerContainer. It implements smartcontract.Convertible interface so that ContainerContainer could be used with invokers.

func (*ContainerContainer) ToStackItem added in v0.21.0

func (res *ContainerContainer) ToStackItem() (stackitem.Item, error)

ToStackItem creates stackitem.Item representing ContainerContainer. It implements stackitem.Convertible interface.

type ContainerEpochBillingStat added in v0.25.0

type ContainerEpochBillingStat struct {
	Account                  util.Uint160
	LatestContainerSize      *big.Int
	LatestEpoch              *big.Int
	LastUpdateTime           *big.Int
	LatestEpochAverageSize   *big.Int
	PreviousContainerSize    *big.Int
	PreviousEpoch            *big.Int
	PreviousEpochAverageSize *big.Int
}

ContainerEpochBillingStat is a contract-specific container.EpochBillingStat type used by its methods.

func (*ContainerEpochBillingStat) FromStackItem added in v0.25.0

func (res *ContainerEpochBillingStat) FromStackItem(item stackitem.Item) error

FromStackItem retrieves fields of ContainerEpochBillingStat from the given stackitem.Item or returns an error if it's not possible to do to so. It implements stackitem.Convertible interface.

func (*ContainerEpochBillingStat) ToSCParameter added in v0.25.0

func (res *ContainerEpochBillingStat) ToSCParameter() (smartcontract.Parameter, error)

ToSCParameter creates smartcontract.Parameter representing ContainerEpochBillingStat. It implements smartcontract.Convertible interface so that ContainerEpochBillingStat could be used with invokers.

func (*ContainerEpochBillingStat) ToStackItem added in v0.25.0

func (res *ContainerEpochBillingStat) ToStackItem() (stackitem.Item, error)

ToStackItem creates stackitem.Item representing ContainerEpochBillingStat. It implements stackitem.Convertible interface.

type ContainerExtendedACL

type ContainerExtendedACL struct {
	Value []byte
	Sig   []byte
	Pub   *keys.PublicKey
	Token []byte
}

ContainerExtendedACL is a contract-specific container.ExtendedACL type used by its methods.

func (*ContainerExtendedACL) FromStackItem

func (res *ContainerExtendedACL) FromStackItem(item stackitem.Item) error

FromStackItem retrieves fields of ContainerExtendedACL from the given stackitem.Item or returns an error if it's not possible to do to so. It implements stackitem.Convertible interface.

func (*ContainerExtendedACL) ToSCParameter added in v0.21.0

func (res *ContainerExtendedACL) ToSCParameter() (smartcontract.Parameter, error)

ToSCParameter creates smartcontract.Parameter representing ContainerExtendedACL. It implements smartcontract.Convertible interface so that ContainerExtendedACL could be used with invokers.

func (*ContainerExtendedACL) ToStackItem added in v0.21.0

func (res *ContainerExtendedACL) ToStackItem() (stackitem.Item, error)

ToStackItem creates stackitem.Item representing ContainerExtendedACL. It implements stackitem.Convertible interface.

type ContainerInfo added in v0.26.0

type ContainerInfo struct {
	Version       *ContainerAPIVersion
	Owner         util.Uint160
	Nonce         []byte
	BasicACL      *big.Int
	Attributes    []*ContainerAttribute
	StoragePolicy []byte
}

ContainerInfo is a contract-specific container.Info type used by its methods.

func (*ContainerInfo) FromStackItem added in v0.26.0

func (res *ContainerInfo) FromStackItem(item stackitem.Item) error

FromStackItem retrieves fields of ContainerInfo from the given stackitem.Item or returns an error if it's not possible to do to so. It implements stackitem.Convertible interface.

func (*ContainerInfo) ToSCParameter added in v0.26.0

func (res *ContainerInfo) ToSCParameter() (smartcontract.Parameter, error)

ToSCParameter creates smartcontract.Parameter representing ContainerInfo. It implements smartcontract.Convertible interface so that ContainerInfo could be used with invokers.

func (*ContainerInfo) ToStackItem added in v0.26.0

func (res *ContainerInfo) ToStackItem() (stackitem.Item, error)

ToStackItem creates stackitem.Item representing ContainerInfo. It implements stackitem.Convertible interface.

type ContainerNodeReport added in v0.24.0

type ContainerNodeReport struct {
	PublicKey       *keys.PublicKey
	ContainerSize   *big.Int
	NumberOfObjects *big.Int
	NumberOfReports *big.Int
	LastUpdateEpoch *big.Int
}

ContainerNodeReport is a contract-specific container.NodeReport type used by its methods.

func (*ContainerNodeReport) FromStackItem added in v0.24.0

func (res *ContainerNodeReport) FromStackItem(item stackitem.Item) error

FromStackItem retrieves fields of ContainerNodeReport from the given stackitem.Item or returns an error if it's not possible to do to so. It implements stackitem.Convertible interface.

func (*ContainerNodeReport) ToSCParameter added in v0.24.0

func (res *ContainerNodeReport) ToSCParameter() (smartcontract.Parameter, error)

ToSCParameter creates smartcontract.Parameter representing ContainerNodeReport. It implements smartcontract.Convertible interface so that ContainerNodeReport could be used with invokers.

func (*ContainerNodeReport) ToStackItem added in v0.24.0

func (res *ContainerNodeReport) ToStackItem() (stackitem.Item, error)

ToStackItem creates stackitem.Item representing ContainerNodeReport. It implements stackitem.Convertible interface.

type ContainerNodeReportSummary added in v0.24.0

type ContainerNodeReportSummary struct {
	ContainerSize   *big.Int
	NumberOfObjects *big.Int
}

ContainerNodeReportSummary is a contract-specific container.NodeReportSummary type used by its methods.

func (*ContainerNodeReportSummary) FromStackItem added in v0.24.0

func (res *ContainerNodeReportSummary) FromStackItem(item stackitem.Item) error

FromStackItem retrieves fields of ContainerNodeReportSummary from the given stackitem.Item or returns an error if it's not possible to do to so. It implements stackitem.Convertible interface.

func (*ContainerNodeReportSummary) ToSCParameter added in v0.24.0

func (res *ContainerNodeReportSummary) ToSCParameter() (smartcontract.Parameter, error)

ToSCParameter creates smartcontract.Parameter representing ContainerNodeReportSummary. It implements smartcontract.Convertible interface so that ContainerNodeReportSummary could be used with invokers.

func (*ContainerNodeReportSummary) ToStackItem added in v0.24.0

func (res *ContainerNodeReportSummary) ToStackItem() (stackitem.Item, error)

ToStackItem creates stackitem.Item representing ContainerNodeReportSummary. It implements stackitem.Convertible interface.

type ContainerQuota added in v0.24.0

type ContainerQuota struct {
	SoftLimit *big.Int
	HardLimit *big.Int
}

ContainerQuota is a contract-specific container.Quota type used by its methods.

func (*ContainerQuota) FromStackItem added in v0.24.0

func (res *ContainerQuota) FromStackItem(item stackitem.Item) error

FromStackItem retrieves fields of ContainerQuota from the given stackitem.Item or returns an error if it's not possible to do to so. It implements stackitem.Convertible interface.

func (*ContainerQuota) ToSCParameter added in v0.24.0

func (res *ContainerQuota) ToSCParameter() (smartcontract.Parameter, error)

ToSCParameter creates smartcontract.Parameter representing ContainerQuota. It implements smartcontract.Convertible interface so that ContainerQuota could be used with invokers.

func (*ContainerQuota) ToStackItem added in v0.24.0

func (res *ContainerQuota) ToStackItem() (stackitem.Item, error)

ToStackItem creates stackitem.Item representing ContainerQuota. It implements stackitem.Convertible interface.

type ContainerQuotaSetEvent added in v0.24.0

type ContainerQuotaSetEvent struct {
	ContainerID util.Uint256
	LimitValue  *big.Int
	Hard        bool
}

ContainerQuotaSetEvent represents "ContainerQuotaSet" event emitted by the contract.

func ContainerQuotaSetEventsFromApplicationLog added in v0.24.0

func ContainerQuotaSetEventsFromApplicationLog(log *result.ApplicationLog) ([]*ContainerQuotaSetEvent, error)

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

func (*ContainerQuotaSetEvent) FromStackItem added in v0.24.0

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

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

type Contract

type Contract struct {
	ContractReader
	nep11.BaseWriter
	NEP22Contract
	// 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) AddNextEpochNodes added in v0.21.0

func (c *Contract) AddNextEpochNodes(cID util.Uint256, placementVector *big.Int, publicKeys keys.PublicKeys) (util.Uint256, uint32, error)

AddNextEpochNodes creates a transaction invoking `addNextEpochNodes` 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) AddNextEpochNodesTransaction added in v0.21.0

func (c *Contract) AddNextEpochNodesTransaction(cID util.Uint256, placementVector *big.Int, publicKeys keys.PublicKeys) (*transaction.Transaction, error)

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

func (*Contract) AddNextEpochNodesUnsigned added in v0.21.0

func (c *Contract) AddNextEpochNodesUnsigned(cID util.Uint256, placementVector *big.Int, publicKeys keys.PublicKeys) (*transaction.Transaction, error)

AddNextEpochNodesUnsigned creates a transaction invoking `addNextEpochNodes` 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) AddStructs added in v0.26.0

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

AddStructs creates a transaction invoking `addStructs` 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) AddStructsTransaction added in v0.26.0

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

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

func (*Contract) AddStructsUnsigned added in v0.26.0

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

AddStructsUnsigned creates a transaction invoking `addStructs` 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) CommitContainerListUpdate added in v0.21.0

func (c *Contract) CommitContainerListUpdate(cID util.Uint256, replicas []byte) (util.Uint256, uint32, error)

CommitContainerListUpdate creates a transaction invoking `commitContainerListUpdate` 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) CommitContainerListUpdateTransaction added in v0.21.0

func (c *Contract) CommitContainerListUpdateTransaction(cID util.Uint256, replicas []byte) (*transaction.Transaction, error)

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

func (*Contract) CommitContainerListUpdateUnsigned added in v0.21.0

func (c *Contract) CommitContainerListUpdateUnsigned(cID util.Uint256, replicas []byte) (*transaction.Transaction, error)

CommitContainerListUpdateUnsigned creates a transaction invoking `commitContainerListUpdate` 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) Create added in v0.22.0

func (c *Contract) Create(cnr []byte, invocScript []byte, verifScript []byte, sessionToken []byte, name string, zone string, metaOnChain bool) (util.Uint256, uint32, error)

Create creates a transaction invoking `create` 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) CreateTransaction added in v0.22.0

func (c *Contract) CreateTransaction(cnr []byte, invocScript []byte, verifScript []byte, sessionToken []byte, name string, zone string, metaOnChain bool) (*transaction.Transaction, error)

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

func (*Contract) CreateUnsigned added in v0.22.0

func (c *Contract) CreateUnsigned(cnr []byte, invocScript []byte, verifScript []byte, sessionToken []byte, name string, zone string, metaOnChain bool) (*transaction.Transaction, error)

CreateUnsigned creates a transaction invoking `create` 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) CreateV2 added in v0.26.0

func (c *Contract) CreateV2(cnr *ContainerInfo, invocScript []byte, verifScript []byte, sessionToken []byte) (util.Uint256, uint32, error)

CreateV2 creates a transaction invoking `createV2` 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) CreateV2Transaction added in v0.26.0

func (c *Contract) CreateV2Transaction(cnr *ContainerInfo, invocScript []byte, verifScript []byte, sessionToken []byte) (*transaction.Transaction, error)

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

func (*Contract) CreateV2Unsigned added in v0.26.0

func (c *Contract) CreateV2Unsigned(cnr *ContainerInfo, invocScript []byte, verifScript []byte, sessionToken []byte) (*transaction.Transaction, error)

CreateV2Unsigned creates a transaction invoking `createV2` 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) Delete

func (c *Contract) Delete(containerID []byte, signature []byte, token []byte) (util.Uint256, uint32, error)

Delete creates a transaction invoking `delete` 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) DeleteTransaction

func (c *Contract) DeleteTransaction(containerID []byte, signature []byte, token []byte) (*transaction.Transaction, error)

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

func (*Contract) DeleteUnsigned

func (c *Contract) DeleteUnsigned(containerID []byte, signature []byte, token []byte) (*transaction.Transaction, error)

DeleteUnsigned creates a transaction invoking `delete` 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) Put

func (c *Contract) Put(container []byte, signature []byte, publicKey *keys.PublicKey, token []byte) (util.Uint256, uint32, error)

Put creates a transaction invoking `put` 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) Put2 added in v0.21.0

func (c *Contract) Put2(container []byte, signature []byte, publicKey *keys.PublicKey, token []byte, name string, zone string, metaOnChain bool) (util.Uint256, uint32, error)

Put2 creates a transaction invoking `put` 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) Put2Transaction added in v0.21.0

func (c *Contract) Put2Transaction(container []byte, signature []byte, publicKey *keys.PublicKey, token []byte, name string, zone string, metaOnChain bool) (*transaction.Transaction, error)

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

func (*Contract) Put2Unsigned added in v0.21.0

func (c *Contract) Put2Unsigned(container []byte, signature []byte, publicKey *keys.PublicKey, token []byte, name string, zone string, metaOnChain bool) (*transaction.Transaction, error)

Put2Unsigned creates a transaction invoking `put` 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) Put3 added in v0.21.0

func (c *Contract) Put3(container []byte, signature []byte, publicKey *keys.PublicKey, token []byte, name string, zone string) (util.Uint256, uint32, error)

Put3 creates a transaction invoking `put` 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) Put3Transaction added in v0.21.0

func (c *Contract) Put3Transaction(container []byte, signature []byte, publicKey *keys.PublicKey, token []byte, name string, zone string) (*transaction.Transaction, error)

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

func (*Contract) Put3Unsigned added in v0.21.0

func (c *Contract) Put3Unsigned(container []byte, signature []byte, publicKey *keys.PublicKey, token []byte, name string, zone string) (*transaction.Transaction, error)

Put3Unsigned creates a transaction invoking `put` 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) PutEACL added in v0.22.0

func (c *Contract) PutEACL(eACL []byte, invocScript []byte, verifScript []byte, sessionToken []byte) (util.Uint256, uint32, error)

PutEACL creates a transaction invoking `putEACL` 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) PutEACLTransaction added in v0.22.0

func (c *Contract) PutEACLTransaction(eACL []byte, invocScript []byte, verifScript []byte, sessionToken []byte) (*transaction.Transaction, error)

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

func (*Contract) PutEACLUnsigned added in v0.22.0

func (c *Contract) PutEACLUnsigned(eACL []byte, invocScript []byte, verifScript []byte, sessionToken []byte) (*transaction.Transaction, error)

PutEACLUnsigned creates a transaction invoking `putEACL` 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) PutNamed

func (c *Contract) PutNamed(container []byte, signature []byte, publicKey *keys.PublicKey, token []byte, name string, zone string) (util.Uint256, uint32, error)

PutNamed creates a transaction invoking `putNamed` 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) PutNamedTransaction

func (c *Contract) PutNamedTransaction(container []byte, signature []byte, publicKey *keys.PublicKey, token []byte, name string, zone string) (*transaction.Transaction, error)

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

func (*Contract) PutNamedUnsigned

func (c *Contract) PutNamedUnsigned(container []byte, signature []byte, publicKey *keys.PublicKey, token []byte, name string, zone string) (*transaction.Transaction, error)

PutNamedUnsigned creates a transaction invoking `putNamed` 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) PutReport added in v0.24.0

func (c *Contract) PutReport(cid util.Uint256, sizeBytes *big.Int, objsNumber *big.Int, pubKey *keys.PublicKey) (util.Uint256, uint32, error)

PutReport creates a transaction invoking `putReport` 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) PutReportTransaction added in v0.24.0

func (c *Contract) PutReportTransaction(cid util.Uint256, sizeBytes *big.Int, objsNumber *big.Int, pubKey *keys.PublicKey) (*transaction.Transaction, error)

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

func (*Contract) PutReportUnsigned added in v0.24.0

func (c *Contract) PutReportUnsigned(cid util.Uint256, sizeBytes *big.Int, objsNumber *big.Int, pubKey *keys.PublicKey) (*transaction.Transaction, error)

PutReportUnsigned creates a transaction invoking `putReport` 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) PutTransaction

func (c *Contract) PutTransaction(container []byte, signature []byte, publicKey *keys.PublicKey, token []byte) (*transaction.Transaction, error)

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

func (*Contract) PutUnsigned

func (c *Contract) PutUnsigned(container []byte, signature []byte, publicKey *keys.PublicKey, token []byte) (*transaction.Transaction, error)

PutUnsigned creates a transaction invoking `put` 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) Remove added in v0.22.0

func (c *Contract) Remove(id []byte, invocScript []byte, verifScript []byte, sessionToken []byte) (util.Uint256, uint32, error)

Remove creates a transaction invoking `remove` 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) RemoveAttribute added in v0.26.0

func (c *Contract) RemoveAttribute(cID util.Uint256, name string, validUntil *big.Int, invocScript []byte, verifScript []byte, sessionToken []byte) (util.Uint256, uint32, error)

RemoveAttribute creates a transaction invoking `removeAttribute` 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) RemoveAttributeTransaction added in v0.26.0

func (c *Contract) RemoveAttributeTransaction(cID util.Uint256, name string, validUntil *big.Int, invocScript []byte, verifScript []byte, sessionToken []byte) (*transaction.Transaction, error)

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

func (*Contract) RemoveAttributeUnsigned added in v0.26.0

func (c *Contract) RemoveAttributeUnsigned(cID util.Uint256, name string, validUntil *big.Int, invocScript []byte, verifScript []byte, sessionToken []byte) (*transaction.Transaction, error)

RemoveAttributeUnsigned creates a transaction invoking `removeAttribute` 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) RemoveTransaction added in v0.22.0

func (c *Contract) RemoveTransaction(id []byte, invocScript []byte, verifScript []byte, sessionToken []byte) (*transaction.Transaction, error)

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

func (*Contract) RemoveUnsigned added in v0.22.0

func (c *Contract) RemoveUnsigned(id []byte, invocScript []byte, verifScript []byte, sessionToken []byte) (*transaction.Transaction, error)

RemoveUnsigned creates a transaction invoking `remove` 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) SetAttribute added in v0.26.0

func (c *Contract) SetAttribute(cID util.Uint256, name string, value string, validUntil *big.Int, invocScript []byte, verifScript []byte, sessionToken []byte) (util.Uint256, uint32, error)

SetAttribute creates a transaction invoking `setAttribute` 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) SetAttributeTransaction added in v0.26.0

func (c *Contract) SetAttributeTransaction(cID util.Uint256, name string, value string, validUntil *big.Int, invocScript []byte, verifScript []byte, sessionToken []byte) (*transaction.Transaction, error)

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

func (*Contract) SetAttributeUnsigned added in v0.26.0

func (c *Contract) SetAttributeUnsigned(cID util.Uint256, name string, value string, validUntil *big.Int, invocScript []byte, verifScript []byte, sessionToken []byte) (*transaction.Transaction, error)

SetAttributeUnsigned creates a transaction invoking `setAttribute` 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) SetEACL

func (c *Contract) SetEACL(eACL []byte, signature []byte, publicKey *keys.PublicKey, token []byte) (util.Uint256, uint32, error)

SetEACL creates a transaction invoking `setEACL` 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) SetEACLTransaction

func (c *Contract) SetEACLTransaction(eACL []byte, signature []byte, publicKey *keys.PublicKey, token []byte) (*transaction.Transaction, error)

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

func (*Contract) SetEACLUnsigned

func (c *Contract) SetEACLUnsigned(eACL []byte, signature []byte, publicKey *keys.PublicKey, token []byte) (*transaction.Transaction, error)

SetEACLUnsigned creates a transaction invoking `setEACL` 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) SetHardContainerQuota added in v0.24.0

func (c *Contract) SetHardContainerQuota(cID util.Uint256, size *big.Int) (util.Uint256, uint32, error)

SetHardContainerQuota creates a transaction invoking `setHardContainerQuota` 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) SetHardContainerQuotaTransaction added in v0.24.0

func (c *Contract) SetHardContainerQuotaTransaction(cID util.Uint256, size *big.Int) (*transaction.Transaction, error)

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

func (*Contract) SetHardContainerQuotaUnsigned added in v0.24.0

func (c *Contract) SetHardContainerQuotaUnsigned(cID util.Uint256, size *big.Int) (*transaction.Transaction, error)

SetHardContainerQuotaUnsigned creates a transaction invoking `setHardContainerQuota` 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) SetHardUserQuota added in v0.24.0

func (c *Contract) SetHardUserQuota(user []byte, size *big.Int) (util.Uint256, uint32, error)

SetHardUserQuota creates a transaction invoking `setHardUserQuota` 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) SetHardUserQuotaTransaction added in v0.24.0

func (c *Contract) SetHardUserQuotaTransaction(user []byte, size *big.Int) (*transaction.Transaction, error)

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

func (*Contract) SetHardUserQuotaUnsigned added in v0.24.0

func (c *Contract) SetHardUserQuotaUnsigned(user []byte, size *big.Int) (*transaction.Transaction, error)

SetHardUserQuotaUnsigned creates a transaction invoking `setHardUserQuota` 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) SetSoftContainerQuota added in v0.24.0

func (c *Contract) SetSoftContainerQuota(cID util.Uint256, size *big.Int) (util.Uint256, uint32, error)

SetSoftContainerQuota creates a transaction invoking `setSoftContainerQuota` 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) SetSoftContainerQuotaTransaction added in v0.24.0

func (c *Contract) SetSoftContainerQuotaTransaction(cID util.Uint256, size *big.Int) (*transaction.Transaction, error)

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

func (*Contract) SetSoftContainerQuotaUnsigned added in v0.24.0

func (c *Contract) SetSoftContainerQuotaUnsigned(cID util.Uint256, size *big.Int) (*transaction.Transaction, error)

SetSoftContainerQuotaUnsigned creates a transaction invoking `setSoftContainerQuota` 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) SetSoftUserQuota added in v0.24.0

func (c *Contract) SetSoftUserQuota(user []byte, size *big.Int) (util.Uint256, uint32, error)

SetSoftUserQuota creates a transaction invoking `setSoftUserQuota` 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) SetSoftUserQuotaTransaction added in v0.24.0

func (c *Contract) SetSoftUserQuotaTransaction(user []byte, size *big.Int) (*transaction.Transaction, error)

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

func (*Contract) SetSoftUserQuotaUnsigned added in v0.24.0

func (c *Contract) SetSoftUserQuotaUnsigned(user []byte, size *big.Int) (*transaction.Transaction, error)

SetSoftUserQuotaUnsigned creates a transaction invoking `setSoftUserQuota` 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) SubmitObjectPut added in v0.21.0

func (c *Contract) SubmitObjectPut(metaInformation []byte, sigs [][][]byte) (util.Uint256, uint32, error)

SubmitObjectPut creates a transaction invoking `submitObjectPut` 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) SubmitObjectPutTransaction added in v0.21.0

func (c *Contract) SubmitObjectPutTransaction(metaInformation []byte, sigs [][][]byte) (*transaction.Transaction, error)

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

func (*Contract) SubmitObjectPutUnsigned added in v0.21.0

func (c *Contract) SubmitObjectPutUnsigned(metaInformation []byte, sigs [][][]byte) (*transaction.Transaction, error)

SubmitObjectPutUnsigned creates a transaction invoking `submitObjectPut` 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 {
	nep11.NonDivisibleReader
	// 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) Alias

func (c *ContractReader) Alias(cid []byte) (string, error)

Alias invokes `alias` method of contract.

func (*ContractReader) ContainerQuota added in v0.24.0

func (c *ContractReader) ContainerQuota(cID util.Uint256) (*ContainerQuota, error)

ContainerQuota invokes `containerQuota` method of contract.

func (*ContractReader) ContainersOf

func (c *ContractReader) ContainersOf(owner []byte) (uuid.UUID, result.Iterator, error)

ContainersOf invokes `containersOf` method of contract.

func (*ContractReader) ContainersOfExpanded

func (c *ContractReader) ContainersOfExpanded(owner []byte, _numOfIteratorItems int) ([]stackitem.Item, error)

ContainersOfExpanded is similar to ContainersOf (uses the same contract method), but can be useful if the server used doesn't support sessions and doesn't expand iterators. It creates a script that will get the specified number of result items from the iterator right in the VM and return them to you. It's only limited by VM stack and GAS available for RPC invocations.

func (*ContractReader) Count

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

Count invokes `count` method of contract.

func (*ContractReader) EACL

func (c *ContractReader) EACL(containerID []byte) (*ContainerExtendedACL, error)

EACL invokes `eACL` method of contract.

func (*ContractReader) Get

func (c *ContractReader) Get(containerID []byte) (*ContainerContainer, error)

Get invokes `get` method of contract.

func (*ContractReader) GetBillingStatByNode added in v0.25.0

func (c *ContractReader) GetBillingStatByNode(cid util.Uint256, pubKey *keys.PublicKey) (*ContainerEpochBillingStat, error)

GetBillingStatByNode invokes `getBillingStatByNode` method of contract.

func (*ContractReader) GetContainerData added in v0.22.0

func (c *ContractReader) GetContainerData(id []byte) ([]byte, error)

GetContainerData invokes `getContainerData` method of contract.

func (*ContractReader) GetEACLData added in v0.22.0

func (c *ContractReader) GetEACLData(id []byte) ([]byte, error)

GetEACLData invokes `getEACLData` method of contract.

func (*ContractReader) GetInfo added in v0.26.0

func (c *ContractReader) GetInfo(id util.Uint256) (*ContainerInfo, error)

GetInfo invokes `getInfo` method of contract.

func (*ContractReader) GetNodeReportSummary added in v0.24.0

func (c *ContractReader) GetNodeReportSummary(cid util.Uint256) (*ContainerNodeReportSummary, error)

GetNodeReportSummary invokes `getNodeReportSummary` method of contract.

func (*ContractReader) GetReportByAccount added in v0.26.0

func (c *ContractReader) GetReportByAccount(cid util.Uint256, acc util.Uint160) (*ContainerNodeReport, error)

GetReportByAccount invokes `getReportByAccount` method of contract.

func (*ContractReader) GetReportByNode added in v0.24.0

func (c *ContractReader) GetReportByNode(cid util.Uint256, pubKey *keys.PublicKey) (*ContainerNodeReport, error)

GetReportByNode invokes `getReportByNode` method of contract.

func (*ContractReader) GetTakenSpaceByUser added in v0.24.0

func (c *ContractReader) GetTakenSpaceByUser(user []byte) (*big.Int, error)

GetTakenSpaceByUser invokes `getTakenSpaceByUser` method of contract.

func (*ContractReader) IterateAllReportSummaries added in v0.24.0

func (c *ContractReader) IterateAllReportSummaries() (uuid.UUID, result.Iterator, error)

IterateAllReportSummaries invokes `iterateAllReportSummaries` method of contract.

func (*ContractReader) IterateAllReportSummariesExpanded added in v0.24.0

func (c *ContractReader) IterateAllReportSummariesExpanded(_numOfIteratorItems int) ([]stackitem.Item, error)

IterateAllReportSummariesExpanded is similar to IterateAllReportSummaries (uses the same contract method), but can be useful if the server used doesn't support sessions and doesn't expand iterators. It creates a script that will get the specified number of result items from the iterator right in the VM and return them to you. It's only limited by VM stack and GAS available for RPC invocations.

func (*ContractReader) IterateBillingStats added in v0.25.0

func (c *ContractReader) IterateBillingStats(cid util.Uint256) (uuid.UUID, result.Iterator, error)

IterateBillingStats invokes `iterateBillingStats` method of contract.

func (*ContractReader) IterateBillingStatsExpanded added in v0.25.0

func (c *ContractReader) IterateBillingStatsExpanded(cid util.Uint256, _numOfIteratorItems int) ([]stackitem.Item, error)

IterateBillingStatsExpanded is similar to IterateBillingStats (uses the same contract method), but can be useful if the server used doesn't support sessions and doesn't expand iterators. It creates a script that will get the specified number of result items from the iterator right in the VM and return them to you. It's only limited by VM stack and GAS available for RPC invocations.

func (*ContractReader) IterateReports added in v0.24.0

func (c *ContractReader) IterateReports(cid util.Uint256) (uuid.UUID, result.Iterator, error)

IterateReports invokes `iterateReports` method of contract.

func (*ContractReader) IterateReportsExpanded added in v0.24.0

func (c *ContractReader) IterateReportsExpanded(cid util.Uint256, _numOfIteratorItems int) ([]stackitem.Item, error)

IterateReportsExpanded is similar to IterateReports (uses the same contract method), but can be useful if the server used doesn't support sessions and doesn't expand iterators. It creates a script that will get the specified number of result items from the iterator right in the VM and return them to you. It's only limited by VM stack and GAS available for RPC invocations.

func (*ContractReader) Nodes added in v0.21.0

func (c *ContractReader) Nodes(cID util.Uint256, placementVector *big.Int) (uuid.UUID, result.Iterator, error)

Nodes invokes `nodes` method of contract.

func (*ContractReader) NodesExpanded added in v0.21.0

func (c *ContractReader) NodesExpanded(cID util.Uint256, placementVector *big.Int, _numOfIteratorItems int) ([]stackitem.Item, error)

NodesExpanded is similar to Nodes (uses the same contract method), but can be useful if the server used doesn't support sessions and doesn't expand iterators. It creates a script that will get the specified number of result items from the iterator right in the VM and return them to you. It's only limited by VM stack and GAS available for RPC invocations.

func (*ContractReader) Owner

func (c *ContractReader) Owner(containerID []byte) ([]byte, error)

Owner invokes `owner` method of contract.

func (*ContractReader) ReplicasNumbers added in v0.21.0

func (c *ContractReader) ReplicasNumbers(cID util.Uint256) (uuid.UUID, result.Iterator, error)

ReplicasNumbers invokes `replicasNumbers` method of contract.

func (*ContractReader) ReplicasNumbersExpanded added in v0.21.0

func (c *ContractReader) ReplicasNumbersExpanded(cID util.Uint256, _numOfIteratorItems int) ([]stackitem.Item, error)

ReplicasNumbersExpanded is similar to ReplicasNumbers (uses the same contract method), but can be useful if the server used doesn't support sessions and doesn't expand iterators. It creates a script that will get the specified number of result items from the iterator right in the VM and return them to you. It's only limited by VM stack and GAS available for RPC invocations.

func (*ContractReader) UserQuota added in v0.24.0

func (c *ContractReader) UserQuota(user []byte) (*ContainerQuota, error)

UserQuota invokes `userQuota` method of contract.

func (*ContractReader) VerifyPlacementSignatures added in v0.21.0

func (c *ContractReader) VerifyPlacementSignatures(cid util.Uint256, msg []byte, sigs [][][]byte) (bool, error)

VerifyPlacementSignatures invokes `verifyPlacementSignatures` method of contract.

func (*ContractReader) Version

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

Version invokes `version` method of contract.

type CreatedEvent added in v0.22.0

type CreatedEvent struct {
	ContainerID util.Uint256
	Owner       []byte
}

CreatedEvent represents "Created" event emitted by the contract.

func CreatedEventsFromApplicationLog added in v0.22.0

func CreatedEventsFromApplicationLog(log *result.ApplicationLog) ([]*CreatedEvent, error)

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

func (*CreatedEvent) FromStackItem added in v0.22.0

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

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

type DeleteSuccessEvent

type DeleteSuccessEvent struct {
	ContainerID []byte
}

DeleteSuccessEvent represents "DeleteSuccess" event emitted by the contract.

func DeleteSuccessEventsFromApplicationLog

func DeleteSuccessEventsFromApplicationLog(log *result.ApplicationLog) ([]*DeleteSuccessEvent, error)

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

func (*DeleteSuccessEvent) FromStackItem

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

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

type EACLChangedEvent added in v0.22.0

type EACLChangedEvent struct {
	ContainerID util.Uint256
}

EACLChangedEvent represents "EACLChanged" event emitted by the contract.

func EACLChangedEventsFromApplicationLog added in v0.22.0

func EACLChangedEventsFromApplicationLog(log *result.ApplicationLog) ([]*EACLChangedEvent, error)

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

func (*EACLChangedEvent) FromStackItem added in v0.22.0

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

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

type Invoker

type Invoker interface {
	nep11.Invoker
}

Invoker is used by ContractReader to call various safe methods.

type NEP22Contract added in v0.25.0

type NEP22Contract = nep22.Contract

NEP22Contract is an alias for nep22.Contract.

type NodesUpdateEvent added in v0.21.0

type NodesUpdateEvent struct {
	ContainerID util.Uint256
}

NodesUpdateEvent represents "NodesUpdate" event emitted by the contract.

func NodesUpdateEventsFromApplicationLog added in v0.21.0

func NodesUpdateEventsFromApplicationLog(log *result.ApplicationLog) ([]*NodesUpdateEvent, error)

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

func (*NodesUpdateEvent) FromStackItem added in v0.21.0

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

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

type ObjectPutEvent added in v0.21.0

type ObjectPutEvent struct {
	ContainerID util.Uint256
	ObjectID    util.Uint256
	Meta        map[any]any
}

ObjectPutEvent represents "ObjectPut" event emitted by the contract.

func ObjectPutEventsFromApplicationLog added in v0.21.0

func ObjectPutEventsFromApplicationLog(log *result.ApplicationLog) ([]*ObjectPutEvent, error)

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

func (*ObjectPutEvent) FromStackItem added in v0.21.0

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

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

type PutSuccessEvent

type PutSuccessEvent struct {
	ContainerID util.Uint256
	PublicKey   *keys.PublicKey
}

PutSuccessEvent represents "PutSuccess" event emitted by the contract.

func PutSuccessEventsFromApplicationLog

func PutSuccessEventsFromApplicationLog(log *result.ApplicationLog) ([]*PutSuccessEvent, error)

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

func (*PutSuccessEvent) FromStackItem

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

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

type RemovedEvent added in v0.22.0

type RemovedEvent struct {
	ContainerID util.Uint256
	Owner       []byte
}

RemovedEvent represents "Removed" event emitted by the contract.

func RemovedEventsFromApplicationLog added in v0.22.0

func RemovedEventsFromApplicationLog(log *result.ApplicationLog) ([]*RemovedEvent, error)

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

func (*RemovedEvent) FromStackItem added in v0.22.0

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

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

type SetEACLSuccessEvent

type SetEACLSuccessEvent struct {
	ContainerID []byte
	PublicKey   *keys.PublicKey
}

SetEACLSuccessEvent represents "SetEACLSuccess" event emitted by the contract.

func SetEACLSuccessEventsFromApplicationLog

func SetEACLSuccessEventsFromApplicationLog(log *result.ApplicationLog) ([]*SetEACLSuccessEvent, error)

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

func (*SetEACLSuccessEvent) FromStackItem

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

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

type UserQuotaSetEvent added in v0.24.0

type UserQuotaSetEvent struct {
	UserID     []byte
	LimitValue *big.Int
	Hard       bool
}

UserQuotaSetEvent represents "UserQuotaSet" event emitted by the contract.

func UserQuotaSetEventsFromApplicationLog added in v0.24.0

func UserQuotaSetEventsFromApplicationLog(log *result.ApplicationLog) ([]*UserQuotaSetEvent, error)

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

func (*UserQuotaSetEvent) FromStackItem added in v0.24.0

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

FromStackItem converts provided stackitem.Array to UserQuotaSetEvent 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