@witnet/sdk 1.0.3 → 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 (197) 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 +1 -1
  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.js +1 -1
  141. package/dist/src/lib/crypto/payloads/StakePayload.js +1 -1
  142. package/dist/src/lib/crypto/payloads/UnstakePayload.js +1 -1
  143. package/dist/src/lib/crypto/payloads/ValueTransferPayload.js +1 -1
  144. package/dist/src/lib/crypto/payloads.js +1 -1
  145. package/dist/src/lib/crypto/signer.js +1 -1
  146. package/dist/src/lib/crypto/transmitters/DataRequests.js +1 -1
  147. package/dist/src/lib/crypto/transmitters/StakeDeposits.js +1 -1
  148. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.js +1 -1
  149. package/dist/src/lib/crypto/transmitters/ValueTransfers.js +1 -1
  150. package/dist/src/lib/crypto/transmitters.js +1 -1
  151. package/dist/src/lib/crypto/types.js +1 -1
  152. package/dist/src/lib/crypto/utils.js +1 -1
  153. package/dist/src/lib/crypto/wallet.js +1 -1
  154. package/dist/src/lib/index.js +1 -1
  155. package/dist/src/lib/radon/ccdr/eth.js +1 -1
  156. package/dist/src/lib/radon/ccdr/index.js +1 -1
  157. package/dist/src/lib/radon/ccdr/wit.js +1 -1
  158. package/dist/src/lib/radon/filters.js +1 -1
  159. package/dist/src/lib/radon/index.js +1 -1
  160. package/dist/src/lib/radon/reducers.js +1 -1
  161. package/dist/src/lib/radon/types.js +1 -1
  162. package/dist/src/lib/radon/utils.js +1 -1
  163. package/dist/src/lib/rpc/index.js +1 -1
  164. package/dist/src/lib/rpc/nodes.js +1 -1
  165. package/dist/src/lib/rpc/provider.js +1 -1
  166. package/dist/src/lib/rpc/reporter.js +1 -1
  167. package/dist/src/lib/rpc/types.js +1 -1
  168. package/dist/src/lib/types.d.ts +1 -1
  169. package/dist/src/lib/types.d.ts.map +1 -1
  170. package/dist/src/lib/types.js +1 -1
  171. package/dist/src/lib/utils.js +1 -1
  172. package/dist/witnet/assets/index.js +1 -1
  173. package/dist/witnet/assets/modals/index.js +1 -1
  174. package/dist/witnet/assets/modals/web3/eth.js +1 -1
  175. package/dist/witnet/assets/modals/web3/ipfs.js +1 -1
  176. package/dist/witnet/assets/modals/web3/wit.js +1 -1
  177. package/dist/witnet/assets/requests.js +1 -1
  178. package/package.json +1 -1
  179. package/src/bin/cli/history.js +31 -31
  180. package/src/bin/cli/inspect.js +405 -405
  181. package/src/bin/cli/network.js +594 -594
  182. package/src/bin/cli/nodes.js +364 -364
  183. package/src/bin/cli/radon.js +815 -815
  184. package/src/bin/cli/wallet.js +1117 -1117
  185. package/src/bin/helpers.js +840 -840
  186. package/src/bin/postinstall.js +9 -9
  187. package/src/bin/toolkit.js +295 -295
  188. package/witnet/assets/_index.js +8 -8
  189. package/witnet/assets/_requests.js +25 -25
  190. package/witnet/assets/_sources.js +36 -36
  191. package/witnet/assets/_templates.js +36 -36
  192. package/witnet/assets/index.js +4 -4
  193. package/witnet/assets/modals/index.js +9 -9
  194. package/witnet/assets/modals/web3/eth.js +29 -29
  195. package/witnet/assets/modals/web3/ipfs.js +19 -19
  196. package/witnet/assets/modals/web3/wit.js +21 -21
  197. package/witnet/assets/requests.js +95 -95
