forked from xuperchain/burrow
-
Notifications
You must be signed in to change notification settings - Fork 0
/
methods.go
79 lines (66 loc) · 2.18 KB
/
methods.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package rpcinfo
import (
"github.com/hyperledger/burrow/acm"
"github.com/hyperledger/burrow/logging"
"github.com/hyperledger/burrow/rpc"
"github.com/hyperledger/burrow/rpc/lib/server"
)
// Method names
const (
// Status and healthcheck
Status = "status"
Network = "network"
// Accounts
Accounts = "accounts"
Account = "account"
Storage = "storage"
DumpStorage = "dump_storage"
GetAccountHuman = "account_human"
AccountStats = "account_stats"
// Simulated call
Call = "call"
CallCode = "call_code"
// Names
Name = "name"
Names = "names"
// Blockchain
Genesis = "genesis"
ChainID = "chain_id"
Block = "block"
Blocks = "blocks"
// Consensus
UnconfirmedTxs = "unconfirmed_txs"
Validators = "validators"
Consensus = "consensus"
)
func GetRoutes(service *rpc.Service, logger *logging.Logger) map[string]*server.RPCFunc {
logger = logger.WithScope("GetRoutes")
return map[string]*server.RPCFunc{
// Status
Status: server.NewRPCFunc(service.StatusWithin, "block_time_within,block_seen_time_within"),
Network: server.NewRPCFunc(service.Network, ""),
// Accounts
Accounts: server.NewRPCFunc(func() (*rpc.ResultAccounts, error) {
return service.Accounts(func(*acm.Account) bool {
return true
})
}, ""),
Account: server.NewRPCFunc(service.Account, "address"),
Storage: server.NewRPCFunc(service.Storage, "address,key"),
DumpStorage: server.NewRPCFunc(service.DumpStorage, "address"),
GetAccountHuman: server.NewRPCFunc(service.AccountHumanReadable, "address"),
AccountStats: server.NewRPCFunc(service.AccountStats, ""),
// Blockchain
Genesis: server.NewRPCFunc(service.Genesis, ""),
ChainID: server.NewRPCFunc(service.ChainIdentifiers, ""),
Blocks: server.NewRPCFunc(service.Blocks, "minHeight,maxHeight"),
Block: server.NewRPCFunc(service.Block, "height"),
// Consensus
UnconfirmedTxs: server.NewRPCFunc(service.UnconfirmedTxs, "maxTxs"),
Validators: server.NewRPCFunc(service.Validators, ""),
Consensus: server.NewRPCFunc(service.ConsensusState, ""),
// Names
Name: server.NewRPCFunc(service.Name, "name"),
Names: server.NewRPCFunc(service.Names, ""),
}
}