@witnet/sdk 1.0.1 → 1.0.4

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/bin/helpers.d.ts +88 -0
  5. package/dist/bin/helpers.d.ts.map +1 -0
  6. package/dist/bin/helpers.js +866 -0
  7. package/dist/index.d.ts +4 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +42 -0
  10. package/dist/lib/crypto/account.d.ts +18 -0
  11. package/dist/lib/crypto/account.d.ts.map +1 -0
  12. package/dist/lib/crypto/account.js +152 -0
  13. package/dist/lib/crypto/coinbase.d.ts +9 -0
  14. package/dist/lib/crypto/coinbase.d.ts.map +1 -0
  15. package/dist/lib/crypto/coinbase.js +39 -0
  16. package/dist/lib/crypto/index.d.ts +7 -0
  17. package/dist/lib/crypto/index.d.ts.map +1 -0
  18. package/dist/lib/crypto/index.js +28 -0
  19. package/dist/lib/crypto/interfaces.d.ts +80 -0
  20. package/dist/lib/crypto/interfaces.d.ts.map +1 -0
  21. package/dist/lib/crypto/interfaces.js +3 -0
  22. package/dist/lib/crypto/payloads/DataRequestPayload.d.ts +47 -0
  23. package/dist/lib/crypto/payloads/DataRequestPayload.d.ts.map +1 -0
  24. package/dist/lib/crypto/payloads/DataRequestPayload.js +384 -0
  25. package/dist/lib/crypto/payloads/StakePayload.d.ts +27 -0
  26. package/dist/lib/crypto/payloads/StakePayload.d.ts.map +1 -0
  27. package/dist/lib/crypto/payloads/StakePayload.js +184 -0
  28. package/dist/lib/crypto/payloads/UnstakePayload.d.ts +35 -0
  29. package/dist/lib/crypto/payloads/UnstakePayload.d.ts.map +1 -0
  30. package/dist/lib/crypto/payloads/UnstakePayload.js +244 -0
  31. package/dist/lib/crypto/payloads/ValueTransferPayload.d.ts +24 -0
  32. package/dist/lib/crypto/payloads/ValueTransferPayload.d.ts.map +1 -0
  33. package/dist/lib/crypto/payloads/ValueTransferPayload.js +182 -0
  34. package/dist/lib/crypto/payloads.d.ts +54 -0
  35. package/dist/lib/crypto/payloads.d.ts.map +1 -0
  36. package/dist/lib/crypto/payloads.js +224 -0
  37. package/dist/lib/crypto/signer.d.ts +26 -0
  38. package/dist/lib/crypto/signer.d.ts.map +1 -0
  39. package/dist/lib/crypto/signer.js +299 -0
  40. package/dist/lib/crypto/transmitters/DataRequests.d.ts +14 -0
  41. package/dist/lib/crypto/transmitters/DataRequests.d.ts.map +1 -0
  42. package/dist/lib/crypto/transmitters/DataRequests.js +62 -0
  43. package/dist/lib/crypto/transmitters/StakeDeposits.d.ts +11 -0
  44. package/dist/lib/crypto/transmitters/StakeDeposits.d.ts.map +1 -0
  45. package/dist/lib/crypto/transmitters/StakeDeposits.js +48 -0
  46. package/dist/lib/crypto/transmitters/StakeWithdrawals.d.ts +17 -0
  47. package/dist/lib/crypto/transmitters/StakeWithdrawals.d.ts.map +1 -0
  48. package/dist/lib/crypto/transmitters/StakeWithdrawals.js +115 -0
  49. package/dist/lib/crypto/transmitters/ValueTransfers.d.ts +10 -0
  50. package/dist/lib/crypto/transmitters/ValueTransfers.d.ts.map +1 -0
  51. package/dist/lib/crypto/transmitters/ValueTransfers.js +47 -0
  52. package/dist/lib/crypto/transmitters.d.ts +46 -0
  53. package/dist/lib/crypto/transmitters.d.ts.map +1 -0
  54. package/dist/lib/crypto/transmitters.js +506 -0
  55. package/dist/lib/crypto/types.d.ts +127 -0
  56. package/dist/lib/crypto/types.d.ts.map +1 -0
  57. package/dist/lib/crypto/types.js +261 -0
  58. package/dist/lib/crypto/utils.d.ts +10 -0
  59. package/dist/lib/crypto/utils.d.ts.map +1 -0
  60. package/dist/lib/crypto/utils.js +97 -0
  61. package/dist/lib/crypto/wallet.d.ts +26 -0
  62. package/dist/lib/crypto/wallet.d.ts.map +1 -0
  63. package/dist/lib/crypto/wallet.js +327 -0
  64. package/dist/lib/helpers.d.ts +90 -0
  65. package/dist/lib/helpers.d.ts.map +1 -0
  66. package/dist/lib/helpers.js +1031 -0
  67. package/dist/lib/index.d.ts +5 -0
  68. package/dist/lib/index.d.ts.map +1 -0
  69. package/dist/lib/index.js +21 -0
  70. package/dist/lib/radon/artifacts.d.ts +55 -0
  71. package/dist/lib/radon/artifacts.d.ts.map +1 -0
  72. package/dist/lib/radon/artifacts.js +347 -0
  73. package/dist/lib/radon/ccdr/eth.d.ts +100 -0
  74. package/dist/lib/radon/ccdr/eth.d.ts.map +1 -0
  75. package/dist/lib/radon/ccdr/eth.js +237 -0
  76. package/dist/lib/radon/ccdr/index.d.ts +34 -0
  77. package/dist/lib/radon/ccdr/index.d.ts.map +1 -0
  78. package/dist/lib/radon/ccdr/index.js +63 -0
  79. package/dist/lib/radon/ccdr/wit.d.ts +29 -0
  80. package/dist/lib/radon/ccdr/wit.d.ts.map +1 -0
  81. package/dist/lib/radon/ccdr/wit.js +60 -0
  82. package/dist/lib/radon/filters.d.ts +14 -0
  83. package/dist/lib/radon/filters.d.ts.map +1 -0
  84. package/dist/lib/radon/filters.js +47 -0
  85. package/dist/lib/radon/index.d.ts +36 -0
  86. package/dist/lib/radon/index.d.ts.map +1 -0
  87. package/dist/lib/radon/index.js +154 -0
  88. package/dist/lib/radon/reducers.d.ts +29 -0
  89. package/dist/lib/radon/reducers.d.ts.map +1 -0
  90. package/dist/lib/radon/reducers.js +101 -0
  91. package/dist/lib/radon/retrievals.d.ts +120 -0
  92. package/dist/lib/radon/retrievals.d.ts.map +1 -0
  93. package/dist/lib/radon/retrievals.js +358 -0
  94. package/dist/lib/radon/sources.d.ts +102 -0
  95. package/dist/lib/radon/sources.d.ts.map +1 -0
  96. package/dist/lib/radon/sources.js +294 -0
  97. package/dist/lib/radon/types.d.ts +521 -0
  98. package/dist/lib/radon/types.d.ts.map +1 -0
  99. package/dist/lib/radon/types.js +1066 -0
  100. package/dist/lib/radon/utils.d.ts +55 -0
  101. package/dist/lib/radon/utils.d.ts.map +1 -0
  102. package/dist/lib/radon/utils.js +181 -0
  103. package/dist/lib/rpc/farm.d.ts +66 -0
  104. package/dist/lib/rpc/farm.d.ts.map +1 -0
  105. package/dist/lib/rpc/farm.js +808 -0
  106. package/dist/lib/rpc/index.d.ts +3 -0
  107. package/dist/lib/rpc/index.d.ts.map +1 -0
  108. package/dist/lib/rpc/index.js +19 -0
  109. package/dist/lib/rpc/node.d.ts +38 -0
  110. package/dist/lib/rpc/node.d.ts.map +1 -0
  111. package/dist/lib/rpc/node.js +335 -0
  112. package/dist/lib/rpc/nodes.d.ts +40 -0
  113. package/dist/lib/rpc/nodes.d.ts.map +1 -0
  114. package/dist/lib/rpc/nodes.js +531 -0
  115. package/dist/lib/rpc/provider.d.ts +72 -0
  116. package/dist/lib/rpc/provider.d.ts.map +1 -0
  117. package/dist/lib/rpc/provider.js +402 -0
  118. package/dist/lib/rpc/reporter.d.ts +18 -0
  119. package/dist/lib/rpc/reporter.d.ts.map +1 -0
  120. package/dist/lib/rpc/reporter.js +99 -0
  121. package/dist/lib/rpc/types.d.ts +396 -0
  122. package/dist/lib/rpc/types.d.ts.map +1 -0
  123. package/dist/lib/rpc/types.js +81 -0
  124. package/dist/lib/rpc/wallet.d.ts +72 -0
  125. package/dist/lib/rpc/wallet.d.ts.map +1 -0
  126. package/dist/lib/rpc/wallet.js +41 -0
  127. package/dist/lib/types.d.ts +19 -0
  128. package/dist/lib/types.d.ts.map +1 -0
  129. package/dist/lib/types.js +7 -0
  130. package/dist/lib/utils.d.ts +5 -0
  131. package/dist/lib/utils.d.ts.map +1 -0
  132. package/dist/lib/utils.js +51 -0
  133. package/dist/package.json +1 -1
  134. package/dist/src/bin/helpers.js +2 -2
  135. package/dist/src/index.js +1 -1
  136. package/dist/src/lib/crypto/account.js +1 -1
  137. package/dist/src/lib/crypto/coinbase.js +1 -1
  138. package/dist/src/lib/crypto/index.js +1 -1
  139. package/dist/src/lib/crypto/interfaces.js +1 -1
  140. package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts +2 -2
  141. package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts.map +1 -1
  142. package/dist/src/lib/crypto/payloads/DataRequestPayload.js +8 -8
  143. package/dist/src/lib/crypto/payloads/StakePayload.js +1 -1
  144. package/dist/src/lib/crypto/payloads/UnstakePayload.js +1 -1
  145. package/dist/src/lib/crypto/payloads/ValueTransferPayload.js +1 -1
  146. package/dist/src/lib/crypto/payloads.js +1 -1
  147. package/dist/src/lib/crypto/signer.js +1 -1
  148. package/dist/src/lib/crypto/transmitters/DataRequests.d.ts +0 -1
  149. package/dist/src/lib/crypto/transmitters/DataRequests.d.ts.map +1 -1
  150. package/dist/src/lib/crypto/transmitters/DataRequests.js +1 -2
  151. package/dist/src/lib/crypto/transmitters/StakeDeposits.js +1 -1
  152. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.js +1 -1
  153. package/dist/src/lib/crypto/transmitters/ValueTransfers.js +1 -1
  154. package/dist/src/lib/crypto/transmitters.js +1 -1
  155. package/dist/src/lib/crypto/types.js +1 -1
  156. package/dist/src/lib/crypto/utils.js +1 -1
  157. package/dist/src/lib/crypto/wallet.js +1 -1
  158. package/dist/src/lib/index.js +1 -1
  159. package/dist/src/lib/radon/ccdr/eth.js +1 -1
  160. package/dist/src/lib/radon/ccdr/index.js +1 -1
  161. package/dist/src/lib/radon/ccdr/wit.d.ts +11 -0
  162. package/dist/src/lib/radon/ccdr/wit.d.ts.map +1 -1
  163. package/dist/src/lib/radon/ccdr/wit.js +17 -2
  164. package/dist/src/lib/radon/filters.js +1 -1
  165. package/dist/src/lib/radon/index.d.ts +1 -1
  166. package/dist/src/lib/radon/index.d.ts.map +1 -1
  167. package/dist/src/lib/radon/index.js +9 -3
  168. package/dist/src/lib/radon/reducers.js +1 -1
  169. package/dist/src/lib/radon/types.js +1 -1
  170. package/dist/src/lib/radon/utils.js +1 -1
  171. package/dist/src/lib/rpc/index.js +1 -1
  172. package/dist/src/lib/rpc/nodes.js +1 -1
  173. package/dist/src/lib/rpc/provider.d.ts +5 -3
  174. package/dist/src/lib/rpc/provider.d.ts.map +1 -1
  175. package/dist/src/lib/rpc/provider.js +14 -3
  176. package/dist/src/lib/rpc/reporter.d.ts +2 -3
  177. package/dist/src/lib/rpc/reporter.d.ts.map +1 -1
  178. package/dist/src/lib/rpc/reporter.js +1 -4
  179. package/dist/src/lib/rpc/types.d.ts +49 -24
  180. package/dist/src/lib/rpc/types.d.ts.map +1 -1
  181. package/dist/src/lib/rpc/types.js +3 -1
  182. package/dist/src/lib/types.d.ts +1 -1
  183. package/dist/src/lib/types.d.ts.map +1 -1
  184. package/dist/src/lib/types.js +1 -1
  185. package/dist/src/lib/utils.js +1 -1
  186. package/dist/witnet/assets/index.js +1 -1
  187. package/dist/witnet/assets/modals/index.js +1 -1
  188. package/dist/witnet/assets/modals/web3/eth.js +1 -1
  189. package/dist/witnet/assets/modals/web3/ipfs.js +1 -1
  190. package/dist/witnet/assets/modals/web3/wit.js +4 -7
  191. package/dist/witnet/assets/requests.js +1 -1
  192. package/package.json +1 -1
  193. package/src/bin/cli/history.js +31 -31
  194. package/src/bin/cli/inspect.js +405 -359
  195. package/src/bin/cli/network.js +594 -592
  196. package/src/bin/cli/nodes.js +364 -364
  197. package/src/bin/cli/radon.js +815 -815
  198. package/src/bin/cli/wallet.js +1117 -1094
  199. package/src/bin/helpers.js +840 -840
  200. package/src/bin/postinstall.js +9 -9
  201. package/src/bin/toolkit.js +295 -295
  202. package/witnet/assets/_index.js +8 -8
  203. package/witnet/assets/_requests.js +25 -25
  204. package/witnet/assets/_sources.js +36 -36
  205. package/witnet/assets/_templates.js +36 -36
  206. package/witnet/assets/index.js +4 -4
  207. package/witnet/assets/modals/index.js +9 -9
  208. package/witnet/assets/modals/web3/eth.js +29 -29
  209. package/witnet/assets/modals/web3/ipfs.js +19 -19
  210. package/witnet/assets/modals/web3/wit.js +21 -23
  211. package/witnet/assets/requests.js +95 -95
