@dashevo/dapi-grpc 0.25.0-dev.1 → 0.25.0-dev.11

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
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env bash
2
+ # shellcheck disable=SC2250
2
3
 
3
4
  CORE_PROTO_PATH="$PWD/protos/core/v0"
4
5
  CORE_CLIENTS_PATH="$PWD/clients/core/v0"
@@ -20,25 +21,27 @@ PLATFORM_PYTHON_OUT_PATH="$PLATFORM_CLIENTS_PATH/python"
20
21
 
21
22
  PROTOC_IMAGE="rvolosatovs/protoc:4.0.0"
22
23
 
24
+ set -ex
25
+
23
26
  #################################################
24
27
  # Generate JavaScript client for `Core` service #
25
28
  #################################################
26
29
 
27
- rm -rf "$CORE_WEB_OUT_PATH/*"
30
+ rm -rf "${CORE_WEB_OUT_PATH:?}/*" || true
28
31
 
29
32
  docker run -v "$CORE_PROTO_PATH:$CORE_PROTO_PATH" \
30
- -v "$CORE_WEB_OUT_PATH:$CORE_WEB_OUT_PATH" \
31
- --rm \
32
- "$PROTOC_IMAGE" \
33
- --js_out="import_style=commonjs:$CORE_WEB_OUT_PATH" \
34
- --ts_out="service=grpc-web:$CORE_WEB_OUT_PATH" \
35
- -I="$CORE_PROTO_PATH" \
36
- "core.proto"
33
+ -v "$CORE_WEB_OUT_PATH:$CORE_WEB_OUT_PATH" \
34
+ --rm \
35
+ "$PROTOC_IMAGE" \
36
+ --js_out="import_style=commonjs:$CORE_WEB_OUT_PATH" \
37
+ --ts_out="service=grpc-web:$CORE_WEB_OUT_PATH" \
38
+ -I="$CORE_PROTO_PATH" \
39
+ "core.proto"
37
40
 
38
41
  # Clean node message classes
39
42
 
40
- rm -rf "$CORE_CLIENTS_PATH/nodejs/*_protoc.js"
41
- rm -rf "$CORE_CLIENTS_PATH/nodejs/*_pbjs.js"
43
+ rm -rf "$CORE_CLIENTS_PATH/nodejs/*_protoc.js" || true
44
+ rm -rf "$CORE_CLIENTS_PATH/nodejs/*_pbjs.js" || true
42
45
 
43
46
  # Copy compiled modules with message classes
44
47
 
@@ -56,21 +59,21 @@ pbjs \
56
59
  # Generate JavaScript client for `Platform` service #
57
60
  #####################################################
58
61
 
59
- rm -rf "$PLATFORM_WEB_OUT_PATH/*"
62
+ rm -rf "${PLATFORM_WEB_OUT_PATH:?}/*" || true
60
63
 
61
64
  docker run -v "$PLATFORM_PROTO_PATH:$PLATFORM_PROTO_PATH" \
62
- -v "$PLATFORM_WEB_OUT_PATH:$PLATFORM_WEB_OUT_PATH" \
63
- --rm \
64
- "$PROTOC_IMAGE" \
65
- --js_out="import_style=commonjs:$PLATFORM_WEB_OUT_PATH" \
66
- --ts_out="service=grpc-web:$PLATFORM_WEB_OUT_PATH" \
67
- -I="$PLATFORM_PROTO_PATH" \
68
- "platform.proto"
65
+ -v "$PLATFORM_WEB_OUT_PATH:$PLATFORM_WEB_OUT_PATH" \
66
+ --rm \
67
+ "$PROTOC_IMAGE" \
68
+ --js_out="import_style=commonjs:$PLATFORM_WEB_OUT_PATH" \
69
+ --ts_out="service=grpc-web:$PLATFORM_WEB_OUT_PATH" \
70
+ -I="$PLATFORM_PROTO_PATH" \
71
+ "platform.proto"
69
72
 
70
73
  # Clean node message classes
71
74
 
