wallet

package
v0.2.13 Latest Latest
Warning

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

Go to latest
Published: May 5, 2024 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	GetVersion        string = "get_version"
	GetNetwork        string = "get_network"
	GetNonce          string = "get_nonce"
	GetTopoheight     string = "get_topoheight"
	GetAddress        string = "get_address"
	SplitAddress      string = "split_address"
	Rescan            string = "rescan"
	GetBalance        string = "get_balance"
	HasBalance        string = "has_balance"
	GetTrackedAssets  string = "get_tracked_assets"
	GetAssetPrecision string = "get_asset_precision"
	GetTransaction    string = "get_transaction"
	BuildTransaction  string = "build_transaction"
	ListTransactions  string = "list_transactions"
	IsOnline          string = "is_online"
	SetOnlineMode     string = "set_online_mode"
	SetOfflineMode    string = "set_offline_mode"
	SignData          string = "sign_data"
	EstimateFees      string = "estimate_fees"

	// Interact with wallet encrypted database
	GetMatchingKeys string = "get_matching_keys"
	GetValueFromKey string = "get_value_from_key"
	Store           string = "store"
	Delete          string = "delete"
	HasKey          string = "has_key"
	QueryDB         string = "query_db"
)

Methods

View Source
const (
	NewTopoheight  string = `new_topo_height`
	NewAsset       string = `new_asset`
	NewTransaction string = `new_transaction`
	BalanceChanged string = `balance_changed`
	//Rescan         string = `rescan`
	Online  string = `online`
	Offline string = `offline`
)

Events

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthTransport

type AuthTransport struct {
	Transport http.RoundTripper
	Username  string
	Password  string
}

func (*AuthTransport) RoundTrip

func (t *AuthTransport) RoundTrip(req *http.Request) (*http.Response, error)

type BalanceChangedResult added in v0.2.6

type BalanceChangedResult struct {
	Asset   string `json:"asset"`
	Balance uint64 `json:"balance"`
}

type BuildTransactionParams

type BuildTransactionParams struct {
	Transfers []TransferOut `json:"transfers"`
	Burn      *daemon.Burn  `json:"burn,omitempty"`
	Broadcast bool          `json:"broadcast"`
	TxAsHex   bool          `json:"tx_as_hex"`
	Fee       *FeeBuilder   `json:"fee,omitempty"`
}

type BuildTransactionResult

type BuildTransactionResult struct {
	Data              TransactionData           `json:"data"`
	Fee               uint64                    `json:"fee"`
	Hash              string                    `json:"hash"`
	Nonce             uint64                    `json:"nonce"`
	RangeProof        []byte                    `json:"range_proof"`
	Reference         daemon.Reference          `json:"reference"`
	Signature         string                    `json:"signature"`
	Source            []byte                    `json:"source"`
	SourceCommitments []daemon.SourceCommitment `json:"source_commitments"`
	TxAsHex           string                    `json:"tx_as_hex"`
	Version           uint64                    `json:"version"`
}

type Coinbase

type Coinbase struct {
	Reward uint64 `json:"reward"`
}

type EstimateFeesParams

type EstimateFeesParams struct {
	Transfers *[]TransferOut `json:"transfers"`
	Burn      *daemon.Burn   `json:"burn"`
}

type FeeBuilder added in v0.2.4

type FeeBuilder struct {
	Multiplier *float64 `json:"multiplier,omitempty"`
	Value      *uint64  `json:"value,omitempty"`
}

type GetAddressParams

type GetAddressParams struct {
	IntegratedData *interface{} `json:"integrated_data,omitempty"`
}

type GetAssetPrecisionParams

type GetAssetPrecisionParams struct {
	Asset string `json:"asset"`
}

type GetBalanceParams

type GetBalanceParams struct {
	Asset string `json:"asset"`
}

type GetTransactionParams

type GetTransactionParams struct {
	Hash string `json:"hash"`
}

type Incoming

type Incoming struct {
	From      string       `json:"from"`
	Transfers []TransferIn `json:"transfers"`
}

type ListTransactionsParams

type ListTransactionsParams struct {
	MinTopoheight  *uint64 `json:"min_topoheight"`
	MaxTopoheight  *uint64 `json:"max_topoheight"`
	Address        *string `json:"address"`
	AcceptIncoming bool    `json:"accept_incoming"`
	AcceptOutgoing bool    `json:"accept_outgoing"`
	AcceptCoinbase bool    `json:"accept_coinbase"`
	AcceptBurn     bool    `json:"accept_burn"`
}

type Outgoing

type Outgoing struct {
	Fee       uint64        `json:"fee"`
	Nonce     uint64        `json:"nonce"`
	Transfers []TransferOut `json:"transfers"`
}

type RPC

type RPC struct {
	Client *jrpc2.Client
	// contains filtered or unexported fields
}

func NewRPC

func NewRPC(ctx context.Context, url string, username string, password string) (*RPC, error)

func (*RPC) BuildTransaction

func (d *RPC) BuildTransaction(params BuildTransactionParams) (result BuildTransactionResult, err error)

func (*RPC) EstimateFees

func (d *RPC) EstimateFees(params EstimateFeesParams) (amount uint64, err error)

func (*RPC) GetAddress

func (d *RPC) GetAddress(params GetAddressParams) (address string, err error)

func (*RPC) GetAssetPrecision

func (d *RPC) GetAssetPrecision(params GetAssetPrecisionParams) (decimals int, err error)

func (*RPC) GetBalance

func (d *RPC) GetBalance(params GetBalanceParams) (balance uint64, err error)

func (*RPC) GetNetwork

func (d *RPC) GetNetwork() (network string, err error)

func (*RPC) GetNonce

func (d *RPC) GetNonce() (nonce uint64, err error)

func (*RPC) GetTopoheight

func (d *RPC) GetTopoheight() (topoheight uint64, err error)

func (*RPC) GetTrackedAssets

func (d *RPC) GetTrackedAssets() (assets []string, err error)

func (*RPC) GetTransaction

func (d *RPC) GetTransaction(params GetTransactionParams) (transaction TransactionEntry, err error)

func (*RPC) GetVersion

func (d *RPC) GetVersion() (version string, err error)

func (*RPC) HasBalance

func (d *RPC) HasBalance(params GetBalanceParams) (exists bool, err error)

func (*RPC) IsOnline

func (d *RPC) IsOnline() (online bool, err error)

func (*RPC) ListTransactions

func (d *RPC) ListTransactions(params ListTransactionsParams) (txs []TransactionEntry, err error)

func (*RPC) Rescan

func (d *RPC) Rescan(params RescanParams) (success bool, err error)

func (*RPC) SetOfflineMode

func (d *RPC) SetOfflineMode() (success bool, err error)

func (*RPC) SetOnlineMode

func (d *RPC) SetOnlineMode() (success bool, err error)

func (*RPC) SignData

func (d *RPC) SignData(data interface{}) (signature string, err error)

func (*RPC) SplitAddress

func (d *RPC) SplitAddress(params SplitAddressParams) (result SplitAddressResult, err error)

type RescanParams

type RescanParams struct {
	UntilTopoheight uint64 `json:"until_topoheight"`
}

type SplitAddressParams

type SplitAddressParams struct {
	Address string `json:"address"`
}

type SplitAddressResult

type SplitAddressResult struct {
	Address        string      `json:"address"`
	IntegratedData interface{} `json:"integrated_data"`
}

type TransactionData added in v0.2.4

type TransactionData struct {
	Transfers []Transfer   `json:"transfers"`
	Burn      *daemon.Burn `json:"burn"`
}

type TransactionEntry

type TransactionEntry struct {
	Hash       string       `json:"hash"`
	Topoheight uint64       `json:"topoheight"`
	Outgoing   *Outgoing    `json:"outgoing"`
	Burn       *daemon.Burn `json:"burn"`
	Incoming   *Incoming    `json:"incoming"`
	Coinbase   *Coinbase    `json:"coinbase"`
}

type Transfer added in v0.2.4

type Transfer struct {
	Asset           string       `json:"asset"`
	ExtraData       *[]byte      `json:"extra_data"`
	Destination     []byte       `json:"destination"`
	Commitment      []byte       `json:"commitment"`
	SenderHandle    []byte       `json:"sender_handle"`
	ReceiverHandle  []byte       `json:"receiver_handle"`
	CTValidityProof daemon.Proof `json:"ct_validity_proof"`
}

!!! not the same as daemon.Transfer the destination is []byte and the other it's string

type TransferIn

type TransferIn struct {
	Amount    uint64       `json:"amount"`
	Asset     string       `json:"asset"`
	ExtraData *interface{} `json:"extra_data"`
}

type TransferOut

type TransferOut struct {
	Amount      uint64       `json:"amount"`
	Asset       string       `json:"asset"`
	Destination string       `json:"destination"`
	ExtraData   *interface{} `json:"extra_data,omitempty"`
}

type WebSocket

type WebSocket struct {
	Prefix string
	WS     *rpc.WebSocket
}

func NewWebSocket

func NewWebSocket(endpoint string, username string, password string) (*WebSocket, error)

func (*WebSocket) BalanceChangedChannel added in v0.2.7

func (w *WebSocket) BalanceChangedChannel() (chan BalanceChangedResult, chan error, error)

func (*WebSocket) BalanceChangedFunc added in v0.2.6

func (w *WebSocket) BalanceChangedFunc(onData func(BalanceChangedResult, error)) error

func (*WebSocket) BuildTransaction

func (w *WebSocket) BuildTransaction(params BuildTransactionParams) (result BuildTransactionResult, err error)

func (*WebSocket) Close

func (w *WebSocket) Close() error

func (*WebSocket) CloseEvent

func (w *WebSocket) CloseEvent(event string) error

func (*WebSocket) ConnectionErr added in v0.2.8

func (w *WebSocket) ConnectionErr() chan error

func (*WebSocket) EstimateFees

func (w *WebSocket) EstimateFees(params EstimateFeesParams) (amount uint64, err error)

func (*WebSocket) GetAddress

func (w *WebSocket) GetAddress(params GetAddressParams) (address string, err error)

func (*WebSocket) GetAssetPrecision

func (w *WebSocket) GetAssetPrecision(params GetAssetPrecisionParams) (decimals int, err error)

func (*WebSocket) GetBalance

func (w *WebSocket) GetBalance(params GetBalanceParams) (balance uint64, err error)

func (*WebSocket) GetNetwork

func (w *WebSocket) GetNetwork() (network string, err error)

func (*WebSocket) GetNonce

func (w *WebSocket) GetNonce() (nonce uint64, err error)

func (*WebSocket) GetTopoheight

func (w *WebSocket) GetTopoheight() (topoheight uint64, err error)

func (*WebSocket) GetTrackedAssets

func (w *WebSocket) GetTrackedAssets() (assets []string, err error)

func (*WebSocket) GetTransaction

func (w *WebSocket) GetTransaction(params GetTransactionParams) (transaction TransactionEntry, err error)

func (*WebSocket) GetVersion

func (w *WebSocket) GetVersion() (version string, err error)

func (*WebSocket) HasBalance

func (w *WebSocket) HasBalance(params GetBalanceParams) (exists bool, err error)

func (*WebSocket) IsOnline

func (w *WebSocket) IsOnline() (online bool, err error)

func (*WebSocket) ListTransactions

func (w *WebSocket) ListTransactions(params ListTransactionsParams) (txs []TransactionEntry, err error)

func (*WebSocket) NewAssetChannel added in v0.2.7

func (w *WebSocket) NewAssetChannel() (chan daemon.AssetWithData, chan error, error)

func (*WebSocket) NewAssetFunc added in v0.2.6

func (w *WebSocket) NewAssetFunc(onData func(daemon.AssetWithData, error)) error

func (*WebSocket) NewTopoheightChannel added in v0.2.7

func (w *WebSocket) NewTopoheightChannel() (chan uint64, chan error, error)

func (*WebSocket) NewTopoheightFunc added in v0.2.6

func (w *WebSocket) NewTopoheightFunc(onData func(uint64, error)) error

func (*WebSocket) NewTransactionChannel added in v0.2.7

func (w *WebSocket) NewTransactionChannel() (chan TransactionEntry, chan error, error)

func (*WebSocket) NewTransactionFunc added in v0.2.6

func (w *WebSocket) NewTransactionFunc(onData func(TransactionEntry, error)) error

func (*WebSocket) OfflineChannel added in v0.2.7

func (w *WebSocket) OfflineChannel() (chan bool, chan error, error)

func (*WebSocket) OfflineFunc added in v0.2.6

func (w *WebSocket) OfflineFunc(onData func()) error

func (*WebSocket) OnlineChannel added in v0.2.7

func (w *WebSocket) OnlineChannel() (chan bool, chan error, error)

func (*WebSocket) OnlineFunc added in v0.2.6

func (w *WebSocket) OnlineFunc(onData func()) error

func (*WebSocket) Rescan

func (w *WebSocket) Rescan(params RescanParams) (success bool, err error)

func (*WebSocket) RescanChannel added in v0.2.7

func (w *WebSocket) RescanChannel() (chan uint64, chan error, error)

func (*WebSocket) RescanFunc added in v0.2.6

func (w *WebSocket) RescanFunc(onData func(uint64, error)) error

func (*WebSocket) SetOfflineMode

func (w *WebSocket) SetOfflineMode() (success bool, err error)

func (*WebSocket) SetOnlineMode

func (w *WebSocket) SetOnlineMode() (success bool, err error)

func (*WebSocket) SignData

func (w *WebSocket) SignData(data interface{}) (signature string, err error)

func (*WebSocket) SplitAddress

func (w *WebSocket) SplitAddress(params SplitAddressParams) (result SplitAddressResult, err error)

Jump to

Keyboard shortcuts

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