Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var SupportedNetworks = map[NetworkCode]bool{ NetworkBTC: true, NetworkBTCTestnet: true, NetworkETH: true, NetworkETHSepolia: true, NetworkETHGoerli: true, NetworkSOL: true, NetworkSOLDevnet: true, NetworkSOLTestnet: true, NetworkXRPL: true, NetworkXRPLTestnet: true, NetworkXRPLDevnet: true, NetworkLUX: true, NetworkLUXTestnet: true, NetworkTON: true, NetworkTONTestnet: true, }
SupportedNetworks contains all supported network codes
Functions ¶
func IsNetworkSupported ¶
IsNetworkSupported checks if a network code is supported
Types ¶
type GenerateKeyMessage ¶
type GenerateKeyMessage struct {
WalletID string `json:"wallet_id"`
Signature []byte `json:"signature"`
}
func (*GenerateKeyMessage) InitiatorID ¶
func (m *GenerateKeyMessage) InitiatorID() string
func (*GenerateKeyMessage) Raw ¶
func (m *GenerateKeyMessage) Raw() ([]byte, error)
func (*GenerateKeyMessage) Sig ¶
func (m *GenerateKeyMessage) Sig() []byte
type InitiatorMessage ¶
type InitiatorMessage interface {
// Raw returns the canonical byte‐slice that was signed.
Raw() ([]byte, error)
// Sig returns the signature over Raw().
Sig() []byte
// InitiatorID returns the ID whose public key we have to look up.
InitiatorID() string
}
InitiatorMessage is anything that carries a payload to verify and its signature.
type KeyType ¶
type KeyType string
func GetNetworkKeyType ¶
func GetNetworkKeyType(network NetworkCode) KeyType
GetNetworkKeyType returns the appropriate key type for a network
type Message ¶
type Message struct {
SessionID string `json:"session_id"`
SenderID string `json:"sender_id"`
RecipientIDs []string `json:"recipient_ids"`
Body []byte `json:"body"`
IsBroadcast bool `json:"is_broadcast"`
}
Message represents a protocol message
type NetworkCode ¶
type NetworkCode string
NetworkCode represents a supported blockchain network
const ( // Bitcoin networks NetworkBTC NetworkCode = "BTC" NetworkBTCTestnet NetworkCode = "BTC-testnet" // Ethereum networks NetworkETH NetworkCode = "ETH" NetworkETHSepolia NetworkCode = "ETH-sepolia" NetworkETHGoerli NetworkCode = "ETH-goerli" // Solana networks NetworkSOL NetworkCode = "SOL" NetworkSOLDevnet NetworkCode = "SOL-devnet" NetworkSOLTestnet NetworkCode = "SOL-testnet" // XRP Ledger networks NetworkXRPL NetworkCode = "XRPL" NetworkXRPLTestnet NetworkCode = "XRPL-testnet" NetworkXRPLDevnet NetworkCode = "XRPL-devnet" // Lux networks NetworkLUX NetworkCode = "LUX" NetworkLUXTestnet NetworkCode = "LUX-testnet" // Other networks NetworkTON NetworkCode = "TON" NetworkTONTestnet NetworkCode = "TON-testnet" )
type ResharingMessage ¶
type ResharingMessage struct {
SessionID string `json:"session_id"`
NodeIDs []string `json:"node_ids"` // new peer IDs
NewThreshold int `json:"new_threshold"`
KeyType KeyType `json:"key_type"`
WalletID string `json:"wallet_id"`
Signature []byte `json:"signature,omitempty"`
}
func (*ResharingMessage) InitiatorID ¶
func (m *ResharingMessage) InitiatorID() string
func (*ResharingMessage) Raw ¶
func (m *ResharingMessage) Raw() ([]byte, error)
func (*ResharingMessage) Sig ¶
func (m *ResharingMessage) Sig() []byte
type SignTxMessage ¶
type SignTxMessage struct {
KeyType KeyType `json:"key_type"`
WalletID string `json:"wallet_id"`
NetworkInternalCode string `json:"network_internal_code"`
TxID string `json:"tx_id"`
Tx []byte `json:"tx"`
Signature []byte `json:"signature"`
}
func (*SignTxMessage) InitiatorID ¶
func (m *SignTxMessage) InitiatorID() string
func (*SignTxMessage) Raw ¶
func (m *SignTxMessage) Raw() ([]byte, error)
func (*SignTxMessage) Sig ¶
func (m *SignTxMessage) Sig() []byte
Click to show internal directories.
Click to hide internal directories.