72
- rm -rf "$PLATFORM_CLIENTS_PATH/nodejs/*_protoc.js"
73
- rm -rf "$PLATFORM_CLIENTS_PATH/nodejs/*_pbjs.js"
75
+ rm -rf "$PLATFORM_CLIENTS_PATH/nodejs/*_protoc.js" || true
76
+ rm -rf "$PLATFORM_CLIENTS_PATH/nodejs/*_pbjs.js" || true
74
77
 
75
78
  # Copy compiled modules with message classes
76
79
 
@@ -87,98 +90,101 @@ pbjs \
87
90
  # Generate Java client for `Core` #
88
91
  ###################################
89
92
 
90
- rm -rf "$CORE_JAVA_OUT_PATH/*"
93
+ rm -rf "${CORE_JAVA_OUT_PATH:?}/*" || true
91
94
 
92
95
  docker run -v "$CORE_PROTO_PATH:$CORE_PROTO_PATH" \
93
- -v "$CORE_JAVA_OUT_PATH:$CORE_JAVA_OUT_PATH" \
94
- --rm \
95
- "$PROTOC_IMAGE" \
96
- --plugin=protoc-gen-grpc=/usr/bin/protoc-gen-grpc-java \
97
- --grpc-java_out="$CORE_JAVA_OUT_PATH" \
98
- --proto_path="$CORE_PROTO_PATH" \
99
- -I="$CORE_PROTO_PATH" \
100
- "core.proto"
96
+ -v "$CORE_JAVA_OUT_PATH:$CORE_JAVA_OUT_PATH" \
97
+ --rm \
98
+ "$PROTOC_IMAGE" \
99
+ --plugin=protoc-gen-grpc=/usr/bin/protoc-gen-grpc-java \
100
+ --grpc-java_out="$CORE_JAVA_OUT_PATH" \
101
+ --proto_path="$CORE_PROTO_PATH" \
102
+ -I="$CORE_PROTO_PATH" \
103
+ "core.proto"
101
104
 
102
105
  #######################################
103
106
  # Generate Java client for `Platform` #
104
107
  #######################################
105
108
 
106
- rm -rf "$PLATFORM_JAVA_OUT_PATH/*"
109
+ rm -rf "${PLATFORM_JAVA_OUT_PATH:?}/*" || true
107
110
 
108
111
  docker run -v "$PLATFORM_PROTO_PATH:$PLATFORM_PROTO_PATH" \
109
- -v "$PLATFORM_JAVA_OUT_PATH:$PLATFORM_JAVA_OUT_PATH" \
110
- --rm \
111
- "$PROTOC_IMAGE" \
112
- --plugin=protoc-gen-grpc=/usr/bin/protoc-gen-grpc-java \
113
- --grpc-java_out="$PLATFORM_JAVA_OUT_PATH" \
114
- --proto_path="$PLATFORM_PROTO_PATH" \
115
- -I="$PLATFORM_PROTO_PATH" \
116
- "platform.proto"
112
+ -v "$PLATFORM_JAVA_OUT_PATH:$PLATFORM_JAVA_OUT_PATH" \
113
+ --rm \
114
+ "$PROTOC_IMAGE" \
115
+ --plugin=protoc-gen-grpc=/usr/bin/protoc-gen-grpc-java \
116
+ --grpc-java_out="$PLATFORM_JAVA_OUT_PATH" \
117
+ --proto_path="$PLATFORM_PROTO_PATH" \
118
+ -I="$PLATFORM_PROTO_PATH" \
119
+ "platform.proto"
117
120
 
118
121
  ##########################################
119
122
  # Generate Objective-C client for `Core` #
120
123
  ##########################################
121
124
 
122
- rm -rf "$CORE_OBJ_C_OUT_PATH/*"
125
+ rm -rf "${CORE_OBJ_C_OUT_PATH:?}/*" || true
123
126
 
124
127
  docker run -v "$CORE_PROTO_PATH:$CORE_PROTO_PATH" \
