quorum_sdk 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.rubocop.yml +32 -0
- data/CHANGELOG.md +5 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/Gemfile +12 -0
- data/Gemfile.lock +97 -0
- data/LICENSE.txt +21 -0
- data/README.md +84 -0
- data/Rakefile +16 -0
- data/activity_stream_pb.rb +146 -0
- data/lib/proto/activity_stream.proto +134 -0
- data/lib/proto/activity_stream_pb.rb +146 -0
- data/lib/proto/chain.proto +421 -0
- data/lib/proto/chain_pb.rb +432 -0
- data/lib/quorum_sdk/account.rb +9 -0
- data/lib/quorum_sdk/api/chain.rb +13 -0
- data/lib/quorum_sdk/api/light_node.rb +88 -0
- data/lib/quorum_sdk/api.rb +32 -0
- data/lib/quorum_sdk/client.rb +27 -0
- data/lib/quorum_sdk/utils.rb +134 -0
- data/lib/quorum_sdk/version.rb +5 -0
- data/lib/quorum_sdk.rb +22 -0
- data/sig/quorum_sdk.rbs +4 -0
- metadata +181 -0
@@ -0,0 +1,146 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
4
|
+
# source: lib/proto/activity_stream.proto
|
5
|
+
|
6
|
+
require 'google/protobuf'
|
7
|
+
|
8
|
+
require 'google/protobuf/timestamp_pb'
|
9
|
+
require 'google/protobuf/any_pb'
|
10
|
+
|
11
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
12
|
+
add_file('lib/proto/activity_stream.proto', syntax: :proto3) do
|
13
|
+
add_message 'quorum.pb.AnyObj' do
|
14
|
+
optional :any, :message, 1, 'google.protobuf.Any'
|
15
|
+
end
|
16
|
+
add_message 'quorum.pb.Object' do
|
17
|
+
optional :id, :string, 1
|
18
|
+
optional :type, :string, 2
|
19
|
+
repeated :attachments, :message, 3, 'quorum.pb.Object'
|
20
|
+
repeated :attributedTo, :message, 4, 'quorum.pb.Object'
|
21
|
+
optional :audience, :message, 5, 'quorum.pb.Object'
|
22
|
+
optional :content, :string, 6
|
23
|
+
optional :context, :message, 7, 'quorum.pb.Object'
|
24
|
+
optional :name, :string, 8
|
25
|
+
optional :endtime, :message, 9, 'google.protobuf.Timestamp'
|
26
|
+
optional :generator, :message, 10, 'quorum.pb.Object'
|
27
|
+
repeated :icon, :message, 11, 'quorum.pb.Object'
|
28
|
+
repeated :image, :message, 12, 'quorum.pb.Image'
|
29
|
+
optional :inreplyto, :message, 13, 'quorum.pb.Reply'
|
30
|
+
optional :location, :message, 14, 'quorum.pb.Object'
|
31
|
+
optional :preview, :message, 15, 'quorum.pb.Object'
|
32
|
+
optional :published, :message, 16, 'google.protobuf.Timestamp'
|
33
|
+
optional :replies, :message, 17, 'quorum.pb.Object'
|
34
|
+
optional :startTime, :message, 18, 'google.protobuf.Timestamp'
|
35
|
+
optional :summary, :string, 19
|
36
|
+
repeated :tag, :message, 20, 'quorum.pb.Object'
|
37
|
+
optional :updated, :message, 21, 'google.protobuf.Timestamp'
|
38
|
+
repeated :url, :message, 22, 'quorum.pb.Link'
|
39
|
+
repeated :to, :message, 23, 'quorum.pb.Object'
|
40
|
+
repeated :bto, :message, 24, 'quorum.pb.Object'
|
41
|
+
repeated :cc, :message, 25, 'quorum.pb.Object'
|
42
|
+
repeated :bcc, :message, 26, 'quorum.pb.Object'
|
43
|
+
optional :mediaType, :string, 27
|
44
|
+
optional :duration, :string, 28
|
45
|
+
optional :file, :message, 29, 'quorum.pb.File'
|
46
|
+
end
|
47
|
+
add_message 'quorum.pb.Link' do
|
48
|
+
optional :href, :string, 1
|
49
|
+
repeated :rel, :string, 2
|
50
|
+
optional :mediaType, :string, 3
|
51
|
+
optional :name, :string, 4
|
52
|
+
optional :hreflang, :string, 5
|
53
|
+
optional :height, :uint32, 6
|
54
|
+
optional :width, :uint32, 7
|
55
|
+
optional :preview, :message, 8, 'quorum.pb.Object'
|
56
|
+
end
|
57
|
+
add_message 'quorum.pb.Reply' do
|
58
|
+
optional :trxid, :string, 1
|
59
|
+
optional :groupid, :string, 2
|
60
|
+
end
|
61
|
+
add_message 'quorum.pb.Image' do
|
62
|
+
optional :id, :string, 1
|
63
|
+
optional :name, :string, 2
|
64
|
+
optional :mediaType, :string, 3
|
65
|
+
optional :content, :bytes, 4
|
66
|
+
optional :url, :string, 5
|
67
|
+
end
|
68
|
+
add_message 'quorum.pb.File' do
|
69
|
+
optional :id, :string, 1
|
70
|
+
optional :name, :string, 2
|
71
|
+
optional :mediaType, :string, 3
|
72
|
+
optional :compression, :enum, 4, 'quorum.pb.File.Compression'
|
73
|
+
optional :content, :bytes, 5
|
74
|
+
optional :url, :string, 6
|
75
|
+
end
|
76
|
+
add_enum 'quorum.pb.File.Compression' do
|
77
|
+
value :none, 0
|
78
|
+
value :gz, 1
|
79
|
+
value :zip, 2
|
80
|
+
value :zstd, 3
|
81
|
+
end
|
82
|
+
add_message 'quorum.pb.Person' do
|
83
|
+
optional :id, :string, 1
|
84
|
+
optional :name, :string, 2
|
85
|
+
optional :image, :message, 3, 'quorum.pb.Image'
|
86
|
+
repeated :wallet, :message, 11, 'quorum.pb.Payment'
|
87
|
+
end
|
88
|
+
add_message 'quorum.pb.Payment' do
|
89
|
+
optional :id, :string, 1
|
90
|
+
optional :type, :string, 2
|
91
|
+
optional :name, :string, 3
|
92
|
+
end
|
93
|
+
add_message 'quorum.pb.Activity' do
|
94
|
+
optional :id, :string, 1
|
95
|
+
optional :type, :string, 2
|
96
|
+
repeated :attachments, :message, 3, 'quorum.pb.Object'
|
97
|
+
repeated :attributedTo, :message, 4, 'quorum.pb.Object'
|
98
|
+
optional :audience, :message, 5, 'quorum.pb.Object'
|
99
|
+
optional :content, :string, 6
|
100
|
+
optional :context, :message, 7, 'quorum.pb.Object'
|
101
|
+
optional :name, :string, 8
|
102
|
+
optional :endtime, :message, 9, 'google.protobuf.Timestamp'
|
103
|
+
optional :generator, :message, 10, 'quorum.pb.Object'
|
104
|
+
repeated :icon, :message, 11, 'quorum.pb.Object'
|
105
|
+
repeated :image, :message, 12, 'quorum.pb.Object'
|
106
|
+
optional :inReplyTo, :message, 13, 'quorum.pb.Object'
|
107
|
+
optional :location, :message, 14, 'quorum.pb.Object'
|
108
|
+
optional :preview, :message, 15, 'quorum.pb.Object'
|
109
|
+
optional :published, :message, 16, 'google.protobuf.Timestamp'
|
110
|
+
optional :replies, :message, 17, 'quorum.pb.Object'
|
111
|
+
optional :startTime, :message, 18, 'google.protobuf.Timestamp'
|
112
|
+
optional :summary, :string, 19
|
113
|
+
repeated :tag, :message, 20, 'quorum.pb.Object'
|
114
|
+
optional :updated, :message, 21, 'google.protobuf.Timestamp'
|
115
|
+
repeated :url, :message, 22, 'quorum.pb.Link'
|
116
|
+
repeated :to, :message, 23, 'quorum.pb.Object'
|
117
|
+
repeated :bto, :message, 24, 'quorum.pb.Object'
|
118
|
+
repeated :cc, :message, 25, 'quorum.pb.Object'
|
119
|
+
repeated :bcc, :message, 26, 'quorum.pb.Object'
|
120
|
+
optional :mediaType, :string, 27
|
121
|
+
optional :duration, :string, 28
|
122
|
+
optional :actor, :message, 29, 'quorum.pb.Object'
|
123
|
+
optional :object, :message, 30, 'quorum.pb.Object'
|
124
|
+
optional :target, :message, 31, 'quorum.pb.Object'
|
125
|
+
optional :result, :message, 32, 'quorum.pb.Object'
|
126
|
+
optional :origin, :message, 33, 'quorum.pb.Object'
|
127
|
+
optional :instrument, :message, 34, 'quorum.pb.Object'
|
128
|
+
optional :person, :message, 35, 'quorum.pb.Person'
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
module Quorum
|
134
|
+
module Pb
|
135
|
+
AnyObj = ::Google::Protobuf::DescriptorPool.generated_pool.lookup('quorum.pb.AnyObj').msgclass
|
136
|
+
Object = ::Google::Protobuf::DescriptorPool.generated_pool.lookup('quorum.pb.Object').msgclass
|
137
|
+
Link = ::Google::Protobuf::DescriptorPool.generated_pool.lookup('quorum.pb.Link').msgclass
|
138
|
+
Reply = ::Google::Protobuf::DescriptorPool.generated_pool.lookup('quorum.pb.Reply').msgclass
|
139
|
+
Image = ::Google::Protobuf::DescriptorPool.generated_pool.lookup('quorum.pb.Image').msgclass
|
140
|
+
File = ::Google::Protobuf::DescriptorPool.generated_pool.lookup('quorum.pb.File').msgclass
|
141
|
+
File::Compression = ::Google::Protobuf::DescriptorPool.generated_pool.lookup('quorum.pb.File.Compression').enummodule
|
142
|
+
Person = ::Google::Protobuf::DescriptorPool.generated_pool.lookup('quorum.pb.Person').msgclass
|
143
|
+
Payment = ::Google::Protobuf::DescriptorPool.generated_pool.lookup('quorum.pb.Payment').msgclass
|
144
|
+
Activity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup('quorum.pb.Activity').msgclass
|
145
|
+
end
|
146
|
+
end
|
@@ -0,0 +1,421 @@
|
|
1
|
+
/* https://github.com/rumsystem/quorum/blob/main/pkg/pb/chain.proto */
|
2
|
+
|
3
|
+
syntax = "proto3";
|
4
|
+
package quorum.pb;
|
5
|
+
option go_package = "github.com/rumsystem/quorum/pkg/pb";
|
6
|
+
|
7
|
+
enum PackageType {
|
8
|
+
TRX = 0;
|
9
|
+
BLOCK = 1;
|
10
|
+
SNAPSHOT = 2;
|
11
|
+
HBB = 3;
|
12
|
+
}
|
13
|
+
|
14
|
+
message Package {
|
15
|
+
PackageType type = 1;
|
16
|
+
bytes Data = 2;
|
17
|
+
}
|
18
|
+
|
19
|
+
enum TrxType {
|
20
|
+
POST = 0; // post to group
|
21
|
+
SCHEMA = 2; // group schema
|
22
|
+
PRODUCER = 3; // update group producer
|
23
|
+
ANNOUNCE = 4; // self announce, producer or user)
|
24
|
+
REQ_BLOCK_FORWARD = 5; // request next block
|
25
|
+
REQ_BLOCK_BACKWARD = 6; // request previous block
|
26
|
+
REQ_BLOCK_RESP = 7; // response request next block
|
27
|
+
BLOCK_SYNCED = 8; // block for producer to sync (old block)
|
28
|
+
BLOCK_PRODUCED = 9; // block for producer to merge (newly produced block)
|
29
|
+
USER = 10; // update group user
|
30
|
+
ASK_PEERID = 11; // ask owner/producer peerid
|
31
|
+
ASK_PEERID_RESP = 12; // response ask peerid
|
32
|
+
CHAIN_CONFIG = 13; // predefined chain configuration
|
33
|
+
APP_CONFIG = 14; // group app customized configuration
|
34
|
+
}
|
35
|
+
|
36
|
+
enum AnnounceType {
|
37
|
+
AS_USER = 0;
|
38
|
+
AS_PRODUCER = 1;
|
39
|
+
AS_USER_ENCRYPT = 2;
|
40
|
+
}
|
41
|
+
|
42
|
+
enum ApproveType {
|
43
|
+
ANNOUNCED = 0;
|
44
|
+
APPROVED = 1;
|
45
|
+
REJECTED = 2;
|
46
|
+
}
|
47
|
+
|
48
|
+
enum ActionType {
|
49
|
+
ADD = 0;
|
50
|
+
REMOVE = 1;
|
51
|
+
}
|
52
|
+
|
53
|
+
enum TrxStroageType {
|
54
|
+
CHAIN = 0;
|
55
|
+
CACHE = 1;
|
56
|
+
}
|
57
|
+
|
58
|
+
message Trx {
|
59
|
+
string TrxId = 1;
|
60
|
+
TrxType Type = 2;
|
61
|
+
string GroupId = 3;
|
62
|
+
bytes Data = 4;
|
63
|
+
int64 TimeStamp = 5;
|
64
|
+
string Version = 6;
|
65
|
+
int64 Expired = 7;
|
66
|
+
int64 ResendCount = 8;
|
67
|
+
int64 Nonce = 9;
|
68
|
+
string SenderPubkey = 10;
|
69
|
+
bytes SenderSign = 11;
|
70
|
+
TrxStroageType StorageType = 12;
|
71
|
+
}
|
72
|
+
|
73
|
+
message Block {
|
74
|
+
string BlockId = 1;
|
75
|
+
string GroupId = 2;
|
76
|
+
string PrevBlockId = 3;
|
77
|
+
bytes PreviousHash = 4;
|
78
|
+
repeated Trx Trxs = 5;
|
79
|
+
string ProducerPubKey = 6;
|
80
|
+
bytes Hash = 7;
|
81
|
+
bytes Signature = 8;
|
82
|
+
int64 TimeStamp = 9;
|
83
|
+
}
|
84
|
+
|
85
|
+
message Snapshot {
|
86
|
+
string SnapshotId = 1;
|
87
|
+
string SnapshotPackageId = 2;
|
88
|
+
int64 TotalCount = 3;
|
89
|
+
string GroupId = 4;
|
90
|
+
int64 Nonce = 5;
|
91
|
+
repeated SnapshotItem SnapshotItems = 6;
|
92
|
+
string SenderPubkey = 7;
|
93
|
+
bytes Singature = 8;
|
94
|
+
int64 TimeStamp = 9;
|
95
|
+
int64 HighestHeight = 10;
|
96
|
+
string HighestBlockId = 11;
|
97
|
+
bytes ItemsHash = 12;
|
98
|
+
}
|
99
|
+
|
100
|
+
message SnapshotItem {
|
101
|
+
string SnapshotItemId = 1;
|
102
|
+
SnapShotItemType Type = 2;
|
103
|
+
bytes Data = 3;
|
104
|
+
}
|
105
|
+
|
106
|
+
enum SnapShotItemType {
|
107
|
+
SNAPSHOT_APP_CONFIG = 0; //app_config item
|
108
|
+
SNAPSHOT_CHAIN_CONFIG = 1; //chain_config item
|
109
|
+
SNAPSHOT_PRODUCER = 2; //producer item
|
110
|
+
SNAPSHOT_USER = 3; //user item
|
111
|
+
SNAPSHOT_ANNOUNCE = 4; //announce item
|
112
|
+
}
|
113
|
+
|
114
|
+
message SnapShotTag {
|
115
|
+
int64 TimeStamp = 1;
|
116
|
+
int64 HighestHeight = 2;
|
117
|
+
string HighestBlockId = 3;
|
118
|
+
bytes ItemsHash = 4;
|
119
|
+
int64 Nonce = 5;
|
120
|
+
string SnapshotPackageId = 6;
|
121
|
+
string SenderPubkey = 7;
|
122
|
+
}
|
123
|
+
|
124
|
+
message BlockDbChunk {
|
125
|
+
string BlockId = 1;
|
126
|
+
Block BlockItem = 2;
|
127
|
+
string ParentBlockId = 3;
|
128
|
+
repeated string SubBlockId = 4;
|
129
|
+
int64 Height = 6;
|
130
|
+
}
|
131
|
+
|
132
|
+
message ReqBlock {
|
133
|
+
string BlockId = 1; //block id
|
134
|
+
string GroupId = 2; //group id
|
135
|
+
string UserId = 3; //requester
|
136
|
+
}
|
137
|
+
|
138
|
+
message BlockSynced {
|
139
|
+
Block BlockItem = 1;
|
140
|
+
}
|
141
|
+
|
142
|
+
message AskPeerId {
|
143
|
+
string GroupId = 1;
|
144
|
+
string UserPeerId = 2;
|
145
|
+
string UserPubkey = 3;
|
146
|
+
string UserSign = 4;
|
147
|
+
string Memo = 5;
|
148
|
+
}
|
149
|
+
|
150
|
+
message AskPeerIdResp {
|
151
|
+
string GroupId = 1;
|
152
|
+
string RespPeerId = 2;
|
153
|
+
string RespPeerPubkey = 3;
|
154
|
+
string RespSign = 4;
|
155
|
+
bool IsDirectConnected = 5;
|
156
|
+
}
|
157
|
+
|
158
|
+
message BlockProduced {
|
159
|
+
Block BlockItem = 1;
|
160
|
+
}
|
161
|
+
|
162
|
+
enum ReqBlkResult {
|
163
|
+
BLOCK_IN_TRX = 0; //block data in trx
|
164
|
+
BLOCK_NOT_FOUND = 1; //block not found
|
165
|
+
}
|
166
|
+
|
167
|
+
message ReqBlockResp {
|
168
|
+
ReqBlkResult Result = 1;
|
169
|
+
string ProviderPubkey = 2;
|
170
|
+
string RequesterPubkey = 3;
|
171
|
+
string GroupId = 4;
|
172
|
+
string BlockId = 5;
|
173
|
+
bytes Block = 6;
|
174
|
+
}
|
175
|
+
|
176
|
+
message PostItem {
|
177
|
+
string TrxId = 1;
|
178
|
+
string PublisherPubkey = 2;
|
179
|
+
bytes Content = 3;
|
180
|
+
int64 TimeStamp = 4;
|
181
|
+
}
|
182
|
+
|
183
|
+
message ProducerItem {
|
184
|
+
string GroupId = 1;
|
185
|
+
string ProducerPubkey = 2;
|
186
|
+
string GroupOwnerPubkey = 3;
|
187
|
+
string GroupOwnerSign = 4;
|
188
|
+
int64 TimeStamp = 5;
|
189
|
+
ActionType Action = 6;
|
190
|
+
int64 BlockProduced = 7;
|
191
|
+
string Memo = 8;
|
192
|
+
}
|
193
|
+
|
194
|
+
message UserItem {
|
195
|
+
string GroupId = 1;
|
196
|
+
string UserPubkey = 2;
|
197
|
+
string EncryptPubkey = 3;
|
198
|
+
string GroupOwnerPubkey = 4;
|
199
|
+
string GroupOwnerSign = 5;
|
200
|
+
int64 TimeStamp = 6;
|
201
|
+
ActionType Action = 7;
|
202
|
+
string Memo = 8;
|
203
|
+
}
|
204
|
+
|
205
|
+
message AnnounceItem {
|
206
|
+
string GroupId = 1;
|
207
|
+
string SignPubkey = 2;
|
208
|
+
string EncryptPubkey = 3;
|
209
|
+
string AnnouncerSignature = 4;
|
210
|
+
AnnounceType Type = 5;
|
211
|
+
string OwnerPubkey = 6;
|
212
|
+
string OwnerSignature = 7;
|
213
|
+
ApproveType Result = 8;
|
214
|
+
int64 TimeStamp = 9;
|
215
|
+
ActionType Action = 10;
|
216
|
+
string Memo = 11;
|
217
|
+
}
|
218
|
+
|
219
|
+
message SchemaItem {
|
220
|
+
string GroupId = 1;
|
221
|
+
string GroupOwnerPubkey = 2;
|
222
|
+
string GroupOwnerSign = 3;
|
223
|
+
string Type = 4;
|
224
|
+
string Rule = 5;
|
225
|
+
int64 TimeStamp = 6;
|
226
|
+
ActionType Action = 7;
|
227
|
+
}
|
228
|
+
|
229
|
+
enum GroupEncryptType {
|
230
|
+
PUBLIC = 0; //public group
|
231
|
+
PRIVATE = 1; //private group
|
232
|
+
}
|
233
|
+
|
234
|
+
enum GroupConsenseType {
|
235
|
+
POA = 0; //proof of authen
|
236
|
+
POS = 1;
|
237
|
+
}
|
238
|
+
|
239
|
+
message GroupItem {
|
240
|
+
string GroupId = 1;
|
241
|
+
string GroupName = 2;
|
242
|
+
string OwnerPubKey = 3;
|
243
|
+
string UserSignPubkey = 4;
|
244
|
+
string UserEncryptPubkey = 5;
|
245
|
+
int64 LastUpdate = 6;
|
246
|
+
int64 HighestHeight = 7;
|
247
|
+
string HighestBlockId = 8;
|
248
|
+
Block GenesisBlock = 9;
|
249
|
+
GroupEncryptType EncryptType = 10;
|
250
|
+
GroupConsenseType ConsenseType = 11;
|
251
|
+
string CipherKey = 12;
|
252
|
+
string AppKey = 13;
|
253
|
+
}
|
254
|
+
|
255
|
+
enum RoleV0 {
|
256
|
+
GROUP_PRODUCER = 0;
|
257
|
+
GROUP_USER = 1;
|
258
|
+
}
|
259
|
+
|
260
|
+
enum ChainConfigType {
|
261
|
+
SET_TRX_AUTH_MODE = 0;
|
262
|
+
UPD_DNY_LIST = 1;
|
263
|
+
UPD_ALW_LIST = 2;
|
264
|
+
}
|
265
|
+
|
266
|
+
enum TrxAuthMode {
|
267
|
+
FOLLOW_ALW_LIST = 0;
|
268
|
+
FOLLOW_DNY_LIST = 1;
|
269
|
+
}
|
270
|
+
|
271
|
+
enum AuthListType {
|
272
|
+
ALLOW_LIST = 0;
|
273
|
+
DENY_LIST = 1;
|
274
|
+
}
|
275
|
+
|
276
|
+
message ChainConfigItem {
|
277
|
+
string GroupId = 1;
|
278
|
+
ChainConfigType Type = 2;
|
279
|
+
bytes Data = 3;
|
280
|
+
string OwnerPubkey = 4;
|
281
|
+
string OwnerSignature = 5;
|
282
|
+
int64 TimeStamp = 6;
|
283
|
+
string Memo = 7;
|
284
|
+
}
|
285
|
+
|
286
|
+
message ChainSendTrxRuleListItem {
|
287
|
+
ActionType Action = 1;
|
288
|
+
string Pubkey = 3;
|
289
|
+
repeated TrxType Type = 4;
|
290
|
+
}
|
291
|
+
|
292
|
+
message SetTrxAuthModeItem {
|
293
|
+
TrxType Type = 1;
|
294
|
+
TrxAuthMode Mode = 2;
|
295
|
+
}
|
296
|
+
|
297
|
+
message GroupItemV0 {
|
298
|
+
string GroupId = 1;
|
299
|
+
string GroupName = 2;
|
300
|
+
string OwnerPubKey = 3;
|
301
|
+
string UserSignPubkey = 4;
|
302
|
+
string UserEncryptPubkey = 5;
|
303
|
+
RoleV0 UserRole = 6;
|
304
|
+
int64 LastUpdate = 7;
|
305
|
+
int64 HighestHeight = 8;
|
306
|
+
string HighestBlockId = 9;
|
307
|
+
Block GenesisBlock = 10;
|
308
|
+
GroupEncryptType EncryptType = 11;
|
309
|
+
GroupConsenseType ConsenseType = 12;
|
310
|
+
string CipherKey = 13;
|
311
|
+
string AppKey = 14;
|
312
|
+
}
|
313
|
+
|
314
|
+
enum AppConfigType {
|
315
|
+
INT = 0;
|
316
|
+
BOOL = 1;
|
317
|
+
STRING = 2;
|
318
|
+
}
|
319
|
+
|
320
|
+
message AppConfigItem{
|
321
|
+
string GroupId = 1;
|
322
|
+
ActionType Action = 2;
|
323
|
+
string Name = 3;
|
324
|
+
AppConfigType Type = 4;
|
325
|
+
string Value = 5;
|
326
|
+
string OwnerPubkey = 6;
|
327
|
+
string OwnerSign = 7;
|
328
|
+
string Memo = 8;
|
329
|
+
int64 TimeStamp = 9;
|
330
|
+
}
|
331
|
+
|
332
|
+
message PSPing {
|
333
|
+
int32 Seqnum = 1;
|
334
|
+
bool IsResp = 2;
|
335
|
+
int64 TimeStamp = 3;
|
336
|
+
bytes Payload = 4;
|
337
|
+
}
|
338
|
+
|
339
|
+
message GroupSeed {
|
340
|
+
Block GenesisBlock = 1;
|
341
|
+
string GroupId = 2;
|
342
|
+
string GroupName = 3;
|
343
|
+
string OwnerPubkey = 4;
|
344
|
+
string ConsensusType = 5;
|
345
|
+
string EncryptionType = 6;
|
346
|
+
string CipherKey = 7;
|
347
|
+
string AppKey = 8;
|
348
|
+
string Signature = 9;
|
349
|
+
}
|
350
|
+
|
351
|
+
message NodeSDKGroupItem {
|
352
|
+
GroupItem Group = 1;
|
353
|
+
string EncryptAlias = 2;
|
354
|
+
string SignAlias = 3;
|
355
|
+
repeated string ApiUrl = 4;
|
356
|
+
string GroupSeed = 5;
|
357
|
+
}
|
358
|
+
|
359
|
+
enum HBBMsgType {
|
360
|
+
AGREEMENT = 0;
|
361
|
+
BROADCAST = 1;
|
362
|
+
}
|
363
|
+
|
364
|
+
message HBMsg {
|
365
|
+
string MsgId = 1;
|
366
|
+
HBBMsgType MsgType = 2;
|
367
|
+
bytes Payload = 3;
|
368
|
+
}
|
369
|
+
|
370
|
+
enum BroadcastMsgType {
|
371
|
+
PROOF = 0;
|
372
|
+
READY = 1;
|
373
|
+
}
|
374
|
+
|
375
|
+
message HBTrxBundle {
|
376
|
+
repeated Trx Trxs = 1;
|
377
|
+
}
|
378
|
+
|
379
|
+
message BroadcastMsg {
|
380
|
+
string SenderPubkey = 1;
|
381
|
+
BroadcastMsgType Type = 2;
|
382
|
+
int64 Epoch = 3;
|
383
|
+
bytes Payload = 4;
|
384
|
+
}
|
385
|
+
|
386
|
+
message Proof{
|
387
|
+
bytes RootHash = 1;
|
388
|
+
repeated bytes Proof = 2;
|
389
|
+
int64 Index = 3;
|
390
|
+
int64 Leaves = 4;
|
391
|
+
bytes ProposerPubkey = 5;
|
392
|
+
bytes ProposerSign = 6;
|
393
|
+
}
|
394
|
+
|
395
|
+
message Ready {
|
396
|
+
bytes RootHash = 1;
|
397
|
+
bytes ProoferPubkey = 2;
|
398
|
+
bytes ProposerPubkey = 3;
|
399
|
+
bytes ProposerSign = 4;
|
400
|
+
}
|
401
|
+
|
402
|
+
enum AgreementMsgType {
|
403
|
+
BVAL = 0;
|
404
|
+
AUX = 1;
|
405
|
+
}
|
406
|
+
|
407
|
+
message AgreementMsg {
|
408
|
+
AgreementMsgType Type = 1;
|
409
|
+
string ProposerId = 2;
|
410
|
+
string SenderId = 3;
|
411
|
+
int64 Epoch = 4;
|
412
|
+
bytes Payload = 5;
|
413
|
+
}
|
414
|
+
|
415
|
+
message Bval {
|
416
|
+
bool Value = 1;
|
417
|
+
}
|
418
|
+
|
419
|
+
message Aux {
|
420
|
+
bool Value = 1;
|
421
|
+
}
|