@witnet/sdk 1.0.4 → 1.0.5

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.
Files changed (211) hide show
  1. package/.env_witnet +6 -6
  2. package/LICENSE +21 -21
  3. package/README.md +103 -103
  4. package/dist/package.json +3 -4
  5. package/dist/src/bin/helpers.js +1 -1
  6. package/dist/src/index.js +1 -1
  7. package/dist/src/lib/crypto/account.d.ts +3 -1
  8. package/dist/src/lib/crypto/account.d.ts.map +1 -1
  9. package/dist/src/lib/crypto/account.js +7 -1
  10. package/dist/src/lib/crypto/coinbase.js +1 -1
  11. package/dist/src/lib/crypto/index.js +1 -1
  12. package/dist/src/lib/crypto/interfaces.d.ts +2 -0
  13. package/dist/src/lib/crypto/interfaces.d.ts.map +1 -1
  14. package/dist/src/lib/crypto/interfaces.js +1 -1
  15. package/dist/src/lib/crypto/payloads/DataRequestPayload.js +1 -1
  16. package/dist/src/lib/crypto/payloads/StakePayload.js +1 -1
  17. package/dist/src/lib/crypto/payloads/UnstakePayload.js +1 -1
  18. package/dist/src/lib/crypto/payloads/ValueTransferPayload.js +1 -1
  19. package/dist/src/lib/crypto/payloads.d.ts.map +1 -1
  20. package/dist/src/lib/crypto/payloads.js +12 -1
  21. package/dist/src/lib/crypto/signer.d.ts +1 -0
  22. package/dist/src/lib/crypto/signer.d.ts.map +1 -1
  23. package/dist/src/lib/crypto/signer.js +18 -1
  24. package/dist/src/lib/crypto/transmitters/DataRequests.js +1 -1
  25. package/dist/src/lib/crypto/transmitters/StakeDeposits.js +1 -1
  26. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.js +1 -1
  27. package/dist/src/lib/crypto/transmitters/ValueTransfers.js +1 -1
  28. package/dist/src/lib/crypto/transmitters.js +4 -4
  29. package/dist/src/lib/crypto/types.d.ts.map +1 -1
  30. package/dist/src/lib/crypto/types.js +2 -1
  31. package/dist/src/lib/crypto/utils.js +1 -1
  32. package/dist/src/lib/crypto/wallet.d.ts +3 -1
  33. package/dist/src/lib/crypto/wallet.d.ts.map +1 -1
  34. package/dist/src/lib/crypto/wallet.js +10 -1
  35. package/dist/src/lib/index.js +1 -1
  36. package/dist/src/lib/radon/ccdr/eth.js +1 -1
  37. package/dist/src/lib/radon/ccdr/index.js +1 -1
  38. package/dist/src/lib/radon/ccdr/wit.js +1 -1
  39. package/dist/src/lib/radon/filters.js +1 -1
  40. package/dist/src/lib/radon/index.js +1 -1
  41. package/dist/src/lib/radon/reducers.js +1 -1
  42. package/dist/src/lib/radon/types.js +1 -1
  43. package/dist/src/lib/radon/utils.js +1 -1
  44. package/dist/src/lib/rpc/index.js +1 -1
  45. package/dist/src/lib/rpc/nodes.js +1 -1
  46. package/dist/src/lib/rpc/provider.js +1 -1
  47. package/dist/src/lib/rpc/types.d.ts +6 -4
  48. package/dist/src/lib/rpc/types.d.ts.map +1 -1
  49. package/dist/src/lib/rpc/types.js +1 -1
  50. package/dist/src/lib/types.d.ts +0 -1
  51. package/dist/src/lib/types.d.ts.map +1 -1
  52. package/dist/src/lib/types.js +1 -1
  53. package/dist/src/lib/utils.js +1 -1
  54. package/dist/witnet/assets/index.js +1 -1
  55. package/dist/witnet/assets/modals/index.js +1 -1
  56. package/dist/witnet/assets/modals/web3/eth.js +1 -1
  57. package/dist/witnet/assets/modals/web3/ipfs.js +1 -1
  58. package/dist/witnet/assets/modals/web3/wit.js +1 -1
  59. package/dist/witnet/assets/requests.js +1 -1
  60. package/package.json +3 -4
  61. package/src/bin/cli/history.js +31 -31
  62. package/src/bin/cli/inspect.js +405 -405
  63. package/src/bin/cli/network.js +594 -594
  64. package/src/bin/cli/nodes.js +364 -364
  65. package/src/bin/cli/radon.js +817 -815
  66. package/src/bin/cli/wallet.js +1121 -1117
  67. package/src/bin/helpers.js +840 -840
  68. package/src/bin/postinstall.js +9 -9
  69. package/src/bin/toolkit.js +295 -295
  70. package/witnet/assets/_index.js +8 -8
  71. package/witnet/assets/_requests.js +25 -25
  72. package/witnet/assets/_sources.js +36 -36
  73. package/witnet/assets/_templates.js +36 -36
  74. package/witnet/assets/index.js +4 -4
  75. package/witnet/assets/modals/index.js +9 -9
  76. package/witnet/assets/modals/web3/eth.js +29 -29
  77. package/witnet/assets/modals/web3/ipfs.js +19 -19
  78. package/witnet/assets/modals/web3/wit.js +21 -21
  79. package/witnet/assets/requests.js +95 -95
  80. package/dist/bin/helpers.d.ts +0 -88
  81. package/dist/bin/helpers.d.ts.map +0 -1
  82. package/dist/bin/helpers.js +0 -866
  83. package/dist/index.d.ts +0 -4
  84. package/dist/index.d.ts.map +0 -1
  85. package/dist/index.js +0 -42
  86. package/dist/lib/crypto/account.d.ts +0 -18
  87. package/dist/lib/crypto/account.d.ts.map +0 -1
  88. package/dist/lib/crypto/account.js +0 -152
  89. package/dist/lib/crypto/coinbase.d.ts +0 -9
  90. package/dist/lib/crypto/coinbase.d.ts.map +0 -1
  91. package/dist/lib/crypto/coinbase.js +0 -39
  92. package/dist/lib/crypto/index.d.ts +0 -7
  93. package/dist/lib/crypto/index.d.ts.map +0 -1
  94. package/dist/lib/crypto/index.js +0 -28
  95. package/dist/lib/crypto/interfaces.d.ts +0 -80
  96. package/dist/lib/crypto/interfaces.d.ts.map +0 -1
  97. package/dist/lib/crypto/interfaces.js +0 -3
  98. package/dist/lib/crypto/payloads/DataRequestPayload.d.ts +0 -47
  99. package/dist/lib/crypto/payloads/DataRequestPayload.d.ts.map +0 -1
  100. package/dist/lib/crypto/payloads/DataRequestPayload.js +0 -384
  101. package/dist/lib/crypto/payloads/StakePayload.d.ts +0 -27
  102. package/dist/lib/crypto/payloads/StakePayload.d.ts.map +0 -1
  103. package/dist/lib/crypto/payloads/StakePayload.js +0 -184
  104. package/dist/lib/crypto/payloads/UnstakePayload.d.ts +0 -35
  105. package/dist/lib/crypto/payloads/UnstakePayload.d.ts.map +0 -1
  106. package/dist/lib/crypto/payloads/UnstakePayload.js +0 -244
  107. package/dist/lib/crypto/payloads/ValueTransferPayload.d.ts +0 -24
  108. package/dist/lib/crypto/payloads/ValueTransferPayload.d.ts.map +0 -1
  109. package/dist/lib/crypto/payloads/ValueTransferPayload.js +0 -182
  110. package/dist/lib/crypto/payloads.d.ts +0 -54
  111. package/dist/lib/crypto/payloads.d.ts.map +0 -1
  112. package/dist/lib/crypto/payloads.js +0 -224
  113. package/dist/lib/crypto/signer.d.ts +0 -26
  114. package/dist/lib/crypto/signer.d.ts.map +0 -1
  115. package/dist/lib/crypto/signer.js +0 -299
  116. package/dist/lib/crypto/transmitters/DataRequests.d.ts +0 -14
  117. package/dist/lib/crypto/transmitters/DataRequests.d.ts.map +0 -1
  118. package/dist/lib/crypto/transmitters/DataRequests.js +0 -62
  119. package/dist/lib/crypto/transmitters/StakeDeposits.d.ts +0 -11
  120. package/dist/lib/crypto/transmitters/StakeDeposits.d.ts.map +0 -1
  121. package/dist/lib/crypto/transmitters/StakeDeposits.js +0 -48
  122. package/dist/lib/crypto/transmitters/StakeWithdrawals.d.ts +0 -17
  123. package/dist/lib/crypto/transmitters/StakeWithdrawals.d.ts.map +0 -1
  124. package/dist/lib/crypto/transmitters/StakeWithdrawals.js +0 -115
  125. package/dist/lib/crypto/transmitters/ValueTransfers.d.ts +0 -10
  126. package/dist/lib/crypto/transmitters/ValueTransfers.d.ts.map +0 -1
  127. package/dist/lib/crypto/transmitters/ValueTransfers.js +0 -47
  128. package/dist/lib/crypto/transmitters.d.ts +0 -46
  129. package/dist/lib/crypto/transmitters.d.ts.map +0 -1
  130. package/dist/lib/crypto/transmitters.js +0 -506
  131. package/dist/lib/crypto/types.d.ts +0 -127
  132. package/dist/lib/crypto/types.d.ts.map +0 -1
  133. package/dist/lib/crypto/types.js +0 -261
  134. package/dist/lib/crypto/utils.d.ts +0 -10
  135. package/dist/lib/crypto/utils.d.ts.map +0 -1
  136. package/dist/lib/crypto/utils.js +0 -97
  137. package/dist/lib/crypto/wallet.d.ts +0 -26
  138. package/dist/lib/crypto/wallet.d.ts.map +0 -1
  139. package/dist/lib/crypto/wallet.js +0 -327
  140. package/dist/lib/helpers.d.ts +0 -90
  141. package/dist/lib/helpers.d.ts.map +0 -1
  142. package/dist/lib/helpers.js +0 -1031
  143. package/dist/lib/index.d.ts +0 -5
  144. package/dist/lib/index.d.ts.map +0 -1
  145. package/dist/lib/index.js +0 -21
  146. package/dist/lib/radon/artifacts.d.ts +0 -55
  147. package/dist/lib/radon/artifacts.d.ts.map +0 -1
  148. package/dist/lib/radon/artifacts.js +0 -347
  149. package/dist/lib/radon/ccdr/eth.d.ts +0 -100
  150. package/dist/lib/radon/ccdr/eth.d.ts.map +0 -1
  151. package/dist/lib/radon/ccdr/eth.js +0 -237
  152. package/dist/lib/radon/ccdr/index.d.ts +0 -34
  153. package/dist/lib/radon/ccdr/index.d.ts.map +0 -1
  154. package/dist/lib/radon/ccdr/index.js +0 -63
  155. package/dist/lib/radon/ccdr/wit.d.ts +0 -29
  156. package/dist/lib/radon/ccdr/wit.d.ts.map +0 -1
  157. package/dist/lib/radon/ccdr/wit.js +0 -60
  158. package/dist/lib/radon/filters.d.ts +0 -14
  159. package/dist/lib/radon/filters.d.ts.map +0 -1
  160. package/dist/lib/radon/filters.js +0 -47
  161. package/dist/lib/radon/index.d.ts +0 -36
  162. package/dist/lib/radon/index.d.ts.map +0 -1
  163. package/dist/lib/radon/index.js +0 -154
  164. package/dist/lib/radon/reducers.d.ts +0 -29
  165. package/dist/lib/radon/reducers.d.ts.map +0 -1
  166. package/dist/lib/radon/reducers.js +0 -101
  167. package/dist/lib/radon/retrievals.d.ts +0 -120
  168. package/dist/lib/radon/retrievals.d.ts.map +0 -1
  169. package/dist/lib/radon/retrievals.js +0 -358
  170. package/dist/lib/radon/sources.d.ts +0 -102
  171. package/dist/lib/radon/sources.d.ts.map +0 -1
  172. package/dist/lib/radon/sources.js +0 -294
  173. package/dist/lib/radon/types.d.ts +0 -521
  174. package/dist/lib/radon/types.d.ts.map +0 -1
  175. package/dist/lib/radon/types.js +0 -1066
  176. package/dist/lib/radon/utils.d.ts +0 -55
  177. package/dist/lib/radon/utils.d.ts.map +0 -1
  178. package/dist/lib/radon/utils.js +0 -181
  179. package/dist/lib/rpc/farm.d.ts +0 -66
  180. package/dist/lib/rpc/farm.d.ts.map +0 -1
  181. package/dist/lib/rpc/farm.js +0 -808
  182. package/dist/lib/rpc/index.d.ts +0 -3
  183. package/dist/lib/rpc/index.d.ts.map +0 -1
  184. package/dist/lib/rpc/index.js +0 -19
  185. package/dist/lib/rpc/node.d.ts +0 -38
  186. package/dist/lib/rpc/node.d.ts.map +0 -1
  187. package/dist/lib/rpc/node.js +0 -335
  188. package/dist/lib/rpc/nodes.d.ts +0 -40
  189. package/dist/lib/rpc/nodes.d.ts.map +0 -1
  190. package/dist/lib/rpc/nodes.js +0 -531
  191. package/dist/lib/rpc/provider.d.ts +0 -72
  192. package/dist/lib/rpc/provider.d.ts.map +0 -1
  193. package/dist/lib/rpc/provider.js +0 -402
  194. package/dist/lib/rpc/reporter.d.ts +0 -18
  195. package/dist/lib/rpc/reporter.d.ts.map +0 -1
  196. package/dist/lib/rpc/reporter.js +0 -99
  197. package/dist/lib/rpc/types.d.ts +0 -396
  198. package/dist/lib/rpc/types.d.ts.map +0 -1
  199. package/dist/lib/rpc/types.js +0 -81
  200. package/dist/lib/rpc/wallet.d.ts +0 -72
  201. package/dist/lib/rpc/wallet.d.ts.map +0 -1
  202. package/dist/lib/rpc/wallet.js +0 -41
  203. package/dist/lib/types.d.ts +0 -19
  204. package/dist/lib/types.d.ts.map +0 -1
  205. package/dist/lib/types.js +0 -7
  206. package/dist/lib/utils.d.ts +0 -5
  207. package/dist/lib/utils.d.ts.map +0 -1
  208. package/dist/lib/utils.js +0 -51
  209. package/dist/src/lib/rpc/reporter.d.ts +0 -17
  210. package/dist/src/lib/rpc/reporter.d.ts.map +0 -1
  211. package/dist/src/lib/rpc/reporter.js +0 -27