@@ -0,0 +1,358 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
24
+ }) : (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ o[k2] = m[k];
27
+ }));
28
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
30
+ }) : function(o, v) {
31
+ o["default"] = v;
32
+ });
33
+ var __importStar = (this && this.__importStar) || (function () {
34
+ var ownKeys = function(o) {
35
+ ownKeys = Object.getOwnPropertyNames || function (o) {
36
+ var ar = [];
37
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
38
+ return ar;
39
+ };
40
+ return ownKeys(o);
41
+ };
42
+ return function (mod) {
43
+ if (mod && mod.__esModule) return mod;
44
+ var result = {};
45
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
46
+ __setModuleDefault(result, mod);
47
+ return result;
48
+ };
49
+ })();
50
+ var __read = (this && this.__read) || function (o, n) {
51
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
52
+ if (!m) return o;
53
+ var i = m.call(o), r, ar = [], e;
54
+ try {
55
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
56
+ }
57
+ catch (error) { e = { error: error }; }
58
+ finally {
59
+ try {
60
+ if (r && !r.done && (m = i["return"])) m.call(i);
61
+ }
62
+ finally { if (e) throw e.error; }
63
+ }
64
+ return ar;
65
+ };
66
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
67
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
68
+ if (ar || !(i in from)) {
69
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
70
+ ar[i] = from[i];
71
+ }
72
+ }
73
+ return to.concat(ar || Array.prototype.slice.call(from));
74
+ };
75
+ var __importDefault = (this && this.__importDefault) || function (mod) {
76
+ return (mod && mod.__esModule) ? mod : { "default": mod };
77
+ };
78
+ Object.defineProperty(exports, "__esModule", { value: true });
79
+ exports.RadonCCDR = exports.RadonRetrieval = exports.Methods = exports.RPC = void 0;
80
+ exports.RNG = RNG;
81
+ exports.HttpGet = HttpGet;
82
+ exports.HttpHead = HttpHead;
83
+ exports.HttpPost = HttpPost;
84
+ exports.GraphQLQuery = GraphQLQuery;
85
+ exports.CrossChainDataRetrieval = CrossChainDataRetrieval;
86
+ var cbor_1 = require("cbor");
87
+ var helpers = require("../../bin/helpers");
88
+ var graphql_query_compress_1 = __importDefault(require("graphql-query-compress"));
89
+ var types_1 = require("./types");
90
+ /**
91
+ * Precompiled Remote Procedure Calls that can be included within
92
+ * Cross Chain Data Requests (i.e. `Witnet.Retrievals.CCDR({ .. })`,
93
+ * grouped by supported JSON-RPC protocol: E
94
+ * - JSON ETH-RPC
95
+ * - JSON WIT-RPC
96
+ */
97
+ exports.RPC = __importStar(require("./ccdr"));
98
+ var Methods;
99
+ (function (Methods) {
100
+ Methods[Methods["None"] = 0] = "None";
101
+ Methods[Methods["HttpGet"] = 1] = "HttpGet";
102
+ Methods[Methods["HttpHead"] = 4] = "HttpHead";
103
+ Methods[Methods["HttpPost"] = 3] = "HttpPost";
104
+ Methods[Methods["RNG"] = 2] = "RNG";
105
+ })(Methods || (exports.Methods = Methods = {}));
106
+ var RadonRetrieval = /** @class */ (function () {
107
+ function RadonRetrieval(method, specs, samples) {
108
+ var _a, _b, _c, _d;
109
+ if (method === Methods.RNG && ((specs === null || specs === void 0 ? void 0 : specs.url) || ((_a = specs === null || specs === void 0 ? void 0 : specs.headers) === null || _a === void 0 ? void 0 : _a.size) || (specs === null || specs === void 0 ? void 0 : specs.body))) {
110
+ throw TypeError("RadonRetrieval: RNG accepts no URLs or headers");
111
+ }
112
+ else if (!(specs === null || specs === void 0 ? void 0 : specs.url) && (method == Methods.HttpPost || method == Methods.HttpGet)) {
113
+ throw TypeError("RadonRetrieval: URL must be specified");
114
+ }
115
+ else if ((specs === null || specs === void 0 ? void 0 : specs.body) && method == Methods.HttpGet) {
116
+ throw TypeError("RadonRetrieval: body cannot be specified in HTTP-GET queries");
117
+ }
118
+ this.method = method;
119
+ if (specs === null || specs === void 0 ? void 0 : specs.url) {
120
+ this.url = specs.url;
121
+ if (!helpers.isWildcard(specs.url)) {
122
+ try {
123
+ var parts = helpers.parseURL(specs.url);
124
+ this.schema = parts[0];
125
+ if (parts[1] !== "")
126
+ this.authority = parts[1];
127
+ if (parts[2] !== "")
128
+ this.path = parts[2];
129
+ if (parts[3] !== "")
130
+ this.query = parts[3];
131
+ }
132
+ catch (_e) { }
133
+ }
134
+ }
135
+ if (specs === null || specs === void 0 ? void 0 : specs.headers) {
136
+ if (typeof specs.headers !== 'object' || Array.isArray(specs.headers)) {
137
+ throw new TypeError("RadonRetrieval: HTTP headers must be of type Record<string, string>");
138
+ }
139
+ this.headers = specs === null || specs === void 0 ? void 0 : specs.headers;
140
+ }
141
+ this.body = specs === null || specs === void 0 ? void 0 : specs.body;
142
+ if (specs === null || specs === void 0 ? void 0 : specs.script)
143
+ this.script = new types_1.RadonScript(specs === null || specs === void 0 ? void 0 : specs.script);
144
+ this.argsCount = Math.max.apply(Math, __spreadArray(__spreadArray(__spreadArray([helpers.getWildcardsCountFromString(this === null || this === void 0 ? void 0 : this.url),
145
+ helpers.getWildcardsCountFromString(this === null || this === void 0 ? void 0 : this.body)], __read((_b = Object.keys((this === null || this === void 0 ? void 0 : this.headers) || {}).map(function (key) { return helpers.getWildcardsCountFromString(key); })) !== null && _b !== void 0 ? _b : []), false), __read((_c = Object.values((this === null || this === void 0 ? void 0 : this.headers) || {}).map(function (value) { return helpers.getWildcardsCountFromString(value); })) !== null && _c !== void 0 ? _c : []), false), [((_d = this.script) === null || _d === void 0 ? void 0 : _d.argsCount()) || 0], false));
146
+ if (samples && this.argsCount === 0) {
147
+ throw new TypeError("RadonRetrieval: passed samples to non-parameterized RadonRetrieval.");
148
+ }
149
+ this.samples = samples;
150
+ }
151
+ RadonRetrieval.prototype.isParameterized = function () {
152
+ return this.argsCount > 0;
153
+ };
154
+ /**
155
+ * Creates a new Radon Retrieval by orderly replacing indexed wildcards with given parameters.
156
+ * Fails if not parameterized, of if passing too many parameters.
157
+ */
158
+ RadonRetrieval.prototype.foldArgs = function () {
159
+ var _a;
160
+ var args = [];
161
+ for (var _i = 0; _i < arguments.length; _i++) {
162
+ args[_i] = arguments[_i];
163
+ }
164
+ if (this.argsCount === 0) {
165
+ throw new TypeError("RadonRetrieval: cannot fold unparameterized retrieval");
166
+ }
167
+ else if (args.length > this.argsCount) {
168
+ throw new TypeError("RadonRetrieval: too may args passed: ".concat(args.length, " > ").concat(this.argsCount));
169
+ }
170
+ return new RadonRetrieval(this.method, {
171
+ url: helpers.replaceWildcards(this.url, args),
172
+ body: helpers.replaceWildcards(this.body, args),
173
+ headers: Object.fromEntries(Object.entries(this.headers || {}).map(function (_a) {
174
+ var _b = __read(_a, 2), key = _b[0], value = _b[1];
175
+ return [
176
+ helpers.replaceWildcards(key, args),
177
+ helpers.replaceWildcards(value, args),
178
+ ];
179
+ })),
180
+ script: (_a = this.script) === null || _a === void 0 ? void 0 : _a.replaceWildcards.apply(_a, __spreadArray([], __read(args), false)),
181
+ });
182
+ };
183
+ /**
184
+ * Creates one or more clones of this retrieval, in which the index-0 wildcard
185
+ * will be replaced by the given values. Fails if the retrieval is not parameterized.
186
+ */
187
+ RadonRetrieval.prototype.spawnRetrievals = function () {
188
+ var _this = this;
189
+ var values = [];
190
+ for (var _i = 0; _i < arguments.length; _i++) {
191
+ values[_i] = arguments[_i];
192
+ }
193
+ var _spawned = [];
194
+ if (this.argsCount == 0) {
195
+ throw new TypeError("RadonRetrieval: cannot spawn from unparameterized retrieval");
196
+ }
197
+ values.forEach(function (value) {
198
+ var _a;
199
+ _spawned.push(new RadonRetrieval(_this.method, {
200
+ url: helpers.spliceWildcard(_this.url, 0, value, _this.argsCount),
201
+ body: helpers.spliceWildcard(_this.body, 0, value, _this.argsCount),
202
+ headers: Object.fromEntries(Object.entries(_this.headers || {}).map(function (_a) {
203
+ var _b = __read(_a, 2), headerKey = _b[0], headerValue = _b[1];
204
+ return [
205
+ helpers.spliceWildcard(headerKey, 0, value, _this.argsCount),
206
+ helpers.spliceWildCard(headerValue, 0, value, _this.argsCount),
207
+ ];
208
+ })),
209
+ script: (_a = _this.script) === null || _a === void 0 ? void 0 : _a.spliceWildcard(0, value)
210
+ }));
211
+ });
212
+ return _spawned;
213
+ };
214
+ RadonRetrieval.prototype.toJSON = function (humanize) {
215
+ var _a, _b;
216
+ var kind = ["", "HTTP-GET", "RNG", "HTTP-POST", "HTTP-HEAD"];
217
+ var json = {
218
+ kind: kind[this.method] // humanize ? Methods[this.method] : this.method,
219
+ };
220
+ if (this.url)
221
+ json.url = this.url;
222
+ if (this.headers) {
223
+ json.headers = Object.entries(this.headers);
224
+ }
225
+ if (this.body)
226
+ json.body = this.body;
227
+ json.script = humanize ? (_a = this.script) === null || _a === void 0 ? void 0 : _a.toString() : Array.from(helpers.fromHexString(((_b = this.script) === null || _b === void 0 ? void 0 : _b.toBytecode()) || '0x80'));
228
+ return json;
229
+ };
230
+ RadonRetrieval.prototype.toProtobuf = function () {
231
+ var _a;
232
+ var protobuf = {
233
+ kind: this.method,
234
+ };
235
+ if (this.url)
236
+ protobuf.url = this.url;
237
+ if (this.headers) {
238
+ protobuf.headers = Object.entries(this.headers).map(function (_a) {
239
+ var _b = __read(_a, 2), headerKey = _b[0], headerValue = _b[1];
240
+ return {
241
+ left: headerKey,
242
+ right: headerValue,
243
+ };
244
+ });
245
+ }
246
+ if (this.body) {
247
+ var utf8Array = helpers.toUtf8Array(this.body);
248
+ protobuf.body = utf8Array;
249
+ }
250
+ protobuf.script = Object.values(Uint8Array.from((0, cbor_1.encode)(((_a = this.script) === null || _a === void 0 ? void 0 : _a.encode()) || [])));
251
+ return protobuf;
252
+ };
253
+ RadonRetrieval.prototype.opsCount = function () {
254
+ var _a;
255
+ return countOps(((_a = this.script) === null || _a === void 0 ? void 0 : _a.encode()) || []);
256
+ };
257
+ return RadonRetrieval;
258
+ }());
259
+ exports.RadonRetrieval = RadonRetrieval;
260
+ var RadonCCDR = /** @class */ (function (_super) {
261
+ __extends(RadonCCDR, _super);
262
+ function RadonCCDR(rpc, script) {
263
+ return _super.call(this, Methods.HttpPost, {
264
+ url: "\\0\\",
265
+ body: JSON.stringify({
266
+ jsonrpc: "2.0",
267
+ methods: rpc.method,
268
+ params: rpc === null || rpc === void 0 ? void 0 : rpc.params,
269
+ id: 1,
270
+ }).replaceAll('\\\\', '\\'),
271
+ headers: { "Content-Type": "application/json;charset=UTF-8" },
272
+ script: script
273
+ }) || this;
274
+ }
275
+ RadonCCDR.prototype.isParameterized = function () {
276
+ return this.argsCount > 1;
277
+ };
278
+ return RadonCCDR;
279
+ }(RadonRetrieval));
280
+ exports.RadonCCDR = RadonCCDR;
281
+ function countOps(items) {
282
+ return items.length > 0 ? items.map(function (item) { return Array.isArray(item) ? countOps(item) : 1; }).reduce(function (sum, a) { return sum + a; }) : 0;
283
+ }
284
+ /**
285
+ * Creates a Witnet randomness Radon RadonRetrieval.
286
+ * @param script (Optional) Radon Script to apply to the random seed proposed by every single witness,
287
+ * before aggregation.
288
+ */
289
+ function RNG(script) {
290
+ var _a, _b;
291
+ var retrieval = new RadonRetrieval(Methods.RNG, { script: script });
292
+ if ((retrieval === null || retrieval === void 0 ? void 0 : retrieval.script) && ((_b = (_a = retrieval === null || retrieval === void 0 ? void 0 : retrieval.script) === null || _a === void 0 ? void 0 : _a.inputType) === null || _b === void 0 ? void 0 : _b.constructor.name) !== "RadonBytes") {
293
+ throw new TypeError("RNG scripts require [RadonBytes] as input type");
294
+ }
295
+ return retrieval;
296
+ }
297
+ ;
298
+ /**
299
+ * Creates a Witnet HTTP/GET Radon RadonRetrieval.
300
+ * @param specs RadonRetrieval parameters: URL, http headers (optional), Radon script (optional),
301
+ * pre-set samples (optional to parameterized sources, only).
302
+ */
303
+ function HttpGet(specs) {
304
+ return new RadonRetrieval(Methods.HttpGet, {
305
+ url: specs.url,
306
+ headers: specs.headers,
307
+ script: specs.script,
308
+ }, specs === null || specs === void 0 ? void 0 : specs.samples);
309
+ }
310
+ ;
311
+ /**
312
+ * Creates a Witnet HTTP/HEAD Radon RadonRetrieval.
313
+ * @param specs RadonRetrieval parameters: URL, http headers (optional), Radon script (optional),
314
+ * pre-set samples (optional to parameterized sources, only).
315
+ */
316
+ function HttpHead(specs) {
317
+ return new RadonRetrieval(Methods.HttpHead, {
318
+ url: specs.url,
319
+ headers: specs.headers,
320
+ script: specs.script,
321
+ }, specs === null || specs === void 0 ? void 0 : specs.samples);
322
+ }
323
+ ;
324
+ /**
325
+ * Creates a Witnet HTTP/POST Radon RadonRetrieval.
326
+ * @param specs RadonRetrieval parameters: URL, HTTP body (optional), HTTP headers (optional), Radon Script (optional),
327
+ * pre-set samples (optional to parameterized sources, only).
328
+ */
329
+ function HttpPost(specs) {
330
+ return new RadonRetrieval(Methods.HttpPost, {
331
+ url: specs === null || specs === void 0 ? void 0 : specs.url,
332
+ headers: specs === null || specs === void 0 ? void 0 : specs.headers,
333
+ body: specs === null || specs === void 0 ? void 0 : specs.body,
334
+ script: specs === null || specs === void 0 ? void 0 : specs.script,
335
+ }, specs === null || specs === void 0 ? void 0 : specs.samples);
336
+ }
337
+ ;
338
+ /**
339
+ * Creates a Witnet GraphQL Radon RadonRetrieval (built on top of an HTTP/POST request).
340
+ * @param specs RadonRetrieval parameters: URL, GraphQL query string, Radon Script (optional),
341
+ * pre-set samples (optional to parameterized sources, only).
342
+ */
343
+ function GraphQLQuery(specs) {
344
+ return new RadonRetrieval(Methods.HttpPost, {
345
+ url: specs.url,
346
+ body: "{\"query\":\"".concat((0, graphql_query_compress_1.default)(specs.query).replaceAll('"', '\\"'), "\"}"),
347
+ headers: { "Content-Type": "application/json;charset=UTF-8" },
348
+ script: specs === null || specs === void 0 ? void 0 : specs.script,
349
+ }, specs === null || specs === void 0 ? void 0 : specs.samples);
350
+ }
351
+ ;
352
+ /**
353
+ * Creates a Cross Chain Data Retrievals retrieval on top of a HTTP/POST request.
354
+ */
355
+ function CrossChainDataRetrieval(specs) {
356
+ return new RadonCCDR(specs.rpc, specs.script);
357
+ }
358
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cmlldmFscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcmFkb24vcmV0cmlldmFscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBeU1BLGtCQU1DO0FBT0QsMEJBY0M7QUFPRCw0QkFjQztBQU9ELDRCQWdCQztBQU9ELG9DQWVDO0FBS0QsMERBV0M7QUF0VEQsNkJBQTJDO0FBQzNDLElBQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO0FBRTVDLGtGQUFvRDtBQUNwRCxpQ0FBK0M7QUFHL0M7Ozs7OztHQU1HO0FBQ0gsOENBQTZCO0FBRTdCLElBQVksT0FNWDtBQU5ELFdBQVksT0FBTztJQUNmLHFDQUFVLENBQUE7SUFDViwyQ0FBYyxDQUFBO0lBQ2QsNkNBQWUsQ0FBQTtJQUNmLDZDQUFlLENBQUE7SUFDZixtQ0FBVSxDQUFBO0FBQ2QsQ0FBQyxFQU5XLE9BQU8sdUJBQVAsT0FBTyxRQU1sQjtBQVNEO0lBZUksd0JBQVksTUFBZSxFQUFFLEtBQWEsRUFBRSxPQUFrQzs7UUFDMUUsSUFBSSxNQUFNLEtBQUssT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLEdBQUcsTUFBSSxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxPQUFPLDBDQUFFLElBQUksQ0FBQSxLQUFJLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxJQUFJLENBQUEsQ0FBQyxFQUFFLENBQUM7WUFDaEYsTUFBTSxTQUFTLENBQUMsZ0RBQWdELENBQUMsQ0FBQztRQUN0RSxDQUFDO2FBQU0sSUFBSSxDQUFDLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLEdBQUcsQ0FBQSxJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2xGLE1BQU0sU0FBUyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7UUFDN0QsQ0FBQzthQUFNLElBQUksQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsSUFBSSxLQUFJLE1BQU0sSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEQsTUFBTSxTQUFTLENBQUMsOERBQThELENBQUMsQ0FBQTtRQUNuRixDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDcEIsSUFBSSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsR0FBRyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUE7WUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLElBQUksQ0FBQztvQkFDRCxJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtvQkFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7b0JBQ3RCLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUU7d0JBQUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7b0JBQzlDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUU7d0JBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7b0JBQ3pDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUU7d0JBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQzlDLENBQUM7Z0JBQUMsV0FBTSxDQUFDLENBQUEsQ0FBQztZQUNkLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxPQUFPLEtBQUssQ0FBQyxPQUFPLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ3BFLE1BQU0sSUFBSSxTQUFTLENBQUMscUVBQXFFLENBQUMsQ0FBQTtZQUM5RixDQUFDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTyxDQUFBO1FBQ2pDLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxJQUFJLENBQUE7UUFDdkIsSUFBSSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsTUFBTTtZQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxtQkFBVyxDQUFDLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxNQUFNLENBQUMsQ0FBQTtRQUMvRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLE9BQVIsSUFBSSw2Q0FDakIsT0FBTyxDQUFDLDJCQUEyQixDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxHQUFHLENBQUM7WUFDOUMsT0FBTyxDQUFDLDJCQUEyQixDQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxJQUFJLENBQUMsVUFDNUMsTUFBQSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLE9BQU8sS0FBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxPQUFPLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLEVBQXhDLENBQXdDLENBQUMsbUNBQUksRUFBRSxrQkFDM0YsTUFBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLE9BQU8sS0FBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxPQUFPLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLEVBQTFDLENBQTBDLENBQUMsbUNBQUksRUFBRSxZQUNwRyxDQUFBLE1BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsU0FBUyxFQUFFLEtBQUksQ0FBQyxVQUNoQyxDQUFBO1FBQ0QsSUFBSSxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxNQUFNLElBQUksU0FBUyxDQUFDLHFFQUFxRSxDQUFDLENBQUE7UUFDOUYsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO0lBQzFCLENBQUM7SUFFTSx3Q0FBZSxHQUF0QjtRQUNJLE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUE7SUFDN0IsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGlDQUFRLEdBQWY7O1FBQWdCLGNBQWlCO2FBQWpCLFVBQWlCLEVBQWpCLHFCQUFpQixFQUFqQixJQUFpQjtZQUFqQix5QkFBaUI7O1FBQzdCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QixNQUFNLElBQUksU0FBUyxDQUFDLHVEQUF1RCxDQUFDLENBQUE7UUFDaEYsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdEMsTUFBTSxJQUFJLFNBQVMsQ0FBQywrQ0FBd0MsSUFBSSxDQUFDLE1BQU0sZ0JBQU0sSUFBSSxDQUFDLFNBQVMsQ0FBRSxDQUFDLENBQUE7UUFDbEcsQ0FBQztRQUNELE9BQU8sSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNuQyxHQUFHLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDO1lBQzdDLElBQUksRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7WUFDL0MsT0FBTyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFDLEVBQVk7b0JBQVosS0FBQSxhQUFZLEVBQVgsR0FBRyxRQUFBLEVBQUUsS0FBSyxRQUFBO2dCQUFNLE9BQUE7b0JBQ2pGLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDO29CQUNuQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQztpQkFDeEM7WUFIb0YsQ0FHcEYsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxFQUFFLE1BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsZ0JBQWdCLG9DQUFJLElBQUksVUFBQztTQUNqRCxDQUFDLENBQUE7SUFDTixDQUFDO0lBQ0Q7OztPQUdHO0lBQ0ksd0NBQWUsR0FBdEI7UUFBQSxpQkFpQkM7UUFqQnNCLGdCQUFtQjthQUFuQixVQUFtQixFQUFuQixxQkFBbUIsRUFBbkIsSUFBbUI7WUFBbkIsMkJBQW1COztRQUN0QyxJQUFNLFFBQVEsR0FBcUIsRUFBRSxDQUFBO1FBQ3JDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksU0FBUyxDQUFDLDZEQUE2RCxDQUFDLENBQUM7UUFDdkYsQ0FBQztRQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBQSxLQUFLOztZQUNoQixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFDLEtBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQzFDLEdBQUcsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFJLENBQUMsU0FBUyxDQUFDO2dCQUMvRCxJQUFJLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxLQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSSxDQUFDLFNBQVMsQ0FBQztnQkFDakUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFDLEVBQXdCO3dCQUF4QixLQUFBLGFBQXdCLEVBQXZCLFNBQVMsUUFBQSxFQUFFLFdBQVcsUUFBQTtvQkFBTSxPQUFBO3dCQUM3RixPQUFPLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUksQ0FBQyxTQUFTLENBQUM7d0JBQzNELE9BQU8sQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSSxDQUFDLFNBQVMsQ0FBQztxQkFDaEU7Z0JBSGdHLENBR2hHLENBQUMsQ0FBQztnQkFDSCxNQUFNLEVBQUUsTUFBQSxLQUFJLENBQUMsTUFBTSwwQ0FBRSxjQUFjLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQzthQUNoRCxDQUFDLENBQUMsQ0FBQTtRQUNQLENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxRQUFRLENBQUE7SUFDbkIsQ0FBQztJQUVNLCtCQUFNLEdBQWIsVUFBYyxRQUFrQjs7UUFDNUIsSUFBTSxJQUFJLEdBQUcsQ0FBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFFLENBQUE7UUFDaEUsSUFBSSxJQUFJLEdBQVE7WUFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxpREFBaUQ7U0FDNUUsQ0FBQTtRQUNELElBQUksSUFBSSxDQUFDLEdBQUc7WUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUE7UUFDakMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJO1lBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFBO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLFVBQVUsRUFBRSxLQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFDekgsT0FBTyxJQUFJLENBQUE7SUFDZixDQUFDO0lBRU0sbUNBQVUsR0FBakI7O1FBQ0ksSUFBSSxRQUFRLEdBQVE7WUFDaEIsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUE7UUFDRCxJQUFJLElBQUksQ0FBQyxHQUFHO1lBQUUsUUFBUSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFBO1FBQ3JDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsUUFBUSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBQyxFQUF3QjtvQkFBeEIsS0FBQSxhQUF3QixFQUF2QixTQUFTLFFBQUEsRUFBRSxXQUFXLFFBQUE7Z0JBQVEsT0FBTztvQkFDdkYsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsS0FBSyxFQUFFLFdBQVc7aUJBQ3JCLENBQUE7WUFBQSxDQUFDLENBQUMsQ0FBQTtRQUNQLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNaLElBQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ2hELFFBQVEsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFBO1FBQzdCLENBQUM7UUFDRCxRQUFRLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFBLGFBQVUsRUFBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsTUFBTSxFQUFFLEtBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3pGLE9BQU8sUUFBUSxDQUFBO0lBQ25CLENBQUM7SUFFTSxpQ0FBUSxHQUFmOztRQUNJLE9BQU8sUUFBUSxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxNQUFNLEVBQUUsS0FBSSxFQUFFLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0lBQ0wscUJBQUM7QUFBRCxDQUFDLEFBNUlELElBNElDO0FBNUlZLHdDQUFjO0FBOEkzQjtJQUErQiw2QkFBYztJQUN6QyxtQkFBYSxHQUFrQixFQUFFLE1BQWlCO1FBQzlDLE9BQUEsTUFBSyxZQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDcEIsR0FBRyxFQUFFLE9BQU87WUFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDakIsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsT0FBTyxFQUFFLEdBQUcsQ0FBQyxNQUFNO2dCQUNuQixNQUFNLEVBQUUsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLE1BQU07Z0JBQ25CLEVBQUUsRUFBRSxDQUFDO2FBQ1IsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQzNCLE9BQU8sRUFBRSxFQUFFLGNBQWMsRUFBRSxnQ0FBZ0MsRUFBRTtZQUM3RCxNQUFNLFFBQUE7U0FDVCxDQUFDLFNBQUE7SUFDTixDQUFDO0lBQ00sbUNBQWUsR0FBdEI7UUFDSSxPQUFPLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFBO0lBQzdCLENBQUM7SUFDTCxnQkFBQztBQUFELENBQUMsQUFqQkQsQ0FBK0IsY0FBYyxHQWlCNUM7QUFqQlksOEJBQVM7QUFtQnRCLFNBQVMsUUFBUSxDQUFDLEtBQVk7SUFDMUIsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFBLElBQUksSUFBSSxPQUFBLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUF4QyxDQUF3QyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQUMsR0FBRyxFQUFFLENBQUMsSUFBSyxPQUFBLEdBQUcsR0FBRyxDQUFDLEVBQVAsQ0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUN6SCxDQUFDO0FBRUQ7Ozs7SUFJSTtBQUNKLFNBQWdCLEdBQUcsQ0FBRSxNQUFpQjs7SUFDbEMsSUFBTSxTQUFTLEdBQUcsSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sUUFBQSxFQUFFLENBQUMsQ0FBQztJQUM5RCxJQUFJLENBQUEsU0FBUyxhQUFULFNBQVMsdUJBQVQsU0FBUyxDQUFFLE1BQU0sS0FBSSxDQUFBLE1BQUEsTUFBQSxTQUFTLGFBQVQsU0FBUyx1QkFBVCxTQUFTLENBQUUsTUFBTSwwQ0FBRSxTQUFTLDBDQUFFLFdBQVcsQ0FBQyxJQUFJLE1BQUssWUFBWSxFQUFFLENBQUM7UUFDdkYsTUFBTSxJQUFJLFNBQVMsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFBO0lBQ3pFLENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQTtBQUNwQixDQUFDO0FBQUEsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxTQUFnQixPQUFPLENBQUUsS0FLeEI7SUFDRyxPQUFPLElBQUksY0FBYyxDQUNyQixPQUFPLENBQUMsT0FBTyxFQUFFO1FBQ2IsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1FBQ2QsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1FBQ3RCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtLQUN2QixFQUNELEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxPQUFPLENBQ2pCLENBQUM7QUFDTixDQUFDO0FBQUEsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxTQUFnQixRQUFRLENBQUUsS0FLekI7SUFDRyxPQUFPLElBQUksY0FBYyxDQUNyQixPQUFPLENBQUMsUUFBUSxFQUFFO1FBQ2QsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1FBQ2QsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1FBQ3RCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtLQUN2QixFQUNELEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxPQUFPLENBQ2pCLENBQUM7QUFDTixDQUFDO0FBQUEsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxTQUFnQixRQUFRLENBQUUsS0FNekI7SUFDRyxPQUFPLElBQUksY0FBYyxDQUNyQixPQUFPLENBQUMsUUFBUSxFQUFFO1FBQ2QsR0FBRyxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxHQUFHO1FBQ2YsT0FBTyxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxPQUFPO1FBQ3ZCLElBQUksRUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsSUFBSTtRQUNqQixNQUFNLEVBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE1BQU07S0FDeEIsRUFDRCxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTyxDQUNqQixDQUFDO0FBQ04sQ0FBQztBQUFBLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsU0FBZ0IsWUFBWSxDQUFFLEtBSzdCO0lBQ0csT0FBTyxJQUFJLGNBQWMsQ0FDckIsT0FBTyxDQUFDLFFBQVEsRUFBRTtRQUNkLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztRQUNkLElBQUksRUFBRSx1QkFBZ0IsSUFBQSxnQ0FBZSxFQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxRQUFLO1FBQzlFLE9BQU8sRUFBRSxFQUFFLGNBQWMsRUFBRSxnQ0FBZ0MsRUFBRTtRQUM3RCxNQUFNLEVBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE1BQU07S0FDeEIsRUFDRCxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTyxDQUNqQixDQUFDO0FBQ04sQ0FBQztBQUFBLENBQUM7QUFFRjs7R0FFRztBQUNILFNBQWdCLHVCQUF1QixDQUFDLEtBU3ZDO0lBQ0csT0FBTyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUNqRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZW5jb2RlIGFzIGNib3JFbmNvZGUgfSBmcm9tIFwiY2JvclwiXG5jb25zdCBoZWxwZXJzID0gcmVxdWlyZShcIi4uLy4uL2Jpbi9oZWxwZXJzXCIpXG5cbmltcG9ydCBncmFwaFFsQ29tcHJlc3MgZnJvbSBcImdyYXBocWwtcXVlcnktY29tcHJlc3NcIlxuaW1wb3J0IHsgUmFkb25BbnksIFJhZG9uU2NyaXB0IH0gZnJvbSBcIi4vdHlwZXNcIlxuaW1wb3J0IHsgQ3Jvc3NDaGFpblJQQyB9IGZyb20gXCIuL2NjZHJcIlxuXG4vKipcbiAqIFByZWNvbXBpbGVkIFJlbW90ZSBQcm9jZWR1cmUgQ2FsbHMgdGhhdCBjYW4gYmUgaW5jbHVkZWQgd2l0aGluXG4gKiBDcm9zcyBDaGFpbiBEYXRhIFJlcXVlc3RzIChpLmUuIGBXaXRuZXQuUmV0cmlldmFscy5DQ0RSKHsgLi4gfSlgLCBcbiAqIGdyb3VwZWQgYnkgc3VwcG9ydGVkIEpTT04tUlBDIHByb3RvY29sOiBFXG4gKiAtIEpTT04gRVRILVJQQyBcbiAqIC0gSlNPTiBXSVQtUlBDIFxuICovXG5leHBvcnQgKiBhcyBSUEMgZnJvbSBcIi4vY2NkclwiXG5cbmV4cG9ydCBlbnVtIE1ldGhvZHMge1xuICAgIE5vbmUgPSAweDAsXG4gICAgSHR0cEdldCA9IDB4MDEsXG4gICAgSHR0cEhlYWQgPSAweDA0LFxuICAgIEh0dHBQb3N0ID0gMHgwMyxcbiAgICBSTkcgPSAweDAyLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwZWNzIHtcbiAgICB1cmw/OiBzdHJpbmcsXG4gICAgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgYm9keT86IHN0cmluZyxcbiAgICBzY3JpcHQ/OiBSYWRvbkFueSxcbn1cblxuZXhwb3J0IGNsYXNzIFJhZG9uUmV0cmlldmFsIHtcbiAgICBcbiAgICBwdWJsaWMgcmVhZG9ubHkgYXJnc0NvdW50OiBudW1iZXI7XG4gICAgcHVibGljIHJlYWRvbmx5IG1ldGhvZDogTWV0aG9kcztcbiAgICBwdWJsaWMgcmVhZG9ubHkgYXV0aG9yaXR5Pzogc3RyaW5nO1xuICAgIHB1YmxpYyByZWFkb25seSBib2R5Pzogc3RyaW5nO1xuICAgIHB1YmxpYyByZWFkb25seSBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgcGF0aD86IHN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHkgcXVlcnk/OiBzdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5IHNjaGVtYT86IHN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2NyaXB0PzogUmFkb25TY3JpcHQ7XG4gICAgcHVibGljIHJlYWRvbmx5IHVybD86IHN0cmluZztcblxuICAgIHB1YmxpYyByZWFkb25seSBzYW1wbGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKG1ldGhvZDogTWV0aG9kcywgc3BlY3M/OiBTcGVjcywgc2FtcGxlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPikge1xuICAgICAgICBpZiAobWV0aG9kID09PSBNZXRob2RzLlJORyAmJiAoc3BlY3M/LnVybCB8fCBzcGVjcz8uaGVhZGVycz8uc2l6ZSB8fCBzcGVjcz8uYm9keSkpIHtcbiAgICAgICAgICAgIHRocm93IFR5cGVFcnJvcihcIlJhZG9uUmV0cmlldmFsOiBSTkcgYWNjZXB0cyBubyBVUkxzIG9yIGhlYWRlcnNcIik7XG4gICAgICAgIH0gZWxzZSBpZiAoIXNwZWNzPy51cmwgJiYgKG1ldGhvZCA9PSBNZXRob2RzLkh0dHBQb3N0IHx8IG1ldGhvZCA9PSBNZXRob2RzLkh0dHBHZXQpKSB7XG4gICAgICAgICAgICB0aHJvdyBUeXBlRXJyb3IoXCJSYWRvblJldHJpZXZhbDogVVJMIG11c3QgYmUgc3BlY2lmaWVkXCIpO1xuICAgICAgICB9IGVsc2UgaWYgKHNwZWNzPy5ib2R5ICYmIG1ldGhvZCA9PSBNZXRob2RzLkh0dHBHZXQpIHtcbiAgICAgICAgICAgIHRocm93IFR5cGVFcnJvcihcIlJhZG9uUmV0cmlldmFsOiBib2R5IGNhbm5vdCBiZSBzcGVjaWZpZWQgaW4gSFRUUC1HRVQgcXVlcmllc1wiKVxuICAgICAgICB9XG4gICAgICAgIHRoaXMubWV0aG9kID0gbWV0aG9kXG4gICAgICAgIGlmIChzcGVjcz8udXJsKSB7XG4gICAgICAgICAgICB0aGlzLnVybCA9IHNwZWNzLnVybFxuICAgICAgICAgICAgaWYgKCFoZWxwZXJzLmlzV2lsZGNhcmQoc3BlY3MudXJsKSkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBwYXJ0cyA9IGhlbHBlcnMucGFyc2VVUkwoc3BlY3MudXJsKVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNjaGVtYSA9IHBhcnRzWzBdXG4gICAgICAgICAgICAgICAgICAgIGlmIChwYXJ0c1sxXSAhPT0gXCJcIikgdGhpcy5hdXRob3JpdHkgPSBwYXJ0c1sxXVxuICAgICAgICAgICAgICAgICAgICBpZiAocGFydHNbMl0gIT09IFwiXCIpIHRoaXMucGF0aCA9IHBhcnRzWzJdXG4gICAgICAgICAgICAgICAgICAgIGlmIChwYXJ0c1szXSAhPT0gXCJcIikgdGhpcy5xdWVyeSA9IHBhcnRzWzNdXG4gICAgICAgICAgICAgICAgfSBjYXRjaCB7fVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChzcGVjcz8uaGVhZGVycykge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBzcGVjcy5oZWFkZXJzICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KHNwZWNzLmhlYWRlcnMpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlJhZG9uUmV0cmlldmFsOiBIVFRQIGhlYWRlcnMgbXVzdCBiZSBvZiB0eXBlIFJlY29yZDxzdHJpbmcsIHN0cmluZz5cIilcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaGVhZGVycyA9IHNwZWNzPy5oZWFkZXJzXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ib2R5ID0gc3BlY3M/LmJvZHlcbiAgICAgICAgaWYgKHNwZWNzPy5zY3JpcHQpIHRoaXMuc2NyaXB0ID0gbmV3IFJhZG9uU2NyaXB0KHNwZWNzPy5zY3JpcHQpXG4gICAgICAgIHRoaXMuYXJnc0NvdW50ID0gTWF0aC5tYXgoXG4gICAgICAgICAgICBoZWxwZXJzLmdldFdpbGRjYXJkc0NvdW50RnJvbVN0cmluZyh0aGlzPy51cmwpLFxuICAgICAgICAgICAgaGVscGVycy5nZXRXaWxkY2FyZHNDb3VudEZyb21TdHJpbmcodGhpcz8uYm9keSksXG4gICAgICAgICAgICAuLi5PYmplY3Qua2V5cyh0aGlzPy5oZWFkZXJzIHx8IHt9KS5tYXAoa2V5ID0+IGhlbHBlcnMuZ2V0V2lsZGNhcmRzQ291bnRGcm9tU3RyaW5nKGtleSkpID8/IFtdLFxuICAgICAgICAgICAgLi4uT2JqZWN0LnZhbHVlcyh0aGlzPy5oZWFkZXJzIHx8IHt9KS5tYXAodmFsdWUgPT4gaGVscGVycy5nZXRXaWxkY2FyZHNDb3VudEZyb21TdHJpbmcodmFsdWUpKSA/PyBbXSxcbiAgICAgICAgICAgIHRoaXMuc2NyaXB0Py5hcmdzQ291bnQoKSB8fCAwLFxuICAgICAgICApXG4gICAgICAgIGlmIChzYW1wbGVzICYmIHRoaXMuYXJnc0NvdW50ID09PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUmFkb25SZXRyaWV2YWw6IHBhc3NlZCBzYW1wbGVzIHRvIG5vbi1wYXJhbWV0ZXJpemVkIFJhZG9uUmV0cmlldmFsLlwiKVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2FtcGxlcyA9IHNhbXBsZXNcbiAgICB9XG4gICAgXG4gICAgcHVibGljIGlzUGFyYW1ldGVyaXplZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXJnc0NvdW50ID4gMFxuICAgIH1cbiAgICBcbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IFJhZG9uIFJldHJpZXZhbCBieSBvcmRlcmx5IHJlcGxhY2luZyBpbmRleGVkIHdpbGRjYXJkcyB3aXRoIGdpdmVuIHBhcmFtZXRlcnMuXG4gICAgICogRmFpbHMgaWYgbm90IHBhcmFtZXRlcml6ZWQsIG9mIGlmIHBhc3NpbmcgdG9vIG1hbnkgcGFyYW1ldGVycy4gXG4gICAgICovXG4gICAgcHVibGljIGZvbGRBcmdzKC4uLmFyZ3M6IHN0cmluZ1tdKTogUmFkb25SZXRyaWV2YWwge1xuICAgICAgICBpZiAodGhpcy5hcmdzQ291bnQgPT09IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYFJhZG9uUmV0cmlldmFsOiBjYW5ub3QgZm9sZCB1bnBhcmFtZXRlcml6ZWQgcmV0cmlldmFsYClcbiAgICAgICAgfSBlbHNlIGlmIChhcmdzLmxlbmd0aCA+IHRoaXMuYXJnc0NvdW50KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBSYWRvblJldHJpZXZhbDogdG9vIG1heSBhcmdzIHBhc3NlZDogJHthcmdzLmxlbmd0aH0gPiAke3RoaXMuYXJnc0NvdW50fWApXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBSYWRvblJldHJpZXZhbCh0aGlzLm1ldGhvZCwge1xuICAgICAgICAgICAgdXJsOiBoZWxwZXJzLnJlcGxhY2VXaWxkY2FyZHModGhpcy51cmwsIGFyZ3MpLFxuICAgICAgICAgICAgYm9keTogaGVscGVycy5yZXBsYWNlV2lsZGNhcmRzKHRoaXMuYm9keSwgYXJncyksXG4gICAgICAgICAgICBoZWFkZXJzOiBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXModGhpcy5oZWFkZXJzIHx8IHt9KS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gW1xuICAgICAgICAgICAgICAgIGhlbHBlcnMucmVwbGFjZVdpbGRjYXJkcyhrZXksIGFyZ3MpLFxuICAgICAgICAgICAgICAgIGhlbHBlcnMucmVwbGFjZVdpbGRjYXJkcyh2YWx1ZSwgYXJncyksXG4gICAgICAgICAgICBdKSksXG4gICAgICAgICAgICBzY3JpcHQ6IHRoaXMuc2NyaXB0Py5yZXBsYWNlV2lsZGNhcmRzKC4uLmFyZ3MpLFxuICAgICAgICB9KVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIG9uZSBvciBtb3JlIGNsb25lcyBvZiB0aGlzIHJldHJpZXZhbCwgaW4gd2hpY2ggdGhlIGluZGV4LTAgd2lsZGNhcmRcbiAgICAgKiB3aWxsIGJlIHJlcGxhY2VkIGJ5IHRoZSBnaXZlbiB2YWx1ZXMuIEZhaWxzIGlmIHRoZSByZXRyaWV2YWwgaXMgbm90IHBhcmFtZXRlcml6ZWQuXG4gICAgICovXG4gICAgcHVibGljIHNwYXduUmV0cmlldmFscyguLi52YWx1ZXM6IHN0cmluZ1tdKTogUmFkb25SZXRyaWV2YWxbXSB7XG4gICAgICAgIGNvbnN0IF9zcGF3bmVkOiBSYWRvblJldHJpZXZhbFtdID0gW11cbiAgICAgICAgaWYgKHRoaXMuYXJnc0NvdW50ID09IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYFJhZG9uUmV0cmlldmFsOiBjYW5ub3Qgc3Bhd24gZnJvbSB1bnBhcmFtZXRlcml6ZWQgcmV0cmlldmFsYCk7XG4gICAgICAgIH1cbiAgICAgICAgdmFsdWVzLmZvckVhY2godmFsdWUgPT4ge1xuICAgICAgICAgICAgX3NwYXduZWQucHVzaChuZXcgUmFkb25SZXRyaWV2YWwodGhpcy5tZXRob2QsIHtcbiAgICAgICAgICAgICAgICB1cmw6IGhlbHBlcnMuc3BsaWNlV2lsZGNhcmQodGhpcy51cmwsIDAsIHZhbHVlLCB0aGlzLmFyZ3NDb3VudCksXG4gICAgICAgICAgICAgICAgYm9keTogaGVscGVycy5zcGxpY2VXaWxkY2FyZCh0aGlzLmJvZHksIDAsIHZhbHVlLCB0aGlzLmFyZ3NDb3VudCksXG4gICAgICAgICAgICAgICAgaGVhZGVyczogT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKHRoaXMuaGVhZGVycyB8fCB7fSkubWFwKChbaGVhZGVyS2V5LCBoZWFkZXJWYWx1ZV0pID0+IFtcbiAgICAgICAgICAgICAgICAgICAgaGVscGVycy5zcGxpY2VXaWxkY2FyZChoZWFkZXJLZXksIDAsIHZhbHVlLCB0aGlzLmFyZ3NDb3VudCksXG4gICAgICAgICAgICAgICAgICAgIGhlbHBlcnMuc3BsaWNlV2lsZENhcmQoaGVhZGVyVmFsdWUsIDAsIHZhbHVlLCB0aGlzLmFyZ3NDb3VudCksXG4gICAgICAgICAgICAgICAgXSkpLFxuICAgICAgICAgICAgICAgIHNjcmlwdDogdGhpcy5zY3JpcHQ/LnNwbGljZVdpbGRjYXJkKDAsIHZhbHVlKVxuICAgICAgICAgICAgfSkpXG4gICAgICAgIH0pXG4gICAgICAgIHJldHVybiBfc3Bhd25lZFxuICAgIH1cblxuICAgIHB1YmxpYyB0b0pTT04oaHVtYW5pemU/OiBib29sZWFuKTogYW55IHtcbiAgICAgICAgY29uc3Qga2luZCA9IFsgXCJcIiwgXCJIVFRQLUdFVFwiLCBcIlJOR1wiLCBcIkhUVFAtUE9TVFwiLCBcIkhUVFAtSEVBRFwiIF1cbiAgICAgICAgbGV0IGpzb246IGFueSA9IHtcbiAgICAgICAgICAgIGtpbmQ6IGtpbmRbdGhpcy5tZXRob2RdIC8vIGh1bWFuaXplID8gTWV0aG9kc1t0aGlzLm1ldGhvZF0gOiB0aGlzLm1ldGhvZCxcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy51cmwpIGpzb24udXJsID0gdGhpcy51cmxcbiAgICAgICAgaWYgKHRoaXMuaGVhZGVycykge1xuICAgICAgICAgICAganNvbi5oZWFkZXJzID0gT2JqZWN0LmVudHJpZXModGhpcy5oZWFkZXJzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5ib2R5KSBqc29uLmJvZHkgPSB0aGlzLmJvZHlcbiAgICAgICAganNvbi5zY3JpcHQgPSBodW1hbml6ZSA/IHRoaXMuc2NyaXB0Py50b1N0cmluZygpIDogQXJyYXkuZnJvbShoZWxwZXJzLmZyb21IZXhTdHJpbmcodGhpcy5zY3JpcHQ/LnRvQnl0ZWNvZGUoKSB8fCAnMHg4MCcpKVxuICAgICAgICByZXR1cm4ganNvblxuICAgIH1cblxuICAgIHB1YmxpYyB0b1Byb3RvYnVmKCk6IGFueSB7XG4gICAgICAgIGxldCBwcm90b2J1ZjogYW55ID0ge1xuICAgICAgICAgICAga2luZDogdGhpcy5tZXRob2QsXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudXJsKSBwcm90b2J1Zi51cmwgPSB0aGlzLnVybFxuICAgICAgICBpZiAodGhpcy5oZWFkZXJzKSB7XG4gICAgICAgICAgICBwcm90b2J1Zi5oZWFkZXJzID0gT2JqZWN0LmVudHJpZXModGhpcy5oZWFkZXJzKS5tYXAoKFtoZWFkZXJLZXksIGhlYWRlclZhbHVlXSkgPT4geyByZXR1cm4geyBcbiAgICAgICAgICAgICAgICBsZWZ0OiBoZWFkZXJLZXksIFxuICAgICAgICAgICAgICAgIHJpZ2h0OiBoZWFkZXJWYWx1ZSxcbiAgICAgICAgICAgIH19KVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmJvZHkpIHtcbiAgICAgICAgICAgIGNvbnN0IHV0ZjhBcnJheSA9IGhlbHBlcnMudG9VdGY4QXJyYXkodGhpcy5ib2R5KVxuICAgICAgICAgICAgcHJvdG9idWYuYm9keSA9IHV0ZjhBcnJheVxuICAgICAgICB9XG4gICAgICAgIHByb3RvYnVmLnNjcmlwdCA9IE9iamVjdC52YWx1ZXMoVWludDhBcnJheS5mcm9tKGNib3JFbmNvZGUodGhpcy5zY3JpcHQ/LmVuY29kZSgpIHx8IFtdKSkpXG4gICAgICAgIHJldHVybiBwcm90b2J1ZlxuICAgIH1cblxuICAgIHB1YmxpYyBvcHNDb3VudCgpOiBhbnkge1xuICAgICAgICByZXR1cm4gY291bnRPcHModGhpcy5zY3JpcHQ/LmVuY29kZSgpIHx8IFtdKVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFJhZG9uQ0NEUiBleHRlbmRzIFJhZG9uUmV0cmlldmFsIHtcbiAgICBjb25zdHJ1Y3RvciAocnBjOiBDcm9zc0NoYWluUlBDLCBzY3JpcHQ/OiBSYWRvbkFueSkge1xuICAgICAgICBzdXBlcihNZXRob2RzLkh0dHBQb3N0LCB7XG4gICAgICAgICAgICB1cmw6IFwiXFxcXDBcXFxcXCIsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAganNvbnJwYzogXCIyLjBcIixcbiAgICAgICAgICAgICAgICBtZXRob2RzOiBycGMubWV0aG9kLFxuICAgICAgICAgICAgICAgIHBhcmFtczogcnBjPy5wYXJhbXMsXG4gICAgICAgICAgICAgICAgaWQ6IDEsXG4gICAgICAgICAgICB9KS5yZXBsYWNlQWxsKCdcXFxcXFxcXCcsICdcXFxcJyksXG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PVVURi04XCIgfSxcbiAgICAgICAgICAgIHNjcmlwdFxuICAgICAgICB9KVxuICAgIH1cbiAgICBwdWJsaWMgaXNQYXJhbWV0ZXJpemVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcmdzQ291bnQgPiAxXG4gICAgfVxufVxuXG5mdW5jdGlvbiBjb3VudE9wcyhpdGVtczogYW55W10pOiBudW1iZXIge1xuICAgIHJldHVybiBpdGVtcy5sZW5ndGggPiAwID8gaXRlbXMubWFwKGl0ZW0gPT4gQXJyYXkuaXNBcnJheShpdGVtKSA/IGNvdW50T3BzKGl0ZW0pIDogMSkucmVkdWNlKChzdW0sIGEpID0+IHN1bSArIGEpIDogMFxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBXaXRuZXQgcmFuZG9tbmVzcyBSYWRvbiBSYWRvblJldHJpZXZhbC5cbiAqIEBwYXJhbSBzY3JpcHQgKE9wdGlvbmFsKSBSYWRvbiBTY3JpcHQgdG8gYXBwbHkgdG8gdGhlIHJhbmRvbSBzZWVkIHByb3Bvc2VkIGJ5IGV2ZXJ5IHNpbmdsZSB3aXRuZXNzLCBcbiAqIGJlZm9yZSBhZ2dyZWdhdGlvbi5cbiAgKi9cbmV4cG9ydCBmdW5jdGlvbiBSTkcgKHNjcmlwdD86IFJhZG9uQW55KSB7IFxuICAgIGNvbnN0IHJldHJpZXZhbCA9IG5ldyBSYWRvblJldHJpZXZhbChNZXRob2RzLlJORywgeyBzY3JpcHQgfSk7IFxuICAgIGlmIChyZXRyaWV2YWw/LnNjcmlwdCAmJiByZXRyaWV2YWw/LnNjcmlwdD8uaW5wdXRUeXBlPy5jb25zdHJ1Y3Rvci5uYW1lICE9PSBcIlJhZG9uQnl0ZXNcIikge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUk5HIHNjcmlwdHMgcmVxdWlyZSBbUmFkb25CeXRlc10gYXMgaW5wdXQgdHlwZVwiKVxuICAgIH1cbiAgICByZXR1cm4gcmV0cmlldmFsXG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBXaXRuZXQgSFRUUC9HRVQgUmFkb24gUmFkb25SZXRyaWV2YWwuXG4gKiBAcGFyYW0gc3BlY3MgUmFkb25SZXRyaWV2YWwgcGFyYW1ldGVyczogVVJMLCBodHRwIGhlYWRlcnMgKG9wdGlvbmFsKSwgUmFkb24gc2NyaXB0IChvcHRpb25hbCksIFxuICogcHJlLXNldCBzYW1wbGVzIChvcHRpb25hbCB0byBwYXJhbWV0ZXJpemVkIHNvdXJjZXMsIG9ubHkpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gSHR0cEdldCAoc3BlY3M6IHtcbiAgICB1cmw6IHN0cmluZyxcbiAgICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgICBzY3JpcHQ/OiBSYWRvbkFueSxcbiAgICBzYW1wbGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+XG59KSB7XG4gICAgcmV0dXJuIG5ldyBSYWRvblJldHJpZXZhbChcbiAgICAgICAgTWV0aG9kcy5IdHRwR2V0LCB7IFxuICAgICAgICAgICAgdXJsOiBzcGVjcy51cmwsIFxuICAgICAgICAgICAgaGVhZGVyczogc3BlY3MuaGVhZGVycywgXG4gICAgICAgICAgICBzY3JpcHQ6IHNwZWNzLnNjcmlwdCwgXG4gICAgICAgIH0sXG4gICAgICAgIHNwZWNzPy5zYW1wbGVzLFxuICAgICk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBXaXRuZXQgSFRUUC9IRUFEIFJhZG9uIFJhZG9uUmV0cmlldmFsLlxuICogQHBhcmFtIHNwZWNzIFJhZG9uUmV0cmlldmFsIHBhcmFtZXRlcnM6IFVSTCwgaHR0cCBoZWFkZXJzIChvcHRpb25hbCksIFJhZG9uIHNjcmlwdCAob3B0aW9uYWwpLCBcbiAqIHByZS1zZXQgc2FtcGxlcyAob3B0aW9uYWwgdG8gcGFyYW1ldGVyaXplZCBzb3VyY2VzLCBvbmx5KS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEh0dHBIZWFkIChzcGVjczoge1xuICAgIHVybDogc3RyaW5nLFxuICAgIGhlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICAgIHNjcmlwdD86IFJhZG9uQW55LFxuICAgIHNhbXBsZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT5cbn0pIHtcbiAgICByZXR1cm4gbmV3IFJhZG9uUmV0cmlldmFsKFxuICAgICAgICBNZXRob2RzLkh0dHBIZWFkLCB7IFxuICAgICAgICAgICAgdXJsOiBzcGVjcy51cmwsIFxuICAgICAgICAgICAgaGVhZGVyczogc3BlY3MuaGVhZGVycywgXG4gICAgICAgICAgICBzY3JpcHQ6IHNwZWNzLnNjcmlwdCwgXG4gICAgICAgIH0sXG4gICAgICAgIHNwZWNzPy5zYW1wbGVzLFxuICAgICk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBXaXRuZXQgSFRUUC9QT1NUIFJhZG9uIFJhZG9uUmV0cmlldmFsLlxuICogQHBhcmFtIHNwZWNzIFJhZG9uUmV0cmlldmFsIHBhcmFtZXRlcnM6IFVSTCwgSFRUUCBib2R5IChvcHRpb25hbCksIEhUVFAgaGVhZGVycyAob3B0aW9uYWwpLCBSYWRvbiBTY3JpcHQgKG9wdGlvbmFsKSwgXG4gKiBwcmUtc2V0IHNhbXBsZXMgKG9wdGlvbmFsIHRvIHBhcmFtZXRlcml6ZWQgc291cmNlcywgb25seSkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBIdHRwUG9zdCAoc3BlY3M/OiB7XG4gICAgdXJsOiBzdHJpbmcsXG4gICAgYm9keTogc3RyaW5nLFxuICAgIGhlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICAgIHNjcmlwdD86IFJhZG9uQW55LFxuICAgIHNhbXBsZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT5cbn0pIHtcbiAgICByZXR1cm4gbmV3IFJhZG9uUmV0cmlldmFsKFxuICAgICAgICBNZXRob2RzLkh0dHBQb3N0LCB7IFxuICAgICAgICAgICAgdXJsOiBzcGVjcz8udXJsLCBcbiAgICAgICAgICAgIGhlYWRlcnM6IHNwZWNzPy5oZWFkZXJzLCBcbiAgICAgICAgICAgIGJvZHk6IHNwZWNzPy5ib2R5LCBcbiAgICAgICAgICAgIHNjcmlwdDogc3BlY3M/LnNjcmlwdCwgXG4gICAgICAgIH0sXG4gICAgICAgIHNwZWNzPy5zYW1wbGVzLFxuICAgICk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBXaXRuZXQgR3JhcGhRTCBSYWRvbiBSYWRvblJldHJpZXZhbCAoYnVpbHQgb24gdG9wIG9mIGFuIEhUVFAvUE9TVCByZXF1ZXN0KS5cbiAqIEBwYXJhbSBzcGVjcyBSYWRvblJldHJpZXZhbCBwYXJhbWV0ZXJzOiBVUkwsIEdyYXBoUUwgcXVlcnkgc3RyaW5nLCBSYWRvbiBTY3JpcHQgKG9wdGlvbmFsKSwgXG4gKiBwcmUtc2V0IHNhbXBsZXMgKG9wdGlvbmFsIHRvIHBhcmFtZXRlcml6ZWQgc291cmNlcywgb25seSkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBHcmFwaFFMUXVlcnkgKHNwZWNzOiB7IFxuICAgIHVybDogc3RyaW5nLCBcbiAgICBxdWVyeTogc3RyaW5nLCBcbiAgICBzY3JpcHQ/OiBSYWRvbkFueSxcbiAgICBzYW1wbGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+XG59KSB7XG4gICAgcmV0dXJuIG5ldyBSYWRvblJldHJpZXZhbChcbiAgICAgICAgTWV0aG9kcy5IdHRwUG9zdCwge1xuICAgICAgICAgICAgdXJsOiBzcGVjcy51cmwsIFxuICAgICAgICAgICAgYm9keTogYHtcXFwicXVlcnlcXFwiOlxcXCIke2dyYXBoUWxDb21wcmVzcyhzcGVjcy5xdWVyeSkucmVwbGFjZUFsbCgnXCInLCAnXFxcXFwiJyl9XFxcIn1gLFxuICAgICAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOFwiIH0sXG4gICAgICAgICAgICBzY3JpcHQ6IHNwZWNzPy5zY3JpcHQsXG4gICAgICAgIH0sIFxuICAgICAgICBzcGVjcz8uc2FtcGxlc1xuICAgICk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBDcm9zcyBDaGFpbiBEYXRhIFJldHJpZXZhbHMgcmV0cmlldmFsIG9uIHRvcCBvZiBhIEhUVFAvUE9TVCByZXF1ZXN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gQ3Jvc3NDaGFpbkRhdGFSZXRyaWV2YWwoc3BlY3MgOiB7XG4gICAgLyoqXG4gICAgICogQ3Jvc3NDaGFpblJQQyBvYmplY3QgZW5jYXBzdWxhdGluZyBSUEMgbWV0aG9kIGFuZCBwYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIHJwYzogQ3Jvc3NDaGFpblJQQyxcbiAgICAvKipcbiAgICAgKiBSYWRvblNjcmlwdCB0byByZWR1Y2UgcmV0dXJuZWQgdmFsdWUuXG4gICAgICovXG4gICAgc2NyaXB0PzogUmFkb25Bbnlcbn0pIHtcbiAgICByZXR1cm4gbmV3IFJhZG9uQ0NEUihzcGVjcy5ycGMsIHNwZWNzLnNjcmlwdClcbn1cbiJdfQ==
@@ -0,0 +1,102 @@
1
+ import type { Call as RPC } from "./ccdr"
2
+ import type { RadonType as Script } from "./types"
3
+ declare enum Methods {
4
+ None = 0,
5
+ HttpGet = 1,
6
+ HttpHead = 4,
7
+ HttpPost = 3,
8
+ RNG = 2,
9
+ }
10
+ export interface Specs {
11
+ url?: string
12
+ headers?: Map<string, string>
13
+ body?: string
14
+ script?: Script
15
+ tuples?: Map<string, string[]>
16
+ }
17
+ export declare class Class {
18
+ argsCount: number
19
+ authority?: string
20
+ body?: string
21
+ headers?: string[][]
22
+ method: Methods
23
+ path?: string
24
+ query?: string
25
+ schema?: string
26
+ script?: Script
27
+ url?: string
28
+ tuples?: Map<string, string[]>
29
+ constructor(method: Methods, specs?: Specs)
30
+ /**
31
+ * Creates clones of this retrieval where all occurences of the specified parameter
32
+ * are replaced by the given values. Fails if the retrieval refers no parameters,
33
+ * or if the specified index is not referred by it.
34
+ * @param argIndex Index of the parameter upon which the new instances will be created.
35
+ * @param values Values used for the creation of the new sources.
36
+ * @returns An array with as many sources as spawning values were specified.
37
+ */
38
+ spawn(argIndex: number, values: string[]): Class[]
39
+ }
40
+ /**
41
+ * Creates a Witnet randomness Radon Retrieval.
42
+ * @param script (Optional) Radon Script to apply to the random seed proposed by every single witness,
43
+ * before aggregation.
44
+ */
45
+ export declare function RNG(script?: any): Class
46
+ /**
47
+ * Creates a Witnet HTTP/GET Radon Retrieval.
48
+ * @param specs Retrieval parameters: URL, http headers (optional), Radon script (optional),
49
+ * pre-set tuples (optional to parameterized sources, only).
50
+ */
51
+ export declare function HttpGet(specs: {
52
+ url: string
53
+ headers?: Map<string, string>
54
+ script?: Script
55
+ tuples?: Map<string, string[]>
56
+ }): Class
57
+ /**
58
+ * Creates a Witnet HTTP/HEAD Radon Retrieval.
59
+ * @param specs Retrieval parameters: URL, http headers (optional), Radon script (optional),
60
+ * pre-set tuples (optional to parameterized sources, only).
61
+ */
62
+ export declare function HttpHead(specs: {
63
+ url: string
64
+ headers?: Map<string, string>
65
+ script?: Script
66
+ tuples?: Map<string, string[]>
67
+ }): Class
68
+ /**
69
+ * Creates a Witnet HTTP/POST Radon Retrieval.
70
+ * @param specs Retrieval parameters: URL, HTTP body (optional), HTTP headers (optional), Radon Script (optional),
71
+ * pre-set tuples (optional to parameterized sources, only).
72
+ */
73
+ export declare function HttpPost(specs?: {
74
+ url: string
75
+ body: string
76
+ headers?: Map<string, string>
77
+ script?: Script
78
+ tuples?: Map<string, string[]>
79
+ }): Class
80
+ /**
81
+ * Creates a Witnet GraphQL Radon Retrieval (built on top of an HTTP/POST request).
82
+ * @param specs Retrieval parameters: URL, GraphQL query string, Radon Script (optional),
83
+ * pre-set tuples (optional to parameterized sources, only).
84
+ */
85
+ export declare function GraphQLQuery(specs: {
86
+ url: string
87
+ query: string
88
+ script?: Script
89
+ tuples?: Map<string, string[]>
90
+ }): Class
91
+ /**
92
+ * Creates a Cross Chain Data Source built on top of a HTTP/POST request.
93
+ * @param specs Retrieval parameters: RPC provider URL, RPC object encapsulating method and parameters,
94
+ * Radon Script (optional) to apply to returned value, and pre-set tuples (optional to parameterized sources, only).
95
+ */
96
+ export declare function CrossChainDataSource(specs: {
97
+ url: string
98
+ rpc: RPC
99
+ script?: Script
100
+ tuples?: Map<string, string[]>
101
+ }): Class
102
+ //# sourceMappingURL=sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../../src/lib/radon/sources.ts"],"names":[],"mappings":"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"}