@@ -0,0 +1,184 @@
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 __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ var __read = (this && this.__read) || function (o, n) {
29
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
30
+ if (!m) return o;
31
+ var i = m.call(o), r, ar = [], e;
32
+ try {
33
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
34
+ }
35
+ catch (error) { e = { error: error }; }
36
+ finally {
37
+ try {
38
+ if (r && !r.done && (m = i["return"])) m.call(i);
39
+ }
40
+ finally { if (e) throw e.error; }
41
+ }
42
+ return ar;
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.StakePayload = void 0;
46
+ var helpers_1 = require("../../../bin/helpers");
47
+ var payloads_1 = require("../payloads");
48
+ var types_1 = require("../types");
49
+ var TX_WEIGHT_BASE = 105;
50
+ var TX_WEIGHT_INPUT_SIZE = 133;
51
+ var TX_WEIGHT_OUTPUT_SIZE = 36;
52
+ var StakePayload = /** @class */ (function (_super) {
53
+ __extends(StakePayload, _super);
54
+ function StakePayload(protoTypeName, specs) {
55
+ return _super.call(this, protoTypeName, specs) || this;
56
+ }
57
+ Object.defineProperty(StakePayload.prototype, "maxWeight", {
58
+ get: function () {
59
+ return StakePayload.MAX_WEIGHT;
60
+ },
61
+ enumerable: false,
62
+ configurable: true
63
+ });
64
+ Object.defineProperty(StakePayload.prototype, "prepared", {
65
+ get: function () {
66
+ return (!!this._target
67
+ && this._covered >= this._target.value
68
+ && this._inputs.length > 0);
69
+ },
70
+ enumerable: false,
71
+ configurable: true
72
+ });
73
+ Object.defineProperty(StakePayload.prototype, "value", {
74
+ get: function () {
75
+ var _a;
76
+ return ((_a = this._target) === null || _a === void 0 ? void 0 : _a.value) || 0;
77
+ },
78
+ enumerable: false,
79
+ configurable: true
80
+ });
81
+ Object.defineProperty(StakePayload.prototype, "weight", {
82
+ get: function () {
83
+ return (TX_WEIGHT_BASE
84
+ + this._inputs.length * TX_WEIGHT_INPUT_SIZE
85
+ + this._outputs.length * TX_WEIGHT_OUTPUT_SIZE);
86
+ },
87
+ enumerable: false,
88
+ configurable: true
89
+ });
90
+ StakePayload.prototype.intoReceipt = function (target, network) {
91
+ return {
92
+ authorization: target.authorization,
93
+ withdrawer: target.withdrawer,
94
+ validator: types_1.PublicKeyHash.fromHexString(target.authorization.substring(0, 40)).toBech32(network),
95
+ };
96
+ };
97
+ StakePayload.prototype.toJSON = function (_humanize, network) {
98
+ if (_humanize === void 0) { _humanize = false; }
99
+ return __assign(__assign({ inputs: this.inputs
100
+ .map(function (_a) {
101
+ var _b = __read(_a, 2), utxo = _b[1];
102
+ return { output_pointer: utxo.output_pointer };
103
+ }) }, (this._target ? { output: {
104
+ authorization: types_1.RecoverableSignature.from(this._target.authorization.substring(40), types_1.PublicKeyHash.fromBech32(this._target.withdrawer).toBytes32()).toKeyedSignature(),
105
+ key: {
106
+ validator: types_1.PublicKeyHash.fromHexString(this._target.authorization.substring(0, 40)).toBech32(network),
107
+ withdrawer: this._target.withdrawer,
108
+ },
109
+ value: this._target.value,
110
+ } } : {})), (this.outputs.length > 0 ? { change: {
111
+ pkh: this.outputs[0].pkh,
112
+ value: this.outputs[0].value,
113
+ time_lock: 0,
114
+ } } : {}));
115
+ };
116
+ StakePayload.prototype.toProtobuf = function () {
117
+ if (this.prepared && this._target) {
118
+ return __assign({ inputs: this.inputs
119
+ .map(function (_a) {
120
+ var _b = __read(_a, 2), utxo = _b[1];
121
+ var transactionId = utxo.output_pointer.split(':')[0];
122
+ var outputIndex = parseInt(utxo.output_pointer.split(':')[1]);
123
+ return {
124
+ outputPointer: __assign({ transactionId: { SHA256: Array.from((0, helpers_1.fromHexString)(transactionId)) } }, (outputIndex > 0 ? { outputIndex: outputIndex } : {})),
125
+ };
126
+ }), output: {
127
+ authorization: types_1.RecoverableSignature.from(this._target.authorization.substring(40), types_1.PublicKeyHash.fromBech32(this._target.withdrawer).toBytes32()).toProtobuf(),
128
+ key: {
129
+ validator: { hash: Array.from(types_1.PublicKeyHash.fromHexString(this._target.authorization.substring(0, 40)).toBytes20()) },
130
+ withdrawer: { hash: Array.from(types_1.PublicKeyHash.fromBech32(this._target.withdrawer).toBytes20()) },
131
+ },
132
+ value: this._target.value,
133
+ } }, (this._outputs.length > 0 ? { change: {
134
+ pkh: { hash: Array.from(types_1.PublicKeyHash.fromBech32(this.outputs[0].pkh).toBytes20()) },
135
+ value: this.outputs[0].value,
136
+ // timeLock: 0,
137
+ } } : { change: { pkh: { hash: Array(20).fill(0) } } }));
138
+ }
139
+ };
140
+ StakePayload.prototype.validateTarget = function (target) {
141
+ target = this._cleanTargetExtras(target);
142
+ if (target && Object.keys(target).length > 0) {
143
+ if (!(target
144
+ && (target === null || target === void 0 ? void 0 : target.authorization)
145
+ && (target === null || target === void 0 ? void 0 : target.fees)
146
+ && parseInt(target.fees) > 0
147
+ && (target === null || target === void 0 ? void 0 : target.value)
148
+ && (target === null || target === void 0 ? void 0 : target.withdrawer))) {
149
+ throw new TypeError("".concat(this.constructor.name, ": invalid specs were provided: ").concat(JSON.stringify(target)));
150
+ }
151
+ else {
152
+ if (parseInt(target.value) < StakePayload.MIN_VALUE) {
153
+ throw new TypeError("".concat(this.constructor.name, ": value below minimum stake: ").concat((0, helpers_1.fromNanowits)(target.value), " < ").concat((0, helpers_1.fromNanowits)(StakePayload.MIN_VALUE), " $WIT"));
154
+ }
155
+ var pubKey = types_1.PublicKey.recoverFrom(target.authorization.substring(40), types_1.PublicKeyHash.fromBech32(target.withdrawer).toBytes32());
156
+ if (pubKey.hash().toHexString() !== target.authorization.substring(0, 40)) {
157
+ throw new TypeError("".concat(this.constructor.name, ": authorization code not valid for withdrawer ").concat(target.withdrawer, "."));
158
+ }
159
+ return target;
160
+ }
161
+ }
162
+ else {
163
+ return undefined;
164
+ }
165
+ };
166
+ StakePayload.prototype._cleanTargetExtras = function (target) {
167
+ if (target) {
168
+ return Object.fromEntries(Object.entries(target).filter(function (_a) {
169
+ var _b = __read(_a, 1), key = _b[0];
170
+ return [
171
+ 'authorization',
172
+ 'fees',
173
+ 'value',
174
+ 'withdrawer',
175
+ ].includes(key);
176
+ }));
177
+ }
178
+ };
179
+ StakePayload.MAX_WEIGHT = 10000; // 10,000
180
+ StakePayload.MIN_VALUE = 10000 * Math.pow(10, 9); // 10,000.00 $WIT
181
+ return StakePayload;
182
+ }(payloads_1.TransactionPayloadMultiSig));
183
+ exports.StakePayload = StakePayload;
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3Rha2VQYXlsb2FkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jcnlwdG8vcGF5bG9hZHMvU3Rha2VQYXlsb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUFrRTtBQUlsRSx3Q0FBd0Q7QUFDeEQsa0NBQWlIO0FBUWpILElBQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQztBQUMzQixJQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztBQUNqQyxJQUFNLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztBQUVqQztJQUFrQyxnQ0FBOEM7SUFLNUUsc0JBQWEsYUFBcUIsRUFBRSxLQUFXO1FBQzNDLE9BQUEsTUFBSyxZQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsU0FBQTtJQUMvQixDQUFDO0lBRUQsc0JBQVcsbUNBQVM7YUFBcEI7WUFDSSxPQUFPLFlBQVksQ0FBQyxVQUFVLENBQUE7UUFDbEMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBVyxrQ0FBUTthQUFuQjtZQUNJLE9BQU8sQ0FDSCxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU87bUJBQ1AsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUs7bUJBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDakMsQ0FBQTtRQUNMLENBQUM7OztPQUFBO0lBRUQsc0JBQVcsK0JBQUs7YUFBaEI7O1lBQ0ksT0FBTyxDQUFBLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsS0FBSyxLQUFJLENBQUMsQ0FBQTtRQUNuQyxDQUFDOzs7T0FBQTtJQUVELHNCQUFXLGdDQUFNO2FBQWpCO1lBQ0ksT0FBTyxDQUNILGNBQWM7a0JBQ1IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsb0JBQW9CO2tCQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1B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UyxHQUFHLEtBQUssR0FBRyxTQUFBLEVBQUUsRUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDLGlCQUFpQjtJQXlKaEUsbUJBQUM7Q0FBQSxBQTVKRCxDQUFrQyxxQ0FBMEIsR0E0SjNEO0FBNUpZLG9DQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbUhleFN0cmluZywgZnJvbU5hbm93aXRzIH0gZnJvbSBcIi4uLy4uLy4uL2Jpbi9oZWxwZXJzXCJcblxuaW1wb3J0IHsgSGV4U3RyaW5nLCBOYW5vd2l0cywgTmV0d29yayB9IGZyb20gXCIuLi8uLi90eXBlc1wiXG5cbmltcG9ydCB7IFRyYW5zYWN0aW9uUGF5bG9hZE11bHRpU2lnIH0gZnJvbSBcIi4uL3BheWxvYWRzXCJcbmltcG9ydCB7IFB1YmxpY0tleSwgUHVibGljS2V5SGFzaCwgUHVibGljS2V5SGFzaFN0cmluZywgUmVjb3ZlcmFibGVTaWduYXR1cmUsIFRyYW5zYWN0aW9uUGFyYW1zIH0gZnJvbSBcIi4uL3R5cGVzXCJcblxuZXhwb3J0IHR5cGUgU3Rha2VEZXBvc2l0UGFyYW1zID0gVHJhbnNhY3Rpb25QYXJhbXMgJiB7XG4gICAgYXV0aG9yaXphdGlvbjogSGV4U3RyaW5nLFxuICAgIHZhbHVlOiBOYW5vd2l0cyxcbiAgICB3aXRoZHJhd2VyOiBQdWJsaWNLZXlIYXNoU3RyaW5nLFxufVxuXG5jb25zdCBUWF9XRUlHSFRfQkFTRSA9IDEwNTtcbmNvbnN0IFRYX1dFSUdIVF9JTlBVVF9TSVpFID0gMTMzO1xuY29uc3QgVFhfV0VJR0hUX09VVFBVVF9TSVpFID0gMzY7XG5cbmV4cG9ydCBjbGFzcyBTdGFrZVBheWxvYWQgZXh0ZW5kcyBUcmFuc2FjdGlvblBheWxvYWRNdWx0aVNpZzxTdGFrZURlcG9zaXRQYXJhbXM+IHtcblxuICAgIHB1YmxpYyBzdGF0aWMgTUFYX1dFSUdIVCA9IDEwMDAwOyAgICAgICAgICAvLyAxMCwwMDBcbiAgICBwdWJsaWMgc3RhdGljIE1JTl9WQUxVRSA9IDEwMDAwICogMTAgKiogOTsgLy8gMTAsMDAwLjAwICRXSVRcblxuICAgIGNvbnN0cnVjdG9yIChwcm90b1R5cGVOYW1lOiBzdHJpbmcsIHNwZWNzPzogYW55KSB7XG4gICAgICAgIHN1cGVyKHByb3RvVHlwZU5hbWUsIHNwZWNzKVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbWF4V2VpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBTdGFrZVBheWxvYWQuTUFYX1dFSUdIVFxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcHJlcGFyZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhIXRoaXMuX3RhcmdldFxuICAgICAgICAgICAgICAgICYmIHRoaXMuX2NvdmVyZWQgPj0gdGhpcy5fdGFyZ2V0LnZhbHVlIFxuICAgICAgICAgICAgICAgICYmIHRoaXMuX2lucHV0cy5sZW5ndGggPiAwXG4gICAgICAgIClcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCk6IE5hbm93aXRzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RhcmdldD8udmFsdWUgfHwgMFxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgd2VpZ2h0KCk6IE5hbm93aXRzIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIFRYX1dFSUdIVF9CQVNFXG4gICAgICAgICAgICAgICAgKyB0aGlzLl9pbnB1dHMubGVuZ3RoICogVFhfV0VJR0hUX0lOUFVUX1NJWkUgXG4gICAgICAgICAgICAgICAgKyB0aGlzLl9vdXRwdXRzLmxlbmd0aCAqIFRYX1dFSUdIVF9PVVRQVVRfU0laRSBcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW50b1JlY2VpcHQodGFyZ2V0OiBTdGFrZURlcG9zaXRQYXJhbXMsIG5ldHdvcms/OiBOZXR3b3JrKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBhdXRob3JpemF0aW9uOiB0YXJnZXQuYXV0aG9yaXphdGlvbixcbiAgICAgICAgICAgIHdpdGhkcmF3ZXI6IHRhcmdldC53aXRoZHJhd2VyLFxuICAgICAgICAgICAgdmFsaWRhdG9yOiBQdWJsaWNLZXlIYXNoLmZyb21IZXhTdHJpbmcodGFyZ2V0LmF1dGhvcml6YXRpb24uc3Vic3RyaW5nKDAsIDQwKSkudG9CZWNoMzIobmV0d29yayksXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdG9KU09OKF9odW1hbml6ZSA9IGZhbHNlLCBuZXR3b3JrPzogTmV0d29yayk6IGFueSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpbnB1dHM6IHRoaXMuaW5wdXRzXG4gICAgICAgICAgICAgICAgLm1hcCgoWywgdXR4b10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgb3V0cHV0X3BvaW50ZXI6IHV0eG8ub3V0cHV0X3BvaW50ZXIgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgLi4uKFxuICAgICAgICAgICAgICAgIHRoaXMuX3RhcmdldCA/IHsgb3V0cHV0OiB7XG4gICAgICAgICAgICAgICAgICAgIGF1dGhvcml6YXRpb246IFJlY292ZXJhYmxlU2lnbmF0dXJlLmZyb20oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGFyZ2V0LmF1dGhvcml6YXRpb24uc3Vic3RyaW5nKDQwKSwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljS2V5SGFzaC5mcm9tQmVjaDMyKHRoaXMuX3RhcmdldC53aXRoZHJhd2VyKS50b0J5dGVzMzIoKVxuICAgICAgICAgICAgICAgICAgICAgICAgKS50b0tleWVkU2lnbmF0dXJlKCksXG4gICAgICAgICAgICAgICAgICAgIGtleToge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdG9yOiBQdWJsaWNLZXlIYXNoLmZyb21IZXhTdHJpbmcodGhpcy5fdGFyZ2V0LmF1dGhvcml6YXRpb24uc3Vic3RyaW5nKDAsIDQwKSkudG9CZWNoMzIobmV0d29yayksXG4gICAgICAgICAgICAgICAgICAgICAgICB3aXRoZHJhd2VyOiB0aGlzLl90YXJnZXQud2l0aGRyYXdlcixcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuX3RhcmdldC52YWx1ZSxcbiAgICAgICAgICAgICAgICB9fSA6IHt9XG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgLi4uKFxuICAgICAgICAgICAgICAgIHRoaXMub3V0cHV0cy5sZW5ndGggPiAwID8geyBjaGFuZ2U6IHtcbiAgICAgICAgICAgICAgICAgICAgcGtoOiB0aGlzLm91dHB1dHNbMF0ucGtoLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5vdXRwdXRzWzBdLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB0aW1lX2xvY2s6IDAsXG4gICAgICAgICAgICAgICAgfX0gOiB7fVxuICAgICAgICAgICAgKSxcbiAgICAgICAgfVxuICAgIH0gICBcblxuICAgIHB1YmxpYyB0b1Byb3RvYnVmKCk6IGFueSB7XG4gICAgICAgIGlmICh0aGlzLnByZXBhcmVkICYmIHRoaXMuX3RhcmdldCkge1xuICAgICAgICAgICAgcmV0dXJuIHsgICAgXG4gICAgICAgICAgICAgICAgaW5wdXRzOiB0aGlzLmlucHV0c1xuICAgICAgICAgICAgICAgICAgICAubWFwKChbLCB1dHhvXSkgPT4geyBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zYWN0aW9uSWQgPSB1dHhvLm91dHB1dF9wb2ludGVyLnNwbGl0KCc6JylbMF1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG91dHB1dEluZGV4ID0gcGFyc2VJbnQodXR4by5vdXRwdXRfcG9pbnRlci5zcGxpdCgnOicpWzFdKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRQb2ludGVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWQ6IHsgU0hBMjU2OiBBcnJheS5mcm9tKGZyb21IZXhTdHJpbmcodHJhbnNhY3Rpb25JZCkpIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLihvdXRwdXRJbmRleCA+IDAgPyB7IG91dHB1dEluZGV4IH0gOiB7fSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgb3V0cHV0OiB7XG4gICAgICAgICAgICAgICAgICAgIGF1dGhvcml6YXRpb246IFJlY292ZXJhYmxlU2lnbmF0dXJlLmZyb20oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGFyZ2V0LmF1dGhvcml6YXRpb24uc3Vic3RyaW5nKDQwKSwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUHVibGljS2V5SGFzaC5mcm9tQmVjaDMyKHRoaXMuX3RhcmdldC53aXRoZHJhd2VyKS50b0J5dGVzMzIoKVxuICAgICAgICAgICAgICAgICAgICAgICAgKS50b1Byb3RvYnVmKCksXG4gICAgICAgICAgICAgICAgICAgIGtleToge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdG9yOiB7IGhhc2g6IEFycmF5LmZyb20oUHVibGljS2V5SGFzaC5mcm9tSGV4U3RyaW5nKHRoaXMuX3RhcmdldC5hdXRob3JpemF0aW9uLnN1YnN0cmluZygwLCA0MCkpLnRvQnl0ZXMyMCgpKSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgd2l0aGRyYXdlcjogeyBoYXNoOiBBcnJheS5mcm9tKFB1YmxpY0tleUhhc2guZnJvbUJlY2gzMih0aGlzLl90YXJnZXQud2l0aGRyYXdlcikudG9CeXRlczIwKCkpIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLl90YXJnZXQudmFsdWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAuLi4oXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX291dHB1dHMubGVuZ3RoID4gMCA/IHsgY2hhbmdlIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGtoOiB7IGhhc2g6IEFycmF5LmZyb20oUHVibGljS2V5SGFzaC5mcm9tQmVjaDMyKHRoaXMub3V0cHV0c1swXS5wa2gpLnRvQnl0ZXMyMCgpKSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMub3V0cHV0c1swXS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRpbWVMb2NrOiAwLFxuICAgICAgICAgICAgICAgICAgICB9fSA6IHsgY2hhbmdlOiB7IHBraDogeyBoYXNoOiBBcnJheSgyMCkuZmlsbCgwKSB9fX1cbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHZhbGlkYXRlVGFyZ2V0KHRhcmdldD86IGFueSk6IFN0YWtlRGVwb3NpdFBhcmFtcyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHRhcmdldCA9IHRoaXMuX2NsZWFuVGFyZ2V0RXh0cmFzKHRhcmdldClcbiAgICAgICAgaWYgKHRhcmdldCAmJiBPYmplY3Qua2V5cyh0YXJnZXQpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGlmICghKFxuICAgICAgICAgICAgICAgIHRhcmdldFxuICAgICAgICAgICAgICAgICAgICAmJiB0YXJnZXQ/LmF1dGhvcml6YXRpb25cbiAgICAgICAgICAgICAgICAgICAgJiYgdGFyZ2V0Py5mZWVzXG4gICAgICAgICAgICAgICAgICAgICYmIHBhcnNlSW50KHRhcmdldC5mZWVzKSA+IDBcbiAgICAgICAgICAgICAgICAgICAgJiYgdGFyZ2V0Py52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAmJiB0YXJnZXQ/LndpdGhkcmF3ZXJcbiAgICAgICAgICAgICkpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGAke3RoaXMuY29uc3RydWN0b3IubmFtZX06IGludmFsaWQgc3BlY3Mgd2VyZSBwcm92aWRlZDogJHtKU09OLnN0cmluZ2lmeSh0YXJnZXQpfWApXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChwYXJzZUludCh0YXJnZXQudmFsdWUpIDwgU3Rha2VQYXlsb2FkLk1JTl9WQUxVRSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgYCR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfTogdmFsdWUgYmVsb3cgbWluaW11bSBzdGFrZTogJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tTmFub3dpdHModGFyZ2V0LnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSA8ICR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbU5hbm93aXRzKFN0YWtlUGF5bG9hZC5NSU5fVkFMVUUpXG4gICAgICAgICAgICAgICAgICAgICAgICB9ICRXSVRgXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHB1YktleSA9IFB1YmxpY0tleS5yZWNvdmVyRnJvbShcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmF1dGhvcml6YXRpb24uc3Vic3RyaW5nKDQwKSxcbiAgICAgICAgICAgICAgICAgICAgUHVibGljS2V5SGFzaC5mcm9tQmVjaDMyKHRhcmdldC53aXRoZHJhd2VyKS50b0J5dGVzMzIoKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICBpZiAocHViS2V5Lmhhc2goKS50b0hleFN0cmluZygpICE9PSB0YXJnZXQuYXV0aG9yaXphdGlvbi5zdWJzdHJpbmcoMCwgNDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9OiBhdXRob3JpemF0aW9uIGNvZGUgbm90IHZhbGlkIGZvciB3aXRoZHJhd2VyICR7dGFyZ2V0LndpdGhkcmF3ZXJ9LmBcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdGFyZ2V0IGFzIFN0YWtlRGVwb3NpdFBhcmFtc1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9jbGVhblRhcmdldEV4dHJhcyh0YXJnZXQ/OiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodGFyZ2V0KSB7XG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHRhcmdldCkuZmlsdGVyKChba2V5LF0pID0+IFtcbiAgICAgICAgICAgICAgICAgICAgJ2F1dGhvcml6YXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAnZmVlcycsXG4gICAgICAgICAgICAgICAgICAgICd2YWx1ZScsXG4gICAgICAgICAgICAgICAgICAgICd3aXRoZHJhd2VyJyxcbiAgICAgICAgICAgICAgICBdLmluY2x1ZGVzKGtleSkpXG4gICAgICAgICAgICApXG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { Epoch, Nanowits, ValueTransferOutput } from "../../types";
2
+ import { ISigner } from "../interfaces";
3
+ import { TransactionPayload } from "../payloads";
4
+ import { PublicKeyHashString, TransactionParams } from "../types";
5
+ export type StakeWithdrawalParams = TransactionParams & {
6
+ nonce?: Epoch;
7
+ validator: PublicKeyHashString;
8
+ value: Nanowits;
9
+ };
10
+ export declare class UnstakePayload extends TransactionPayload<StakeWithdrawalParams> {
11
+ static MIN_TIMELOCK_SECS: number;
12
+ static WEIGHT: number;
13
+ protected _outputs: Array<ValueTransferOutput>;
14
+ constructor(protoTypeName: string, specs?: any);
15
+ get covered(): boolean;
16
+ get maxWeight(): number;
17
+ get outputs(): Array<ValueTransferOutput>;
18
+ get prepared(): boolean;
19
+ get value(): Nanowits;
20
+ get weight(): Nanowits;
21
+ consumeUtxos(signer: ISigner): Promise<number>;
22
+ intoReceipt(target: StakeWithdrawalParams): {
23
+ withdrawer?: string | undefined;
24
+ nonce: number | undefined;
25
+ outputLock: number;
26
+ validator: string;
27
+ };
28
+ prepareOutputs(): any;
29
+ resetTarget(target: StakeWithdrawalParams): any;
30
+ toJSON(_humanize?: boolean): any;
31
+ toProtobuf(): any;
32
+ validateTarget(target?: any): StakeWithdrawalParams | undefined;
33
+ protected _cleanTargetExtras(target?: any): any;
34
+ }
35
+ //# sourceMappingURL=UnstakePayload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnstakePayload.d.ts","sourceRoot":"","sources":["../../../../src/lib/crypto/payloads/UnstakePayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAElE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAiB,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAGhF,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG;IACpD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,EAAE,mBAAmB,CAAC;IAC/B,KAAK,EAAE,QAAQ,CAAC;CACnB,CAAA;AAED,qBAAa,cAAe,SAAQ,kBAAkB,CAAC,qBAAqB,CAAC;IAEzE,OAAc,iBAAiB,SAAa;IAC5C,OAAc,MAAM,SAAO;IAE3B,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAK;gBAEtC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG;IAI/C,IAAW,OAAO,IAAI,OAAO,CAG5B;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,OAAO,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAE/C;IAED,IAAW,QAAQ,IAAI,OAAO,CAK7B;IAED,IAAW,KAAK,IAAI,QAAQ,CAE3B;IAED,IAAW,MAAM,IAAI,QAAQ,CAE5B;IAEY,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAepD,WAAW,CAAC,MAAM,EAAE,qBAAqB;;;;;;IASzC,cAAc,IAAI,GAAG;IAErB,WAAW,CAAC,MAAM,EAAE,qBAAqB,GAAG,GAAG;IAM/C,MAAM,CAAC,SAAS,UAAQ,GAAG,GAAG;IAa9B,UAAU,IAAI,GAAG;IAejB,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,qBAAqB,GAAG,SAAS;IAuBtE,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG;CAYlD"}
@@ -0,0 +1,244 @@
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 __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
+ return new (P || (P = Promise))(function (resolve, reject) {
31
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
35
+ });
36
+ };
37
+ var __generator = (this && this.__generator) || function (thisArg, body) {
38
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
39
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
40
+ function verb(n) { return function (v) { return step([n, v]); }; }
41
+ function step(op) {
42
+ if (f) throw new TypeError("Generator is already executing.");
43
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
44
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
45
+ if (y = 0, t) op = [op[0] & 2, t.value];
46
+ switch (op[0]) {
47
+ case 0: case 1: t = op; break;
48
+ case 4: _.label++; return { value: op[1], done: false };
49
+ case 5: _.label++; y = op[1]; op = [0]; continue;
50
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
51
+ default:
52
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
53
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
54
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
55
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
56
+ if (t[2]) _.ops.pop();
57
+ _.trys.pop(); continue;
58
+ }
59
+ op = body.call(thisArg, _);
60
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
61
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
62
+ }
63
+ };
64
+ var __read = (this && this.__read) || function (o, n) {
65
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
66
+ if (!m) return o;
67
+ var i = m.call(o), r, ar = [], e;
68
+ try {
69
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
70
+ }
71
+ catch (error) { e = { error: error }; }
72
+ finally {
73
+ try {
74
+ if (r && !r.done && (m = i["return"])) m.call(i);
75
+ }
76
+ finally { if (e) throw e.error; }
77
+ }
78
+ return ar;
79
+ };
80
+ Object.defineProperty(exports, "__esModule", { value: true });
81
+ exports.UnstakePayload = void 0;
82
+ var payloads_1 = require("../payloads");
83
+ var types_1 = require("../types");
84
+ var UnstakePayload = /** @class */ (function (_super) {
85
+ __extends(UnstakePayload, _super);
86
+ function UnstakePayload(protoTypeName, specs) {
87
+ var _this = _super.call(this, protoTypeName, specs) || this;
88
+ _this._outputs = [];
89
+ return _this;
90
+ }
91
+ Object.defineProperty(UnstakePayload.prototype, "covered", {
92
+ get: function () {
93
+ return this._covered > 0
94
+ && this.outputs.length > 0;
95
+ },
96
+ enumerable: false,
97
+ configurable: true
98
+ });
99
+ Object.defineProperty(UnstakePayload.prototype, "maxWeight", {
100
+ get: function () {
101
+ return UnstakePayload.WEIGHT;
102
+ },
103
+ enumerable: false,
104
+ configurable: true
105
+ });
106
+ Object.defineProperty(UnstakePayload.prototype, "outputs", {
107
+ get: function () {
108
+ return this._outputs;
109
+ },
110
+ enumerable: false,
111
+ configurable: true
112
+ });
113
+ Object.defineProperty(UnstakePayload.prototype, "prepared", {
114
+ get: function () {
115
+ return (this._target !== undefined
116
+ && this._outputs.length > 0);
117
+ },
118
+ enumerable: false,
119
+ configurable: true
120
+ });
121
+ Object.defineProperty(UnstakePayload.prototype, "value", {
122
+ get: function () {
123
+ var _a;
124
+ return ((_a = this._target) === null || _a === void 0 ? void 0 : _a.value) || 0;
125
+ },
126
+ enumerable: false,
127
+ configurable: true
128
+ });
129
+ Object.defineProperty(UnstakePayload.prototype, "weight", {
130
+ get: function () {
131
+ return UnstakePayload.WEIGHT;
132
+ },
133
+ enumerable: false,
134
+ configurable: true
135
+ });
136
+ UnstakePayload.prototype.consumeUtxos = function (signer) {
137
+ return __awaiter(this, void 0, void 0, function () {
138
+ var _a, _b;
139
+ var _c;
140
+ return __generator(this, function (_d) {
141
+ switch (_d.label) {
142
+ case 0:
143
+ if (!!this._target) return [3 /*break*/, 1];
144
+ throw new Error("".concat(this.constructor.name, ": internal error: no in-flight params."));
145
+ case 1:
146
+ if (!!this._covered) return [3 /*break*/, 4];
147
+ _a = this;
148
+ _b = ((_c = this._target) === null || _c === void 0 ? void 0 : _c.nonce);
149
+ if (_b) return [3 /*break*/, 3];
150
+ return [4 /*yield*/, signer.getDelegateNonce(this._target.validator)];
151
+ case 2:
152
+ _b = (_d.sent());
153
+ _d.label = 3;
154
+ case 3:
155
+ _a._covered = _b;
156
+ this._outputs.push({
157
+ pkh: signer.pkh,
158
+ value: this.value,
159
+ time_lock: UnstakePayload.MIN_TIMELOCK_SECS
160
+ });
161
+ _d.label = 4;
162
+ case 4: return [2 /*return*/, 0];
163
+ }
164
+ });
165
+ });
166
+ };
167
+ UnstakePayload.prototype.intoReceipt = function (target) {
168
+ return __assign({ nonce: target.nonce, outputLock: UnstakePayload.MIN_TIMELOCK_SECS, validator: target.validator }, (this._outputs ? { withdrawer: this._outputs[0].pkh } : {}));
169
+ };
170
+ UnstakePayload.prototype.prepareOutputs = function () { };
171
+ UnstakePayload.prototype.resetTarget = function (target) {
172
+ this._covered = 0;
173
+ this._outputs = [];
174
+ this._target = target;
175
+ };
176
+ UnstakePayload.prototype.toJSON = function (_humanize) {
177
+ var _a, _b;
178
+ if (_humanize === void 0) { _humanize = false; }
179
+ return {
180
+ fee: (_a = this._target) === null || _a === void 0 ? void 0 : _a.fees,
181
+ nonce: this._covered,
182
+ operator: (_b = this._target) === null || _b === void 0 ? void 0 : _b.validator,
183
+ withdrawal: {
184
+ pkh: this.outputs[0].pkh,
185
+ value: this.outputs[0].value,
186
+ time_lock: UnstakePayload.MIN_TIMELOCK_SECS,
187
+ },
188
+ };
189
+ };
190
+ UnstakePayload.prototype.toProtobuf = function () {
191
+ if (this.prepared && this._target) {
192
+ return {
193
+ fee: this._target.fees,
194
+ nonce: this._covered,
195
+ operator: { hash: Array.from(types_1.PublicKeyHash.fromBech32(this._target.validator).toBytes20()) },
196
+ withdrawal: {
197
+ pkh: { hash: Array.from(types_1.PublicKeyHash.fromBech32(this.outputs[0].pkh).toBytes20()) },
198
+ value: this.outputs[0].value,
199
+ timeLock: this.outputs[0].time_lock,
200
+ },
201
+ };
202
+ }
203
+ };
204
+ UnstakePayload.prototype.validateTarget = function (target) {
205
+ target = this._cleanTargetExtras(target);
206
+ if (target && Object.keys(target).length > 0) {
207
+ if (!(target
208
+ && (target === null || target === void 0 ? void 0 : target.fees)
209
+ && parseInt(target.fees) > 0
210
+ && (target === null || target === void 0 ? void 0 : target.value)
211
+ && parseInt(target.value) > 0
212
+ && (target === null || target === void 0 ? void 0 : target.validator))) {
213
+ throw new TypeError("".concat(this.constructor.name, ": invalid specs were provided: ").concat(JSON.stringify(target)));
214
+ }
215
+ else {
216
+ if ((target === null || target === void 0 ? void 0 : target.nonce) || parseInt(target.nonce) <= 0) {
217
+ throw new TypeError("".concat(this.constructor.name, ": nonce must be positive if provided."));
218
+ }
219
+ return target;
220
+ }
221
+ }
222
+ else {
223
+ return undefined;
224
+ }
225
+ };
226
+ UnstakePayload.prototype._cleanTargetExtras = function (target) {
227
+ if (target) {
228
+ return Object.fromEntries(Object.entries(target).filter(function (_a) {
229
+ var _b = __read(_a, 1), key = _b[0];
230
+ return [
231
+ 'fees',
232
+ 'nonce',
233
+ 'value',
234
+ 'validator',
235
+ ].includes(key);
236
+ }));
237
+ }
238
+ };
239
+ UnstakePayload.MIN_TIMELOCK_SECS = 1209600;
240
+ UnstakePayload.WEIGHT = 153;
241
+ return UnstakePayload;
242
+ }(payloads_1.TransactionPayload));
243
+ exports.UnstakePayload = UnstakePayload;
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW5zdGFrZVBheWxvYWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NyeXB0by9wYXlsb2Fkcy9VbnN0YWtlUGF5bG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSx3Q0FBZ0Q7QUFDaEQsa0NBQWdGO0FBU2hGO0lBQW9DLGtDQUF5QztJQU96RSx3QkFBYSxhQUFxQixFQUFFLEtBQVc7UUFDM0MsWUFBQSxNQUFLLFlBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxTQUFBO1FBSHJCLGNBQVEsR0FBK0IsRUFBRSxDQUFBOztJQUluRCxDQUFDO0lBRUQsc0JBQVcsbUNBQU87YUFBbEI7WUFDSSxPQUFPLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQzttQkFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO1FBQ2xDLENBQUM7OztPQUFBO0lBRUQsc0JBQVcscUNBQVM7YUFBcEI7WUFDSSxPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUE7UUFDaEMsQ0FBQzs7O09BQUE7SUFFRCxzQkFBVyxtQ0FBTzthQUFsQjtZQUNJLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQTtRQUN4QixDQUFDOzs7T0FBQTtJQUVELHNCQUFXLG9DQUFRO2FBQW5CO1lBQ0ksT0FBTyxDQUNILElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUzttQkFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUNsQyxDQUFBO1FBQ0wsQ0FBQzs7O09BQUE7SUFFRCxzQkFBVyxpQ0FBSzthQUFoQjs7WUFDSSxPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxLQUFLLEtBQUksQ0FBQyxDQUFBO1FBQ25DLENBQUM7OztPQUFBO0lBRUQsc0JBQVcsa0NB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RUFBRSxDQUFDO29CQUMvQyxNQUFNLElBQUksU0FBUyxDQUFDLFVBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLDBDQUF1QyxDQUFDLENBQUE7Z0JBQ3hGLENBQUM7Z0JBQ0QsT0FBTyxNQUErQixDQUFBO1lBQzFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sU0FBUyxDQUFBO1FBQ3BCLENBQUM7SUFDTCxDQUFDO0lBRVMsMkNBQWtCLEdBQTVCLFVBQTZCLE1BQVk7UUFDckMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FDckIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQyxFQUFNO29CQUFOLEtBQUEsYUFBTSxFQUFMLEdBQUcsUUFBQTtnQkFBTyxPQUFBO29CQUN0QyxNQUFNO29CQUNOLE9BQU87b0JBQ1AsT0FBTztvQkFDUCxXQUFXO2lCQUNkLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUwyQixDQUszQixDQUFDLENBQ25CLENBQUE7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQW5JYSxnQ0FBaUIsR0FBRyxPQUFTLEFBQVosQ0FBYTtJQUM5QixxQkFBTSxHQUFHLEdBQUcsQUFBTixDQUFPO0lBbUkvQixxQkFBQztDQUFBLEFBdElELENBQW9DLDZCQUFrQixHQXNJckQ7QUF0SVksd0NBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFcG9jaCwgTmFub3dpdHMsIFZhbHVlVHJhbnNmZXJPdXRwdXQgfSBmcm9tIFwiLi4vLi4vdHlwZXNcIlxuXG5pbXBvcnQgeyBJU2lnbmVyIH0gZnJvbSBcIi4uL2ludGVyZmFjZXNcIlxuaW1wb3J0IHsgVHJhbnNhY3Rpb25QYXlsb2FkIH0gZnJvbSBcIi4uL3BheWxvYWRzXCJcbmltcG9ydCB7IFB1YmxpY0tleUhhc2gsIFB1YmxpY0tleUhhc2hTdHJpbmcsIFRyYW5zYWN0aW9uUGFyYW1zIH0gZnJvbSBcIi4uL3R5cGVzXCJcblxuXG5leHBvcnQgdHlwZSBTdGFrZVdpdGhkcmF3YWxQYXJhbXMgPSBUcmFuc2FjdGlvblBhcmFtcyAmIHtcbiAgICBub25jZT86IEVwb2NoLFxuICAgIHZhbGlkYXRvcjogUHVibGljS2V5SGFzaFN0cmluZyxcbiAgICB2YWx1ZTogTmFub3dpdHMsXG59XG5cbmV4cG9ydCBjbGFzcyBVbnN0YWtlUGF5bG9hZCBleHRlbmRzIFRyYW5zYWN0aW9uUGF5bG9hZDxTdGFrZVdpdGhkcmF3YWxQYXJhbXM+IHtcblxuICAgIHB1YmxpYyBzdGF0aWMgTUlOX1RJTUVMT0NLX1NFQ1MgPSAxXzIwOV82MDA7XG4gICAgcHVibGljIHN0YXRpYyBXRUlHSFQgPSAxNTM7XG5cbiAgICBwcm90ZWN0ZWQgX291dHB1dHM6IEFycmF5PFZhbHVlVHJhbnNmZXJPdXRwdXQ+ID0gW11cblxuICAgIGNvbnN0cnVjdG9yIChwcm90b1R5cGVOYW1lOiBzdHJpbmcsIHNwZWNzPzogYW55KSB7XG4gICAgICAgIHN1cGVyKHByb3RvVHlwZU5hbWUsIHNwZWNzKVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY292ZXJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvdmVyZWQgPiAwXG4gICAgICAgICAgICAmJiB0aGlzLm91dHB1dHMubGVuZ3RoID4gMCBcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG1heFdlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gVW5zdGFrZVBheWxvYWQuV0VJR0hUXG4gICAgfVxuXG4gICAgcHVibGljIGdldCBvdXRwdXRzKCk6IEFycmF5PFZhbHVlVHJhbnNmZXJPdXRwdXQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX291dHB1dHNcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHByZXBhcmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5fdGFyZ2V0ICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAmJiB0aGlzLl9vdXRwdXRzLmxlbmd0aCA+IDBcbiAgICAgICAgKVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdmFsdWUoKTogTmFub3dpdHMge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGFyZ2V0Py52YWx1ZSB8fCAwXG4gICAgfVxuXG4gICAgcHVibGljIGdldCB3ZWlnaHQoKTogTmFub3dpdHMge1xuICAgICAgICByZXR1cm4gVW5zdGFrZVBheWxvYWQuV0VJR0hUXG4gICAgfVxuICAgIFxuICAgIHB1YmxpYyBhc3luYyBjb25zdW1lVXR4b3Moc2lnbmVyOiBJU2lnbmVyKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICAgICAgaWYgKCF0aGlzLl90YXJnZXQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9OiBpbnRlcm5hbCBlcnJvcjogbm8gaW4tZmxpZ2h0IHBhcmFtcy5gKVxuICAgICAgICBcbiAgICAgICAgfSBlbHNlIGlmICghdGhpcy5fY292ZXJlZCkge1xuICAgICAgICAgICAgdGhpcy5fY292ZXJlZCA9IHRoaXMuX3RhcmdldD8ubm9uY2UgfHwgKGF3YWl0IHNpZ25lci5nZXREZWxlZ2F0ZU5vbmNlKHRoaXMuX3RhcmdldC52YWxpZGF0b3IpKVxuICAgICAgICAgICAgdGhpcy5fb3V0cHV0cy5wdXNoKHtcbiAgICAgICAgICAgICAgICBwa2g6IHNpZ25lci5wa2gsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICAgICAgICAgICAgdGltZV9sb2NrOiBVbnN0YWtlUGF5bG9hZC5NSU5fVElNRUxPQ0tfU0VDU1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gMFxuICAgIH1cblxuICAgIHB1YmxpYyBpbnRvUmVjZWlwdCh0YXJnZXQ6IFN0YWtlV2l0aGRyYXdhbFBhcmFtcykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbm9uY2U6IHRhcmdldC5ub25jZSxcbiAgICAgICAgICAgIG91dHB1dExvY2s6IFVuc3Rha2VQYXlsb2FkLk1JTl9USU1FTE9DS19TRUNTLFxuICAgICAgICAgICAgdmFsaWRhdG9yOiB0YXJnZXQudmFsaWRhdG9yLFxuICAgICAgICAgICAgLi4uKHRoaXMuX291dHB1dHMgPyB7IHdpdGhkcmF3ZXI6IHRoaXMuX291dHB1dHNbMF0ucGtoIH0gOiB7fSksXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcHJlcGFyZU91dHB1dHMoKTogYW55IHt9XG5cbiAgICBwdWJsaWMgcmVzZXRUYXJnZXQodGFyZ2V0OiBTdGFrZVdpdGhkcmF3YWxQYXJhbXMpOiBhbnkge1xuICAgICAgICB0aGlzLl9jb3ZlcmVkID0gMFxuICAgICAgICB0aGlzLl9vdXRwdXRzID0gW11cbiAgICAgICAgdGhpcy5fdGFyZ2V0ID0gdGFyZ2V0XG4gICAgfVxuXG4gICAgcHVibGljIHRvSlNPTihfaHVtYW5pemUgPSBmYWxzZSk6IGFueSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBmZWU6IHRoaXMuX3RhcmdldD8uZmVlcyxcbiAgICAgICAgICAgIG5vbmNlOiB0aGlzLl9jb3ZlcmVkLFxuICAgICAgICAgICAgb3BlcmF0b3I6IHRoaXMuX3RhcmdldD8udmFsaWRhdG9yLFxuICAgICAgICAgICAgd2l0aGRyYXdhbDoge1xuICAgICAgICAgICAgICAgIHBraDogdGhpcy5vdXRwdXRzWzBdLnBraCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5vdXRwdXRzWzBdLnZhbHVlLFxuICAgICAgICAgICAgICAgIHRpbWVfbG9jazogVW5zdGFrZVBheWxvYWQuTUlOX1RJTUVMT0NLX1NFQ1MsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgfSAgIFxuXG4gICAgcHVibGljIHRvUHJvdG9idWYoKTogYW55IHtcbiAgICAgICAgaWYgKHRoaXMucHJlcGFyZWQgJiYgdGhpcy5fdGFyZ2V0KSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGZlZTogdGhpcy5fdGFyZ2V0LmZlZXMsXG4gICAgICAgICAgICAgICAgbm9uY2U6IHRoaXMuX2NvdmVyZWQsXG4gICAgICAgICAgICAgICAgb3BlcmF0b3I6IHsgaGFzaDogQXJyYXkuZnJvbShQdWJsaWNLZXlIYXNoLmZyb21CZWNoMzIodGhpcy5fdGFyZ2V0LnZhbGlkYXRvcikudG9CeXRlczIwKCkpIH0sXG4gICAgICAgICAgICAgICAgd2l0aGRyYXdhbDoge1xuICAgICAgICAgICAgICAgICAgICBwa2g6IHsgaGFzaDogQXJyYXkuZnJvbShQdWJsaWNLZXlIYXNoLmZyb21CZWNoMzIodGhpcy5vdXRwdXRzWzBdLnBraCkudG9CeXRlczIwKCkpIH0sXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLm91dHB1dHNbMF0udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIHRpbWVMb2NrOiB0aGlzLm91dHB1dHNbMF0udGltZV9sb2NrLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsaWRhdGVUYXJnZXQodGFyZ2V0PzogYW55KTogU3Rha2VXaXRoZHJhd2FsUGFyYW1zIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgdGFyZ2V0ID0gdGhpcy5fY2xlYW5UYXJnZXRFeHRyYXModGFyZ2V0KVxuICAgICAgICBpZiAodGFyZ2V0ICYmIE9iamVjdC5rZXlzKHRhcmdldCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgaWYgKCEoXG4gICAgICAgICAgICAgICAgdGFyZ2V0XG4gICAgICAgICAgICAgICAgICAgICYmIHRhcmdldD8uZmVlc1xuICAgICAgICAgICAgICAgICAgICAmJiBwYXJzZUludCh0YXJnZXQuZmVlcykgPiAwXG4gICAgICAgICAgICAgICAgICAgICYmIHRhcmdldD8udmFsdWVcbiAgICAgICAgICAgICAgICAgICAgJiYgcGFyc2VJbnQodGFyZ2V0LnZhbHVlKSA+IDBcbiAgICAgICAgICAgICAgICAgICAgJiYgdGFyZ2V0Py52YWxpZGF0b3JcbiAgICAgICAgICAgICkpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGAke3RoaXMuY29uc3RydWN0b3IubmFtZX06IGludmFsaWQgc3BlY3Mgd2VyZSBwcm92aWRlZDogJHtKU09OLnN0cmluZ2lmeSh0YXJnZXQpfWApXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICh0YXJnZXQ/Lm5vbmNlIHx8IHBhcnNlSW50KHRhcmdldC5ub25jZSkgPD0gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGAke3RoaXMuY29uc3RydWN0b3IubmFtZX06IG5vbmNlIG11c3QgYmUgcG9zaXRpdmUgaWYgcHJvdmlkZWQuYClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldCBhcyBTdGFrZVdpdGhkcmF3YWxQYXJhbXNcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBfY2xlYW5UYXJnZXRFeHRyYXModGFyZ2V0PzogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHRhcmdldCkge1xuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyh0YXJnZXQpLmZpbHRlcigoW2tleSxdKSA9PiBbXG4gICAgICAgICAgICAgICAgICAgICdmZWVzJyxcbiAgICAgICAgICAgICAgICAgICAgJ25vbmNlJyxcbiAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlJyxcbiAgICAgICAgICAgICAgICAgICAgJ3ZhbGlkYXRvcicsXG4gICAgICAgICAgICAgICAgXS5pbmNsdWRlcyhrZXkpKVxuICAgICAgICAgICAgKVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,24 @@
1
+ import { Nanowits } from "../../types";
2
+ import { TransactionPayloadMultiSig } from "../payloads";
3
+ import { PublicKeyHashString, TransactionParams } from "../types";
4
+ export type ValueTransferParams = TransactionParams & {
5
+ recipients: Array<[pkh: PublicKeyHashString, value: Nanowits]>;
6
+ timelock?: number;
7
+ };
8
+ export declare class ValueTransferPayload extends TransactionPayloadMultiSig<ValueTransferParams> {
9
+ static MAX_WEIGHT: number;
10
+ constructor(protoTypeName: string, initialTarget?: ValueTransferParams);
11
+ get maxWeight(): number;
12
+ get value(): Nanowits;
13
+ get weight(): Nanowits;
14
+ prepareOutputs(change?: {
15
+ value: Nanowits;
16
+ sender: PublicKeyHashString;
17
+ }): any;
18
+ intoReceipt(target: ValueTransferParams): any;
19
+ toJSON(): any;
20
+ toProtobuf(): any;
21
+ validateTarget(target?: any): ValueTransferParams | undefined;
22
+ protected _cleanTargetExtras(target?: any): any;
23
+ }
24
+ //# sourceMappingURL=ValueTransferPayload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValueTransferPayload.d.ts","sourceRoot":"","sources":["../../../../src/lib/crypto/payloads/ValueTransferPayload.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAiB,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEhF,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG;IAClD,UAAU,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAA;AAMD,qBAAa,oBAAqB,SAAQ,0BAA0B,CAAC,mBAAmB,CAAC;IAErF,OAAc,UAAU,SAAS;gBAEpB,aAAa,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,mBAAmB;IAIvE,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,KAAK,IAAI,QAAQ,CAE3B;IAED,IAAW,MAAM,IAAI,QAAQ,CAK5B;IAEM,cAAc,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAA;KAAE,GAAG,GAAG;IAW9E,WAAW,CAAC,MAAM,EAAE,mBAAmB,GAAG,GAAG;IAO7C,MAAM,IAAI,GAAG;IAcb,UAAU,IAAI,GAAG;IAuBjB,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,mBAAmB,GAAG,SAAS;IAoBpE,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG;CAWlD"}