125
- -v "$CORE_OBJ_C_OUT_PATH:$CORE_OBJ_C_OUT_PATH" \
126
- --rm \
127
- "$PROTOC_IMAGE" \
128
- --plugin=protoc-gen-grpc=/usr/bin/grpc_objective_c_plugin \
129
- --objc_out="$CORE_OBJ_C_OUT_PATH" \
130
- --grpc_out="$CORE_OBJ_C_OUT_PATH" \
131
- --proto_path="$CORE_PROTO_PATH" \
132
- -I="$CORE_PROTO_PATH" \
133
- "core.proto"
128
+ -v "$CORE_OBJ_C_OUT_PATH:$CORE_OBJ_C_OUT_PATH" \
129
+ --rm \
130
+ "$PROTOC_IMAGE" \
131
+ --plugin=protoc-gen-grpc=/usr/bin/grpc_objective_c_plugin \
132
+ --objc_out="$CORE_OBJ_C_OUT_PATH" \
133
+ --grpc_out="$CORE_OBJ_C_OUT_PATH" \
134
+ --proto_path="$CORE_PROTO_PATH" \
135
+ -I="$CORE_PROTO_PATH" \
136
+ "core.proto"
134
137
 
135
138
  ##############################################
136
139
  # Generate Objective-C client for `Platform` #
137
140
  ##############################################
138
141
 
139
- rm -rf "$PLATFORM_OBJ_C_OUT_PATH/*"
142
+ rm -rf "${PLATFORM_OBJ_C_OUT_PATH:?}/*" || true
140
143
 
141
144
  docker run -v "$PLATFORM_PROTO_PATH:$PLATFORM_PROTO_PATH" \
142
- -v "$PLATFORM_OBJ_C_OUT_PATH:$PLATFORM_OBJ_C_OUT_PATH" \
143
- --rm \
144
- "$PROTOC_IMAGE" \
145
- --plugin=protoc-gen-grpc=/usr/bin/grpc_objective_c_plugin \
146
- --objc_out="$PLATFORM_OBJ_C_OUT_PATH" \
147
- --grpc_out="$PLATFORM_OBJ_C_OUT_PATH" \
148
- --proto_path="$PLATFORM_PROTO_PATH" \
149
- -I="$PLATFORM_PROTO_PATH" \
150
- "platform.proto"
145
+ -v "$PLATFORM_OBJ_C_OUT_PATH:$PLATFORM_OBJ_C_OUT_PATH" \
146
+ --rm \
147
+ "$PROTOC_IMAGE" \
148
+ --plugin=protoc-gen-grpc=/usr/bin/grpc_objective_c_plugin \
149
+ --objc_out="$PLATFORM_OBJ_C_OUT_PATH" \
150
+ --grpc_out="$PLATFORM_OBJ_C_OUT_PATH" \
151
+ --proto_path="$PLATFORM_PROTO_PATH" \
152
+ -I="$PLATFORM_PROTO_PATH" \
153
+ "platform.proto"
151
154
 
152
155
  #####################################
153
156
  # Generate Python client for `Core` #
154
157
  #####################################
155
158
 
156
- rm -rf "$CORE_PYTHON_OUT_PATH/*"
159
+ rm -rf "${CORE_PYTHON_OUT_PATH:?}/*" || true
157
160
 
158
161
  docker run -v "$CORE_PROTO_PATH:$CORE_PROTO_PATH" \
159
- -v "$CORE_PYTHON_OUT_PATH:$CORE_PYTHON_OUT_PATH" \
160
- --rm \
161
- "$PROTOC_IMAGE" \
162
- --plugin=protoc-gen-grpc=/usr/bin/grpc_python_plugin \
163
- --python_out="$CORE_PYTHON_OUT_PATH" \
164
- --grpc_out="$CORE_PYTHON_OUT_PATH" \
165
- --proto_path="$CORE_PROTO_PATH" \
166
- -I="$CORE_PROTO_PATH" \
167
- "core.proto"
162
+ -v "$CORE_PYTHON_OUT_PATH:$CORE_PYTHON_OUT_PATH" \
163
+ --rm \
164
+ "$PROTOC_IMAGE" \
165
+ --plugin=protoc-gen-grpc=/usr/bin/grpc_python_plugin \
166
+ --python_out="$CORE_PYTHON_OUT_PATH" \
167
+ --grpc_out="$CORE_PYTHON_OUT_PATH" \
168
+ --proto_path="$CORE_PROTO_PATH" \
169
+ -I="$CORE_PROTO_PATH" \
170
+ "core.proto"
168
171
 
