Documentation
¶
Index ¶
- Variables
- func ConvertObjectDigestBytesToString(digest models.ObjectDigestBytes) models.ObjectDigest
- func ConvertObjectDigestStringToBytes(digest models.ObjectDigest) (*models.ObjectDigestBytes, error)
- func ConvertSuiAddressBytesToString(addr models.SuiAddressBytes) models.SuiAddress
- func ConvertSuiAddressStringToBytes(address models.SuiAddress) (*models.SuiAddressBytes, error)
- type Argument
- type CallArg
- type Command
- type GasData
- type MakeMoveVec
- type MergeCoins
- type NestedResult
- type ObjectArg
- type ProgrammableMoveCall
- type ProgrammableTransaction
- type Publish
- type Pure
- type SharedObjectRef
- type SplitCoins
- type StructTag
- type SuiObjectRef
- type Transaction
- func (tx *Transaction) Add(command Command) Argument
- func (tx *Transaction) BuildBCSBytes(ctx context.Context) ([]byte, error)
- func (tx *Transaction) Execute(ctx context.Context, options models.SuiTransactionBlockOptions, ...) (*models.SuiTransactionBlockResponse, error)
- func (tx *Transaction) Gas() Argument
- func (tx *Transaction) MakeMoveVec(typeValue *string, elements []Argument) Argument
- func (tx *Transaction) MergeCoins(destination Argument, sources []Argument) Argument
- func (tx *Transaction) MoveCall(packageId models.SuiAddress, module string, function string, ...) Argument
- func (tx *Transaction) NewTransactionFromKind() (newTx *Transaction, err error)
- func (tx *Transaction) Object(input any) Argument
- func (tx *Transaction) Publish(modules [][]byte, dependencies []models.SuiAddress) Argument
- func (tx *Transaction) Pure(input any) Argument
- func (tx *Transaction) SetExpiration(expiration TransactionExpiration) *Transaction
- func (tx *Transaction) SetGasBudget(budget uint64) *Transaction
- func (tx *Transaction) SetGasBudgetIfNotSet(budget uint64) *Transaction
- func (tx *Transaction) SetGasOwner(owner models.SuiAddress) *Transaction
- func (tx *Transaction) SetGasPayment(payment []SuiObjectRef) *Transaction
- func (tx *Transaction) SetGasPrice(price uint64) *Transaction
- func (tx *Transaction) SetSender(sender models.SuiAddress) *Transaction
- func (tx *Transaction) SetSenderIfNotSet(sender models.SuiAddress) *Transaction
- func (tx *Transaction) SetSigner(signer *signer.Signer) *Transaction
- func (tx *Transaction) SetSponsoredSigner(signer *signer.Signer) *Transaction
- func (tx *Transaction) SetSuiClient(client *sui.Client) *Transaction
- func (tx *Transaction) SplitCoins(coin Argument, amount []Argument) Argument
- func (tx *Transaction) ToSuiExecuteTransactionBlockRequest(ctx context.Context, options models.SuiTransactionBlockOptions, ...) (*models.SuiExecuteTransactionBlockRequest, error)
- func (tx *Transaction) TransferObjects(objects []Argument, address Argument) Argument
- func (tx *Transaction) Upgrade(modules [][]byte, dependencies []models.SuiAddress, ...) Argument
- type TransactionData
- type TransactionDataV1
- type TransactionExpiration
- type TransactionKind
- type TransferObjects
- type TypeTag
- type UnresolvedObject
- type UnresolvedPure
- type Upgrade
Constants ¶
This section is empty.
Variables ¶
var ( ErrSignerNotSet = errors.New("signer not set") ErrSenderNotSet = errors.New("sender not set") ErrSuiClientNotSet = errors.New("sui client not set") ErrGasDataNotAllSet = errors.New("gas data not all set") ErrGasPriceNotSet = errors.New("gas price not set: call SetGasPrice or attach a SuiClient") ErrInvalidSuiAddress = errors.New("invalid sui address") ErrInvalidObjectId = errors.New("invalid object id") ErrObjectNotSupportType = errors.New("object not support type") )
Functions ¶
func ConvertObjectDigestBytesToString ¶
func ConvertObjectDigestBytesToString(digest models.ObjectDigestBytes) models.ObjectDigest
func ConvertObjectDigestStringToBytes ¶
func ConvertObjectDigestStringToBytes(digest models.ObjectDigest) (*models.ObjectDigestBytes, error)
func ConvertSuiAddressBytesToString ¶
func ConvertSuiAddressBytesToString(addr models.SuiAddressBytes) models.SuiAddress
func ConvertSuiAddressStringToBytes ¶
func ConvertSuiAddressStringToBytes(address models.SuiAddress) (*models.SuiAddressBytes, error)
Types ¶
type Argument ¶
type Argument struct {
GasCoin any
Input *uint16
Result *uint16
NestedResult *NestedResult
}
Argument https://github.com/MystenLabs/sui/blob/fb27c6c7166f5e4279d5fd1b2ebc5580ca0e81b2/crates/sui-types/src/transaction.rs#L745 - GasCoin - Input - Result - NestedResult
type CallArg ¶
type CallArg struct {
Pure *Pure
Object *ObjectArg
UnresolvedPure *UnresolvedPure
UnresolvedObject *UnresolvedObject
}
CallArg https://github.com/MystenLabs/sui/blob/fb27c6c7166f5e4279d5fd1b2ebc5580ca0e81b2/crates/sui-types/src/transaction.rs#L80 - Pure - Object - UnresolvedPure - UnresolvedObject
type Command ¶
type Command struct {
MoveCall *ProgrammableMoveCall
TransferObjects *TransferObjects
SplitCoins *SplitCoins
MergeCoins *MergeCoins
Publish *Publish
MakeMoveVec *MakeMoveVec
Upgrade *Upgrade
}
Command https://github.com/MystenLabs/sui/blob/fb27c6c7166f5e4279d5fd1b2ebc5580ca0e81b2/crates/sui-types/src/transaction.rs#L712 - MoveCall - TransferObjects - SplitCoins - MergeCoins - Publish - MakeMoveVec - Upgrade
type GasData ¶
type GasData struct {
Payment *[]SuiObjectRef
Owner *models.SuiAddressBytes
Price *uint64
Budget *uint64
}
type MakeMoveVec ¶
type MergeCoins ¶
type NestedResult ¶
type ObjectArg ¶
type ObjectArg struct {
ImmOrOwnedObject *SuiObjectRef
Receiving *SuiObjectRef
}
ObjectArg - ImmOrOwnedObject - SharedObject - Receiving
type ProgrammableMoveCall ¶
type ProgrammableMoveCall struct {
Package models.SuiAddressBytes
Module string
Function string
TypeArguments []*TypeTag
Arguments []*Argument
}
ProgrammableMoveCall https://github.com/MystenLabs/sui/blob/fb27c6c7166f5e4279d5fd1b2ebc5580ca0e81b2/crates/sui-types/src/transaction.rs#L762
type ProgrammableTransaction ¶
ProgrammableTransaction https://github.com/MystenLabs/sui/blob/fb27c6c7166f5e4279d5fd1b2ebc5580ca0e81b2/crates/sui-types/src/transaction.rs#L702
type Publish ¶
type Publish struct {
Modules [][]byte
Dependencies []models.SuiAddressBytes
}
type SharedObjectRef ¶
type SharedObjectRef struct {
}
type SplitCoins ¶
type StructTag ¶
type StructTag struct {
Address models.SuiAddressBytes
Module string
Name string
TypeParams []*TypeTag
}
type SuiObjectRef ¶
type SuiObjectRef struct {
ObjectId models.SuiAddressBytes
Version uint64
Digest models.ObjectDigestBytes
}
func NewSuiObjectRef ¶
func NewSuiObjectRef(objectId models.SuiAddress, version string, digest models.ObjectDigest) (*SuiObjectRef, error)
type Transaction ¶
type Transaction struct {
Data TransactionData
Signer *signer.Signer
SponsoredSigner *signer.Signer
SuiClient *sui.Client
}
func NewTransaction ¶
func NewTransaction() *Transaction
func (*Transaction) Add ¶
func (tx *Transaction) Add(command Command) Argument
func (*Transaction) BuildBCSBytes ¶ added in v1.2.1
func (tx *Transaction) BuildBCSBytes(ctx context.Context) ([]byte, error)
BuildBCSBytes resolves sender, gas price and gas budget (same as Execute), then returns the raw BCS-encoded TransactionData bytes suitable for SimulateTransactionOptions.Transaction or ExecuteTransactionOptions.Transaction.
Unlike Execute, this method does NOT require gas payment to be set when DoGasSelection will be true on the gRPC SimulateTransaction call.
func (*Transaction) Execute ¶
func (tx *Transaction) Execute( ctx context.Context, options models.SuiTransactionBlockOptions, requestType string, ) (*models.SuiTransactionBlockResponse, error)
func (*Transaction) Gas ¶
func (tx *Transaction) Gas() Argument
func (*Transaction) MakeMoveVec ¶
func (tx *Transaction) MakeMoveVec(typeValue *string, elements []Argument) Argument
func (*Transaction) MergeCoins ¶
func (tx *Transaction) MergeCoins(destination Argument, sources []Argument) Argument
func (*Transaction) MoveCall ¶
func (tx *Transaction) MoveCall( packageId models.SuiAddress, module string, function string, typeArguments []TypeTag, arguments []Argument, ) Argument
func (*Transaction) NewTransactionFromKind ¶
func (tx *Transaction) NewTransactionFromKind() (newTx *Transaction, err error)
func (*Transaction) Object ¶
func (tx *Transaction) Object(input any) Argument
Object - input: string | CallArg | Argument
func (*Transaction) Publish ¶
func (tx *Transaction) Publish(modules [][]byte, dependencies []models.SuiAddress) Argument
func (*Transaction) Pure ¶
func (tx *Transaction) Pure(input any) Argument
func (*Transaction) SetExpiration ¶
func (tx *Transaction) SetExpiration(expiration TransactionExpiration) *Transaction
func (*Transaction) SetGasBudget ¶
func (tx *Transaction) SetGasBudget(budget uint64) *Transaction
func (*Transaction) SetGasBudgetIfNotSet ¶
func (tx *Transaction) SetGasBudgetIfNotSet(budget uint64) *Transaction
func (*Transaction) SetGasOwner ¶
func (tx *Transaction) SetGasOwner(owner models.SuiAddress) *Transaction
func (*Transaction) SetGasPayment ¶
func (tx *Transaction) SetGasPayment(payment []SuiObjectRef) *Transaction
func (*Transaction) SetGasPrice ¶
func (tx *Transaction) SetGasPrice(price uint64) *Transaction
func (*Transaction) SetSender ¶
func (tx *Transaction) SetSender(sender models.SuiAddress) *Transaction
func (*Transaction) SetSenderIfNotSet ¶
func (tx *Transaction) SetSenderIfNotSet(sender models.SuiAddress) *Transaction
func (*Transaction) SetSigner ¶
func (tx *Transaction) SetSigner(signer *signer.Signer) *Transaction
func (*Transaction) SetSponsoredSigner ¶
func (tx *Transaction) SetSponsoredSigner(signer *signer.Signer) *Transaction
func (*Transaction) SetSuiClient ¶
func (tx *Transaction) SetSuiClient(client *sui.Client) *Transaction
func (*Transaction) SplitCoins ¶
func (tx *Transaction) SplitCoins(coin Argument, amount []Argument) Argument
func (*Transaction) ToSuiExecuteTransactionBlockRequest ¶
func (tx *Transaction) ToSuiExecuteTransactionBlockRequest( ctx context.Context, options models.SuiTransactionBlockOptions, requestType string, ) (*models.SuiExecuteTransactionBlockRequest, error)
func (*Transaction) TransferObjects ¶
func (tx *Transaction) TransferObjects(objects []Argument, address Argument) Argument
func (*Transaction) Upgrade ¶
func (tx *Transaction) Upgrade( modules [][]byte, dependencies []models.SuiAddress, packageId models.SuiAddress, ticket Argument, ) Argument
type TransactionData ¶
type TransactionData struct {
V1 *TransactionDataV1
}
func (*TransactionData) IsBcsEnum ¶
func (*TransactionData) IsBcsEnum()
func (*TransactionData) Marshal ¶
func (td *TransactionData) Marshal() ([]byte, error)
type TransactionDataV1 ¶
type TransactionDataV1 struct {
Kind *TransactionKind
Sender *models.SuiAddressBytes
GasData *GasData
Expiration *TransactionExpiration `bcs:"optional"`
}
TransactionDataV1 https://github.com/MystenLabs/sui/blob/fb27c6c7166f5e4279d5fd1b2ebc5580ca0e81b2/crates/sui-types/src/transaction.rs#L1625
func (*TransactionDataV1) AddCommand ¶
func (td *TransactionDataV1) AddCommand(command Command) (index uint16)
func (*TransactionDataV1) AddInput ¶
func (td *TransactionDataV1) AddInput(input CallArg) Argument
func (*TransactionDataV1) GetInputObjectIndex ¶
func (td *TransactionDataV1) GetInputObjectIndex(address models.SuiAddress) *uint16
type TransactionExpiration ¶
TransactionExpiration https://github.com/MystenLabs/sui/blob/fb27c6c7166f5e4279d5fd1b2ebc5580ca0e81b2/crates/sui-types/src/transaction.rs#L1608 - None - Epoch
func (*TransactionExpiration) IsBcsEnum ¶
func (*TransactionExpiration) IsBcsEnum()
type TransactionKind ¶
type TransactionKind struct {
ProgrammableTransaction *ProgrammableTransaction
ChangeEpoch any
Genesis any
ConsensusCommitPrologue any
}
TransactionKind https://github.com/MystenLabs/sui/blob/fb27c6c7166f5e4279d5fd1b2ebc5580ca0e81b2/crates/sui-types/src/transaction.rs#L303 - ProgrammableTransaction - ChangeEpoch - Genesis - ConsensusCommitPrologue
func (*TransactionKind) IsBcsEnum ¶
func (*TransactionKind) IsBcsEnum()
func (*TransactionKind) Marshal ¶
func (tk *TransactionKind) Marshal() ([]byte, error)
type TransferObjects ¶
type TypeTag ¶
type TypeTag struct {
Bool *bool
U8 *bool
U128 *bool
U256 *bool
Address *bool
Signer *bool
Vector *TypeTag
Struct *StructTag
U16 *bool
U32 *bool
U64 *bool
}
TypeTag https://github.com/MystenLabs/sui/blob/ece197ed5c414eb274f99afc52704664af8d0c38/external-crates/move/crates/move-core-types/src/language_storage.rs#L33 Do not reorder the fields, it will break the bcs encoding
type UnresolvedObject ¶
type UnresolvedObject struct {
ObjectId models.SuiAddressBytes
}
type UnresolvedPure ¶
type UnresolvedPure struct {
Value any
}
type Upgrade ¶
type Upgrade struct {
Modules [][]byte
Dependencies []models.SuiAddressBytes
Package models.SuiAddressBytes
Ticket *Argument
}