diff --git a/cmdhelp.go b/cmdhelp.go index 801500dc89..ca3e95fee4 100644 --- a/cmdhelp.go +++ b/cmdhelp.go @@ -651,6 +651,51 @@ getpeerinfo.`, "reconsiderblock": `reconsiderblock "hash" Remove invalid mark from block specified by "hash" so it is considered again.`, + "searchrawtransaction": `searchrawtransaction "address" (verbose=1 skip=0 count=100) +Returns raw tx data related to credits or debits to "address". Skip indicates +the number of leading transactions to leave out of the final result. Count +represents the max number of transactions to return. If verbose is false, a +string containing hex-encoded serialized data for txid. If verbose is true a +JSON object with the following information about txid is returned: +{ + "hex":"data", # String of serialized, hex encoded data for txid. + "txid":"id", # String containing the transaction id (same as "txid" parameter) + "version":n # Numeric tx version number. + "locktime":t, # Transaction locktime. + "vin":[ # Array of objects representing transaction inputs. + { + "txid":"id", # Spent transaction id as a string. + "vout""n, # Spent transaction output no. + "scriptSig":{ # Signature script as an object. + "asm":"asm", # Disassembled script string. + "hex":"hex", # Hex serialized string. + }, + "sequence":n, # Script sequence number. + }, + ... + ], + vout:[ # Array of objects representing transaction outputs. + { + "value":n, # Numeric value of output in btc. + "n", n, # Numeric output index. + "scriptPubKey":{ # Object representing pubkey script. + "asm":"asm" # Disassembled string of script. + "hex":"hex" # Hex serialized string. + "reqSigs":n, # Number of required signatures. + "type":"pubkey", # Type of scirpt. e.g. pubkeyhash" or "pubkey". + "addresses":[ # Array of address strings. + "address", # Bitcoin address. + ... + ], + } + } + ], + "blockhash":"hash" # Hash of the block the transaction is part of. + "confirmations":n, # Number of numeric confirmations of block. + "time":t, # Transaction time in seconds since the epoch. + "blocktime":t, # Block time in seconds since the epoch. +}`, + "sendfrom": `sendfrom "fromaccount" "tobitcoinaddress" amount ( minconf=1 "comment" "comment-to" ) Sends "amount" (rounded to the nearest 0.00000001) to "tobitcoindaddress" from "fromaccount". Only funds with at least diff --git a/jsonapi.go b/jsonapi.go index 9821e19958..22119c4e88 100644 --- a/jsonapi.go +++ b/jsonapi.go @@ -618,6 +618,30 @@ func CreateMessageWithId(message string, id interface{}, args ...interface{}) ([ } */ finalMessage, err = jsonWithArgs(message, id, []interface{}{args[0].(string), txList}) + // one required string (address), one optional bool, two optional ints. + case "searchrawtransaction": + if len(args) > 4 || len(args) == 0 { + err = fmt.Errorf("wrong number of arguments for %s", message) + return finalMessage, err + } + _, ok1 := args[0].(string) + ok2 := true + ok3 := true + ok4 := true + if len(args) >= 2 { + _, ok2 = args[1].(bool) + } + if len(args) >= 3 { + _, ok3 = args[2].(int) + } + if len(args) == 4 { + _, ok4 = args[3].(int) + } + if !ok1 || !ok2 || !ok3 || !ok4 { + err = fmt.Errorf("arguments must be string, one optional "+ + "bool, and two optional ints for %s", message) + return finalMessage, err + } // Any other message default: err = fmt.Errorf("not a valid command: %s", message) diff --git a/jsonapi_test.go b/jsonapi_test.go index c4e20a27c6..bb2a608db6 100644 --- a/jsonapi_test.go +++ b/jsonapi_test.go @@ -181,6 +181,12 @@ var cmdtests = []struct { {"signrawtransaction", []interface{}{1.2, "test", "test2", "test3", "test4"}, false}, {"signrawtransaction", []interface{}{"hexstring", 1, "test2", "test3", "test4"}, false}, {"signrawtransaction", []interface{}{"hexstring", "test", "test2", 3, "test4"}, false}, + {"searchrawtransaction", []interface{}{"someaddr"}, true}, + {"searchrawtransaction", []interface{}{"someaddr", true}, true}, + {"searchrawtransaction", []interface{}{"someaddr", false, 1}, true}, + {"searchrawtransaction", []interface{}{"someaddr", true, 5, 500}, true}, + {"searchrawtransaction", []interface{}{"someaddr", true, 5, "test"}, false}, + {"searchrawtransaction", []interface{}{}, false}, {"listsinceblock", []interface{}{"test", "test"}, true}, {"listsinceblock", []interface{}{"test", "test", "test"}, false}, {"listsinceblock", []interface{}{"test"}, true}, diff --git a/jsoncmd.go b/jsoncmd.go index 77c7c3a389..497dd560eb 100644 --- a/jsoncmd.go +++ b/jsoncmd.go @@ -286,6 +286,9 @@ func ParseMarshaledCmd(b []byte) (Cmd, error) { case "reconsiderblock": cmd = new(ReconsiderBlockCmd) + case "searchrawtransaction": + cmd = new(SearchRawTransactionCmd) + case "sendfrom": cmd = new(SendFromCmd) @@ -5319,6 +5322,146 @@ func (cmd *ReconsiderBlockCmd) UnmarshalJSON(b []byte) error { return nil } +// SearchRawTransactionCmd is a type handling custom marshaling and +// unmarshaling of sendrawtransaction JSON RPC commands. +type SearchRawTransactionCmd struct { + id interface{} + Address string + Verbose bool + Skip int + Count int +} + +// NewSearchRawTransactionCmd creates a new SearchRawTransactionCmd. +func NewSearchRawTransactionCmd(id interface{}, address string, + optArgs ...interface{}) (*SearchRawTransactionCmd, error) { + verbose := true + var skip int + count := 100 + + if len(optArgs) > 3 { + return nil, ErrTooManyOptArgs + } + + if len(optArgs) > 0 { + v, ok := optArgs[0].(bool) + if !ok { + return nil, errors.New("first optional argument verbose is not a bool") + } + + verbose = v + } + if len(optArgs) > 1 { + s, ok := optArgs[1].(int) + if !ok { + return nil, errors.New("second optional argument skip is not an int") + } + skip = s + } + if len(optArgs) > 2 { + c, ok := optArgs[2].(int) + if !ok { + return nil, errors.New("third optional argument count is not an int") + } + + count = c + } + + return &SearchRawTransactionCmd{ + id: id, + Address: address, + Verbose: verbose, + Skip: skip, + Count: count, + }, nil +} + +// Id satisfies the Cmd interface by returning the id of the command. +func (cmd *SearchRawTransactionCmd) Id() interface{} { + return cmd.id +} + +// Method satisfies the Cmd interface by returning the json method. +func (cmd *SearchRawTransactionCmd) Method() string { + return "searchrawtransaction" +} + +// MarshalJSON returns the JSON encoding of cmd. Part of the Cmd interface. +func (cmd *SearchRawTransactionCmd) MarshalJSON() ([]byte, error) { + params := make([]interface{}, 1, 4) + params[0] = cmd.Address + if !cmd.Verbose || cmd.Skip != 0 || cmd.Count != 100 { + params = append(params, cmd.Verbose) + } + if cmd.Skip != 0 || cmd.Count != 100 { + params = append(params, cmd.Skip) + } + if cmd.Count != 100 { + params = append(params, cmd.Count) + } + + // Fill and marshal a RawCmd. + raw, err := NewRawCmd(cmd.id, cmd.Method(), params) + if err != nil { + return nil, err + + } + return json.Marshal(raw) +} + +// UnmarshalJSON unmarshals the JSON encoding of cmd into cmd. Part of +// the Cmd interface. +func (cmd *SearchRawTransactionCmd) UnmarshalJSON(b []byte) error { + // Unmarshal into a RawCmd + var r RawCmd + if err := json.Unmarshal(b, &r); err != nil { + return err + } + + if len(r.Params) == 0 || len(r.Params) > 4 { + return ErrWrongNumberOfParams + } + + var address string + if err := json.Unmarshal(r.Params[0], &address); err != nil { + return fmt.Errorf("first parameter 'address' must be a string: %v", err) + } + + optArgs := make([]interface{}, 0, 3) + if len(r.Params) > 1 { + var verbose bool + if err := json.Unmarshal(r.Params[1], &verbose); err != nil { + return fmt.Errorf("second optional parameter 'verbose' must be an bool: %v", err) + } + optArgs = append(optArgs, verbose) + } + if len(r.Params) > 2 { + var skip int + if err := json.Unmarshal(r.Params[2], &skip); err != nil { + return fmt.Errorf("third optional parameter 'skip' must be an int: %v", err) + } + optArgs = append(optArgs, skip) + } + if len(r.Params) > 3 { + var count int + if err := json.Unmarshal(r.Params[3], &count); err != nil { + return fmt.Errorf("fourth optional parameter 'count' must be an int: %v", err) + } + optArgs = append(optArgs, count) + } + + newCmd, err := NewSearchRawTransactionCmd(r.Id, address, optArgs...) + if err != nil { + return err + } + + *cmd = *newCmd + return nil +} + +// Enforce that SearchRawTransactionCmd satisifies the Cmd interface. +var _ Cmd = &SearchRawTransactionCmd{} + // SendFromCmd is a type handling custom marshaling and // unmarshaling of sendfrom JSON RPC commands. type SendFromCmd struct { diff --git a/jsoncmd_test.go b/jsoncmd_test.go index 1671e55b72..1967ad5be6 100644 --- a/jsoncmd_test.go +++ b/jsoncmd_test.go @@ -1204,6 +1204,21 @@ var jsoncmdtests = []struct { BlockHash: "lotsofhex", }, }, + { + name: "basic + optionals", + cmd: "searchrawtransaction", + f: func() (Cmd, error) { + return NewSearchRawTransactionCmd(testID, + "someaddr", true, 5, 200) + }, + result: &SearchRawTransactionCmd{ + id: testID, + Address: "someaddr", + Verbose: true, + Skip: 5, + Count: 200, + }, + }, { name: "basic", cmd: "sendfrom", @@ -1706,6 +1721,7 @@ func TestHelps(t *testing.T) { "move", "ping", "reconsiderblock", + "searchrawtransaction", "sendfrom", "sendmany", "sendrawtransaction", diff --git a/jsonresults.go b/jsonresults.go index 0f970b32cc..55b751e8cc 100644 --- a/jsonresults.go +++ b/jsonresults.go @@ -217,7 +217,8 @@ type ScriptSig struct { } // Vin models parts of the tx data. It is defined seperately since both -// getrawtransaction and decoderawtransaction use the same structure. +// getrawtransaction, sendrawtransaction, and decoderawtransaction use the +// same structure. type Vin struct { Coinbase string `json:"coinbase"` Txid string `json:"txid"` @@ -269,7 +270,8 @@ type ScriptPubKeyResult struct { } // Vout models parts of the tx data. It is defined seperately since both -// getrawtransaction and decoderawtransaction use the same structure. +// getrawtransaction, sendrawtransaction, and decoderawtransaction use the same +// structure. type Vout struct { Value float64 `json:"value"` N uint32 `json:"n"` @@ -398,7 +400,8 @@ type SignRawTransactionResult struct { Complete bool `json:"complete"` } -// TxRawResult models the data from the getrawtransaction command. +// TxRawResult models the data from the getrawtransaction and sendrawtransaction +// commands type TxRawResult struct { Hex string `json:"hex"` Txid string `json:"txid"` @@ -686,6 +689,24 @@ func ReadResultCmd(cmd string, message []byte) (Reply, error) { if err == nil { result.Result = res } + + case "searchrawtransaction": + // searchrawtransaction can either return a list of JSON objects + // or a list of hex-encoded strings depending on the verbose flag. + // Choose the right form accordingly. + if bytes.IndexByte(objmap["result"], '{') > -1 { + var res []*TxRawResult + err = json.Unmarshal(objmap["result"], &res) + if err == nil { + result.Result = res + } + } else { + var res []string + err = json.Unmarshal(objmap["result"], &res) + if err == nil { + result.Result = res + } + } // For commands that return a single item (or no items), we get it with // the correct concrete type for free (but treat them separately // for clarity). diff --git a/jsonresults_test.go b/jsonresults_test.go index 2197093dd2..b5510e1e73 100644 --- a/jsonresults_test.go +++ b/jsonresults_test.go @@ -61,6 +61,9 @@ var resulttests = []struct { {"signrawtransaction", []byte(`{"error":null,"id":1,"result":{false}}`), false, false}, {"listunspent", []byte(`{"error":null,"id":1,"result":[{"txid":"something"}]}`), false, true}, {"listunspent", []byte(`{"error":null,"id":1,"result":[{"txid"}]}`), false, false}, + {"searchrawtransaction", []byte(`{"error":null,"id":1,"result":{"a":"b"}}`), false, false}, + {"searchrawtransaction", []byte(`{"error":null,"id":1,"result":["sometxhex"]}`), false, true}, + {"searchrawtransaction", []byte(`{"error":null,"id":1,"result":[{"hex":"somejunk","version":1}]}`), false, true}, } // TestReadResultCmd tests that readResultCmd can properly unmarshall the diff --git a/test_coverage.txt b/test_coverage.txt index 73731a4a79..b489f82140 100644 --- a/test_coverage.txt +++ b/test_coverage.txt @@ -3,95 +3,97 @@ github.com/conformal/btcjson/jsonapi.go JSONToAmount 100.00% (15/15) github.com/conformal/btcjson/jsonfxns.go MarshallAndSend 100.00% (7/7) github.com/conformal/btcjson/jsonfxns.go GetRaw 100.00% (6/6) github.com/conformal/btcjson/jsonapi.go jsonWithArgs 100.00% (5/5) -github.com/conformal/btcjson/jsonapi.go JSONGetMethod 100.00% (3/3) github.com/conformal/btcjson/jsonapi.go IsValidIdType 100.00% (3/3) +github.com/conformal/btcjson/jsonapi.go JSONGetMethod 100.00% (3/3) github.com/conformal/btcjson/jsonapi.go CreateMessage 100.00% (2/2) -github.com/conformal/btcjson/jsoncmd.go NewListLockUnspentCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go ListLockUnspentCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go ListLockUnspentCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go ListReceivedByAddressCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go ListReceivedByAccountCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go ListReceivedByAccountCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go ListReceivedByAddressCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go ListReceivedByAddressCmd.Id 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go WalletLockCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go WalletLockCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewWalletLockCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go VerifyMessageCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go VerifyMessageCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewVerifyMessageCmd 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go DumpPrivKeyCmd.Id 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go ListAccountsCmd.Id 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go ListAccountsCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go AddMultisigAddressCmd.Id 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go AddMultisigAddressCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go VerifyChainCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewListAddressGroupingsCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go ListAddressGroupingsCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go ListAddressGroupingsCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go ListReceivedByAddressCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go ListSinceBlockCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go ListSinceBlockCmd.Id 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go NewListLockUnspentCmd 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go SendFromCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go SendFromCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewGetNetworkInfoCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetNetworkInfoCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetNetworkInfoCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go SendFromCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go SendFromCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewGetNetTotalsCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetNetTotalsCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetNetTotalsCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go ReconsiderBlockCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go SearchRawTransactionCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go SearchRawTransactionCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetNetworkHashPSCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetNetworkHashPSCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go ReconsiderBlockCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetNewAddressCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetNewAddressCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go NewReconsiderBlockCmd 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go ReconsiderBlockCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewGetPeerInfoCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetPeerInfoCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetPeerInfoCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go PingCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go PingCmd.Id 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go ReconsiderBlockCmd.Id 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go NewReconsiderBlockCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetRawChangeAddressCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetRawChangeAddressCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go NewPingCmd 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go PingCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetRawMempoolCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetRawMempoolCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go PingCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetRawTransactionCmd.Id 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go GetRawTransactionCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go MoveCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go NewPingCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetReceivedByAccountCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetReceivedByAccountCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetReceivedByAddressCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetReceivedByAddressCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go LockUnspentCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go MoveCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewGetTransactionCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetTransactionCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetTransactionCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go LockUnspentCmd.Id 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go MoveCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetTxOutCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetTxOutCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewGetTxOutSetInfoCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetTxOutSetInfoCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetTxOutSetInfoCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go ListUnspentCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go ListUnspentCmd.Id 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go LockUnspentCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go LockUnspentCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetWorkCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetWorkCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go HelpCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go HelpCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go ListTransactionsCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go ListUnspentCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go ListUnspentCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go ImportPrivKeyCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go ImportPrivKeyCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go ListTransactionsCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewImportWalletCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go ImportWalletCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go ImportWalletCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewInvalidateBlockCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go InvalidateBlockCmd.Id 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go WalletLockCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go ListSinceBlockCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go InvalidateBlockCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go ListTransactionsCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go ListTransactionsCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go KeyPoolRefillCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go KeyPoolRefillCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go ListSinceBlockCmd.Id 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go AddMultisigAddressCmd.Id 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go AddMultisigAddressCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go ListAccountsCmd.Id 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go ListAccountsCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go VerifyChainCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go AddNodeCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go AddNodeCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go VerifyChainCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewBackupWalletCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go BackupWalletCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go BackupWalletCmd.Method 100.00% (1/1) @@ -107,6 +109,7 @@ github.com/conformal/btcjson/jsoncmd.go ValidateAddressCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewDebugLevelCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go DebugLevelCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go DebugLevelCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go GetAddressesByAccountCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewValidateAddressCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewDecodeRawTransactionCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go DecodeRawTransactionCmd.Id 100.00% (1/1) @@ -116,165 +119,165 @@ github.com/conformal/btcjson/jsoncmd.go DecodeScriptCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go DecodeScriptCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go SubmitBlockCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewDumpPrivKeyCmd 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go DumpPrivKeyCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go DumpPrivKeyCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go SubmitBlockCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewDumpWalletCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go DumpWalletCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go DumpWalletCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsonapi.go RpcCommand 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewEncryptWalletCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go EncryptWalletCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go EncryptWalletCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go WalletPassphraseChangeCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsonapi.go RpcCommand 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go StopCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewEstimateFeeCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go EstimateFeeCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go EstimateFeeCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go WalletPassphraseChangeCmd.Id 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go WalletPassphraseChangeCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go StopCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewEstimatePriorityCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go EstimatePriorityCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go EstimatePriorityCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go NewWalletPassphraseChangeCmd 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go WalletPassphraseChangeCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewStopCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewGetAccountCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetAccountCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetAccountCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go WalletPassphraseCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go NewWalletPassphraseChangeCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go SignRawTransactionCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewGetAccountAddressCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetAccountAddressCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetAccountAddressCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go WalletPassphraseCmd.Id 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go WalletPassphraseCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go SignRawTransactionCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetAddedNodeInfoCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetAddedNodeInfoCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go MoveCmd.Id 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go GetBlockHashCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go SignMessageCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewGetAddressesByAccountCmd 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go GetAddressesByAccountCmd.Id 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go SignMessageCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetAddressesByAccountCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go NewWalletPassphraseCmd 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go SignMessageCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go WalletPassphraseCmd.Id 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go NewSignMessageCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetBalanceCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetBalanceCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go SignMessageCmd.Id 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go SetTxFeeCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewGetBestBlockHashCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetBestBlockHashCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetBestBlockHashCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go NewSignMessageCmd 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go SetTxFeeCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go SetTxFeeCmd.Id 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go NewSetTxFeeCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetBlockCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetBlockCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go NewSetTxFeeCmd 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go SetGenerateCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go SetGenerateCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewGetBlockChainInfoCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetBlockChainInfoCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetBlockChainInfoCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go SetGenerateCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go SetGenerateCmd.Id 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go SetAccountCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewGetBlockCountCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetBlockCountCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetBlockCountCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go SetAccountCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go NewGetBlockHashCmd 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go GetBlockHashCmd.Id 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go GetBlockHashCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go SetAccountCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewSetAccountCmd 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go NewGetBlockHashCmd 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go GetBlockHashCmd.Id 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go NewGetMiningInfoCmd 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go NewWalletPassphraseCmd 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go SendToAddressCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go SendToAddressCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetBlockTemplateCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetBlockTemplateCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go SendToAddressCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewGetConnectionCountCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetConnectionCountCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetConnectionCountCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go SendToAddressCmd.Id 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go SendRawTransactionCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewGetDifficultyCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetDifficultyCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetDifficultyCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go SendRawTransactionCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go SendRawTransactionCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewGetGenerateCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetGenerateCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetGenerateCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go InvalidateBlockCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go SendRawTransactionCmd.Id 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go GetRawTransactionCmd.Method 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewGetHashesPerSecCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetHashesPerSecCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetHashesPerSecCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go SendManyCmd.Method 100.00% (1/1) +github.com/conformal/btcjson/jsoncmd.go SendManyCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go NewGetInfoCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetInfoCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetInfoCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go SendManyCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go SendManyCmd.Id 100.00% (1/1) -github.com/conformal/btcjson/jsoncmd.go NewGetMiningInfoCmd 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetMiningInfoCmd.Id 100.00% (1/1) github.com/conformal/btcjson/jsoncmd.go GetMiningInfoCmd.Method 100.00% (1/1) -github.com/conformal/btcjson/jsonapi.go CreateMessageWithId 96.11% (321/334) +github.com/conformal/btcjson/jsonapi.go CreateMessageWithId 96.29% (337/350) github.com/conformal/btcjson/jsoncmd.go SendFromCmd.MarshalJSON 92.86% (13/14) github.com/conformal/btcjson/jsoncmd.go SendManyCmd.MarshalJSON 92.86% (13/14) +github.com/conformal/btcjson/jsoncmd.go SearchRawTransactionCmd.MarshalJSON 91.67% (11/12) github.com/conformal/btcjson/jsoncmd.go MoveCmd.MarshalJSON 91.67% (11/12) -github.com/conformal/btcjson/jsoncmd.go ListTransactionsCmd.MarshalJSON 90.91% (10/11) github.com/conformal/btcjson/jsoncmd.go SendToAddressCmd.MarshalJSON 90.91% (10/11) github.com/conformal/btcjson/jsoncmd.go ListUnspentCmd.MarshalJSON 90.91% (10/11) +github.com/conformal/btcjson/jsoncmd.go ListTransactionsCmd.MarshalJSON 90.91% (10/11) github.com/conformal/btcjson/jsoncmd.go ImportPrivKeyCmd.MarshalJSON 90.00% (9/10) github.com/conformal/btcjson/jsoncmd.go GetBalanceCmd.MarshalJSON 88.89% (8/9) +github.com/conformal/btcjson/jsoncmd.go ListSinceBlockCmd.MarshalJSON 88.89% (8/9) +github.com/conformal/btcjson/jsoncmd.go ListReceivedByAccountCmd.MarshalJSON 88.89% (8/9) +github.com/conformal/btcjson/jsoncmd.go GetNetworkHashPSCmd.MarshalJSON 88.89% (8/9) +github.com/conformal/btcjson/jsoncmd.go AddMultisigAddressCmd.MarshalJSON 88.89% (8/9) github.com/conformal/btcjson/jsoncmd.go NewVerifyChainCmd 88.89% (8/9) +github.com/conformal/btcjson/jsoncmd.go NewGetNetworkHashPSCmd 88.89% (8/9) github.com/conformal/btcjson/jsoncmd.go VerifyChainCmd.MarshalJSON 88.89% (8/9) -github.com/conformal/btcjson/jsoncmd.go GetTxOutCmd.MarshalJSON 88.89% (8/9) github.com/conformal/btcjson/jsoncmd.go ListReceivedByAddressCmd.MarshalJSON 88.89% (8/9) -github.com/conformal/btcjson/jsoncmd.go NewGetNetworkHashPSCmd 88.89% (8/9) -github.com/conformal/btcjson/jsoncmd.go ListReceivedByAccountCmd.MarshalJSON 88.89% (8/9) -github.com/conformal/btcjson/jsoncmd.go AddMultisigAddressCmd.MarshalJSON 88.89% (8/9) -github.com/conformal/btcjson/jsoncmd.go ListSinceBlockCmd.MarshalJSON 88.89% (8/9) -github.com/conformal/btcjson/jsoncmd.go GetNetworkHashPSCmd.MarshalJSON 88.89% (8/9) -github.com/conformal/btcjson/jsoncmd.go ParseMarshaledCmd 88.54% (85/96) -github.com/conformal/btcjson/jsoncmd.go GetReceivedByAddressCmd.MarshalJSON 87.50% (7/8) -github.com/conformal/btcjson/jsoncmd.go SendRawTransactionCmd.MarshalJSON 87.50% (7/8) +github.com/conformal/btcjson/jsoncmd.go GetTxOutCmd.MarshalJSON 88.89% (8/9) +github.com/conformal/btcjson/jsoncmd.go ParseMarshaledCmd 88.66% (86/97) +github.com/conformal/btcjson/jsoncmd.go CreateRawTransactionCmd.MarshalJSON 87.50% (7/8) github.com/conformal/btcjson/jsoncmd.go SetGenerateCmd.MarshalJSON 87.50% (7/8) -github.com/conformal/btcjson/jsoncmd.go GetRawTransactionCmd.MarshalJSON 87.50% (7/8) -github.com/conformal/btcjson/jsoncmd.go GetReceivedByAccountCmd.MarshalJSON 87.50% (7/8) github.com/conformal/btcjson/jsoncmd.go NewRawCmd 87.50% (7/8) +github.com/conformal/btcjson/jsoncmd.go GetRawTransactionCmd.MarshalJSON 87.50% (7/8) +github.com/conformal/btcjson/jsoncmd.go SendRawTransactionCmd.MarshalJSON 87.50% (7/8) github.com/conformal/btcjson/jsoncmd.go SubmitBlockCmd.MarshalJSON 87.50% (7/8) -github.com/conformal/btcjson/jsoncmd.go CreateRawTransactionCmd.MarshalJSON 87.50% (7/8) -github.com/conformal/btcjson/jsoncmd.go GetRawMempoolCmd.MarshalJSON 85.71% (6/7) -github.com/conformal/btcjson/jsoncmd.go GetBlockTemplateCmd.MarshalJSON 85.71% (6/7) -github.com/conformal/btcjson/jsoncmd.go HelpCmd.MarshalJSON 85.71% (6/7) -github.com/conformal/btcjson/jsoncmd.go GetAddedNodeInfoCmd.MarshalJSON 85.71% (6/7) -github.com/conformal/btcjson/jsoncmd.go KeyPoolRefillCmd.MarshalJSON 85.71% (6/7) +github.com/conformal/btcjson/jsoncmd.go GetReceivedByAddressCmd.MarshalJSON 87.50% (7/8) +github.com/conformal/btcjson/jsoncmd.go GetReceivedByAccountCmd.MarshalJSON 87.50% (7/8) github.com/conformal/btcjson/jsoncmd.go GetNewAddressCmd.MarshalJSON 85.71% (6/7) -github.com/conformal/btcjson/jsoncmd.go GetWorkCmd.MarshalJSON 85.71% (6/7) +github.com/conformal/btcjson/jsoncmd.go GetBlockTemplateCmd.MarshalJSON 85.71% (6/7) github.com/conformal/btcjson/jsoncmd.go ListAccountsCmd.MarshalJSON 85.71% (6/7) +github.com/conformal/btcjson/jsoncmd.go GetWorkCmd.MarshalJSON 85.71% (6/7) github.com/conformal/btcjson/jsoncmd.go GetRawChangeAddressCmd.MarshalJSON 85.71% (6/7) -github.com/conformal/btcjson/jsoncmd.go NewGetRawMempoolCmd 83.33% (5/6) +github.com/conformal/btcjson/jsoncmd.go HelpCmd.MarshalJSON 85.71% (6/7) +github.com/conformal/btcjson/jsoncmd.go KeyPoolRefillCmd.MarshalJSON 85.71% (6/7) +github.com/conformal/btcjson/jsoncmd.go GetAddedNodeInfoCmd.MarshalJSON 85.71% (6/7) +github.com/conformal/btcjson/jsoncmd.go GetRawMempoolCmd.MarshalJSON 85.71% (6/7) github.com/conformal/btcjson/jsoncmd.go NewHelpCmd 83.33% (5/6) -github.com/conformal/btcjson/jsoncmd.go NewGetReceivedByAddressCmd 83.33% (5/6) -github.com/conformal/btcjson/jsoncmd.go NewKeyPoolRefillCmd 83.33% (5/6) +github.com/conformal/btcjson/jsoncmd.go NewGetRawChangeAddressCmd 83.33% (5/6) github.com/conformal/btcjson/jsoncmd.go NewGetAddedNodeInfoCmd 83.33% (5/6) -github.com/conformal/btcjson/jsoncmd.go NewGetWorkCmd 83.33% (5/6) -github.com/conformal/btcjson/jsoncmd.go NewListAccountsCmd 83.33% (5/6) -github.com/conformal/btcjson/jsoncmd.go NewGetNewAddressCmd 83.33% (5/6) github.com/conformal/btcjson/jsoncmd.go NewAddMultisigAddressCmd 83.33% (5/6) -github.com/conformal/btcjson/jsoncmd.go NewGetReceivedByAccountCmd 83.33% (5/6) -github.com/conformal/btcjson/jsoncmd.go NewGetRawTransactionCmd 83.33% (5/6) +github.com/conformal/btcjson/jsoncmd.go NewGetNewAddressCmd 83.33% (5/6) github.com/conformal/btcjson/jsoncmd.go NewSendRawTransactionCmd 83.33% (5/6) +github.com/conformal/btcjson/jsoncmd.go NewGetWorkCmd 83.33% (5/6) +github.com/conformal/btcjson/jsoncmd.go NewGetReceivedByAddressCmd 83.33% (5/6) github.com/conformal/btcjson/jsoncmd.go NewGetTxOutCmd 83.33% (5/6) -github.com/conformal/btcjson/jsoncmd.go NewGetRawChangeAddressCmd 83.33% (5/6) github.com/conformal/btcjson/jsoncmd.go NewSubmitBlockCmd 83.33% (5/6) +github.com/conformal/btcjson/jsoncmd.go NewListAccountsCmd 83.33% (5/6) +github.com/conformal/btcjson/jsoncmd.go NewGetRawTransactionCmd 83.33% (5/6) github.com/conformal/btcjson/jsoncmd.go NewSetGenerateCmd 83.33% (5/6) +github.com/conformal/btcjson/jsoncmd.go NewGetRawMempoolCmd 83.33% (5/6) +github.com/conformal/btcjson/jsoncmd.go NewKeyPoolRefillCmd 83.33% (5/6) +github.com/conformal/btcjson/jsoncmd.go NewGetReceivedByAccountCmd 83.33% (5/6) +github.com/conformal/btcjson/jsoncmd.go NewSearchRawTransactionCmd 80.95% (17/21) github.com/conformal/btcjson/jsoncmd.go NewListTransactionsCmd 80.95% (17/21) github.com/conformal/btcjson/jsoncmd.go NewSendFromCmd 80.95% (17/21) github.com/conformal/btcjson/jsoncmd.go NewListUnspentCmd 80.95% (17/21) -github.com/conformal/btcjson/jsoncmd.go NewMoveCmd 80.00% (12/15) -github.com/conformal/btcjson/jsoncmd.go NewSendToAddressCmd 80.00% (12/15) -github.com/conformal/btcjson/jsoncmd.go NewListReceivedByAddressCmd 80.00% (12/15) -github.com/conformal/btcjson/jsoncmd.go NewGetBalanceCmd 80.00% (12/15) github.com/conformal/btcjson/jsoncmd.go NewListSinceBlockCmd 80.00% (12/15) +github.com/conformal/btcjson/jsoncmd.go NewGetBalanceCmd 80.00% (12/15) github.com/conformal/btcjson/jsoncmd.go NewListReceivedByAccountCmd 80.00% (12/15) github.com/conformal/btcjson/jsoncmd.go NewSendManyCmd 80.00% (12/15) -github.com/conformal/btcjson/jsoncmd.go SignMessageCmd.MarshalJSON 80.00% (4/5) +github.com/conformal/btcjson/jsoncmd.go NewSendToAddressCmd 80.00% (12/15) +github.com/conformal/btcjson/jsoncmd.go NewMoveCmd 80.00% (12/15) +github.com/conformal/btcjson/jsoncmd.go NewListReceivedByAddressCmd 80.00% (12/15) +github.com/conformal/btcjson/jsoncmd.go DebugLevelCmd.MarshalJSON 80.00% (4/5) github.com/conformal/btcjson/jsoncmd.go AddNodeCmd.MarshalJSON 80.00% (4/5) github.com/conformal/btcjson/jsoncmd.go BackupWalletCmd.MarshalJSON 80.00% (4/5) github.com/conformal/btcjson/jsoncmd.go CreateMultisigCmd.MarshalJSON 80.00% (4/5) -github.com/conformal/btcjson/jsoncmd.go DebugLevelCmd.MarshalJSON 80.00% (4/5) github.com/conformal/btcjson/jsoncmd.go DecodeRawTransactionCmd.MarshalJSON 80.00% (4/5) github.com/conformal/btcjson/jsoncmd.go DecodeScriptCmd.MarshalJSON 80.00% (4/5) github.com/conformal/btcjson/jsoncmd.go DumpPrivKeyCmd.MarshalJSON 80.00% (4/5) @@ -292,54 +295,56 @@ github.com/conformal/btcjson/jsoncmd.go InvalidateBlockCmd.MarshalJSON 80.00 github.com/conformal/btcjson/jsoncmd.go ReconsiderBlockCmd.MarshalJSON 80.00% (4/5) github.com/conformal/btcjson/jsoncmd.go SetAccountCmd.MarshalJSON 80.00% (4/5) github.com/conformal/btcjson/jsoncmd.go SetTxFeeCmd.MarshalJSON 80.00% (4/5) +github.com/conformal/btcjson/jsoncmd.go SignMessageCmd.MarshalJSON 80.00% (4/5) github.com/conformal/btcjson/jsoncmd.go ValidateAddressCmd.MarshalJSON 80.00% (4/5) github.com/conformal/btcjson/jsoncmd.go VerifyMessageCmd.MarshalJSON 80.00% (4/5) github.com/conformal/btcjson/jsoncmd.go WalletPassphraseCmd.MarshalJSON 80.00% (4/5) github.com/conformal/btcjson/jsoncmd.go WalletPassphraseChangeCmd.MarshalJSON 80.00% (4/5) github.com/conformal/btcjson/jsoncmd.go NewImportPrivKeyCmd 78.57% (11/14) -github.com/conformal/btcjson/jsoncmd.go ListTransactionsCmd.UnmarshalJSON 76.92% (20/26) github.com/conformal/btcjson/jsoncmd.go ListUnspentCmd.UnmarshalJSON 76.92% (20/26) -github.com/conformal/btcjson/jsoncmd.go VerifyChainCmd.UnmarshalJSON 76.19% (16/21) -github.com/conformal/btcjson/jsoncmd.go GetBalanceCmd.UnmarshalJSON 76.19% (16/21) +github.com/conformal/btcjson/jsoncmd.go ListTransactionsCmd.UnmarshalJSON 76.92% (20/26) github.com/conformal/btcjson/jsoncmd.go ListSinceBlockCmd.UnmarshalJSON 76.19% (16/21) -github.com/conformal/btcjson/jsoncmd.go ListReceivedByAccountCmd.UnmarshalJSON 76.19% (16/21) github.com/conformal/btcjson/jsoncmd.go ListReceivedByAddressCmd.UnmarshalJSON 76.19% (16/21) +github.com/conformal/btcjson/jsoncmd.go GetBalanceCmd.UnmarshalJSON 76.19% (16/21) github.com/conformal/btcjson/jsoncmd.go GetNetworkHashPSCmd.UnmarshalJSON 76.19% (16/21) +github.com/conformal/btcjson/jsoncmd.go VerifyChainCmd.UnmarshalJSON 76.19% (16/21) +github.com/conformal/btcjson/jsoncmd.go ListReceivedByAccountCmd.UnmarshalJSON 76.19% (16/21) +github.com/conformal/btcjson/jsoncmd.go SearchRawTransactionCmd.UnmarshalJSON 75.86% (22/29) github.com/conformal/btcjson/jsoncmd.go SendManyCmd.UnmarshalJSON 75.76% (25/33) github.com/conformal/btcjson/jsoncmd.go ImportPrivKeyCmd.UnmarshalJSON 75.00% (18/24) -github.com/conformal/btcjson/jsoncmd.go GetBlockTemplateCmd.UnmarshalJSON 75.00% (12/16) -github.com/conformal/btcjson/jsoncmd.go GetNewAddressCmd.UnmarshalJSON 75.00% (12/16) github.com/conformal/btcjson/jsoncmd.go ListAccountsCmd.UnmarshalJSON 75.00% (12/16) -github.com/conformal/btcjson/jsoncmd.go HelpCmd.UnmarshalJSON 75.00% (12/16) github.com/conformal/btcjson/jsoncmd.go GetRawMempoolCmd.UnmarshalJSON 75.00% (12/16) -github.com/conformal/btcjson/jsoncmd.go KeyPoolRefillCmd.UnmarshalJSON 75.00% (12/16) github.com/conformal/btcjson/jsoncmd.go GetRawChangeAddressCmd.UnmarshalJSON 75.00% (12/16) +github.com/conformal/btcjson/jsoncmd.go HelpCmd.UnmarshalJSON 75.00% (12/16) +github.com/conformal/btcjson/jsoncmd.go GetBlockTemplateCmd.UnmarshalJSON 75.00% (12/16) +github.com/conformal/btcjson/jsoncmd.go KeyPoolRefillCmd.UnmarshalJSON 75.00% (12/16) +github.com/conformal/btcjson/jsoncmd.go GetNewAddressCmd.UnmarshalJSON 75.00% (12/16) github.com/conformal/btcjson/jsoncmd.go LockUnspentCmd.MarshalJSON 75.00% (6/8) -github.com/conformal/btcjson/jsoncmd.go GetBestBlockHashCmd.MarshalJSON 75.00% (3/4) -github.com/conformal/btcjson/jsoncmd.go StopCmd.MarshalJSON 75.00% (3/4) +github.com/conformal/btcjson/jsoncmd.go GetNetworkInfoCmd.MarshalJSON 75.00% (3/4) github.com/conformal/btcjson/jsoncmd.go GetTxOutSetInfoCmd.MarshalJSON 75.00% (3/4) github.com/conformal/btcjson/jsoncmd.go ListAddressGroupingsCmd.MarshalJSON 75.00% (3/4) -github.com/conformal/btcjson/jsoncmd.go GetPeerInfoCmd.MarshalJSON 75.00% (3/4) github.com/conformal/btcjson/jsoncmd.go PingCmd.MarshalJSON 75.00% (3/4) -github.com/conformal/btcjson/jsoncmd.go ListLockUnspentCmd.MarshalJSON 75.00% (3/4) -github.com/conformal/btcjson/jsoncmd.go GetGenerateCmd.MarshalJSON 75.00% (3/4) +github.com/conformal/btcjson/jsoncmd.go GetPeerInfoCmd.MarshalJSON 75.00% (3/4) github.com/conformal/btcjson/jsoncmd.go GetNetTotalsCmd.MarshalJSON 75.00% (3/4) -github.com/conformal/btcjson/jsoncmd.go GetNetworkInfoCmd.MarshalJSON 75.00% (3/4) github.com/conformal/btcjson/jsoncmd.go GetMiningInfoCmd.MarshalJSON 75.00% (3/4) github.com/conformal/btcjson/jsoncmd.go GetInfoCmd.MarshalJSON 75.00% (3/4) github.com/conformal/btcjson/jsoncmd.go GetHashesPerSecCmd.MarshalJSON 75.00% (3/4) +github.com/conformal/btcjson/jsoncmd.go GetGenerateCmd.MarshalJSON 75.00% (3/4) github.com/conformal/btcjson/jsoncmd.go GetDifficultyCmd.MarshalJSON 75.00% (3/4) github.com/conformal/btcjson/jsoncmd.go GetConnectionCountCmd.MarshalJSON 75.00% (3/4) +github.com/conformal/btcjson/jsoncmd.go ListLockUnspentCmd.MarshalJSON 75.00% (3/4) github.com/conformal/btcjson/jsoncmd.go GetBlockCountCmd.MarshalJSON 75.00% (3/4) github.com/conformal/btcjson/jsoncmd.go GetBlockChainInfoCmd.MarshalJSON 75.00% (3/4) +github.com/conformal/btcjson/jsoncmd.go GetBestBlockHashCmd.MarshalJSON 75.00% (3/4) github.com/conformal/btcjson/jsoncmd.go WalletLockCmd.MarshalJSON 75.00% (3/4) +github.com/conformal/btcjson/jsoncmd.go StopCmd.MarshalJSON 75.00% (3/4) github.com/conformal/btcjson/jsoncmd.go SendFromCmd.UnmarshalJSON 73.68% (28/38) -github.com/conformal/btcjson/jsoncmd.go SetGenerateCmd.UnmarshalJSON 73.68% (14/19) +github.com/conformal/btcjson/jsoncmd.go GetReceivedByAccountCmd.UnmarshalJSON 73.68% (14/19) github.com/conformal/btcjson/jsoncmd.go SendRawTransactionCmd.UnmarshalJSON 73.68% (14/19) github.com/conformal/btcjson/jsoncmd.go GetRawTransactionCmd.UnmarshalJSON 73.68% (14/19) github.com/conformal/btcjson/jsoncmd.go SubmitBlockCmd.UnmarshalJSON 73.68% (14/19) -github.com/conformal/btcjson/jsoncmd.go GetReceivedByAccountCmd.UnmarshalJSON 73.68% (14/19) github.com/conformal/btcjson/jsoncmd.go GetReceivedByAddressCmd.UnmarshalJSON 73.68% (14/19) +github.com/conformal/btcjson/jsoncmd.go SetGenerateCmd.UnmarshalJSON 73.68% (14/19) github.com/conformal/btcjson/jsoncmd.go SendToAddressCmd.UnmarshalJSON 73.33% (22/30) github.com/conformal/btcjson/jsoncmd.go MoveCmd.UnmarshalJSON 72.73% (24/33) github.com/conformal/btcjson/jsoncmd.go CreateRawTransactionCmd.UnmarshalJSON 72.73% (16/22) @@ -348,23 +353,23 @@ github.com/conformal/btcjson/jsoncmd.go GetWorkCmd.UnmarshalJSON 71.43% (10/ github.com/conformal/btcjson/jsoncmd.go GetAddedNodeInfoCmd.UnmarshalJSON 70.59% (12/17) github.com/conformal/btcjson/jsoncmd.go AddMultisigAddressCmd.UnmarshalJSON 70.00% (14/20) github.com/conformal/btcjson/jsoncmd.go GetBlockChainInfoCmd.UnmarshalJSON 70.00% (7/10) +github.com/conformal/btcjson/jsoncmd.go GetNetworkInfoCmd.UnmarshalJSON 70.00% (7/10) +github.com/conformal/btcjson/jsoncmd.go GetMiningInfoCmd.UnmarshalJSON 70.00% (7/10) github.com/conformal/btcjson/jsoncmd.go ListLockUnspentCmd.UnmarshalJSON 70.00% (7/10) +github.com/conformal/btcjson/jsoncmd.go GetInfoCmd.UnmarshalJSON 70.00% (7/10) +github.com/conformal/btcjson/jsoncmd.go GetHashesPerSecCmd.UnmarshalJSON 70.00% (7/10) +github.com/conformal/btcjson/jsoncmd.go GetGenerateCmd.UnmarshalJSON 70.00% (7/10) +github.com/conformal/btcjson/jsoncmd.go GetDifficultyCmd.UnmarshalJSON 70.00% (7/10) +github.com/conformal/btcjson/jsoncmd.go WalletLockCmd.UnmarshalJSON 70.00% (7/10) github.com/conformal/btcjson/jsoncmd.go GetConnectionCountCmd.UnmarshalJSON 70.00% (7/10) github.com/conformal/btcjson/jsoncmd.go GetTxOutSetInfoCmd.UnmarshalJSON 70.00% (7/10) -github.com/conformal/btcjson/jsoncmd.go WalletLockCmd.UnmarshalJSON 70.00% (7/10) -github.com/conformal/btcjson/jsoncmd.go GetDifficultyCmd.UnmarshalJSON 70.00% (7/10) -github.com/conformal/btcjson/jsoncmd.go GetPeerInfoCmd.UnmarshalJSON 70.00% (7/10) -github.com/conformal/btcjson/jsoncmd.go GetGenerateCmd.UnmarshalJSON 70.00% (7/10) +github.com/conformal/btcjson/jsoncmd.go StopCmd.UnmarshalJSON 70.00% (7/10) github.com/conformal/btcjson/jsoncmd.go GetBlockCountCmd.UnmarshalJSON 70.00% (7/10) github.com/conformal/btcjson/jsoncmd.go PingCmd.UnmarshalJSON 70.00% (7/10) +github.com/conformal/btcjson/jsoncmd.go GetPeerInfoCmd.UnmarshalJSON 70.00% (7/10) +github.com/conformal/btcjson/jsoncmd.go GetBestBlockHashCmd.UnmarshalJSON 70.00% (7/10) github.com/conformal/btcjson/jsoncmd.go ListAddressGroupingsCmd.UnmarshalJSON 70.00% (7/10) -github.com/conformal/btcjson/jsoncmd.go GetHashesPerSecCmd.UnmarshalJSON 70.00% (7/10) github.com/conformal/btcjson/jsoncmd.go GetNetTotalsCmd.UnmarshalJSON 70.00% (7/10) -github.com/conformal/btcjson/jsoncmd.go GetInfoCmd.UnmarshalJSON 70.00% (7/10) -github.com/conformal/btcjson/jsoncmd.go StopCmd.UnmarshalJSON 70.00% (7/10) -github.com/conformal/btcjson/jsoncmd.go GetBestBlockHashCmd.UnmarshalJSON 70.00% (7/10) -github.com/conformal/btcjson/jsoncmd.go GetNetworkInfoCmd.UnmarshalJSON 70.00% (7/10) -github.com/conformal/btcjson/jsoncmd.go GetMiningInfoCmd.UnmarshalJSON 70.00% (7/10) github.com/conformal/btcjson/jsoncmd.go BackupWalletCmd.UnmarshalJSON 69.23% (9/13) github.com/conformal/btcjson/jsoncmd.go InvalidateBlockCmd.UnmarshalJSON 69.23% (9/13) github.com/conformal/btcjson/jsoncmd.go ImportWalletCmd.UnmarshalJSON 69.23% (9/13) @@ -383,20 +388,20 @@ github.com/conformal/btcjson/jsoncmd.go DecodeScriptCmd.UnmarshalJSON 69.23% github.com/conformal/btcjson/jsoncmd.go DecodeRawTransactionCmd.UnmarshalJSON 69.23% (9/13) github.com/conformal/btcjson/jsoncmd.go DebugLevelCmd.UnmarshalJSON 69.23% (9/13) github.com/conformal/btcjson/jsoncmd.go ValidateAddressCmd.UnmarshalJSON 69.23% (9/13) -github.com/conformal/btcjson/jsoncmd.go WalletPassphraseCmd.UnmarshalJSON 68.75% (11/16) -github.com/conformal/btcjson/jsoncmd.go SignMessageCmd.UnmarshalJSON 68.75% (11/16) github.com/conformal/btcjson/jsoncmd.go SetAccountCmd.UnmarshalJSON 68.75% (11/16) -github.com/conformal/btcjson/jsoncmd.go WalletPassphraseChangeCmd.UnmarshalJSON 68.75% (11/16) -github.com/conformal/btcjson/jsoncmd.go CreateMultisigCmd.UnmarshalJSON 68.75% (11/16) +github.com/conformal/btcjson/jsoncmd.go SignMessageCmd.UnmarshalJSON 68.75% (11/16) +github.com/conformal/btcjson/jsoncmd.go WalletPassphraseCmd.UnmarshalJSON 68.75% (11/16) github.com/conformal/btcjson/jsoncmd.go SetTxFeeCmd.UnmarshalJSON 68.75% (11/16) +github.com/conformal/btcjson/jsoncmd.go CreateMultisigCmd.UnmarshalJSON 68.75% (11/16) +github.com/conformal/btcjson/jsoncmd.go WalletPassphraseChangeCmd.UnmarshalJSON 68.75% (11/16) github.com/conformal/btcjson/jsoncmd.go AddNodeCmd.UnmarshalJSON 68.75% (11/16) github.com/conformal/btcjson/jsoncmd.go VerifyMessageCmd.UnmarshalJSON 68.42% (13/19) github.com/conformal/btcjson/jsoncmd.go SignRawTransactionCmd.MarshalJSON 66.67% (8/12) github.com/conformal/btcjson/jsoncmd.go NewLockUnspentCmd 66.67% (4/6) github.com/conformal/btcjson/jsoncmd.go NewAddNodeCmd 66.67% (2/3) +github.com/conformal/btcjson/jsonresults.go ReadResultCmd 64.00% (112/175) github.com/conformal/btcjson/jsoncmd.go GetBlockCmd.MarshalJSON 63.64% (7/11) github.com/conformal/btcjson/jsonfxns.go jsonRPCSend 62.50% (10/16) -github.com/conformal/btcjson/jsonresults.go ReadResultCmd 62.05% (103/166) github.com/conformal/btcjson/jsonapi.go rpcCommand 61.54% (8/13) github.com/conformal/btcjson/jsoncmd.go LockUnspentCmd.UnmarshalJSON 57.89% (11/19) github.com/conformal/btcjson/jsoncmd.go GetBlockCmd.UnmarshalJSON 50.00% (12/24) @@ -416,10 +421,10 @@ github.com/conformal/btcjson/jsonresults.go Vin.IsCoinBase 0.00% (0/1) github.com/conformal/btcjson/jsoncmd.go unparsableCmd.Id 0.00% (0/1) github.com/conformal/btcjson/jsoncmd.go newUnparsableCmd 0.00% (0/1) github.com/conformal/btcjson/jsoncmd.go unparsableCmd.Method 0.00% (0/1) +github.com/conformal/btcjson/jsonapi.go TlsRpcCommand 0.00% (0/1) github.com/conformal/btcjson/jsonapi.go RpcRawCommand 0.00% (0/1) github.com/conformal/btcjson/jsonapi.go TlsRpcRawCommand 0.00% (0/1) -github.com/conformal/btcjson/jsonapi.go TlsRpcCommand 0.00% (0/1) github.com/conformal/btcjson/jsoncmd.go isFloatInt64 0.00% (0/1) github.com/conformal/btcjson/jsoncmd.go RegisterCustomCmd 0.00% (0/1) -github.com/conformal/btcjson --------------------------------------- 77.60% (2380/3067) +github.com/conformal/btcjson --------------------------------------- 77.86% (2458/3157)