@dashevo/dapi-grpc 2.0.0-dev.1 → 2.0.0-rc.2

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.
package/scripts/build.sh CHANGED
@@ -8,14 +8,20 @@ if [[ "${SKIP_GRPC_PROTO_BUILD}" == "1" ]]; then
8
8
  exit 0
9
9
  fi
10
10
 
11
+ PROTOS_PATH="$PWD/protos"
12
+
11
13
  CORE_PROTO_PATH="$PWD/protos/core/v0"
12
14
  CORE_CLIENTS_PATH="$PWD/clients/core/v0"
13
15
 
14
16
  PLATFORM_PROTO_PATH="$PWD/protos/platform/v0"
15
17
  PLATFORM_CLIENTS_PATH="$PWD/clients/platform/v0"
16
18
 
19
+ DRIVE_PROTO_PATH="$PWD/protos/drive/v0"
20
+ DRIVE_CLIENTS_PATH="$PWD/clients/drive/v0"
21
+
17
22
  CORE_WEB_OUT_PATH="$CORE_CLIENTS_PATH/web"
18
23
  PLATFORM_WEB_OUT_PATH="$PLATFORM_CLIENTS_PATH/web"
24
+ DRIVE_WEB_OUT_PATH="$DRIVE_CLIENTS_PATH/web"
19
25
 
20
26
  CORE_JAVA_OUT_PATH="$CORE_CLIENTS_PATH/java"
21
27
  PLATFORM_JAVA_OUT_PATH="$PLATFORM_CLIENTS_PATH/java"
@@ -62,6 +68,40 @@ pbjs \
62
68
  -o "$CORE_CLIENTS_PATH/nodejs/core_pbjs.js" \
63
69
  "$CORE_PROTO_PATH/core.proto"
64
70
 
71
+ #####################################################
72
+ # Generate JavaScript client for `DriveInternal` service #
73
+ #####################################################
74
+
75
+ rm -rf "${DRIVE_WEB_OUT_PATH:?}/*" || true
76
+
77
+ docker run -v "$DRIVE_PROTO_PATH:$DRIVE_PROTO_PATH" \
78
+ -v "$DRIVE_WEB_OUT_PATH:$DRIVE_WEB_OUT_PATH" \
79
+ -v "$PROTOS_PATH:$PROTOS_PATH" \
80
+ --rm \
81
+ "$PROTOC_IMAGE" \
82
+ --js_out="import_style=commonjs:$DRIVE_WEB_OUT_PATH" \
83
+ --ts_out="service=grpc-web:$DRIVE_WEB_OUT_PATH" \
84
+ -I="$DRIVE_PROTO_PATH" \
85
+ -I="$PROTOS_PATH" \
86
+ "drive.proto"
87
+
88
+ # Clean node message classes
89
+
90
+ rm -rf "$DRIVE_CLIENTS_PATH/nodejs/*_protoc.js" || true
91
+ rm -rf "$DRIVE_CLIENTS_PATH/nodejs/*_pbjs.js" || true
92
+
93
+ # Copy compiled modules with message classes
94
+
95
+ cp "$DRIVE_WEB_OUT_PATH/drive_pb.js" "$DRIVE_CLIENTS_PATH/nodejs/drive_protoc.js"
96
+
97
+ pbjs \
98
+ -t static-module \
99
+ -w commonjs \
100
+ -r platform_root \
101
+ -p "$PROTOS_PATH" \
102
+ -o "$DRIVE_CLIENTS_PATH/nodejs/drive_pbjs.js" \
103
+ "$DRIVE_PROTO_PATH/drive.proto"
104
+
65
105
  #####################################################
66
106
  # Generate JavaScript client for `Platform` service #
67
107
  #####################################################
@@ -70,11 +110,13 @@ rm -rf "${PLATFORM_WEB_OUT_PATH:?}/*" || true
70
110
 
71
111
  docker run -v "$PLATFORM_PROTO_PATH:$PLATFORM_PROTO_PATH" \
72
112
  -v "$PLATFORM_WEB_OUT_PATH:$PLATFORM_WEB_OUT_PATH" \
113
+ -v "$PROTOS_PATH:$PROTOS_PATH" \
73
114
  --rm \
74
115
  "$PROTOC_IMAGE" \
75
116
  --js_out="import_style=commonjs:$PLATFORM_WEB_OUT_PATH" \
76
117
  --ts_out="service=grpc-web:$PLATFORM_WEB_OUT_PATH" \
77
118
  -I="$PLATFORM_PROTO_PATH" \
119
+ -I="$PROTOS_PATH" \
78
120
  "platform.proto"
79
121
 
80
122
  # Clean node message classes
