Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( AddrByteCount = 20 RandomNumberHashLength = 32 RandomNumberLength = 32 DefaultPreviousBlockTime = tmtime.Canonical(time.Unix(0, 0)) )
Functions ¶
func CalculateSwapID ¶
func CalculateSwapID(randomNumberHash []byte, sender sdk.AccAddress, senderOtherChain string) []byte
CalculateSwapID calculates the hash of a RandomNumberHash, sdk.AccAddress, and string
Types ¶
type AssetParam ¶
type AssetParam struct { Denom string `json:"denom" yaml:"denom"` // name of the asset CoinID int `json:"coin_id" yaml:"coin_id"` // SLIP-0044 registered coin type - see https://github.com/satoshilabs/slips/blob/master/slip-0044.md SupplyLimit SupplyLimit `json:"supply_limit" yaml:"supply_limit"` // asset supply limit Active bool `json:"active" yaml:"active"` // denotes if asset is available or paused DeputyAddress sdk.AccAddress `json:"deputy_address" yaml:"deputy_address"` // the address of the relayer process FixedFee sdk.Int `json:"incoming_swap_fixed_fee" yaml:"incoming_swap_fixed_fee"` // the fixed fee charged by the relayer process for incoming swaps MinSwapAmount sdk.Int `json:"min_swap_amount" yaml:"min_swap_amount"` // Minimum swap amount MaxSwapAmount sdk.Int `json:"max_swap_amount" yaml:"max_swap_amount"` // Maximum swap amount MinBlockLock uint64 `json:"min_block_lock" yaml:"min_block_lock"` // Minimum swap block lock MaxBlockLock uint64 `json:"max_block_lock" yaml:"max_block_lock"` // Maximum swap block lock }
AssetParam parameters that must be specified for each bep3 asset
type AssetSupply ¶
type AssetSupply struct { IncomingSupply sdk.Coin `json:"incoming_supply" yaml:"incoming_supply"` OutgoingSupply sdk.Coin `json:"outgoing_supply" yaml:"outgoing_supply"` CurrentSupply sdk.Coin `json:"current_supply" yaml:"current_supply"` TimeLimitedCurrentSupply sdk.Coin `json:"time_limited_current_supply" yaml:"time_limited_current_supply"` TimeElapsed time.Duration `json:"time_elapsed" yaml:"time_elapsed"` }
AssetSupply contains information about an asset's supply
func NewAssetSupply ¶
func NewAssetSupply(incomingSupply, outgoingSupply, currentSupply, timeLimitedSupply sdk.Coin, timeElapsed time.Duration) AssetSupply
NewAssetSupply initializes a new AssetSupply
func (AssetSupply) Equal ¶
func (a AssetSupply) Equal(b AssetSupply) bool
Equal returns if two asset supplies are equal
func (AssetSupply) GetDenom ¶
func (a AssetSupply) GetDenom() string
GetDenom getter method for the denom of the asset supply
func (AssetSupply) Validate ¶
func (a AssetSupply) Validate() error
Validate performs a basic validation of an asset supply fields.
type AtomicSwap ¶
type AtomicSwap struct { Amount sdk.Coins `json:"amount" yaml:"amount"` RandomNumberHash tmbytes.HexBytes `json:"random_number_hash" yaml:"random_number_hash"` ExpireHeight uint64 `json:"expire_height" yaml:"expire_height"` Timestamp int64 `json:"timestamp" yaml:"timestamp"` Sender sdk.AccAddress `json:"sender" yaml:"sender"` Recipient sdk.AccAddress `json:"recipient" yaml:"recipient"` SenderOtherChain string `json:"sender_other_chain" yaml:"sender_other_chain"` RecipientOtherChain string `json:"recipient_other_chain" yaml:"recipient_other_chain"` ClosedBlock int64 `json:"closed_block" yaml:"closed_block"` Status SwapStatus `json:"status" yaml:"status"` CrossChain bool `json:"cross_chain" yaml:"cross_chain"` Direction SwapDirection `json:"direction" yaml:"direction"` }
AtomicSwap contains the information for an atomic swap
func (AtomicSwap) GetCoins ¶
func (a AtomicSwap) GetCoins() sdk.Coins
GetCoins returns the swap's amount as sdk.Coins
func (AtomicSwap) GetSwapID ¶
func (a AtomicSwap) GetSwapID() tmbytes.HexBytes
GetSwapID calculates the ID of an atomic swap
func (AtomicSwap) Validate ¶
func (a AtomicSwap) Validate() error
Validate performs a basic validation of an atomic swap fields.
type GenesisState ¶
type GenesisState struct { Params Params `json:"params" yaml:"params"` AtomicSwaps AtomicSwaps `json:"atomic_swaps" yaml:"atomic_swaps"` Supplies AssetSupplies `json:"supplies" yaml:"supplies"` PreviousBlockTime time.Time `json:"previous_block_time" yaml:"previous_block_time"` }
GenesisState - all bep3 state that must be provided at genesis
func (GenesisState) Validate ¶
func (gs GenesisState) Validate() error
Validate validates genesis inputs. It returns error if validation of any input fails.
type Params ¶
type Params struct {
AssetParams AssetParams `json:"asset_params" yaml:"asset_params"`
}
Params governance parameters for the bep3 module
type SupplyLimit ¶
type SupplyLimit struct { Limit sdk.Int `json:"limit" yaml:"limit"` // the absolute supply limit for an asset TimeLimited bool `json:"time_limited" yaml:"time_limited"` // boolean for if the supply is also limited by time TimePeriod time.Duration `json:"time_period" yaml:"time_period"` // the duration for which the supply time limit applies TimeBasedLimit sdk.Int `json:"time_based_limit" yaml:"time_based_limit"` // the supply limit for an asset for each time period }
SupplyLimit parameters that control the absolute and time-based limits for an assets's supply
type SwapDirection ¶
type SwapDirection byte
SwapDirection is the direction of an AtomicSwap
const ( INVALID SwapDirection = 0x00 Incoming SwapDirection = 0x01 Outgoing SwapDirection = 0x02 )
func NewSwapDirectionFromString ¶
func NewSwapDirectionFromString(str string) SwapDirection
NewSwapDirectionFromString converts string to SwapDirection type
func (SwapDirection) IsValid ¶
func (direction SwapDirection) IsValid() bool
IsValid returns true if the swap direction is valid and false otherwise.
func (SwapDirection) MarshalJSON ¶
func (direction SwapDirection) MarshalJSON() ([]byte, error)
MarshalJSON marshals the SwapDirection
func (SwapDirection) String ¶
func (direction SwapDirection) String() string
String returns the string representation of a SwapDirection
func (*SwapDirection) UnmarshalJSON ¶
func (direction *SwapDirection) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals the SwapDirection
type SwapStatus ¶
type SwapStatus byte
SwapStatus is the status of an AtomicSwap
const ( NULL SwapStatus = 0x00 Open SwapStatus = 0x01 Completed SwapStatus = 0x02 Expired SwapStatus = 0x03 )
swap statuses
func NewSwapStatusFromString ¶
func NewSwapStatusFromString(str string) SwapStatus
NewSwapStatusFromString converts string to SwapStatus type
func (SwapStatus) MarshalJSON ¶
func (status SwapStatus) MarshalJSON() ([]byte, error)
MarshalJSON marshals the SwapStatus
func (SwapStatus) String ¶
func (status SwapStatus) String() string
String returns the string representation of a SwapStatus
func (*SwapStatus) UnmarshalJSON ¶
func (status *SwapStatus) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals the SwapStatus