forked from crypto-com/ibc-solo-machine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchain.proto
78 lines (69 loc) · 2.47 KB
/
chain.proto
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
syntax = "proto3";
package chain;
import "google/protobuf/duration.proto";
service Chain {
// Adds a IBC enabled chain to storage
rpc Add (AddChainRequest) returns (AddChainResponse);
// Fetches IBC enabled chain details
rpc Query (QueryChainRequest) returns (QueryChainResponse);
}
message AddChainRequest {
// gRPC address of IBC enabled chain
optional string grpc_addr = 1;
// RPC address of IBC enabled chain
optional string rpc_addr = 2;
// Account address prefix of IBC enabled chain
optional string account_prefix = 3;
// Fee configuration of chain
FeeConfig fee_config = 4;
// Trust level of IBC enabled chain
optional string trust_level = 5;
// Duration of the period since the LastestTimestamp during which the submitted headers are valid for upgrade
google.protobuf.Duration trusting_period = 6;
// Defines how much new (untrusted) header's time can drift into the future.
google.protobuf.Duration max_clock_drift = 7;
// Light client RPC timeout
google.protobuf.Duration rpc_timeout = 8;
// Diversifier for solo machine
optional string diversifier = 9;
}
message AddChainResponse {
// Chain ID of added chain
string chain_id = 1;
}
message FeeConfig {
// Fee amount to be used in each cosmos sdk transaction
optional string fee_amount = 1;
// Fee denom to be used in each cosmos sdk transaction
optional string fee_denom = 2;
// Gas limit to be used in each cosmos sdk transaction
optional string gas_limit = 3;
}
message QueryChainRequest {
// Chain ID
string chain_id = 1;
}
message QueryChainResponse {
// Chain ID
string chain_id = 1;
// Node ID of peer
string node_id = 2;
// gRPC address of IBC enabled chain
string grpc_addr = 3;
// RPC address of IBC enabled chain
string rpc_addr = 4;
// Account address prefix of IBC enabled chain
string account_prefix = 5;
// Fee configuration of chain
FeeConfig fee_config = 6;
// Trust level of IBC enabled chain
string trust_level = 7;
// Duration of the period since the LastestTimestamp during which the submitted headers are valid for upgrade
google.protobuf.Duration trusting_period = 8;
// Defines how much new (untrusted) header's time can drift into the future.
google.protobuf.Duration max_clock_drift = 9;
// Light client RPC timeout
google.protobuf.Duration rpc_timeout = 10;
// Diversifier for solo machine
string diversifier = 11;
}