169
172
  #########################################
170
173
  # Generate Python client for `Platform` #
171
174
  #########################################
172
175
 
173
- rm -rf "$PLATFORM_PYTHON_OUT_PATH/*"
176
+ rm -rf "${PLATFORM_PYTHON_OUT_PATH:?}/*" || true
174
177
 
175
178
  docker run -v "$PLATFORM_PROTO_PATH:$PLATFORM_PROTO_PATH" \
176
- -v "$PLATFORM_PYTHON_OUT_PATH:$PLATFORM_PYTHON_OUT_PATH" \
177
- --rm \
178
- "$PROTOC_IMAGE" \
179
- --plugin=protoc-gen-grpc=/usr/bin/grpc_python_plugin \
180
- --python_out="$PLATFORM_PYTHON_OUT_PATH" \
181
- --grpc_out="$PLATFORM_PYTHON_OUT_PATH" \
182
- --proto_path="$PLATFORM_PROTO_PATH" \
183
- -I="$PLATFORM_PROTO_PATH" \
184
- "platform.proto"
179
+ -v "$PLATFORM_PYTHON_OUT_PATH:$PLATFORM_PYTHON_OUT_PATH" \
180
+ --rm \
181
+ "$PROTOC_IMAGE" \
182
+ --plugin=protoc-gen-grpc=/usr/bin/grpc_python_plugin \
183
+ --python_out="$PLATFORM_PYTHON_OUT_PATH" \
184
+ --grpc_out="$PLATFORM_PYTHON_OUT_PATH" \
185
+ --proto_path="$PLATFORM_PROTO_PATH" \
186
+ -I="$PLATFORM_PROTO_PATH" \
187
+ "platform.proto"
188
+
189
+ # Patch generated protobuf files
190
+ exec "${PWD}/scripts/patch-protobuf-js.sh"
@@ -1,21 +1,22 @@
1
1
  #!/bin/bash
2
+ # shellcheck disable=SC2250
3
+ set -e
2
4
 
3
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")
4
6
  OS=$(uname)
5
7
 
6
8
  function replace_in_file() {
7
- if [ "$OS" = 'Darwin' ]; then
8
- # for MacOS
9
- sed -i '' -e "$1" "$2"
10
- else
11
- # for Linux and Windows
12
- sed -i'' -e "$1" "$2"
13
- fi
9
+ if [[ "$OS" = 'Darwin' ]]; then
10
+ # for MacOS
11
+ sed -i '' -e "$1" "$2"
12
+ else
13
+ # for Linux and Windows
14
+ sed -i'' -e "$1" "$2"
15
+ fi
14
16
  }
15
17
 
16
18
  # Loop over the files
17
- for file in $files
18
- do
19
+ for file in $files; do
19
20
 
20
21
  replace_in_file 's/var global = Function('\''return this'\'')();/const proto = {};/g' "$file"
21
22
  if grep -qrE "[^a-zA-Z]Function\(" "$file"; then
package/src/lib.rs ADDED
@@ -0,0 +1,15 @@
1
+ pub use prost::Message;
2
+
3
+ pub mod core {
4
+ #[cfg(feature = "core_v0")]
5
+ pub mod v0 {
6
+ include!("core/proto/org.dash.platform.dapi.v0.rs");
7
+ }
8
+ }
9
+
10
+ pub mod platform {
11
+ #[cfg(feature = "platform_v0")]
12
+ pub mod v0 {
13
+ include!("platform/proto/org.dash.platform.dapi.v0.rs");
14
+ }
15
+ }