@@ -91,6 +133,7 @@ pbjs \
91
133
  -w commonjs \
92
134
  -r platform_root \
93
135
  -o "$PLATFORM_CLIENTS_PATH/nodejs/platform_pbjs.js" \
136
+ -p "$PROTOS_PATH" \
94
137
  "$PLATFORM_PROTO_PATH/platform.proto"
95
138
 
96
139
  ###################################
@@ -101,12 +144,14 @@ rm -rf "${CORE_JAVA_OUT_PATH:?}/*" || true
101
144
 
102
145
  docker run -v "$CORE_PROTO_PATH:$CORE_PROTO_PATH" \
103
146
  -v "$CORE_JAVA_OUT_PATH:$CORE_JAVA_OUT_PATH" \
147
+ -v "$PROTOS_PATH:$PROTOS_PATH" \
104
148
  --rm \
105
149
  "$PROTOC_IMAGE" \
106
150
  --plugin=protoc-gen-grpc=/usr/bin/protoc-gen-grpc-java \
107
151
  --grpc-java_out="$CORE_JAVA_OUT_PATH" \
108
152
  --proto_path="$CORE_PROTO_PATH" \
109
153
  -I="$CORE_PROTO_PATH" \
154
+ -I="$PROTOS_PATH" \
110
155
  "core.proto"
111
156
 
112
157
  #######################################
@@ -117,12 +162,14 @@ rm -rf "${PLATFORM_JAVA_OUT_PATH:?}/*" || true
117
162
 
118
163
  docker run -v "$PLATFORM_PROTO_PATH:$PLATFORM_PROTO_PATH" \
119
164
  -v "$PLATFORM_JAVA_OUT_PATH:$PLATFORM_JAVA_OUT_PATH" \
165
+ -v "$PROTOS_PATH:$PROTOS_PATH" \
120
166
  --rm \
121
167
  "$PROTOC_IMAGE" \
122
168
  --plugin=protoc-gen-grpc=/usr/bin/protoc-gen-grpc-java \
123
169
  --grpc-java_out="$PLATFORM_JAVA_OUT_PATH" \
124
170
  --proto_path="$PLATFORM_PROTO_PATH" \
125
171
  -I="$PLATFORM_PROTO_PATH" \
172
+ -I="$PROTOS_PATH" \
126
173
  "platform.proto"
127
174
 
128
175
  ##########################################
@@ -133,6 +180,7 @@ rm -rf "${CORE_OBJ_C_OUT_PATH:?}/*" || true
133
180
 
134
181
  docker run -v "$CORE_PROTO_PATH:$CORE_PROTO_PATH" \
135
182
  -v "$CORE_OBJ_C_OUT_PATH:$CORE_OBJ_C_OUT_PATH" \
183
+ -v "$PROTOS_PATH:$PROTOS_PATH" \
136
184
  --rm \
137
185
  "$PROTOC_IMAGE" \
138
186
  --plugin=protoc-gen-grpc=/usr/bin/grpc_objective_c_plugin \
@@ -140,6 +188,7 @@ docker run -v "$CORE_PROTO_PATH:$CORE_PROTO_PATH" \
140
188
  --grpc_out="$CORE_OBJ_C_OUT_PATH" \
141
189
  --proto_path="$CORE_PROTO_PATH" \
142
190
  -I="$CORE_PROTO_PATH" \
191
+ -I="$PROTOS_PATH" \
143
192
  "core.proto"
144
193
 
145
194
  ##############################################
@@ -150,6 +199,7 @@ rm -rf "${PLATFORM_OBJ_C_OUT_PATH:?}/*" || true
150
199
 
151
200
  docker run -v "$PLATFORM_PROTO_PATH:$PLATFORM_PROTO_PATH" \
152
201
  -v "$PLATFORM_OBJ_C_OUT_PATH:$PLATFORM_OBJ_C_OUT_PATH" \
202
+ -v "$PROTOS_PATH:$PROTOS_PATH" \
153
203
  --rm \
154
204
  "$PROTOC_IMAGE" \
155
205
  --plugin=protoc-gen-grpc=/usr/bin/grpc_objective_c_plugin \
@@ -157,6 +207,7 @@ docker run -v "$PLATFORM_PROTO_PATH:$PLATFORM_PROTO_PATH" \
157
207
  --grpc_out="$PLATFORM_OBJ_C_OUT_PATH" \
158
208
  --proto_path="$PLATFORM_PROTO_PATH" \
159
209
  -I="$PLATFORM_PROTO_PATH" \
210
+ -I="$PROTOS_PATH" \
160
211
  "platform.proto"
161
212
 
162
213
  #####################################
@@ -167,6 +218,7 @@ rm -rf "${CORE_PYTHON_OUT_PATH:?}/*" || true
167
218
 