@@ -1,294 +0,0 @@
1
- var __read =
2
- (this && this.__read) ||
3
- ((o, n) => {
4
- var m = typeof Symbol === "function" && o[Symbol.iterator]
5
- if (!m) return o
6
- var i = m.call(o),
7
- r,
8
- ar = [],
9
- e
10
- try {
11
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value)
12
- } catch (error) {
13
- e = { error: error }
14
- } finally {
15
- try {
16
- if (r && !r.done && (m = i["return"])) m.call(i)
17
- } finally {
18
- if (e) throw e.error
19
- }
20
- }
21
- return ar
22
- })
23
- var __spreadArray =
24
- (this && this.__spreadArray) ||
25
- ((to, from, pack) => {
26
- if (pack || arguments.length === 2)
27
- for (var i = 0, l = from.length, ar; i < l; i++) {
28
- if (ar || !(i in from)) {
29
- if (!ar) ar = Array.prototype.slice.call(from, 0, i)
30
- ar[i] = from[i]
31
- }
32
- }
33
- return to.concat(ar || Array.prototype.slice.call(from))
34
- })
35
- var __importDefault =
36
- (this && this.__importDefault) ||
37
- ((mod) => (mod && mod.__esModule ? mod : { default: mod }))
38
- Object.defineProperty(exports, "__esModule", { value: true })
39
- exports.CrossChainDataSource =
40
- exports.GraphQLQuery =
41
- exports.HttpPost =
42
- exports.HttpHead =
43
- exports.HttpGet =
44
- exports.RNG =
45
- exports.Class =
46
- void 0
47
- var utils = require("./utils")
48
- var graphql_query_compress_1 = __importDefault(
49
- require("graphql-query-compress"),
50
- )
51
- var types_1 = require("./types")
52
- var Methods
53
- ;((Methods) => {
54
- Methods[(Methods["None"] = 0)] = "None"
55
- Methods[(Methods["HttpGet"] = 1)] = "HttpGet"
56
- Methods[(Methods["HttpHead"] = 4)] = "HttpHead"
57
- Methods[(Methods["HttpPost"] = 3)] = "HttpPost"
58
- Methods[(Methods["RNG"] = 2)] = "RNG"
59
- })(Methods || (Methods = {}))
60
- var Class = /** @class */ (() => {
61
- function Class(method, specs) {
62
- var _a
63
- if (
64
- method === Methods.RNG &&
65
- ((specs === null || specs === void 0 ? void 0 : specs.url) ||
66
- (specs === null || specs === void 0 ? void 0 : specs.headers) ||
67
- (specs === null || specs === void 0 ? void 0 : specs.body))
68
- ) {
69
- throw EvalError("\x1b[1;33mRetrieval: badly specified RNG\x1b[0m")
70
- } else if (
71
- !(specs === null || specs === void 0 ? void 0 : specs.url) &&
72
- (method == Methods.HttpPost || method == Methods.HttpGet)
73
- ) {
74
- throw EvalError("\x1b[1;33mRetrieval: URL must be specified\x1b[0m")
75
- } else if (
76
- (specs === null || specs === void 0 ? void 0 : specs.body) &&
77
- method == Methods.HttpGet
78
- ) {
79
- throw EvalError(
80
- "\x1b[1;33mWitnet.Sources: body cannot be specified here\x1b[0m",
81
- )
82
- }
83
- this.method = method
84
- this.headers = []
85
- if (specs === null || specs === void 0 ? void 0 : specs.headers) {
86
- if (specs.headers instanceof Map) {
87
- specs.headers.forEach((value, key) => {
88
- var _a
89
- return (_a = this.headers) === null || _a === void 0
90
- ? void 0
91
- : _a.push([key, value])
92
- })
93
- } else {
94
- Object.entries(specs.headers).forEach((entry) => {
95
- var _a
96
- return (_a = this.headers) === null || _a === void 0
97
- ? void 0
98
- : _a.push(entry)
99
- })
100
- }
101
- }
102
- this.body = specs === null || specs === void 0 ? void 0 : specs.body
103
- this.script = specs === null || specs === void 0 ? void 0 : specs.script
104
- if (specs === null || specs === void 0 ? void 0 : specs.url) {
105
- this.url = specs.url
106
- if (!utils.isWildcard(specs.url)) {
107
- var parts = utils.parseURL(specs.url)
108
- this.schema = parts[0]
109
- if (parts[1] !== "") this.authority = parts[1]
110
- if (parts[2] !== "") this.path = parts[2]
111
- if (parts[3] !== "") this.query = parts[3]
112
- }
113
- }
114
- this.argsCount = Math.max.apply(
115
- Math,
116
- __spreadArray(
117
- __spreadArray(
118
- [
119
- utils.getMaxArgsIndexFromString(
120
- specs === null || specs === void 0 ? void 0 : specs.url,
121
- ),
122
- utils.getMaxArgsIndexFromString(
123
- specs === null || specs === void 0 ? void 0 : specs.body,
124
- ),
125
- ],
126
- __read(
127
- this.headers.map((header) =>
128
- utils.getMaxArgsIndexFromString(header[1]),
129
- ),
130
- ),
131
- false,
132
- ),
133
- [
134
- ((_a = specs === null || specs === void 0 ? void 0 : specs.script) ===
135
- null || _a === void 0
136
- ? void 0
137
- : _a._countArgs()) || 0,
138
- ],
139
- false,
140
- ),
141
- )
142
- this.tuples = specs === null || specs === void 0 ? void 0 : specs.tuples
143
- }
144
- /**
145
- * Creates clones of this retrieval where all occurences of the specified parameter
146
- * are replaced by the given values. Fails if the retrieval refers no parameters,
147
- * or if the specified index is not referred by it.
148
- * @param argIndex Index of the parameter upon which the new instances will be created.
149
- * @param values Values used for the creation of the new sources.
150
- * @returns An array with as many sources as spawning values were specified.
151
- */
152
- Class.prototype.spawn = function (argIndex, values) {
153
- var spawned = []
154
- if (this.argsCount == 0) {
155
- throw new EvalError(
156
- "\u001B[1;33mRetrieval: cannot spawn over unparameterized retrieval\u001B[0m",
157
- )
158
- } else if (argIndex > this.argsCount) {
159
- throw new EvalError(
160
- "\u001B[1;33mRetrieval: spawning parameter index out of range: "
161
- .concat(argIndex, " > ")
162
- .concat(this.argsCount, "\u001B[0m"),
163
- )
164
- }
165
- values.forEach((value) => {
166
- var _a
167
- var headers = new Map()
168
- if (this.headers) {
169
- this.headers.forEach((header) => {
170
- headers.set(
171
- utils.spliceWildcards(header[0], argIndex, value, this.argsCount),
172
- utils.spliceWildcards(header[1], argIndex, value, this.argsCount),
173
- )
174
- })
175
- }
176
- var script =
177
- (_a = this.script) === null || _a === void 0
178
- ? void 0
179
- : _a._spliceWildcards(argIndex, value)
180
- spawned.push(
181
- new Class(this.method, {
182
- url: utils.spliceWildcards(this.url, argIndex, value, this.argsCount),
183
- body: utils.spliceWildcards(
184
- this.body,
185
- argIndex,
186
- value,
187
- this.argsCount,
188
- ),
189
- headers: headers,
190
- script: script,
191
- }),
192
- )
193
- })
194
- return spawned
195
- }
196
- return Class
197
- })()
198
- exports.Class = Class
199
- /**
200
- * Creates a Witnet randomness Radon Retrieval.
201
- * @param script (Optional) Radon Script to apply to the random seed proposed by every single witness,
202
- * before aggregation.
203
- */
204
- function RNG(script) {
205
- return new Class(Methods.RNG, { script: script })
206
- }
207
- exports.RNG = RNG
208
- /**
209
- * Creates a Witnet HTTP/GET Radon Retrieval.
210
- * @param specs Retrieval parameters: URL, http headers (optional), Radon script (optional),
211
- * pre-set tuples (optional to parameterized sources, only).
212
- */
213
- function HttpGet(specs) {
214
- return new Class(Methods.HttpGet, {
215
- url: specs.url,
216
- headers: specs.headers,
217
- script: specs.script,
218
- tuples: specs.tuples,
219
- })
220
- }
221
- exports.HttpGet = HttpGet
222
- /**
223
- * Creates a Witnet HTTP/HEAD Radon Retrieval.
224
- * @param specs Retrieval parameters: URL, http headers (optional), Radon script (optional),
225
- * pre-set tuples (optional to parameterized sources, only).
226
- */
227
- function HttpHead(specs) {
228
- return new Class(Methods.HttpHead, {
229
- url: specs.url,
230
- headers: specs.headers,
231
- script: specs.script,
232
- tuples: specs.tuples,
233
- })
234
- }
235
- exports.HttpHead = HttpHead
236
- /**
237
- * Creates a Witnet HTTP/POST Radon Retrieval.
238
- * @param specs Retrieval parameters: URL, HTTP body (optional), HTTP headers (optional), Radon Script (optional),
239
- * pre-set tuples (optional to parameterized sources, only).
240
- */
241
- function HttpPost(specs) {
242
- return new Class(Methods.HttpPost, {
243
- url: specs === null || specs === void 0 ? void 0 : specs.url,
244
- headers: specs === null || specs === void 0 ? void 0 : specs.headers,
245
- body: specs === null || specs === void 0 ? void 0 : specs.body,
246
- script: specs === null || specs === void 0 ? void 0 : specs.script,
247
- tuples: specs === null || specs === void 0 ? void 0 : specs.tuples,
248
- })
249
- }
250
- exports.HttpPost = HttpPost
251
- /**
252
- * Creates a Witnet GraphQL Radon Retrieval (built on top of an HTTP/POST request).
253
- * @param specs Retrieval parameters: URL, GraphQL query string, Radon Script (optional),
254
- * pre-set tuples (optional to parameterized sources, only).
255
- */
256
- function GraphQLQuery(specs) {
257
- return new Class(Methods.HttpPost, {
258
- url: specs.url,
259
- body: '{"query":"'.concat(
260
- (0, graphql_query_compress_1.default)(specs.query).replaceAll('"', '\\"'),
261
- '"}',
262
- ),
263
- headers: new Map().set("Content-Type", "application/json"),
264
- script:
265
- (specs === null || specs === void 0 ? void 0 : specs.script) ||
266
- new types_1.RadonString(),
267
- tuples: specs === null || specs === void 0 ? void 0 : specs.tuples,
268
- })
269
- }
270
- exports.GraphQLQuery = GraphQLQuery
271
- /**
272
- * Creates a Cross Chain Data Source built on top of a HTTP/POST request.
273
- * @param specs Retrieval parameters: RPC provider URL, RPC object encapsulating method and parameters,
274
- * Radon Script (optional) to apply to returned value, and pre-set tuples (optional to parameterized sources, only).
275
- */
276
- function CrossChainDataSource(specs) {
277
- var _a
278
- return new Class(Methods.HttpPost, {
279
- url: specs.url,
280
- body: JSON.stringify({
281
- jsonrpc: "2.0",
282
- method: specs.rpc.method,
283
- params: (_a = specs.rpc) === null || _a === void 0 ? void 0 : _a.params,
284
- id: 1,
285
- }).replaceAll("\\\\", "\\"),
286
- headers: new Map().set("Content-Type", "application/json"),
287
- script:
288
- (specs === null || specs === void 0 ? void 0 : specs.script) ||
289
- new types_1.RadonString(),
290
- tuples: specs === null || specs === void 0 ? void 0 : specs.tuples,
291
- })
292
- }
293
- exports.CrossChainDataSource = CrossChainDataSource
294
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcmFkb24vc291cmNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBRWhDLGtGQUFvRDtBQUNwRCxpQ0FBMEU7QUFHMUUsSUFBSyxPQU1KO0FBTkQsV0FBSyxPQUFPO0lBQ1IscUNBQVUsQ0FBQTtJQUNWLDJDQUFjLENBQUE7SUFDZCw2Q0FBZSxDQUFBO0lBQ2YsNkNBQWUsQ0FBQTtJQUNmLG1DQUFVLENBQUE7QUFDZCxDQUFDLEVBTkksT0FBTyxLQUFQLE9BQU8sUUFNWDtBQVVEO0lBWUksZUFBWSxNQUFlLEVBQUUsS0FBYTtRQUExQyxpQkFvQ0M7O1FBbkNHLElBQUksTUFBTSxLQUFLLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxHQUFHLE1BQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE9BQU8sQ0FBQSxLQUFJLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxJQUFJLENBQUEsQ0FBQyxFQUFFLENBQUM7WUFDMUUsTUFBTSxTQUFTLENBQUMsaURBQWlELENBQUMsQ0FBQztRQUN2RSxDQUFDO2FBQU0sSUFBSSxDQUFDLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLEdBQUcsQ0FBQSxJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2xGLE1BQU0sU0FBUyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7UUFDekUsQ0FBQzthQUFNLElBQUksQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsSUFBSSxLQUFJ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UCxDQUFDO0FBYkQsb0NBYUM7QUFBQSxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILFNBQWdCLG9CQUFvQixDQUFFLEtBS3JDOztJQUNHLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtRQUMvQixHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7UUFDZCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNqQixPQUFPLEVBQUUsS0FBSztZQUNkLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU07WUFDeEIsTUFBTSxFQUFFLE1BQUEsS0FBSyxDQUFDLEdBQUcsMENBQUUsTUFBTTtZQUN6QixFQUFFLEVBQUUsQ0FBQztTQUNSLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQztRQUMzQixPQUFPLEVBQUUsSUFBSSxHQUFHLEVBQWlCLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQztRQUN6RSxNQUFNLEVBQUUsQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsTUFBTSxLQUFJLElBQUksbUJBQWEsRUFBRTtRQUM1QyxNQUFNLEVBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE1BQU07S0FDeEIsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQWxCRCxvREFrQkM7QUFBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgdXRpbHMgPSByZXF1aXJlKFwiLi91dGlsc1wiKVxuXG5pbXBvcnQgZ3JhcGhRbENvbXByZXNzIGZyb20gXCJncmFwaHFsLXF1ZXJ5LWNvbXByZXNzXCJcbmltcG9ydCB7IFJhZG9uVHlwZSBhcyBTY3JpcHQsIFJhZG9uU3RyaW5nIGFzIERlZmF1bHRTY3JpcHR9IGZyb20gXCIuL3R5cGVzXCJcbmltcG9ydCB7IENhbGwgYXMgUlBDIH0gZnJvbSBcIi4vY2NkclwiXG5cbmVudW0gTWV0aG9kcyB7XG4gICAgTm9uZSA9IDB4MCxcbiAgICBIdHRwR2V0ID0gMHgwMSxcbiAgICBIdHRwSGVhZCA9IDB4MDQsXG4gICAgSHR0cFBvc3QgPSAweDAzLFxuICAgIFJORyA9IDB4MDIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3BlY3Mge1xuICAgIHVybD86IHN0cmluZyxcbiAgICBoZWFkZXJzPzogTWFwPHN0cmluZywgc3RyaW5nPixcbiAgICBib2R5Pzogc3RyaW5nLFxuICAgIHNjcmlwdD86IFNjcmlwdCxcbiAgICB0dXBsZXM/OiBNYXA8c3RyaW5nLCBzdHJpbmdbXT4sXG59XG5cbmV4cG9ydCBjbGFzcyBDbGFzcyB7XG4gICAgcHVibGljIGFyZ3NDb3VudDogbnVtYmVyO1xuICAgIHB1YmxpYyBhdXRob3JpdHk/OiBzdHJpbmc7XG4gICAgcHVibGljIGJvZHk/OiBzdHJpbmc7XG4gICAgcHVibGljIGhlYWRlcnM/OiBzdHJpbmdbXVtdO1xuICAgIHB1YmxpYyBtZXRob2Q6IE1ldGhvZHM7XG4gICAgcHVibGljIHBhdGg/OiBzdHJpbmc7XG4gICAgcHVibGljIHF1ZXJ5Pzogc3RyaW5nO1xuICAgIHB1YmxpYyBzY2hlbWE/OiBzdHJpbmc7XG4gICAgcHVibGljIHNjcmlwdD86IFNjcmlwdDtcbiAgICBwdWJsaWMgdXJsPzogc3RyaW5nO1xuICAgIHB1YmxpYyB0dXBsZXM/OiBNYXA8c3RyaW5nLCBzdHJpbmdbXT47XG4gICAgY29uc3RydWN0b3IobWV0aG9kOiBNZXRob2RzLCBzcGVjcz86IFNwZWNzKSB7XG4gICAgICAgIGlmIChtZXRob2QgPT09IE1ldGhvZHMuUk5HICYmIChzcGVjcz8udXJsIHx8IHNwZWNzPy5oZWFkZXJzIHx8IHNwZWNzPy5ib2R5KSkge1xuICAgICAgICAgICAgdGhyb3cgRXZhbEVycm9yKFwiXFx4MWJbMTszM21SZXRyaWV2YWw6IGJhZGx5IHNwZWNpZmllZCBSTkdcXHgxYlswbVwiKTtcbiAgICAgICAgfSBlbHNlIGlmICghc3BlY3M/LnVybCAmJiAobWV0aG9kID09IE1ldGhvZHMuSHR0cFBvc3QgfHwgbWV0aG9kID09IE1ldGhvZHMuSHR0cEdldCkpIHtcbiAgICAgICAgICAgIHRocm93IEV2YWxFcnJvcihcIlxceDFiWzE7MzNtUmV0cmlldmFsOiBVUkwgbXVzdCBiZSBzcGVjaWZpZWRcXHgxYlswbVwiKTtcbiAgICAgICAgfSBlbHNlIGlmIChzcGVjcz8uYm9keSAmJiBtZXRob2QgPT0gTWV0aG9kcy5IdHRwR2V0KSB7XG4gICAgICAgICAgICB0aHJvdyBFdmFsRXJyb3IoXCJcXHgxYlsxOzMzbVdpdG5ldC5Tb3VyY2VzOiBib2R5IGNhbm5vdCBiZSBzcGVjaWZpZWQgaGVyZVxceDFiWzBtXCIpXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tZXRob2QgPSBtZXRob2RcbiAgICAgICAgdGhpcy5oZWFkZXJzID0gW11cbiAgICAgICAgaWYgKHNwZWNzPy5oZWFkZXJzKSB7XG4gICAgICAgICAgICBpZiAoc3BlY3MuaGVhZGVycyBpbnN0YW5jZW9mIE1hcCkge1xuICAgICAgICAgICAgICAgIHNwZWNzLmhlYWRlcnMuZm9yRWFjaCgodmFsdWU6IHN0cmluZywga2V5OiBzdHJpbmcpID0+IHRoaXMuaGVhZGVycz8ucHVzaChba2V5LCB2YWx1ZV0pKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhzcGVjcy5oZWFkZXJzKS5mb3JFYWNoKChlbnRyeTogYW55KSA9PiB0aGlzLmhlYWRlcnM/LnB1c2goZW50cnkpKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuYm9keSA9IHNwZWNzPy5ib2R5XG4gICAgICAgIHRoaXMuc2NyaXB0ID0gc3BlY3M/LnNjcmlwdFxuICAgICAgICBpZiAoc3BlY3M/LnVybCkge1xuICAgICAgICAgICAgdGhpcy51cmwgPSBzcGVjcy51cmxcbiAgICAgICAgICAgIGlmICghdXRpbHMuaXNXaWxkY2FyZChzcGVjcy51cmwpKSB7XG4gICAgICAgICAgICAgICAgbGV0IHBhcnRzID0gdXRpbHMucGFyc2VVUkwoc3BlY3MudXJsKVxuICAgICAgICAgICAgICAgIHRoaXMuc2NoZW1hID0gcGFydHNbMF1cbiAgICAgICAgICAgICAgICBpZiAocGFydHNbMV0gIT09IFwiXCIpIHRoaXMuYXV0aG9yaXR5ID0gcGFydHNbMV1cbiAgICAgICAgICAgICAgICBpZiAocGFydHNbMl0gIT09IFwiXCIpIHRoaXMucGF0aCA9IHBhcnRzWzJdXG4gICAgICAgICAgICAgICAgaWYgKHBhcnRzWzNdICE9PSBcIlwiKSB0aGlzLnF1ZXJ5ID0gcGFydHNbM11cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFyZ3NDb3VudCA9IE1hdGgubWF4KFxuICAgICAgICAgICAgdXRpbHMuZ2V0TWF4QXJnc0luZGV4RnJvbVN0cmluZyhzcGVjcz8udXJsKSxcbiAgICAgICAgICAgIHV0aWxzLmdldE1heEFyZ3NJbmRleEZyb21TdHJpbmcoc3BlY3M/LmJvZHkpLFxuICAgICAgICAgICAgLi4udGhpcy5oZWFkZXJzLm1hcChoZWFkZXIgPT4gdXRpbHMuZ2V0TWF4QXJnc0luZGV4RnJvbVN0cmluZyhoZWFkZXJbMV0pKSxcbiAgICAgICAgICAgIHNwZWNzPy5zY3JpcHQ/Ll9jb3VudEFyZ3MoKSB8fCAwLFxuICAgICAgICApXG4gICAgICAgIHRoaXMudHVwbGVzID0gc3BlY3M/LnR1cGxlc1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGNsb25lcyBvZiB0aGlzIHJldHJpZXZhbCB3aGVyZSBhbGwgb2NjdXJlbmNlcyBvZiB0aGUgc3BlY2lmaWVkIHBhcmFtZXRlciBcbiAgICAgKiBhcmUgcmVwbGFjZWQgYnkgdGhlIGdpdmVuIHZhbHVlcy4gRmFpbHMgaWYgdGhlIHJldHJpZXZhbCByZWZlcnMgbm8gcGFyYW1ldGVycyxcbiAgICAgKiBvciBpZiB0aGUgc3BlY2lmaWVkIGluZGV4IGlzIG5vdCByZWZlcnJlZCBieSBpdC4gXG4gICAgICogQHBhcmFtIGFyZ0luZGV4IEluZGV4IG9mIHRoZSBwYXJhbWV0ZXIgdXBvbiB3aGljaCB0aGUgbmV3IGluc3RhbmNlcyB3aWxsIGJlIGNyZWF0ZWQuXG4gICAgICogQHBhcmFtIHZhbHVlcyBWYWx1ZXMgdXNlZCBmb3IgdGhlIGNyZWF0aW9uIG9mIHRoZSBuZXcgc291cmNlcy4gXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgd2l0aCBhcyBtYW55IHNvdXJjZXMgYXMgc3Bhd25pbmcgdmFsdWVzIHdlcmUgc3BlY2lmaWVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBzcGF3bihhcmdJbmRleDogbnVtYmVyLCB2YWx1ZXM6IHN0cmluZ1tdKTogQ2xhc3NbXSB7XG4gICAgICAgIGNvbnN0IHNwYXduZWQ6IENsYXNzW10gPSBbXVxuICAgICAgICBpZiAodGhpcy5hcmdzQ291bnQgPT0gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEV2YWxFcnJvcihgXFx4MWJbMTszM21SZXRyaWV2YWw6IGNhbm5vdCBzcGF3biBvdmVyIHVucGFyYW1ldGVyaXplZCByZXRyaWV2YWxcXHgxYlswbWApO1xuICAgICAgICB9IGVsc2UgaWYgKGFyZ0luZGV4ID4gdGhpcy5hcmdzQ291bnQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFdmFsRXJyb3IoYFxceDFiWzE7MzNtUmV0cmlldmFsOiBzcGF3bmluZyBwYXJhbWV0ZXIgaW5kZXggb3V0IG9mIHJhbmdlOiAke2FyZ0luZGV4fSA+ICR7dGhpcy5hcmdzQ291bnR9XFx4MWJbMG1gKTtcbiAgICAgICAgfVxuICAgICAgICB2YWx1ZXMuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICBsZXQgaGVhZGVyczogTWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXAoKVxuICAgICAgICAgICAgaWYgKHRoaXMuaGVhZGVycykge1xuICAgICAgICAgICAgICAgIHRoaXMuaGVhZGVycy5mb3JFYWNoKGhlYWRlciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnMuc2V0KFxuICAgICAgICAgICAgICAgICAgICAgICAgdXRpbHMuc3BsaWNlV2lsZGNhcmRzKGhlYWRlclswXSwgYXJnSW5kZXgsIHZhbHVlLCB0aGlzLmFyZ3NDb3VudCksXG4gICAgICAgICAgICAgICAgICAgICAgICB1dGlscy5zcGxpY2VXaWxkY2FyZHMoaGVhZGVyWzFdLCBhcmdJbmRleCwgdmFsdWUsIHRoaXMuYXJnc0NvdW50KSxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBzY3JpcHQ6IFNjcmlwdCB8IHVuZGVmaW5lZCA9IHRoaXMuc2NyaXB0Py5fc3BsaWNlV2lsZGNhcmRzKGFyZ0luZGV4LCB2YWx1ZSk7XG4gICAgICAgICAgICBzcGF3bmVkLnB1c2gobmV3IENsYXNzKHRoaXMubWV0aG9kLCB7XG4gICAgICAgICAgICAgICAgdXJsOiB1dGlscy5zcGxpY2VXaWxkY2FyZHModGhpcy51cmwsIGFyZ0luZGV4LCB2YWx1ZSwgdGhpcy5hcmdzQ291bnQpLFxuICAgICAgICAgICAgICAgIGJvZHk6IHV0aWxzLnNwbGljZVdpbGRjYXJkcyh0aGlzLmJvZHksIGFyZ0luZGV4LCB2YWx1ZSwgdGhpcy5hcmdzQ291bnQpLFxuICAgICAgICAgICAgICAgIGhlYWRlcnMsIHNjcmlwdCxcbiAgICAgICAgICAgIH0pKVxuICAgICAgICB9KVxuICAgICAgICByZXR1cm4gc3Bhd25lZFxuICAgIH1cbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgV2l0bmV0IHJhbmRvbW5lc3MgUmFkb24gUmV0cmlldmFsLlxuICogQHBhcmFtIHNjcmlwdCAoT3B0aW9uYWwpIFJhZG9uIFNjcmlwdCB0byBhcHBseSB0byB0aGUgcmFuZG9tIHNlZWQgcHJvcG9zZWQgYnkgZXZlcnkgc2luZ2xlIHdpdG5lc3MsIFxuICogYmVmb3JlIGFnZ3JlZ2F0aW9uLlxuICAqL1xuZXhwb3J0IGZ1bmN0aW9uIFJORyAoc2NyaXB0PzogYW55KSB7IHJldHVybiBuZXcgQ2xhc3MoTWV0aG9kcy5STkcsIHsgc2NyaXB0IH0pOyB9O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBXaXRuZXQgSFRUUC9HRVQgUmFkb24gUmV0cmlldmFsLlxuICogQHBhcmFtIHNwZWNzIFJldHJpZXZhbCBwYXJhbWV0ZXJzOiBVUkwsIGh0dHAgaGVhZGVycyAob3B0aW9uYWwpLCBSYWRvbiBzY3JpcHQgKG9wdGlvbmFsKSwgXG4gKiBwcmUtc2V0IHR1cGxlcyAob3B0aW9uYWwgdG8gcGFyYW1ldGVyaXplZCBzb3VyY2VzLCBvbmx5KS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEh0dHBHZXQgKHNwZWNzOiB7XG4gICAgdXJsOiBzdHJpbmcsXG4gICAgaGVhZGVycz86IE1hcDxzdHJpbmcsIHN0cmluZz4sXG4gICAgc2NyaXB0PzogU2NyaXB0LFxuICAgIHR1cGxlcz86IE1hcDxzdHJpbmcsIHN0cmluZ1tdPlxufSkge1xuICAgIHJldHVybiBuZXcgQ2xhc3MoXG4gICAgICAgIE1ldGhvZHMuSHR0cEdldCwgeyBcbiAgICAgICAgICAgIHVybDogc3BlY3MudXJsLCBcbiAgICAgICAgICAgIGhlYWRlcnM6IHNwZWNzLmhlYWRlcnMsIFxuICAgICAgICAgICAgc2NyaXB0OiBzcGVjcy5zY3JpcHQsIFxuICAgICAgICAgICAgdHVwbGVzOiBzcGVjcy50dXBsZXMgXG4gICAgICAgIH1cbiAgICApO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgV2l0bmV0IEhUVFAvSEVBRCBSYWRvbiBSZXRyaWV2YWwuXG4gKiBAcGFyYW0gc3BlY3MgUmV0cmlldmFsIHBhcmFtZXRlcnM6IFVSTCwgaHR0cCBoZWFkZXJzIChvcHRpb25hbCksIFJhZG9uIHNjcmlwdCAob3B0aW9uYWwpLCBcbiAqIHByZS1zZXQgdHVwbGVzIChvcHRpb25hbCB0byBwYXJhbWV0ZXJpemVkIHNvdXJjZXMsIG9ubHkpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gSHR0cEhlYWQgKHNwZWNzOiB7XG4gICAgdXJsOiBzdHJpbmcsXG4gICAgaGVhZGVycz86IE1hcDxzdHJpbmcsIHN0cmluZz4sXG4gICAgc2NyaXB0PzogU2NyaXB0LFxuICAgIHR1cGxlcz86IE1hcDxzdHJpbmcsIHN0cmluZ1tdPlxufSkge1xuICAgIHJldHVybiBuZXcgQ2xhc3MoXG4gICAgICAgIE1ldGhvZHMuSHR0cEhlYWQsIHsgXG4gICAgICAgICAgICB1cmw6IHNwZWNzLnVybCwgXG4gICAgICAgICAgICBoZWFkZXJzOiBzcGVjcy5oZWFkZXJzLCBcbiAgICAgICAgICAgIHNjcmlwdDogc3BlY3Muc2NyaXB0LCBcbiAgICAgICAgICAgIHR1cGxlczogc3BlY3MudHVwbGVzIFxuICAgICAgICB9XG4gICAgKTtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIFdpdG5ldCBIVFRQL1BPU1QgUmFkb24gUmV0cmlldmFsLlxuICogQHBhcmFtIHNwZWNzIFJldHJpZXZhbCBwYXJhbWV0ZXJzOiBVUkwsIEhUVFAgYm9keSAob3B0aW9uYWwpLCBIVFRQIGhlYWRlcnMgKG9wdGlvbmFsKSwgUmFkb24gU2NyaXB0IChvcHRpb25hbCksIFxuICogcHJlLXNldCB0dXBsZXMgKG9wdGlvbmFsIHRvIHBhcmFtZXRlcml6ZWQgc291cmNlcywgb25seSkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBIdHRwUG9zdCAoc3BlY3M/OiB7XG4gICAgdXJsOiBzdHJpbmcsXG4gICAgYm9keTogc3RyaW5nLFxuICAgIGhlYWRlcnM/OiBNYXA8c3RyaW5nLCBzdHJpbmc+LFxuICAgIHNjcmlwdD86IFNjcmlwdCxcbiAgICB0dXBsZXM/OiBNYXA8c3RyaW5nLCBzdHJpbmdbXT4gICBcbn0pIHtcbiAgICByZXR1cm4gbmV3IENsYXNzKFxuICAgICAgICBNZXRob2RzLkh0dHBQb3N0LCB7IFxuICAgICAgICAgICAgdXJsOiBzcGVjcz8udXJsLCBcbiAgICAgICAgICAgIGhlYWRlcnM6IHNwZWNzPy5oZWFkZXJzLCBcbiAgICAgICAgICAgIGJvZHk6IHNwZWNzPy5ib2R5LCBcbiAgICAgICAgICAgIHNjcmlwdDogc3BlY3M/LnNjcmlwdCwgXG4gICAgICAgICAgICB0dXBsZXM6IHNwZWNzPy50dXBsZXMgXG4gICAgICAgIH1cbiAgICApO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgV2l0bmV0IEdyYXBoUUwgUmFkb24gUmV0cmlldmFsIChidWlsdCBvbiB0b3Agb2YgYW4gSFRUUC9QT1NUIHJlcXVlc3QpLlxuICogQHBhcmFtIHNwZWNzIFJldHJpZXZhbCBwYXJhbWV0ZXJzOiBVUkwsIEdyYXBoUUwgcXVlcnkgc3RyaW5nLCBSYWRvbiBTY3JpcHQgKG9wdGlvbmFsKSwgXG4gKiBwcmUtc2V0IHR1cGxlcyAob3B0aW9uYWwgdG8gcGFyYW1ldGVyaXplZCBzb3VyY2VzLCBvbmx5KS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEdyYXBoUUxRdWVyeSAoc3BlY3M6IHsgXG4gICAgdXJsOiBzdHJpbmcsIFxuICAgIHF1ZXJ5OiBzdHJpbmcsIFxuICAgIHNjcmlwdD86IFNjcmlwdCwgIFxuICAgIHR1cGxlcz86IE1hcDxzdHJpbmcsIHN0cmluZ1tdPixcbn0pIHtcbiAgICByZXR1cm4gbmV3IENsYXNzKE1ldGhvZHMuSHR0cFBvc3QsIHtcbiAgICAgICAgdXJsOiBzcGVjcy51cmwsIFxuICAgICAgICBib2R5OiBge1xcXCJxdWVyeVxcXCI6XFxcIiR7Z3JhcGhRbENvbXByZXNzKHNwZWNzLnF1ZXJ5KS5yZXBsYWNlQWxsKCdcIicsICdcXFxcXCInKX1cXFwifWAsXG4gICAgICAgIGhlYWRlcnM6IG5ldyBNYXA8c3RyaW5nLHN0cmluZz4oKS5zZXQoXCJDb250ZW50LVR5cGVcIiwgXCJhcHBsaWNhdGlvbi9qc29uXCIpLFxuICAgICAgICBzY3JpcHQ6IHNwZWNzPy5zY3JpcHQgfHwgbmV3IERlZmF1bHRTY3JpcHQoKSxcbiAgICAgICAgdHVwbGVzOiBzcGVjcz8udHVwbGVzXG4gICAgfSk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBDcm9zcyBDaGFpbiBEYXRhIFNvdXJjZSBidWlsdCBvbiB0b3Agb2YgYSBIVFRQL1BPU1QgcmVxdWVzdC5cbiAqIEBwYXJhbSBzcGVjcyBSZXRyaWV2YWwgcGFyYW1ldGVyczogUlBDIHByb3ZpZGVyIFVSTCwgUlBDIG9iamVjdCBlbmNhcHN1bGF0aW5nIG1ldGhvZCBhbmQgcGFyYW1ldGVycywgXG4gKiBSYWRvbiBTY3JpcHQgKG9wdGlvbmFsKSB0byBhcHBseSB0byByZXR1cm5lZCB2YWx1ZSwgYW5kIHByZS1zZXQgdHVwbGVzIChvcHRpb25hbCB0byBwYXJhbWV0ZXJpemVkIHNvdXJjZXMsIG9ubHkpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQ3Jvc3NDaGFpbkRhdGFTb3VyY2UgKHNwZWNzOiB7XG4gICAgdXJsOiBzdHJpbmcsXG4gICAgcnBjOiBSUEMsXG4gICAgc2NyaXB0PzogU2NyaXB0LFxuICAgIHR1cGxlcz86IE1hcDxzdHJpbmcsIHN0cmluZ1tdPlxufSkge1xuICAgIHJldHVybiBuZXcgQ2xhc3MoTWV0aG9kcy5IdHRwUG9zdCwge1xuICAgICAgICB1cmw6IHNwZWNzLnVybCxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAganNvbnJwYzogXCIyLjBcIixcbiAgICAgICAgICAgIG1ldGhvZDogc3BlY3MucnBjLm1ldGhvZCxcbiAgICAgICAgICAgIHBhcmFtczogc3BlY3MucnBjPy5wYXJhbXMsXG4gICAgICAgICAgICBpZDogMSxcbiAgICAgICAgfSkucmVwbGFjZUFsbCgnXFxcXFxcXFwnLCAnXFxcXCcpLFxuICAgICAgICBoZWFkZXJzOiBuZXcgTWFwPHN0cmluZyxzdHJpbmc+KCkuc2V0KFwiQ29udGVudC1UeXBlXCIsIFwiYXBwbGljYXRpb24vanNvblwiKSxcbiAgICAgICAgc2NyaXB0OiBzcGVjcz8uc2NyaXB0IHx8IG5ldyBEZWZhdWx0U2NyaXB0KCksXG4gICAgICAgIHR1cGxlczogc3BlY3M/LnR1cGxlc1xuICAgIH0pO1xufTtcbiJdfQ==