@witnet/sdk 1.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +103 -0
  3. package/dist/package.json +72 -0
  4. package/dist/src/bin/helpers.d.ts +91 -0
  5. package/dist/src/bin/helpers.d.ts.map +1 -0
  6. package/dist/src/bin/helpers.js +816 -0
  7. package/dist/src/index.d.ts +5 -0
  8. package/dist/src/index.d.ts.map +1 -0
  9. package/dist/src/index.js +47 -0
  10. package/dist/src/lib/crypto/account.d.ts +32 -0
  11. package/dist/src/lib/crypto/account.d.ts.map +1 -0
  12. package/dist/src/lib/crypto/account.js +106 -0
  13. package/dist/src/lib/crypto/coinbase.d.ts +10 -0
  14. package/dist/src/lib/crypto/coinbase.d.ts.map +1 -0
  15. package/dist/src/lib/crypto/coinbase.js +28 -0
  16. package/dist/src/lib/crypto/index.d.ts +8 -0
  17. package/dist/src/lib/crypto/index.d.ts.map +1 -0
  18. package/dist/src/lib/crypto/index.js +30 -0
  19. package/dist/src/lib/crypto/interfaces.d.ts +85 -0
  20. package/dist/src/lib/crypto/interfaces.d.ts.map +1 -0
  21. package/dist/src/lib/crypto/interfaces.js +3 -0
  22. package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts +55 -0
  23. package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts.map +1 -0
  24. package/dist/src/lib/crypto/payloads/DataRequestPayload.js +339 -0
  25. package/dist/src/lib/crypto/payloads/StakePayload.d.ts +28 -0
  26. package/dist/src/lib/crypto/payloads/StakePayload.d.ts.map +1 -0
  27. package/dist/src/lib/crypto/payloads/StakePayload.js +142 -0
  28. package/dist/src/lib/crypto/payloads/UnstakePayload.d.ts +36 -0
  29. package/dist/src/lib/crypto/payloads/UnstakePayload.d.ts.map +1 -0
  30. package/dist/src/lib/crypto/payloads/UnstakePayload.js +154 -0
  31. package/dist/src/lib/crypto/payloads/ValueTransferPayload.d.ts +25 -0
  32. package/dist/src/lib/crypto/payloads/ValueTransferPayload.d.ts.map +1 -0
  33. package/dist/src/lib/crypto/payloads/ValueTransferPayload.js +128 -0
  34. package/dist/src/lib/crypto/payloads.d.ts +57 -0
  35. package/dist/src/lib/crypto/payloads.d.ts.map +1 -0
  36. package/dist/src/lib/crypto/payloads.js +170 -0
  37. package/dist/src/lib/crypto/signer.d.ts +33 -0
  38. package/dist/src/lib/crypto/signer.d.ts.map +1 -0
  39. package/dist/src/lib/crypto/signer.js +194 -0
  40. package/dist/src/lib/crypto/transmitters/DataRequests.d.ts +15 -0
  41. package/dist/src/lib/crypto/transmitters/DataRequests.d.ts.map +1 -0
  42. package/dist/src/lib/crypto/transmitters/DataRequests.js +23 -0
  43. package/dist/src/lib/crypto/transmitters/StakeDeposits.d.ts +12 -0
  44. package/dist/src/lib/crypto/transmitters/StakeDeposits.d.ts.map +1 -0
  45. package/dist/src/lib/crypto/transmitters/StakeDeposits.js +17 -0
  46. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.d.ts +18 -0
  47. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.d.ts.map +1 -0
  48. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.js +53 -0
  49. package/dist/src/lib/crypto/transmitters/ValueTransfers.d.ts +11 -0
  50. package/dist/src/lib/crypto/transmitters/ValueTransfers.d.ts.map +1 -0
  51. package/dist/src/lib/crypto/transmitters/ValueTransfers.js +16 -0
  52. package/dist/src/lib/crypto/transmitters.d.ts +47 -0
  53. package/dist/src/lib/crypto/transmitters.d.ts.map +1 -0
  54. package/dist/src/lib/crypto/transmitters.js +416 -0
  55. package/dist/src/lib/crypto/types.d.ts +161 -0
  56. package/dist/src/lib/crypto/types.d.ts.map +1 -0
  57. package/dist/src/lib/crypto/types.js +273 -0
  58. package/dist/src/lib/crypto/utils.d.ts +21 -0
  59. package/dist/src/lib/crypto/utils.d.ts.map +1 -0
  60. package/dist/src/lib/crypto/utils.js +156 -0
  61. package/dist/src/lib/crypto/wallet.d.ts +120 -0
  62. package/dist/src/lib/crypto/wallet.d.ts.map +1 -0
  63. package/dist/src/lib/crypto/wallet.js +258 -0
  64. package/dist/src/lib/index.d.ts +5 -0
  65. package/dist/src/lib/index.d.ts.map +1 -0
  66. package/dist/src/lib/index.js +44 -0
  67. package/dist/src/lib/radon/ccdr/eth.d.ts +160 -0
  68. package/dist/src/lib/radon/ccdr/eth.d.ts.map +1 -0
  69. package/dist/src/lib/radon/ccdr/eth.js +272 -0
  70. package/dist/src/lib/radon/ccdr/index.d.ts +14 -0
  71. package/dist/src/lib/radon/ccdr/index.d.ts.map +1 -0
  72. package/dist/src/lib/radon/ccdr/index.js +39 -0
  73. package/dist/src/lib/radon/ccdr/wit.d.ts +23 -0
  74. package/dist/src/lib/radon/ccdr/wit.d.ts.map +1 -0
  75. package/dist/src/lib/radon/ccdr/wit.js +35 -0
  76. package/dist/src/lib/radon/filters.d.ts +14 -0
  77. package/dist/src/lib/radon/filters.d.ts.map +1 -0
  78. package/dist/src/lib/radon/filters.js +45 -0
  79. package/dist/src/lib/radon/index.d.ts +296 -0
  80. package/dist/src/lib/radon/index.d.ts.map +1 -0
  81. package/dist/src/lib/radon/index.js +707 -0
  82. package/dist/src/lib/radon/reducers.d.ts +29 -0
  83. package/dist/src/lib/radon/reducers.d.ts.map +1 -0
  84. package/dist/src/lib/radon/reducers.js +66 -0
  85. package/dist/src/lib/radon/types.d.ts +521 -0
  86. package/dist/src/lib/radon/types.d.ts.map +1 -0
  87. package/dist/src/lib/radon/types.js +936 -0
  88. package/dist/src/lib/radon/utils.d.ts +53 -0
  89. package/dist/src/lib/radon/utils.d.ts.map +1 -0
  90. package/dist/src/lib/radon/utils.js +153 -0
  91. package/dist/src/lib/rpc/index.d.ts +3 -0
  92. package/dist/src/lib/rpc/index.d.ts.map +1 -0
  93. package/dist/src/lib/rpc/index.js +19 -0
  94. package/dist/src/lib/rpc/nodes.d.ts +40 -0
  95. package/dist/src/lib/rpc/nodes.d.ts.map +1 -0
  96. package/dist/src/lib/rpc/nodes.js +293 -0
  97. package/dist/src/lib/rpc/provider.d.ts +88 -0
  98. package/dist/src/lib/rpc/provider.d.ts.map +1 -0
  99. package/dist/src/lib/rpc/provider.js +336 -0
  100. package/dist/src/lib/rpc/reporter.d.ts +18 -0
  101. package/dist/src/lib/rpc/reporter.d.ts.map +1 -0
  102. package/dist/src/lib/rpc/reporter.js +30 -0
  103. package/dist/src/lib/rpc/types.d.ts +409 -0
  104. package/dist/src/lib/rpc/types.d.ts.map +1 -0
  105. package/dist/src/lib/rpc/types.js +81 -0
  106. package/dist/src/lib/types.d.ts +18 -0
  107. package/dist/src/lib/types.d.ts.map +1 -0
  108. package/dist/src/lib/types.js +7 -0
  109. package/dist/src/lib/utils.d.ts +13 -0
  110. package/dist/src/lib/utils.d.ts.map +1 -0
  111. package/dist/src/lib/utils.js +97 -0
  112. package/dist/witnet/assets/index.d.ts +30 -0
  113. package/dist/witnet/assets/index.d.ts.map +1 -0
  114. package/dist/witnet/assets/index.js +6 -0
  115. package/dist/witnet/assets/modals/index.d.ts +18 -0
  116. package/dist/witnet/assets/modals/index.d.ts.map +1 -0
  117. package/dist/witnet/assets/modals/index.js +21 -0
  118. package/dist/witnet/assets/modals/web3/eth.d.ts +5 -0
  119. package/dist/witnet/assets/modals/web3/eth.d.ts.map +1 -0
  120. package/dist/witnet/assets/modals/web3/eth.js +26 -0
  121. package/dist/witnet/assets/modals/web3/wit.d.ts +4 -0
  122. package/dist/witnet/assets/modals/web3/wit.d.ts.map +1 -0
  123. package/dist/witnet/assets/modals/web3/wit.js +20 -0
  124. package/dist/witnet/assets/requests.d.ts +11 -0
  125. package/dist/witnet/assets/requests.d.ts.map +1 -0
  126. package/dist/witnet/assets/requests.js +88 -0
  127. package/dist/witnet/witnet.proto.json +1325 -0
  128. package/package.json +72 -0
  129. package/src/bin/cli/history.js +31 -0
  130. package/src/bin/cli/inspect.js +359 -0
  131. package/src/bin/cli/network.js +592 -0
  132. package/src/bin/cli/nodes.js +364 -0
  133. package/src/bin/cli/radon.js +814 -0
  134. package/src/bin/cli/wallet.js +1000 -0
  135. package/src/bin/helpers.js +829 -0
  136. package/src/bin/postinstall.js +9 -0
  137. package/src/bin/toolkit.js +294 -0
  138. package/witnet/assets/_index.js +8 -0
  139. package/witnet/assets/_requests.js +25 -0
  140. package/witnet/assets/_sources.js +36 -0
  141. package/witnet/assets/_templates.js +36 -0
  142. package/witnet/assets/index.js +4 -0
  143. package/witnet/assets/modals/index.js +25 -0
  144. package/witnet/assets/modals/web3/btc.js +0 -0
  145. package/witnet/assets/modals/web3/eth.js +29 -0
  146. package/witnet/assets/modals/web3/sol.js +0 -0
  147. package/witnet/assets/modals/web3/wit.js +23 -0
  148. package/witnet/assets/requests.js +94 -0
  149. package/witnet/witnet.proto.json +1325 -0
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTransaction = exports.getBalance = void 0;
4
+ const helpers_1 = require("../../../bin/helpers");
5
+ /**
6
+ * Retrieve the balance in $nanoWIT of some account in Witnet.
7
+ * @param address Address of the account within the Witnet blockchain.
8
+ */
9
+ const getBalance = (address) => {
10
+ (0, helpers_1.checkRpcWildcards)(address);
11
+ if (!(0, helpers_1.isWildcard)(address) && (!address || typeof address !== "string" || address.length != 43 || !address.startsWith("wit"))) {
12
+ throw new EvalError("rpc.wit.getBalance: invalid address");
13
+ }
14
+ return {
15
+ method: "getBalance2",
16
+ params: { pkh: address },
17
+ };
18
+ };
19
+ exports.getBalance = getBalance;
20
+ /**
21
+ * Retrieve detailed informatinon about a mined transaction in the Witnet blockchain.
22
+ * @param txHash The hash of the transaction to retrieve.
23
+ */
24
+ const getTransaction = (txHash) => {
25
+ (0, helpers_1.checkRpcWildcards)(txHash);
26
+ if (!(0, helpers_1.isHexStringOfLength)(txHash, 32) && !(0, helpers_1.isWildcard)(txHash)) {
27
+ throw new EvalError("rpc.wit.getTransaction: invalid transaction hash value");
28
+ }
29
+ return {
30
+ method: "getTransaction",
31
+ params: [txHash]
32
+ };
33
+ };
34
+ exports.getTransaction = getTransaction;
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9yYWRvbi9jY2RyL3dpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrREFBeUY7QUFPekY7OztHQUdHO0FBQ0ksTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUE4QixFQUFFLEVBQUU7SUFDekQsSUFBQSwyQkFBaUIsRUFBQyxPQUFPLENBQUMsQ0FBQTtJQUMxQixJQUNJLENBQUMsSUFBQSxvQkFBVSxFQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3BCLENBQUMsT0FBTyxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQ2hHLEVBQ0gsQ0FBQztRQUNDLE1BQU0sSUFBSSxTQUFTLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBQ0QsT0FBTztRQUNILE1BQU0sRUFBRSxhQUFhO1FBQ3JCLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUU7S0FDM0IsQ0FBQztBQUNOLENBQUMsQ0FBQztBQWJXLFFBQUEsVUFBVSxjQWFyQjtBQUVGOzs7R0FHRztBQUNJLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBMEIsRUFBRSxFQUFFO0lBQ3pELElBQUEsMkJBQWlCLEVBQUMsTUFBTSxDQUFDLENBQUE7SUFDekIsSUFBSSxDQUFDLElBQUEsNkJBQW1CLEVBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBQSxvQkFBVSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDMUQsTUFBTSxJQUFJLFNBQVMsQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFDRCxPQUFPO1FBQ0gsTUFBTSxFQUFFLGdCQUFnQjtRQUN4QixNQUFNLEVBQUUsQ0FBRSxNQUFNLENBQUU7S0FDckIsQ0FBQztBQUNOLENBQUMsQ0FBQTtBQVRZLFFBQUEsY0FBYyxrQkFTMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjaGVja1JwY1dpbGRjYXJkcywgaXNIZXhTdHJpbmdPZkxlbmd0aCwgaXNXaWxkY2FyZCB9IGZyb20gXCIuLi8uLi8uLi9iaW4vaGVscGVyc1wiXHJcbmltcG9ydCB7IEJ5dGVzMzIsIFdpbGRjYXJkIH0gZnJvbSBcIi5cIjtcclxuXHJcbmV4cG9ydCB0eXBlIFdpdEFkZHJlc3MgPSBzdHJpbmcgJiB7XHJcbiAgICByZWFkb25seSBXaXRBZGRyZXNzOiB1bmlxdWUgc3ltYm9sXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXRyaWV2ZSB0aGUgYmFsYW5jZSBpbiAkbmFub1dJVCBvZiBzb21lIGFjY291bnQgaW4gV2l0bmV0LlxyXG4gKiBAcGFyYW0gYWRkcmVzcyBBZGRyZXNzIG9mIHRoZSBhY2NvdW50IHdpdGhpbiB0aGUgV2l0bmV0IGJsb2NrY2hhaW4uXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZ2V0QmFsYW5jZSA9IChhZGRyZXNzOiBXaXRBZGRyZXNzIHwgV2lsZGNhcmQpID0+IHtcclxuICAgIGNoZWNrUnBjV2lsZGNhcmRzKGFkZHJlc3MpXHJcbiAgICBpZiAoXHJcbiAgICAgICAgIWlzV2lsZGNhcmQoYWRkcmVzcykgJiYgKFxyXG4gICAgICAgICAgICAhYWRkcmVzcyB8fCB0eXBlb2YgYWRkcmVzcyAhPT0gXCJzdHJpbmdcIiB8fCBhZGRyZXNzLmxlbmd0aCAhPSA0MyB8fCAhYWRkcmVzcy5zdGFydHNXaXRoKFwid2l0XCIpXHJcbiAgICAgICAgKSBcclxuICAgICkge1xyXG4gICAgICAgIHRocm93IG5ldyBFdmFsRXJyb3IoXCJycGMud2l0LmdldEJhbGFuY2U6IGludmFsaWQgYWRkcmVzc1wiKTtcclxuICAgIH1cclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgbWV0aG9kOiBcImdldEJhbGFuY2UyXCIsIFxyXG4gICAgICAgIHBhcmFtczogeyBwa2g6IGFkZHJlc3MgfSxcclxuICAgIH07XHJcbn07XHJcblxyXG4vKipcclxuICogUmV0cmlldmUgZGV0YWlsZWQgaW5mb3JtYXRpbm9uIGFib3V0IGEgbWluZWQgdHJhbnNhY3Rpb24gaW4gdGhlIFdpdG5ldCBibG9ja2NoYWluLlxyXG4gKiBAcGFyYW0gdHhIYXNoIFRoZSBoYXNoIG9mIHRoZSB0cmFuc2FjdGlvbiB0byByZXRyaWV2ZS5cclxuICovXHJcbmV4cG9ydCBjb25zdCBnZXRUcmFuc2FjdGlvbiA9ICh0eEhhc2g6IEJ5dGVzMzIgfCBXaWxkY2FyZCkgPT4ge1xyXG4gICAgY2hlY2tScGNXaWxkY2FyZHModHhIYXNoKVxyXG4gICAgaWYgKCFpc0hleFN0cmluZ09mTGVuZ3RoKHR4SGFzaCwgMzIpICYmICFpc1dpbGRjYXJkKHR4SGFzaCkpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXZhbEVycm9yKFwicnBjLndpdC5nZXRUcmFuc2FjdGlvbjogaW52YWxpZCB0cmFuc2FjdGlvbiBoYXNoIHZhbHVlXCIpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBtZXRob2Q6IFwiZ2V0VHJhbnNhY3Rpb25cIiwgXHJcbiAgICAgICAgcGFyYW1zOiBbIHR4SGFzaCBdXHJcbiAgICB9O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,14 @@
1
+ export declare enum Opcodes {
2
+ Mode = 8,
3
+ StandardDeviation = 5
4
+ }
5
+ export declare class RadonFilter {
6
+ readonly opcode: Opcodes;
7
+ readonly args?: any;
8
+ constructor(opcode: Opcodes, args?: any);
9
+ toJSON(humanize?: boolean): any;
10
+ toProtobuf(): any;
11
+ }
12
+ export declare function Mode(): RadonFilter;
13
+ export declare function Stdev(stdev: number): RadonFilter;
14
+ //# sourceMappingURL=filters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../../src/lib/radon/filters.ts"],"names":[],"mappings":"AAEA,oBAAY,OAAO;IACf,IAAI,IAAO;IACX,iBAAiB,IAAO;CAC3B;AAED,qBAAa,WAAW;IAEpB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;gBAER,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG;IAWhC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,GAAG;IAU/B,UAAU,IAAI,GAAG;CAS3B;AAED,wBAAgB,IAAI,gBAA6C;AACjE,wBAAgB,KAAK,CAAE,KAAK,EAAE,MAAM,eAA+D"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RadonFilter = exports.Opcodes = void 0;
4
+ exports.Mode = Mode;
5
+ exports.Stdev = Stdev;
6
+ const cbor_1 = require("cbor");
7
+ var Opcodes;
8
+ (function (Opcodes) {
9
+ Opcodes[Opcodes["Mode"] = 8] = "Mode";
10
+ Opcodes[Opcodes["StandardDeviation"] = 5] = "StandardDeviation";
11
+ })(Opcodes || (exports.Opcodes = Opcodes = {}));
12
+ class RadonFilter {
13
+ constructor(opcode, args) {
14
+ this.opcode = opcode;
15
+ this.args = args;
16
+ Object.defineProperty(this, "toString", { value: () => {
17
+ switch (this.opcode) {
18
+ case Opcodes.Mode: return "Class(mode)";
19
+ case Opcodes.StandardDeviation: return `Class(stdev = ${args})`;
20
+ }
21
+ } });
22
+ }
23
+ toJSON(humanize) {
24
+ const json = {
25
+ op: humanize ? Opcodes[this.opcode] : this.opcode,
26
+ };
27
+ if (this.args) {
28
+ json.args = humanize ? this.args : Array.from((0, cbor_1.encode)(this.args));
29
+ }
30
+ return json;
31
+ }
32
+ toProtobuf() {
33
+ const protobuf = {
34
+ op: this.opcode,
35
+ };
36
+ if (this.args) {
37
+ protobuf.args = Array.from((0, cbor_1.encode)(this.args));
38
+ }
39
+ return protobuf;
40
+ }
41
+ }
42
+ exports.RadonFilter = RadonFilter;
43
+ function Mode() { return new RadonFilter(Opcodes.Mode); }
44
+ function Stdev(stdev) { return new RadonFilter(Opcodes.StandardDeviation, stdev); }
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvcmFkb24vZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE0Q0Esb0JBQWlFO0FBQ2pFLHNCQUFtRztBQTdDbkcsK0JBQTJDO0FBRTNDLElBQVksT0FHWDtBQUhELFdBQVksT0FBTztJQUNmLHFDQUFXLENBQUE7SUFDWCwrREFBd0IsQ0FBQTtBQUM1QixDQUFDLEVBSFcsT0FBTyx1QkFBUCxPQUFPLFFBR2xCO0FBRUQsTUFBYSxXQUFXO0lBS3BCLFlBQVksTUFBZSxFQUFFLElBQVU7UUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7UUFDaEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDbEQsUUFBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ2pCLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sYUFBYSxDQUFDO29CQUN4QyxLQUFLLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8saUJBQWlCLElBQUksR0FBRyxDQUFBO2dCQUNuRSxDQUFDO1lBQ0wsQ0FBQyxFQUFDLENBQUMsQ0FBQTtJQUNQLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBa0I7UUFDNUIsTUFBTSxJQUFJLEdBQVE7WUFDZCxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTTtTQUNwRCxDQUFBO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFBLGFBQVUsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUN4RSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLFVBQVU7UUFDYixNQUFNLFFBQVEsR0FBUTtZQUNsQixFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDbEIsQ0FBQTtRQUNELElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osUUFBUSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUEsYUFBVSxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ3JELENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQTtJQUNuQixDQUFDO0NBQ0o7QUFuQ0Qsa0NBbUNDO0FBRUQsU0FBZ0IsSUFBSSxLQUFNLE9BQU8sSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRSxTQUFnQixLQUFLLENBQUUsS0FBYSxJQUFJLE9BQU8sSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVuY29kZSBhcyBjYm9yRW5jb2RlIH0gZnJvbSBcImNib3JcIlxyXG5cclxuZXhwb3J0IGVudW0gT3Bjb2RlcyB7XHJcbiAgICBNb2RlID0gMHgwOCxcclxuICAgIFN0YW5kYXJkRGV2aWF0aW9uID0gMHgwNSxcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJhZG9uRmlsdGVyIHtcclxuXHJcbiAgICByZWFkb25seSBvcGNvZGU6IE9wY29kZXM7XHJcbiAgICByZWFkb25seSBhcmdzPzogYW55O1xyXG4gICAgXHJcbiAgICBjb25zdHJ1Y3RvcihvcGNvZGU6IE9wY29kZXMsIGFyZ3M/OiBhbnkpIHtcclxuICAgICAgICB0aGlzLm9wY29kZSA9IG9wY29kZVxyXG4gICAgICAgIHRoaXMuYXJncyA9IGFyZ3NcclxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJ0b1N0cmluZ1wiLCB7IHZhbHVlOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHN3aXRjaCh0aGlzLm9wY29kZSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSBPcGNvZGVzLk1vZGU6IHJldHVybiBcIkNsYXNzKG1vZGUpXCI7XHJcbiAgICAgICAgICAgICAgICBjYXNlIE9wY29kZXMuU3RhbmRhcmREZXZpYXRpb246IHJldHVybiBgQ2xhc3Moc3RkZXYgPSAke2FyZ3N9KWBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH19KVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB0b0pTT04oaHVtYW5pemU/OiBib29sZWFuKTogYW55IHtcclxuICAgICAgICBjb25zdCBqc29uOiBhbnkgPSB7XHJcbiAgICAgICAgICAgIG9wOiBodW1hbml6ZSA/IE9wY29kZXNbdGhpcy5vcGNvZGVdIDogdGhpcy5vcGNvZGUsXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmFyZ3MpIHtcclxuICAgICAgICAgICAganNvbi5hcmdzID0gaHVtYW5pemUgPyB0aGlzLmFyZ3MgOiBBcnJheS5mcm9tKGNib3JFbmNvZGUodGhpcy5hcmdzKSlcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGpzb247XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyB0b1Byb3RvYnVmKCk6IGFueSB7XHJcbiAgICAgICAgY29uc3QgcHJvdG9idWY6IGFueSA9IHtcclxuICAgICAgICAgICAgb3A6IHRoaXMub3Bjb2RlLFxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5hcmdzKSB7XHJcbiAgICAgICAgICAgIHByb3RvYnVmLmFyZ3MgPSBBcnJheS5mcm9tKGNib3JFbmNvZGUodGhpcy5hcmdzKSlcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3RvYnVmXHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBNb2RlICgpIHsgcmV0dXJuIG5ldyBSYWRvbkZpbHRlcihPcGNvZGVzLk1vZGUpOyB9XHJcbmV4cG9ydCBmdW5jdGlvbiBTdGRldiAoc3RkZXY6IG51bWJlcikgeyByZXR1cm4gbmV3IFJhZG9uRmlsdGVyKE9wY29kZXMuU3RhbmRhcmREZXZpYXRpb24sIHN0ZGV2KTsgfVxyXG4iXX0=
@@ -0,0 +1,296 @@
1
+ import { Opcodes as Filters, RadonFilter } from './filters';
2
+ import { Opcodes as Reducers, RadonReducer } from './reducers';
3
+ import { RadonAny, RadonString, RadonOperator } from './types';
4
+ import { RadonArray as _RadonArray, RadonBoolean as _RadonBoolean, RadonBytes as _RadonBytes, RadonFloat as _RadonFloat, RadonInteger as _RadonInteger, RadonMap as _RadonMap, RadonString as _RadonString, RadonScript as _RadonScript } from './types';
5
+ type Args = string[] | string[][];
6
+ declare class RadonArtifact {
7
+ readonly sources: RadonRetrieval[];
8
+ readonly sourcesReducer: RadonReducer;
9
+ readonly witnessReducer: RadonReducer;
10
+ constructor(specs: {
11
+ sources: RadonRetrieval[];
12
+ sourcesReducer: RadonReducer;
13
+ witnessReducer: RadonReducer;
14
+ });
15
+ opsCount(): number;
16
+ }
17
+ export declare class RadonRequest extends RadonArtifact {
18
+ /**
19
+ * Decodes a RadonRequest artifact out from a Protobuf-serialized bytecode.
20
+ * @param bytecode Radon request bytecode.
21
+ * @returns RadonRequest object.
22
+ */
23
+ static fromBytecode(bytecode: any): RadonRequest;
24
+ /**
25
+ * Decodes a RadonRequest artifact out from a Protobuf object.
26
+ * @param obj Protobuf object.
27
+ * @returns RadonRequest object.
28
+ */
29
+ static fromProtobuf(obj: any): RadonRequest;
30
+ constructor(specs: {
31
+ sources: RadonRetrieval | RadonRetrieval[];
32
+ sourcesReducer?: RadonReducer;
33
+ witnessReducer?: RadonReducer;
34
+ });
35
+ protected _encode(): Buffer;
36
+ execDryRun(): Promise<string>;
37
+ get radHash(): string;
38
+ toBytecode(): string;
39
+ toJSON(humanize?: boolean): any;
40
+ toProtobuf(): any;
41
+ weight(): number;
42
+ }
43
+ export declare function RadonRequestFromAssets(specs: {
44
+ assets: Object;
45
+ argsMap: Record<string, any | string[] | undefined>;
46
+ sourcesReducer?: RadonReducer;
47
+ witnessReducer?: RadonReducer;
48
+ }): RadonRequest;
49
+ export declare function RadonScript<InputType extends RadonAny = RadonString>(inputType: {
50
+ new (ops?: RadonOperator): InputType;
51
+ }): InputType;
52
+ export declare class RadonTemplate extends RadonArtifact {
53
+ protected _argsCount: number;
54
+ readonly homogeneous: boolean;
55
+ readonly samples?: Record<string, Args>;
56
+ constructor(specs: {
57
+ sources: RadonRetrieval | RadonRetrieval[];
58
+ sourcesReducer?: RadonReducer;
59
+ witnessReducer?: RadonReducer;
60
+ }, samples?: Record<string, Args>);
61
+ get argsCount(): number;
62
+ buildRadonRequest(args: any | any[] | string[] | string[][]): RadonRequest;
63
+ }
64
+ export declare class RadonModal extends RadonTemplate {
65
+ protected _providers: Array<string>;
66
+ constructor(specs: {
67
+ providers?: Array<string>;
68
+ retrieval: RadonRetrieval;
69
+ sourcesReducer?: RadonReducer;
70
+ witnessReducer?: RadonReducer;
71
+ });
72
+ get argsCount(): number;
73
+ get providers(): Array<string>;
74
+ set providers(providers: Array<string>);
75
+ buildRadonRequest(args?: any | string[]): RadonRequest;
76
+ buildRadonTemplate(providers?: Array<string>): RadonTemplate;
77
+ _checkProviders(providers: Array<string>): Array<string>;
78
+ }
79
+ export declare class RadonRetrieval {
80
+ readonly argsKeys?: Array<string>;
81
+ readonly argsCount: number;
82
+ readonly method: retrievals.Methods;
83
+ readonly authority?: string;
84
+ readonly body?: string;
85
+ readonly headers?: Record<string, string>;
86
+ readonly path?: string;
87
+ readonly query?: string;
88
+ readonly schema?: string;
89
+ readonly script?: _RadonScript;
90
+ readonly url?: string;
91
+ readonly samples?: Record<string, string[]>;
92
+ constructor(specs: {
93
+ method: retrievals.Methods;
94
+ url?: string;
95
+ headers?: Record<string, string>;
96
+ body?: any;
97
+ script?: RadonAny;
98
+ argsKeys?: Array<string>;
99
+ }, samples?: Record<string, string[]>);
100
+ isModal(): boolean;
101
+ isParameterized(): boolean;
102
+ /**
103
+ * Creates a new Radon Retrieval by orderly replacing indexed wildcards with given parameters.
104
+ * Fails if not parameterized, of if passing too many parameters.
105
+ */
106
+ foldArgs(args: any | string[]): RadonRetrieval;
107
+ /**
108
+ * Creates one or more clones of this retrieval, in which the index-0 wildcard
109
+ * will be replaced by the given values. Fails if the retrieval is not parameterized.
110
+ */
111
+ spawnRetrievals(...values: string[]): RadonRetrieval[];
112
+ toJSON(humanize?: boolean): any;
113
+ toProtobuf(): any;
114
+ opsCount(): any;
115
+ protected _countOps(items: any[]): number;
116
+ }
117
+ export declare namespace filters {
118
+ const Opcodes: typeof Filters;
119
+ const Class: typeof RadonFilter;
120
+ function Mode(): RadonFilter;
121
+ function Stdev(stdev: number): RadonFilter;
122
+ }
123
+ export declare namespace reducers {
124
+ const Opcodes: typeof Reducers;
125
+ const Class: typeof RadonReducer;
126
+ function Mode(...filters: RadonFilter[]): RadonReducer;
127
+ function Mean(...filters: RadonFilter[]): RadonReducer;
128
+ function Median(...filters: RadonFilter[]): RadonReducer;
129
+ function Stdev(...filters: RadonFilter[]): RadonReducer;
130
+ function ConcatHash(...filters: RadonFilter[]): RadonReducer;
131
+ function PriceAggregate(): RadonReducer;
132
+ function PriceTally(): RadonReducer;
133
+ }
134
+ import * as ccdr from './ccdr';
135
+ export declare namespace retrievals {
136
+ const rpc: typeof ccdr;
137
+ function fromRadonAssets(assets: Object): Record<string, RadonRetrieval>;
138
+ enum Methods {
139
+ None = 0,
140
+ HttpGet = 1,
141
+ HttpHead = 4,
142
+ HttpPost = 3,
143
+ RNG = 2
144
+ }
145
+ /**
146
+ * Creates a Witnet randomness data source object.
147
+ * @param script (Optional) Radon Script to apply to the random seed proposed by every single witness,
148
+ * before aggregation.
149
+ **/
150
+ function RNG(script?: RadonAny): RadonRetrieval;
151
+ /**
152
+ * Creates a HTTP/GET data retrieval object.
153
+ * @param specs Radon Retrieval specs.
154
+ **/
155
+ function HttpGet(specs: {
156
+ /**
157
+ * HTTP request URL.
158
+ */
159
+ url?: string;
160
+ /**
161
+ * HTTP request headers.
162
+ */
163
+ headers?: Record<string, string>;
164
+ /**
165
+ * RadonScript for processing returned value.
166
+ */
167
+ script?: RadonAny;
168
+ /**
169
+ * Names of indexed parameters (optional, if any).
170
+ */
171
+ argsKeys?: string[];
172
+ /**
173
+ * Map of pre-set parameters (on parameterized retrievals, only).
174
+ */
175
+ samples?: Record<string, string[]>;
176
+ }): RadonRetrieval;
177
+ /**
178
+ * Creates a HTTP/HEAD data retrieval object.
179
+ * @param specs Radon Retrieval specs.
180
+ **/
181
+ function HttpHead(specs: {
182
+ /**
183
+ * HTTP request URL
184
+ */
185
+ url?: string;
186
+ /**
187
+ * HTTP request headers
188
+ */
189
+ headers?: Record<string, string>;
190
+ /**
191
+ * Radon script for processing returned value.
192
+ */
193
+ script?: RadonAny;
194
+ /**
195
+ * Names of indexed parameters (optional, if any)
196
+ */
197
+ argsKeys?: string[];
198
+ /**
199
+ * Map of pre-set parameters (on parameterized retrievals, only).
200
+ */
201
+ samples?: Record<string, string[]>;
202
+ }): RadonRetrieval;
203
+ /**
204
+ * Creates a HTTP/POST data retrieval object.
205
+ * @param specs Radon Retrieval specs.
206
+ **/
207
+ function HttpPost(specs: {
208
+ /**
209
+ * HTTP request URL
210
+ */
211
+ url?: string;
212
+ /**
213
+ * HTTP request body
214
+ */
215
+ body?: string;
216
+ /**
217
+ * HTTP request headers
218
+ */
219
+ headers?: Record<string, string>;
220
+ /**
221
+ * Radon script for processing returned value.
222
+ */
223
+ script?: RadonAny;
224
+ /**
225
+ * Names of indexed parameters (optional, if any)
226
+ */
227
+ argsKeys?: string[];
228
+ /**
229
+ * Map of pre-set parameters (on parameterized retrievals, only).
230
+ */
231
+ samples?: Record<string, string[]>;
232
+ }): RadonRetrieval;
233
+ /**
234
+ * Creates a GraphQL-query data source object.
235
+ * @param specs Radon Retrieval specs.
236
+ **/
237
+ function GraphQLQuery(specs: {
238
+ /**
239
+ * GraphQL URL endpoint
240
+ */
241
+ url?: string;
242
+ /**
243
+ * GraphQL query
244
+ */
245
+ query: string;
246
+ /**
247
+ * Radon script for processing returned value.
248
+ */
249
+ script?: RadonAny;
250
+ /**
251
+ * Names of indexed parameters (optional, if any)
252
+ */
253
+ argsKeys?: string[];
254
+ /**
255
+ * Map of pre-set parameters (on parameterized retrievals, only).
256
+ */
257
+ samples?: Record<string, string[]>;
258
+ }): RadonRetrieval;
259
+ /**
260
+ * Creates a JSON-RPC data retrieval object.
261
+ * @param specs Radon Retrieval specs.
262
+ **/
263
+ function JsonRPC(specs: {
264
+ /**
265
+ * JSON-RPC method and parameters.
266
+ */
267
+ rpc: {
268
+ method: string;
269
+ params?: any;
270
+ };
271
+ /**
272
+ * Radon script for processing returned value.
273
+ */
274
+ script?: RadonAny;
275
+ /**
276
+ * Names of indexed parameters (optional, if any)
277
+ */
278
+ argsKeys?: string[];
279
+ /**
280
+ * Map of pre-set parameters (on parameterized retrievals, only).
281
+ */
282
+ samples?: Record<string, string[]>;
283
+ }): RadonRetrieval;
284
+ }
285
+ export declare namespace types {
286
+ const RadonArray: typeof _RadonArray;
287
+ const RadonBoolean: typeof _RadonBoolean;
288
+ const RadonBytes: typeof _RadonBytes;
289
+ const RadonFloat: typeof _RadonFloat;
290
+ const RadonInteger: typeof _RadonInteger;
291
+ const RadonMap: typeof _RadonMap;
292
+ const RadonScript: typeof _RadonScript;
293
+ const RadonString: typeof _RadonString;
294
+ }
295
+ export {};
296
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/radon/index.ts"],"names":[],"mappings":"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"}