168
219
  docker run -v "$CORE_PROTO_PATH:$CORE_PROTO_PATH" \
169
220
  -v "$CORE_PYTHON_OUT_PATH:$CORE_PYTHON_OUT_PATH" \
221
+ -v "$PROTOS_PATH:$PROTOS_PATH" \
170
222
  --rm \
171
223
  "$PROTOC_IMAGE" \
172
224
  --plugin=protoc-gen-grpc=/usr/bin/grpc_python_plugin \
@@ -174,6 +226,7 @@ docker run -v "$CORE_PROTO_PATH:$CORE_PROTO_PATH" \
174
226
  --grpc_out="$CORE_PYTHON_OUT_PATH" \
175
227
  --proto_path="$CORE_PROTO_PATH" \
176
228
  -I="$CORE_PROTO_PATH" \
229
+ -I="$PROTOS_PATH" \
177
230
  "core.proto"
178
231
 
179
232
  #########################################
@@ -184,6 +237,7 @@ rm -rf "${PLATFORM_PYTHON_OUT_PATH:?}/*" || true
184
237
 
185
238
  docker run -v "$PLATFORM_PROTO_PATH:$PLATFORM_PROTO_PATH" \
186
239
  -v "$PLATFORM_PYTHON_OUT_PATH:$PLATFORM_PYTHON_OUT_PATH" \
240
+ -v "$PROTOS_PATH:$PROTOS_PATH" \
187
241
  --rm \
188
242
  "$PROTOC_IMAGE" \
189
243
  --plugin=protoc-gen-grpc=/usr/bin/grpc_python_plugin \
@@ -191,6 +245,7 @@ docker run -v "$PLATFORM_PROTO_PATH:$PLATFORM_PROTO_PATH" \
191
245
  --grpc_out="$PLATFORM_PYTHON_OUT_PATH" \
192
246
  --proto_path="$PLATFORM_PROTO_PATH" \
193
247
  -I="$PLATFORM_PROTO_PATH" \
248
+ -I="$PROTOS_PATH" \
194
249
  "platform.proto"
195
250
 
196
251
  # Patch generated protobuf files
@@ -2,8 +2,7 @@
2
2
  # shellcheck disable=SC2250
3
3
  set -e
4
4
 
5
- files=$(find "$PWD/clients/core/v0/web" "$PWD/clients/core/v0/nodejs" "$PWD/clients/platform/v0/web" "$PWD/clients/platform/v0/nodejs" -name "*_pb.js" -o -name "*_protoc.js")
6
- OS=$(uname)
5
+ files=$(find "$PWD/clients/core/v0/web" "$PWD/clients/core/v0/nodejs" "$PWD/clients/platform/v0/web" "$PWD/clients/platform/v0/nodejs" "$PWD/clients/drive/v0/web" "$PWD/clients/drive/v0/nodejs" -name "*_pb.js" -o -name "*_protoc.js") OS=$(uname)
7
6
 
8
7
  function replace_in_file() {
9
8
  if [[ "$OS" = 'Darwin' ]]; then
@@ -28,4 +27,6 @@ for file in $files; do
28
27
  echo "Error: global still present"
29
28
  fi
30
29
 
30
+ replace_in_file 's/require('\''.\/platform\/v0\/platform_pb.js'\'')/require('\''..\/..\/..\/platform\/v0\/web\/platform_pb.js'\'')/g' "$file"
31
+
31
32
  done
package/src/lib.rs CHANGED
@@ -46,6 +46,29 @@ pub mod platform {
46
46
  pub use versioning::{VersionedGrpcMessage, VersionedGrpcResponse};
47
47
  }
48
48
 
49
+ #[cfg(all(feature = "drive", feature = "platform"))]
50
+ pub(crate) mod dapi {
51
+ pub(crate) use crate::platform::*;
52
+ }
53
+
54
+ #[cfg(feature = "drive")]
55
+ pub mod drive {
56
+ pub mod v0 {
57
+ #[cfg(all(feature = "server", not(target_arch = "wasm32")))]
58
+ include!("drive/server/org.dash.platform.drive.v0.rs");
59
+
60
+ #[cfg(all(
61
+ feature = "client",
62
+ not(feature = "server"),
63
+ not(target_arch = "wasm32")
64
+ ))]
65
+ include!("drive/client/org.dash.platform.drive.v0.rs");
66
+ }
67
+
68
+ #[cfg(feature = "tenderdash-proto")]
69
+ pub use tenderdash_proto as proto;
70
+ }
71
+
49
72
  #[cfg(feature = "serde")]
50
73
  // Serde deserialization logic
51
74
  pub mod deserialization;