Documentation ¶
Index ¶
Constants ¶
View Source
const ( SECP256K1FxIndex = 0 NFTFxIndex = 1 PropertyFxIndex = 2 )
View Source
const Alias = "X"
Variables ¶
View Source
var Parser block.Parser
Parser to support serialization and deserialization
Functions ¶
Types ¶
type Builder ¶
type Builder interface { // Context returns the configuration of the chain that this builder uses to // create transactions. Context() *Context // GetFTBalance calculates the amount of each fungible asset that this // builder has control over. GetFTBalance( options ...common.Option, ) (map[ids.ID]uint64, error) // GetImportableBalance calculates the amount of each fungible asset that // this builder could import from the provided chain. // // - [chainID] specifies the chain the funds are from. GetImportableBalance( chainID ids.ID, options ...common.Option, ) (map[ids.ID]uint64, error) // NewBaseTx creates a new simple value transfer. // // - [outputs] specifies all the recipients and amounts that should be sent // from this transaction. NewBaseTx( outputs []*lux.TransferableOutput, options ...common.Option, ) (*txs.BaseTx, error) // NewCreateAssetTx creates a new asset. // // - [name] specifies a human readable name for this asset. // - [symbol] specifies a human readable abbreviation for this asset. // - [denomination] specifies how many times the asset can be split. For // example, a denomination of [4] would mean that the smallest unit of the // asset would be 0.001 units. // - [initialState] specifies the supported feature extensions for this // asset as well as the initial outputs for the asset. NewCreateAssetTx( name string, symbol string, denomination byte, initialState map[uint32][]verify.State, options ...common.Option, ) (*txs.CreateAssetTx, error) // NewOperationTx performs state changes on the UTXO set. These state // changes may be more complex than simple value transfers. // // - [operations] specifies the state changes to perform. NewOperationTx( operations []*txs.Operation, options ...common.Option, ) (*txs.OperationTx, error) // NewOperationTxMintFT performs a set of state changes that mint new tokens // for the requested assets. // // - [outputs] maps the assetID to the output that should be created for the // asset. NewOperationTxMintFT( outputs map[ids.ID]*secp256k1fx.TransferOutput, options ...common.Option, ) (*txs.OperationTx, error) // NewOperationTxMintNFT performs a state change that mints new NFTs for the // requested asset. // // - [assetID] specifies the asset to mint the NFTs under. // - [payload] specifies the payload to provide each new NFT. // - [owners] specifies the new owners of each NFT. NewOperationTxMintNFT( assetID ids.ID, payload []byte, owners []*secp256k1fx.OutputOwners, options ...common.Option, ) (*txs.OperationTx, error) // NewOperationTxMintProperty performs a state change that mints a new // property for the requested asset. // // - [assetID] specifies the asset to mint the property under. // - [owner] specifies the new owner of the property. NewOperationTxMintProperty( assetID ids.ID, owner *secp256k1fx.OutputOwners, options ...common.Option, ) (*txs.OperationTx, error) // NewOperationTxBurnProperty performs state changes that burns all the // properties of the requested asset. // // - [assetID] specifies the asset to burn the property of. NewOperationTxBurnProperty( assetID ids.ID, options ...common.Option, ) (*txs.OperationTx, error) // NewImportTx creates an import transaction that attempts to consume all // the available UTXOs and import the funds to [to]. // // - [chainID] specifies the chain to be importing funds from. // - [to] specifies where to send the imported funds to. NewImportTx( chainID ids.ID, to *secp256k1fx.OutputOwners, options ...common.Option, ) (*txs.ImportTx, error) // NewExportTx creates an export transaction that attempts to send all the // provided [outputs] to the requested [chainID]. // // - [chainID] specifies the chain to be exporting the funds to. // - [outputs] specifies the outputs to send to the [chainID]. NewExportTx( chainID ids.ID, outputs []*lux.TransferableOutput, options ...common.Option, ) (*txs.ExportTx, error) }
Builder provides a convenient interface for building unsigned X-chain transactions.
func New ¶
New returns a new transaction builder.
- [addrs] is the set of addresses that the builder assumes can be used when signing the transactions in the future.
- context provides the chain's configuration.
- [backend] provides the chain's state.
func NewWithOptions ¶
NewWithOptions returns a new transaction builder that will use the given options by default.
- builder is the builder that will be called to perform the underlying operations.
- [options] will be provided to the builder in addition to the options provided in the method calls.
Click to show internal directories.
Click to hide internal directories.