Documentation
¶
Index ¶
- Constants
- type BtcEventTransaction
- type BtcTransaction
- type CallContractRequest
- type CommandOutPoint
- type ConfirmGatewayTxRequest
- type CreatePsbtRequest
- type ExecuteParams
- type Fee
- type IBCEvent
- type IBCPacketEvent
- type PsbtParams
- type RouteMessageRequest
- type ScalarListenerEvent
- type SignCommandsRequest
- type SignPsbtsRequest
- type UnstakedVaultTx
Constants ¶
View Source
const ( ChainsProtobufPackage = "scalar.chains.v1beta1" AxelarProtobufPackage = "scalar.scalarnet.v1beta1" )
------ Payloads ------ TODO: USING COSMOS SDK TO DEFINE THESE TYPES LATER
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BtcEventTransaction ¶
type BtcEventTransaction struct {
TxHash string `json:"txHash"`
LogIndex uint `json:"logIndex"`
BlockNumber uint64 `json:"blockNumber"`
Sender string `json:"sender"`
SourceChain string `json:"sourceChain"`
DestinationChain string `json:"destinationChain"`
DestinationContractAddress string `json:"destinationContractAddress"`
MintingAmount string `json:"mintingAmount"`
Payload string `json:"payload"`
PayloadHash string `json:"payloadHash"`
Args BtcTransaction `json:"args"`
StakerPublicKey string `json:"stakerPublicKey"`
VaultTxHex string `json:"vaultTxHex"`
}
type BtcTransaction ¶
type BtcTransaction struct {
EventType int `json:"event_type"`
VaultTxHashHex string `json:"vault_tx_hash_hex"`
VaultTxHex string `json:"vault_tx_hex"`
StakerPkHex string `json:"staker_pk_hex"`
FinalityProviderPkHex string `json:"finality_provider_pk_hex"`
StakingValue int64 `json:"staking_value"`
StakingStartHeight int `json:"staking_start_height"`
StakingStartTimestamp int64 `json:"staking_start_timestamp"`
StakingOutputIndex int `json:"staking_output_index"`
ChainID string `json:"chain_id"`
ChainIDUserAddress string `json:"chain_id_user_address"`
ChainIDSmartContractAddress string `json:"chain_id_smart_contract_address"`
AmountMinting string `json:"amount_minting"`
IsOverflow bool `json:"is_overflow"`
}
type CallContractRequest ¶
type CallContractRequest struct {
Sender []byte `json:"sender"`
Chain string `json:"chain"`
ContractAddress string `json:"contractAddress"`
Payload []byte `json:"payload"`
Fee *Fee `json:"fee,omitempty"`
}
CallContractRequest represents a request to call a contract
type CommandOutPoint ¶
type CommandOutPoint struct {
CommandID string
BTCFeeOpts types.BTCFeeOpts
RBF bool
OutPoint types.UnstakingOutput
}
type ConfirmGatewayTxRequest ¶
type ConfirmGatewayTxRequest struct {
Sender []byte `json:"sender"`
Chain string `json:"chain"`
TxID []byte `json:"txId"`
}
ConfirmGatewayTxRequest represents a request to confirm a gateway transaction
type CreatePsbtRequest ¶
type CreatePsbtRequest struct {
Outpoints []CommandOutPoint
Params PsbtParams
}
type ExecuteParams ¶
type Fee ¶
type Fee struct {
Amount *sdk.Coin `json:"amount,omitempty"` // Optional amount field using Cosmos SDK Coin type
Recipient []byte `json:"recipient"` // Recipient as byte array
}
Fee represents a fee structure with amount and recipient
type IBCEvent ¶
type IBCEvent[T any] struct { Hash string `json:"hash"` SrcChannel string `json:"srcChannel,omitempty"` DestChannel string `json:"destChannel,omitempty"` Args T `json:"args"` }
IBCEvent represents a generic IBC event with generic type T for Args
type IBCPacketEvent ¶
type IBCPacketEvent struct {
Hash string `json:"hash"`
SrcChannel string `json:"srcChannel"`
DestChannel string `json:"destChannel"`
Denom string `json:"denom"`
Amount string `json:"amount"`
Sequence int `json:"sequence"`
Memo interface{} `json:"memo"`
}
IBCPacketEvent represents an IBC packet event
type PsbtParams ¶
type PsbtParams struct {
ScalarTag []byte
Version uint8
ProtocolTag []byte
NetworkKind types.NetworkKind //mainnet, testnet
NetworkType string //mainnet, testnet, testnet4, regtest
CustodianPubKey []types.PublicKey
CustodianQuorum uint8
CustodianScript []byte
}
func (*PsbtParams) GetTaprootAddress ¶
func (p *PsbtParams) GetTaprootAddress() (btcutil.Address, error)
Calculate taproot address from covenant pubkey and network
type RouteMessageRequest ¶
type RouteMessageRequest struct {
Sender []byte `json:"sender"`
ID string `json:"id"`
Payload []byte `json:"payload"`
}
RouteMessageRequest represents a request to route a message
type ScalarListenerEvent ¶
type ScalarListenerEvent[T any] struct { TopicID string Type string ParseEvent func(events map[string][]string) (T, error) }
AxelarListenerEvent represents an event with generic type T for parsed events
type SignCommandsRequest ¶
SignCommandsRequest represents a request to sign commands
type SignPsbtsRequest ¶
type UnstakedVaultTx ¶
Click to show internal directories.
Click to hide internal directories.