types

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 25, 2025 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

SupportedNetworks contains all supported network codes

Functions

func IsNetworkSupported

func IsNetworkSupported(network string) bool

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
const (
	KeyTypeSecp256k1 KeyType = "secp256k1"
	KeyTypeEd25519   KeyType = "ed25519"
)

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL