You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
4.3 KiB
128 lines
4.3 KiB
// Copyright (c) 2014 The btcsuite developers |
|
// Use of this source code is governed by an ISC |
|
// license that can be found in the LICENSE file. |
|
|
|
package btcjson |
|
|
|
// NOTE: This file is intended to house the RPC commands that are supported by |
|
// a wallet server, but are only available via websockets. |
|
|
|
// CreateEncryptedWalletCmd defines the createencryptedwallet JSON-RPC command. |
|
type CreateEncryptedWalletCmd struct { |
|
Passphrase string |
|
} |
|
|
|
// NewCreateEncryptedWalletCmd returns a new instance which can be used to issue |
|
// a createencryptedwallet JSON-RPC command. |
|
func NewCreateEncryptedWalletCmd(passphrase string) *CreateEncryptedWalletCmd { |
|
return &CreateEncryptedWalletCmd{ |
|
Passphrase: passphrase, |
|
} |
|
} |
|
|
|
// ExportWatchingWalletCmd defines the exportwatchingwallet JSON-RPC command. |
|
type ExportWatchingWalletCmd struct { |
|
Account *string |
|
Download *bool `jsonrpcdefault:"false"` |
|
} |
|
|
|
// NewExportWatchingWalletCmd returns a new instance which can be used to issue |
|
// a exportwatchingwallet JSON-RPC command. |
|
// |
|
// The parameters which are pointers indicate they are optional. Passing nil |
|
// for optional parameters will use the default value. |
|
func NewExportWatchingWalletCmd(account *string, download *bool) *ExportWatchingWalletCmd { |
|
return &ExportWatchingWalletCmd{ |
|
Account: account, |
|
Download: download, |
|
} |
|
} |
|
|
|
// GetUnconfirmedBalanceCmd defines the getunconfirmedbalance JSON-RPC command. |
|
type GetUnconfirmedBalanceCmd struct { |
|
Account *string |
|
} |
|
|
|
// NewGetUnconfirmedBalanceCmd returns a new instance which can be used to issue |
|
// a getunconfirmedbalance JSON-RPC command. |
|
// |
|
// The parameters which are pointers indicate they are optional. Passing nil |
|
// for optional parameters will use the default value. |
|
func NewGetUnconfirmedBalanceCmd(account *string) *GetUnconfirmedBalanceCmd { |
|
return &GetUnconfirmedBalanceCmd{ |
|
Account: account, |
|
} |
|
} |
|
|
|
// ListAddressTransactionsCmd defines the listaddresstransactions JSON-RPC |
|
// command. |
|
type ListAddressTransactionsCmd struct { |
|
Addresses []string |
|
Account *string |
|
} |
|
|
|
// NewListAddressTransactionsCmd returns a new instance which can be used to |
|
// issue a listaddresstransactions JSON-RPC command. |
|
// |
|
// The parameters which are pointers indicate they are optional. Passing nil |
|
// for optional parameters will use the default value. |
|
func NewListAddressTransactionsCmd(addresses []string, account *string) *ListAddressTransactionsCmd { |
|
return &ListAddressTransactionsCmd{ |
|
Addresses: addresses, |
|
Account: account, |
|
} |
|
} |
|
|
|
// ListAllTransactionsCmd defines the listalltransactions JSON-RPC command. |
|
type ListAllTransactionsCmd struct { |
|
Account *string |
|
} |
|
|
|
// NewListAllTransactionsCmd returns a new instance which can be used to issue a |
|
// listalltransactions JSON-RPC command. |
|
// |
|
// The parameters which are pointers indicate they are optional. Passing nil |
|
// for optional parameters will use the default value. |
|
func NewListAllTransactionsCmd(account *string) *ListAllTransactionsCmd { |
|
return &ListAllTransactionsCmd{ |
|
Account: account, |
|
} |
|
} |
|
|
|
// RecoverAddressesCmd defines the recoveraddresses JSON-RPC command. |
|
type RecoverAddressesCmd struct { |
|
Account string |
|
N int |
|
} |
|
|
|
// NewRecoverAddressesCmd returns a new instance which can be used to issue a |
|
// recoveraddresses JSON-RPC command. |
|
func NewRecoverAddressesCmd(account string, n int) *RecoverAddressesCmd { |
|
return &RecoverAddressesCmd{ |
|
Account: account, |
|
N: n, |
|
} |
|
} |
|
|
|
// WalletIsLockedCmd defines the walletislocked JSON-RPC command. |
|
type WalletIsLockedCmd struct{} |
|
|
|
// NewWalletIsLockedCmd returns a new instance which can be used to issue a |
|
// walletislocked JSON-RPC command. |
|
func NewWalletIsLockedCmd() *WalletIsLockedCmd { |
|
return &WalletIsLockedCmd{} |
|
} |
|
|
|
func init() { |
|
// The commands in this file are only usable with a wallet server via |
|
// websockets. |
|
flags := UFWalletOnly | UFWebsocketOnly |
|
|
|
MustRegisterCmd("createencryptedwallet", (*CreateEncryptedWalletCmd)(nil), flags) |
|
MustRegisterCmd("exportwatchingwallet", (*ExportWatchingWalletCmd)(nil), flags) |
|
MustRegisterCmd("getunconfirmedbalance", (*GetUnconfirmedBalanceCmd)(nil), flags) |
|
MustRegisterCmd("listaddresstransactions", (*ListAddressTransactionsCmd)(nil), flags) |
|
MustRegisterCmd("listalltransactions", (*ListAllTransactionsCmd)(nil), flags) |
|
MustRegisterCmd("recoveraddresses", (*RecoverAddressesCmd)(nil), flags) |
|
MustRegisterCmd("walletislocked", (*WalletIsLockedCmd)(nil), flags) |
|
}
|
|
|