Documentation ¶
Index ¶
- Constants
- Variables
- func ImportedAssetID(assetID ids.ID, sourceChainID ids.ID) ids.ID
- func ImportedAssetMetadata(assetID ids.ID, sourceChainID ids.ID) []byte
- func UnmarshalBurnAsset(p *codec.Packer, _ *warp.Message) (chain.Action, error)
- func UnmarshalCreateAsset(p *codec.Packer, _ *warp.Message) (chain.Action, error)
- func UnmarshalExportAsset(p *codec.Packer, _ *warp.Message) (chain.Action, error)
- func UnmarshalImportAsset(p *codec.Packer, wm *warp.Message) (chain.Action, error)
- func UnmarshalMintAsset(p *codec.Packer, _ *warp.Message) (chain.Action, error)
- func UnmarshalModifyAsset(p *codec.Packer, _ *warp.Message) (chain.Action, error)
- func UnmarshalSequencerMsg(p *codec.Packer, _ *warp.Message) (chain.Action, error)
- func UnmarshalTransfer(p *codec.Packer, _ *warp.Message) (chain.Action, error)
- func ValidSwapParams(value uint64, swapIn uint64, assetOut ids.ID, swapOut uint64, swapExpiry int64) bool
- type BurnAsset
- func (b *BurnAsset) Execute(ctx context.Context, r chain.Rules, db chain.Database, _ int64, ...) (*chain.Result, error)
- func (b *BurnAsset) Marshal(p *codec.Packer)
- func (*BurnAsset) MaxUnits(chain.Rules) uint64
- func (b *BurnAsset) StateKeys(rauth chain.Auth, _ ids.ID) [][]byte
- func (*BurnAsset) ValidRange(chain.Rules) (int64, int64)
- type CreateAsset
- func (c *CreateAsset) Execute(ctx context.Context, r chain.Rules, db chain.Database, _ int64, ...) (*chain.Result, error)
- func (c *CreateAsset) Marshal(p *codec.Packer)
- func (c *CreateAsset) MaxUnits(chain.Rules) uint64
- func (*CreateAsset) StateKeys(_ chain.Auth, txID ids.ID) [][]byte
- func (*CreateAsset) ValidRange(chain.Rules) (int64, int64)
- type ExportAsset
- func (e *ExportAsset) Execute(ctx context.Context, r chain.Rules, db chain.Database, _ int64, ...) (*chain.Result, error)
- func (e *ExportAsset) Marshal(p *codec.Packer)
- func (*ExportAsset) MaxUnits(chain.Rules) uint64
- func (e *ExportAsset) StateKeys(rauth chain.Auth, _ ids.ID) [][]byte
- func (*ExportAsset) ValidRange(chain.Rules) (int64, int64)
- type ImportAsset
- func (i *ImportAsset) Execute(ctx context.Context, r chain.Rules, db chain.Database, t int64, ...) (*chain.Result, error)
- func (i *ImportAsset) Marshal(p *codec.Packer)
- func (i *ImportAsset) MaxUnits(chain.Rules) uint64
- func (i *ImportAsset) StateKeys(rauth chain.Auth, _ ids.ID) [][]byte
- func (*ImportAsset) ValidRange(chain.Rules) (int64, int64)
- type MintAsset
- func (m *MintAsset) Execute(ctx context.Context, r chain.Rules, db chain.Database, _ int64, ...) (*chain.Result, error)
- func (m *MintAsset) Marshal(p *codec.Packer)
- func (*MintAsset) MaxUnits(chain.Rules) uint64
- func (m *MintAsset) StateKeys(chain.Auth, ids.ID) [][]byte
- func (*MintAsset) ValidRange(chain.Rules) (int64, int64)
- type ModifyAsset
- func (m *ModifyAsset) Execute(ctx context.Context, r chain.Rules, db chain.Database, _ int64, ...) (*chain.Result, error)
- func (m *ModifyAsset) Marshal(p *codec.Packer)
- func (m *ModifyAsset) MaxUnits(chain.Rules) uint64
- func (m *ModifyAsset) StateKeys(chain.Auth, ids.ID) [][]byte
- func (*ModifyAsset) ValidRange(chain.Rules) (int64, int64)
- type SequencerMsg
- func (t *SequencerMsg) Execute(ctx context.Context, r chain.Rules, db chain.Database, _ int64, ...) (*chain.Result, error)
- func (t *SequencerMsg) Marshal(p *codec.Packer)
- func (*SequencerMsg) MaxUnits(chain.Rules) uint64
- func (t *SequencerMsg) StateKeys(rauth chain.Auth, _ ids.ID) [][]byte
- func (*SequencerMsg) ValidRange(chain.Rules) (int64, int64)
- type Transfer
- func (t *Transfer) Execute(ctx context.Context, r chain.Rules, db chain.Database, _ int64, ...) (*chain.Result, error)
- func (t *Transfer) Marshal(p *codec.Packer)
- func (*Transfer) MaxUnits(chain.Rules) uint64
- func (t *Transfer) StateKeys(rauth chain.Auth, _ ids.ID) [][]byte
- func (*Transfer) ValidRange(chain.Rules) (int64, int64)
- type WarpTransfer
Constants ¶
View Source
const MaxMetadataSize = 256
Variables ¶
View Source
var ( OutputValueZero = []byte("value is zero") OutputAssetIsNative = []byte("cannot mint native asset") OutputAssetAlreadyExists = []byte("asset already exists") OutputAssetMissing = []byte("asset missing") OutputInTickZero = []byte("in rate is zero") OutputOutTickZero = []byte("out rate is zero") OutputSupplyZero = []byte("supply is zero") OutputSupplyMisaligned = []byte("supply is misaligned") OutputOrderMissing = []byte("order is missing") OutputWrongIn = []byte("wrong in asset") OutputWrongOut = []byte("wrong out asset") OutputWrongOwner = []byte("wrong owner") OutputInsufficientInput = []byte("insufficient input") OutputInsufficientOutput = []byte("insufficient output") OutputValueMisaligned = []byte("value is misaligned") OutputMetadataTooLarge = []byte("metadata is too large") OutputSameInOut = []byte("same asset used for in and out") OutputConflictingAsset = []byte("warp has same asset as another") OutputAnycast = []byte("anycast output") OutputNotWarpAsset = []byte("not warp asset") OutputWarpAsset = []byte("warp asset") OutputWrongDestination = []byte("wrong destination") OutputMustFill = []byte("must fill request") OutputWarpVerificationFailed = []byte("warp verification failed") )
View Source
var ErrNoSwapToFill = errors.New("no swap to fill")
Functions ¶
func ImportedAssetMetadata ¶
func UnmarshalBurnAsset ¶
func UnmarshalCreateAsset ¶
func UnmarshalExportAsset ¶
func UnmarshalImportAsset ¶
func UnmarshalMintAsset ¶
func UnmarshalModifyAsset ¶
func UnmarshalSequencerMsg ¶
func UnmarshalTransfer ¶
Types ¶
type BurnAsset ¶
type BurnAsset struct { // Asset is the [TxID] that created the asset. Asset ids.ID `json:"asset"` // Number of assets to mint to [To]. Value uint64 `json:"value"` }
type CreateAsset ¶
type CreateAsset struct { // Metadata is creator-specified information about the asset. This can be // modified using the [ModifyAsset] action. Metadata []byte `json:"metadata"` }
func (*CreateAsset) Marshal ¶
func (c *CreateAsset) Marshal(p *codec.Packer)
func (*CreateAsset) ValidRange ¶
func (*CreateAsset) ValidRange(chain.Rules) (int64, int64)
type ExportAsset ¶
type ExportAsset struct { To crypto.PublicKey `json:"to"` Asset ids.ID `json:"asset"` Value uint64 `json:"value"` Return bool `json:"return"` Reward uint64 `json:"reward"` SwapIn uint64 `json:"swapIn"` AssetOut ids.ID `json:"assetOut"` SwapOut uint64 `json:"swapOut"` SwapExpiry int64 `json:"swapExpiry"` Destination ids.ID `json:"destination"` }
func (*ExportAsset) Marshal ¶
func (e *ExportAsset) Marshal(p *codec.Packer)
func (*ExportAsset) ValidRange ¶
func (*ExportAsset) ValidRange(chain.Rules) (int64, int64)
type ImportAsset ¶
type ImportAsset struct { // Fill indicates if the actor wishes to fill the order request in the warp // message. This must be true if the warp message is in a block with // a timestamp < [SwapExpiry]. Fill bool `json:"fill"` // contains filtered or unexported fields }
func (*ImportAsset) Marshal ¶
func (i *ImportAsset) Marshal(p *codec.Packer)
All we encode that is action specific for now is the type byte from the registry.
func (*ImportAsset) ValidRange ¶
func (*ImportAsset) ValidRange(chain.Rules) (int64, int64)
type MintAsset ¶
type MintAsset struct { // To is the recipient of the [Value]. To crypto.PublicKey `json:"to"` // Asset is the [TxID] that created the asset. Asset ids.ID `json:"asset"` // Number of assets to mint to [To]. Value uint64 `json:"value"` }
type ModifyAsset ¶
type ModifyAsset struct { // Asset is the [TxID] that created the asset. Asset ids.ID // Owner will be the new owner of the [Asset]. // // If you want to retain ownership, set this to the signer. If you want to // revoke ownership, set this to another key or the empty public key. Owner crypto.PublicKey `json:"owner"` // Metadata is the new metadata of the [Asset]. // // If you want this to stay the same, you must set it to be the same value. Metadata []byte `json:"metadata"` }
func (*ModifyAsset) Marshal ¶
func (m *ModifyAsset) Marshal(p *codec.Packer)
func (*ModifyAsset) ValidRange ¶
func (*ModifyAsset) ValidRange(chain.Rules) (int64, int64)
type SequencerMsg ¶
type SequencerMsg struct { //TODO might need to add this back in at some point but rn it should be fine ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` FromAddress crypto.PublicKey `json:"from_address"` }
func (*SequencerMsg) Marshal ¶
func (t *SequencerMsg) Marshal(p *codec.Packer)
func (*SequencerMsg) ValidRange ¶
func (*SequencerMsg) ValidRange(chain.Rules) (int64, int64)
type Transfer ¶
type Transfer struct { // To is the recipient of the [Value]. To crypto.PublicKey `json:"to"` // Asset to transfer to [To]. Asset ids.ID // Amount are transferred to [To]. Value uint64 `json:"value"` }
type WarpTransfer ¶
type WarpTransfer struct { To crypto.PublicKey `json:"to"` Asset ids.ID `json:"asset"` Value uint64 `json:"value"` // Return is set to true when a warp message is sending funds back to the // chain where they were created. Return bool `json:"return"` // Reward is the amount of [Asset] to send the [Actor] that submits this // transaction. Reward uint64 `json:"reward"` // SwapIn is the amount of [Asset] we are willing to swap for [AssetOut]. SwapIn uint64 `json:"swapIn"` // AssetOut is the asset we are seeking to get for [SwapIn]. AssetOut ids.ID `json:"assetOut"` // SwapOut is the amount of [AssetOut] we are seeking. SwapOut uint64 `json:"swapOut"` // SwapExpiry is the unix timestamp at which the swap becomes invalid (and // the message can be processed without a swap. SwapExpiry int64 `json:"swapExpiry"` // TxID is the transaction that created this message. This is used to ensure // there is WarpID uniqueness. TxID ids.ID `json:"txID"` }
func UnmarshalWarpTransfer ¶
func UnmarshalWarpTransfer(b []byte) (*WarpTransfer, error)
func (*WarpTransfer) Marshal ¶
func (w *WarpTransfer) Marshal() ([]byte, error)
Click to show internal directories.
Click to hide internal directories.