OSDN Git Service

api add createAccount and createKey (#393)
[bytom/vapor.git] / toolbar / apinode / query.go
1 package apinode
2
3 import (
4         "encoding/json"
5
6         "github.com/vapor/api"
7         "github.com/vapor/blockchain/query"
8         "github.com/vapor/errors"
9         "github.com/vapor/netsync/peers"
10         "github.com/vapor/wallet"
11 )
12
13 func (n *Node) ListAddresses(accountAlias string, from, count uint) (*[]api.AddressResp, error) {
14         url := "/list-addresses"
15         payload, err := json.Marshal(api.AddressReq{
16                 AccountAlias: accountAlias,
17                 From:         from,
18                 Count:        count,
19         })
20         if err != nil {
21                 return nil, errors.Wrap(err, "json marshal")
22         }
23
24         res := &[]api.AddressResp{}
25         return res, n.request(url, payload, res)
26 }
27
28 func (n *Node) ListBalances(accountAlias string) (*[]wallet.AccountBalance, error) {
29         url := "/list-balances"
30         payload, err := json.Marshal(api.AccountFilter{
31                 AccountAlias: accountAlias,
32         })
33         if err != nil {
34                 return nil, errors.Wrap(err, "json marshal")
35         }
36
37         res := &[]wallet.AccountBalance{}
38         return res, n.request(url, payload, res)
39 }
40
41 func (n *Node) ListUtxos(accountAlias string,from, count uint) (*[]query.AnnotatedUTXO, error) {
42         url := "/list-unspent-outputs"
43         payload, err := json.Marshal(api.ListUtxosReq{
44                 AccountAlias:  accountAlias,
45                 From:          from,
46                 Count:         count,
47         })
48         if err != nil {
49                 return nil, errors.Wrap(err, "json marshal")
50         }
51
52         res := &[]query.AnnotatedUTXO{}
53         return res, n.request(url, payload, res)
54 }
55
56 func (n *Node) WalletInfo() (*api.WalletInfo, error) {
57         url := "/wallet-info"
58         res := &api.WalletInfo{}
59         return res, n.request(url, nil, res)
60 }
61
62 func (n *Node) NetInfo() (*api.NetInfo, error) {
63         url := "/net-info"
64         res := &api.NetInfo{}
65         return res, n.request(url, nil, res)
66 }
67
68 func (n *Node) ListPeers() (*[]*peers.PeerInfo, error) {
69         url := "/list-peers"
70         res := &[]*peers.PeerInfo{}
71         return res, n.request(url, nil, res)
72 }