@bitgo-beta/sdk-coin-dot 2.2.8-beta.1221 → 2.2.8-beta.1223

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 (88) hide show
  1. package/dist/src/dot.d.ts +154 -0
  2. package/dist/src/dot.d.ts.map +1 -0
  3. package/dist/src/dot.js +576 -0
  4. package/dist/src/index.d.ts +5 -0
  5. package/dist/src/index.d.ts.map +1 -0
  6. package/dist/src/index.js +21 -0
  7. package/dist/src/lib/addressInitializationBuilder.d.ts +79 -0
  8. package/dist/src/lib/addressInitializationBuilder.d.ts.map +1 -0
  9. package/dist/src/lib/addressInitializationBuilder.js +182 -0
  10. package/dist/src/lib/batchTransactionBuilder.d.ts +62 -0
  11. package/dist/src/lib/batchTransactionBuilder.d.ts.map +1 -0
  12. package/dist/src/lib/batchTransactionBuilder.js +229 -0
  13. package/dist/src/lib/claimBuilder.d.ts +58 -0
  14. package/dist/src/lib/claimBuilder.d.ts.map +1 -0
  15. package/dist/src/lib/claimBuilder.js +117 -0
  16. package/dist/src/lib/errors.d.ts +8 -0
  17. package/dist/src/lib/errors.d.ts.map +1 -0
  18. package/dist/src/lib/errors.js +19 -0
  19. package/dist/src/lib/iface.d.ts +337 -0
  20. package/dist/src/lib/iface.d.ts.map +1 -0
  21. package/dist/src/lib/iface.js +128 -0
  22. package/dist/src/lib/iface_utils.d.ts +59 -0
  23. package/dist/src/lib/iface_utils.d.ts.map +1 -0
  24. package/dist/src/lib/iface_utils.js +92 -0
  25. package/dist/src/lib/index.d.ts +19 -0
  26. package/dist/src/lib/index.d.ts.map +1 -0
  27. package/dist/src/lib/index.js +71 -0
  28. package/dist/src/lib/keyPair.d.ts +38 -0
  29. package/dist/src/lib/keyPair.d.ts.map +1 -0
  30. package/dist/src/lib/keyPair.js +117 -0
  31. package/dist/src/lib/nativeTransferBuilder.d.ts +84 -0
  32. package/dist/src/lib/nativeTransferBuilder.d.ts.map +1 -0
  33. package/dist/src/lib/nativeTransferBuilder.js +219 -0
  34. package/dist/src/lib/proxyBuilder.d.ts +54 -0
  35. package/dist/src/lib/proxyBuilder.d.ts.map +1 -0
  36. package/dist/src/lib/proxyBuilder.js +116 -0
  37. package/dist/src/lib/singletonRegistry.d.ts +7 -0
  38. package/dist/src/lib/singletonRegistry.d.ts.map +1 -0
  39. package/dist/src/lib/singletonRegistry.js +20 -0
  40. package/dist/src/lib/stakingBuilder.d.ts +66 -0
  41. package/dist/src/lib/stakingBuilder.d.ts.map +1 -0
  42. package/dist/src/lib/stakingBuilder.js +167 -0
  43. package/dist/src/lib/transaction.d.ts +83 -0
  44. package/dist/src/lib/transaction.d.ts.map +1 -0
  45. package/dist/src/lib/transaction.js +610 -0
  46. package/dist/src/lib/transactionBuilder.d.ts +131 -0
  47. package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
  48. package/dist/src/lib/transactionBuilder.js +351 -0
  49. package/dist/src/lib/transactionBuilderFactory.d.ts +28 -0
  50. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
  51. package/dist/src/lib/transactionBuilderFactory.js +104 -0
  52. package/dist/src/lib/transferBuilder.d.ts +11 -0
  53. package/dist/src/lib/transferBuilder.d.ts.map +1 -0
  54. package/dist/src/lib/transferBuilder.js +11 -0
  55. package/dist/src/lib/txnSchema.d.ts +15 -0
  56. package/dist/src/lib/txnSchema.d.ts.map +1 -0
  57. package/dist/src/lib/txnSchema.js +117 -0
  58. package/dist/src/lib/unnominateBuilder.d.ts +24 -0
  59. package/dist/src/lib/unnominateBuilder.d.ts.map +1 -0
  60. package/dist/src/lib/unnominateBuilder.js +48 -0
  61. package/dist/src/lib/unstakeBuilder.d.ts +38 -0
  62. package/dist/src/lib/unstakeBuilder.d.ts.map +1 -0
  63. package/dist/src/lib/unstakeBuilder.js +87 -0
  64. package/dist/src/lib/utils.d.ts +261 -0
  65. package/dist/src/lib/utils.d.ts.map +1 -0
  66. package/dist/src/lib/utils.js +488 -0
  67. package/dist/src/lib/withdrawUnstakedBuilder.d.ts +38 -0
  68. package/dist/src/lib/withdrawUnstakedBuilder.d.ts.map +1 -0
  69. package/dist/src/lib/withdrawUnstakedBuilder.js +88 -0
  70. package/dist/src/register.d.ts +3 -0
  71. package/dist/src/register.d.ts.map +1 -0
  72. package/dist/src/register.js +11 -0
  73. package/dist/src/resources/index.d.ts +4 -0
  74. package/dist/src/resources/index.d.ts.map +1 -0
  75. package/dist/src/resources/index.js +20 -0
  76. package/dist/src/resources/mainnet.d.ts +2 -0
  77. package/dist/src/resources/mainnet.d.ts.map +1 -0
  78. package/dist/src/resources/mainnet.js +5 -0
  79. package/dist/src/resources/westend.d.ts +2 -0
  80. package/dist/src/resources/westend.d.ts.map +1 -0
  81. package/dist/src/resources/westend.js +5 -0
  82. package/dist/src/resources/westendAssetHub.d.ts +2 -0
  83. package/dist/src/resources/westendAssetHub.d.ts.map +1 -0
  84. package/dist/src/resources/westendAssetHub.js +5 -0
  85. package/dist/src/tdot.d.ts +12 -0
  86. package/dist/src/tdot.d.ts.map +1 -0
  87. package/dist/src/tdot.js +27 -0
  88. package/package.json +6 -6
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BatchTransactionBuilder = void 0;
7
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
+ const txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
9
+ const iface_1 = require("./iface");
10
+ const iface_utils_1 = require("./iface_utils");
11
+ const transactionBuilder_1 = require("./transactionBuilder");
12
+ const txnSchema_1 = require("./txnSchema");
13
+ const utils_1 = __importDefault(require("./utils"));
14
+ class BatchTransactionBuilder extends transactionBuilder_1.TransactionBuilder {
15
+ constructor(_coinConfig) {
16
+ super(_coinConfig);
17
+ this._atomic = false;
18
+ }
19
+ /** @inheritDoc */
20
+ buildTransaction() {
21
+ return this.buildBatchTransaction();
22
+ }
23
+ /**
24
+ * Build a transaction which batches together multiple transactions.
25
+ * The transactions which are batched together are passed in as an array of hex strings
26
+ * which are composed of the method to call and the arguments to pass into the method.
27
+ *
28
+ * @returns {UnsignedTransaction}
29
+ *
30
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#batchcalls-veccall
31
+ */
32
+ buildBatchTransaction() {
33
+ const baseTxInfo = this.createBaseTxInfo();
34
+ if (this._atomic) {
35
+ return txwrapper_polkadot_1.methods.utility.batchAll({
36
+ calls: this._calls,
37
+ }, baseTxInfo.baseTxInfo, baseTxInfo.options);
38
+ }
39
+ else {
40
+ return txwrapper_polkadot_1.methods.utility.batch({
41
+ calls: this._calls,
42
+ }, baseTxInfo.baseTxInfo, baseTxInfo.options);
43
+ }
44
+ }
45
+ get transactionType() {
46
+ return sdk_core_1.TransactionType.Batch;
47
+ }
48
+ /**
49
+ * Set multiple unsigned transactions to be batched and broadcast as a single transaction
50
+ *
51
+ * @param {BatchCall[]} calls unsigned transactions
52
+ * @returns {BatchTransactionBuilder} This batch transaction builder.
53
+ */
54
+ calls(calls) {
55
+ this.validateCalls(calls);
56
+ this._calls = calls;
57
+ return this;
58
+ }
59
+ /**
60
+ * If true when a batched call fails the entire transactions is rolled back, if false no roll back
61
+ * is performed and the effects of any successful call prior to the error remain.
62
+ *
63
+ * @param atomic true if calls must succeed atomically, false otherwise.
64
+ */
65
+ atomic(atomic) {
66
+ this._atomic = atomic;
67
+ return this;
68
+ }
69
+ /** @inheritdoc */
70
+ validateDecodedTransaction(decodedTxn) {
71
+ const txMethod = decodedTxn.method.args;
72
+ const validationResult = this.validateBatchTransactionFields(txMethod.calls);
73
+ if (validationResult.error) {
74
+ throw new sdk_core_1.InvalidTransactionError(`Transaction validation failed: ${validationResult.error.message}`);
75
+ }
76
+ }
77
+ /** @inheritdoc */
78
+ fromImplementation(rawTransaction) {
79
+ const tx = super.fromImplementation(rawTransaction);
80
+ if (this._method?.name === iface_1.MethodNames.Batch || this._method?.name === iface_1.MethodNames.BatchAll) {
81
+ if (this._method?.name === iface_1.MethodNames.BatchAll) {
82
+ this.atomic(true);
83
+ }
84
+ const txMethod = this._method.args;
85
+ if (!txMethod.calls) {
86
+ throw new sdk_core_1.InvalidTransactionError('failed to decode calls from batch transaction');
87
+ }
88
+ const callsToBatch = [];
89
+ txMethod.calls.forEach((call) => {
90
+ const method = call.callIndex;
91
+ const decodedMethod = (0, sdk_core_1.toUint8Array)(utils_1.default.stripHexPrefix(method));
92
+ const decodedCall = this._registry.findMetaCall(decodedMethod);
93
+ if (decodedCall.section === iface_1.SectionNames.Proxy &&
94
+ (decodedCall.method === iface_1.MethodNames.Anonymous || decodedCall.method === iface_1.MethodNames.PureProxy)) {
95
+ callsToBatch.push(this.getPureProxyCall(call.args));
96
+ }
97
+ else if (decodedCall.section === iface_1.SectionNames.Proxy && decodedCall.method === iface_1.MethodNames.AddProxy) {
98
+ callsToBatch.push(this.getAddProxyCall(call.args));
99
+ }
100
+ else if (decodedCall.section === iface_1.SectionNames.Staking && decodedCall.method === iface_1.MethodNames.BondExtra) {
101
+ callsToBatch.push(this.getBondExtraCall(call.args));
102
+ }
103
+ else if (decodedCall.section === iface_1.SectionNames.Staking && decodedCall.method === iface_1.MethodNames.Bond) {
104
+ callsToBatch.push(this.getBondCall(call.args));
105
+ }
106
+ else if (decodedCall.section === iface_1.SectionNames.Staking && decodedCall.method === iface_1.MethodNames.Unbond) {
107
+ callsToBatch.push(this.getUnbondCall(call.args));
108
+ }
109
+ else if (decodedCall.section === iface_1.SectionNames.Staking && decodedCall.method === iface_1.MethodNames.Chill) {
110
+ callsToBatch.push(this.getChillCall());
111
+ }
112
+ else if (decodedCall.section === iface_1.SectionNames.Proxy && decodedCall.method === iface_1.MethodNames.RemoveProxy) {
113
+ callsToBatch.push(this.getRemoveProxyCall(call.args));
114
+ }
115
+ else {
116
+ throw new sdk_core_1.NotImplementedError(`batching of transaction with index ${method} unsupported`);
117
+ }
118
+ });
119
+ this.calls(callsToBatch);
120
+ }
121
+ else {
122
+ throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${this._method?.name}. Expected ${iface_1.MethodNames.Batch}`);
123
+ }
124
+ return tx;
125
+ }
126
+ /** @inheritdoc */
127
+ validateTransaction(_) {
128
+ super.validateTransaction(_);
129
+ this.validateFields();
130
+ }
131
+ /**
132
+ * Validate list of unsigned transactions added to batch
133
+ *
134
+ * @param {string[]} calls
135
+ *
136
+ */
137
+ validateCalls(calls) {
138
+ calls.forEach((call) => {
139
+ if (call.slice(0, 2) !== '0x') {
140
+ // example: '0x160400000000000000'
141
+ throw new sdk_core_1.BuildTransactionError('call in string format must be hex format of a method and its arguments');
142
+ }
143
+ });
144
+ }
145
+ validateFields() {
146
+ const validationResult = this.validateBatchTransactionFields(this._calls);
147
+ if (validationResult.error) {
148
+ throw new sdk_core_1.InvalidTransactionError(`AddressInitialization Transaction validation failed: ${validationResult.error.message}`);
149
+ }
150
+ }
151
+ validateBatchTransactionFields(calls) {
152
+ return txnSchema_1.BatchTransactionSchema.validate({
153
+ calls,
154
+ });
155
+ }
156
+ getPureProxyCall(args) {
157
+ const baseTxInfo = this.createBaseTxInfo();
158
+ const unsigned = utils_1.default.pureProxy({
159
+ proxyType: args.proxy_type,
160
+ index: args.index,
161
+ delay: args.delay,
162
+ }, baseTxInfo.baseTxInfo, baseTxInfo.options);
163
+ return unsigned.method;
164
+ }
165
+ getBondCall(args) {
166
+ const baseTxInfo = this.createBaseTxInfo();
167
+ const unsigned = txwrapper_polkadot_1.methods.staking.bond({
168
+ value: args.value,
169
+ payee: this.getPayee(args.payee),
170
+ }, baseTxInfo.baseTxInfo, baseTxInfo.options);
171
+ return unsigned.method;
172
+ }
173
+ getUnbondCall(args) {
174
+ const baseTxInfo = this.createBaseTxInfo();
175
+ const unsigned = txwrapper_polkadot_1.methods.staking.unbond({
176
+ value: args.value,
177
+ }, baseTxInfo.baseTxInfo, baseTxInfo.options);
178
+ return unsigned.method;
179
+ }
180
+ getPayee(payee) {
181
+ if ((0, iface_utils_1.isStakeBatchCallPayeeStash)(payee)) {
182
+ return 'Stash';
183
+ }
184
+ else if ((0, iface_utils_1.isStakeBatchCallPayeeController)(payee)) {
185
+ return 'Controller';
186
+ }
187
+ else if ((0, iface_utils_1.isStakeBatchCallPayeeAccount)(payee)) {
188
+ return { Account: payee.account };
189
+ }
190
+ else if ((0, iface_utils_1.isStakeBatchCallPayeeStaked)(payee)) {
191
+ return 'Staked';
192
+ }
193
+ else {
194
+ throw new Error(`Invalid payee: ${payee}`);
195
+ }
196
+ }
197
+ getAddProxyCall(args) {
198
+ const baseTxInfo = this.createBaseTxInfo();
199
+ const unsigned = txwrapper_polkadot_1.methods.proxy.addProxy({
200
+ delegate: (0, iface_utils_1.getDelegateAddress)(args),
201
+ proxyType: args.proxy_type,
202
+ delay: args.delay,
203
+ }, baseTxInfo.baseTxInfo, baseTxInfo.options);
204
+ return unsigned.method;
205
+ }
206
+ getBondExtraCall(args) {
207
+ const baseTxInfo = this.createBaseTxInfo();
208
+ const unsigned = txwrapper_polkadot_1.methods.staking.bondExtra({
209
+ maxAdditional: args.max_additional,
210
+ }, baseTxInfo.baseTxInfo, baseTxInfo.options);
211
+ return unsigned.method;
212
+ }
213
+ getRemoveProxyCall(args) {
214
+ const baseTxInfo = this.createBaseTxInfo();
215
+ const unsigned = txwrapper_polkadot_1.methods.proxy.removeProxy({
216
+ delegate: (0, iface_utils_1.getDelegateAddress)(args),
217
+ proxyType: args.proxy_type,
218
+ delay: args.delay,
219
+ }, baseTxInfo.baseTxInfo, baseTxInfo.options);
220
+ return unsigned.method;
221
+ }
222
+ getChillCall() {
223
+ const baseTxInfo = this.createBaseTxInfo();
224
+ const unsigned = txwrapper_polkadot_1.methods.staking.chill({}, baseTxInfo.baseTxInfo, baseTxInfo.options);
225
+ return unsigned.method;
226
+ }
227
+ }
228
+ exports.BatchTransactionBuilder = BatchTransactionBuilder;
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hUcmFuc2FjdGlvbkJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2JhdGNoVHJhbnNhY3Rpb25CdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQU04QjtBQUc5QixzRUFBd0Q7QUFFeEQsbUNBWWlCO0FBQ2pCLCtDQU11QjtBQUV2Qiw2REFBMEQ7QUFDMUQsMkNBQXFEO0FBQ3JELG9EQUE0QjtBQUU1QixNQUFhLHVCQUF3QixTQUFRLHVDQUFrQjtJQUs3RCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUhiLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFJeEIsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGdCQUFnQjtRQUN4QixPQUFPLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNPLHFCQUFxQjtRQUM3QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixPQUFPLDRCQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FDN0I7Z0JBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNO2FBQ25CLEVBQ0QsVUFBVSxDQUFDLFVBQVUsRUFDckIsVUFBVSxDQUFDLE9BQU8sQ0FDbkIsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyw0QkFBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQzFCO2dCQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTTthQUNuQixFQUNELFVBQVUsQ0FBQyxVQUFVLEVBQ3JCLFVBQVUsQ0FBQyxPQUFPLENBQ25CLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsS0FBSyxDQUFDO0lBQy9CLENB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QUUsSUFBSSxDQUFDLGNBQWM7U0FDbkMsRUFDRCxVQUFVLENBQUMsVUFBVSxFQUNyQixVQUFVLENBQUMsT0FBTyxDQUNuQixDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxJQUEyQjtRQUNwRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxNQUFNLFFBQVEsR0FBRyw0QkFBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQ3hDO1lBQ0UsUUFBUSxFQUFFLElBQUEsZ0NBQWtCLEVBQUMsSUFBSSxDQUFDO1lBQ2xDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMxQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDbEIsRUFDRCxVQUFVLENBQUMsVUFBVSxFQUNyQixVQUFVLENBQUMsT0FBTyxDQUNuQixDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxZQUFZO1FBQ2xCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzNDLE1BQU0sUUFBUSxHQUFHLDRCQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEYsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQ3pCLENBQUM7Q0FDRjtBQXBRRCwwREFvUUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsXG4gIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLFxuICBOb3RJbXBsZW1lbnRlZEVycm9yLFxuICBUcmFuc2FjdGlvblR5cGUsXG4gIHRvVWludDhBcnJheSxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgRGVjb2RlZFNpZ25lZFR4LCBEZWNvZGVkU2lnbmluZ1BheWxvYWQsIFVuc2lnbmVkVHJhbnNhY3Rpb24gfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1jb3JlJztcbmltcG9ydCB7IG1ldGhvZHMgfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1wb2xrYWRvdCc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uUmVzdWx0IH0gZnJvbSAnam9pJztcbmltcG9ydCB7XG4gIEFkZEFub255bW91c1Byb3h5QmF0Y2hDYWxsQXJncyxcbiAgQWRkUHJveHlCYXRjaENhbGxBcmdzLFxuICBCYXRjaENhbGxPYmplY3QsXG4gIEJhdGNoQXJncyxcbiAgTWV0aG9kTmFtZXMsXG4gIFNlY3Rpb25OYW1lcyxcbiAgU3Rha2VBcmdzUGF5ZWUsXG4gIFN0YWtlQmF0Y2hDYWxsQXJncyxcbiAgU3Rha2VCYXRjaENhbGxQYXllZSxcbiAgVW5ib25kQ2FsbEFyZ3MsXG4gIFN0YWtlTW9yZUNhbGxBcmdzLFxufSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7XG4gIGdldERlbGVnYXRlQWRkcmVzcyxcbiAgaXNTdGFrZUJhdGNoQ2FsbFBheWVlU3Rha2VkLFxuICBpc1N0YWtlQmF0Y2hDYWxsUGF5ZWVTdGFzaCxcbiAgaXNTdGFrZUJhdGNoQ2FsbFBheWVlQ29udHJvbGxlcixcbiAgaXNTdGFrZUJhdGNoQ2FsbFBheWVlQWNjb3VudCxcbn0gZnJvbSAnLi9pZmFjZV91dGlscyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgQmF0Y2hUcmFuc2FjdGlvblNjaGVtYSB9IGZyb20gJy4vdHhuU2NoZW1hJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIEJhdGNoVHJhbnNhY3Rpb25CdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF9jYWxsczogc3RyaW5nW107XG4gIHByb3RlY3RlZCBfdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xuICBwcml2YXRlIF9hdG9taWMgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRCYXRjaFRyYW5zYWN0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSB0cmFuc2FjdGlvbiB3aGljaCBiYXRjaGVzIHRvZ2V0aGVyIG11bHRpcGxlIHRyYW5zYWN0aW9ucy5cbiAgICogVGhlIHRyYW5zYWN0aW9ucyB3aGljaCBhcmUgYmF0Y2hlZCB0b2dldGhlciBhcmUgcGFzc2VkIGluIGFzIGFuIGFycmF5IG9mIGhleCBzdHJpbmdzXG4gICAqIHdoaWNoIGFyZSBjb21wb3NlZCBvZiB0aGUgbWV0aG9kIHRvIGNhbGwgYW5kIHRoZSBhcmd1bWVudHMgdG8gcGFzcyBpbnRvIHRoZSBtZXRob2QuXG4gICAqXG4gICAqIEByZXR1cm5zIHtVbnNpZ25lZFRyYW5zYWN0aW9ufVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcG9sa2Fkb3QuanMub3JnL2RvY3Mvc3Vic3RyYXRlL2V4dHJpbnNpY3MvI2JhdGNoY2FsbHMtdmVjY2FsbFxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkQmF0Y2hUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgaWYgKHRoaXMuX2F0b21pYykge1xuICAgICAgcmV0dXJuIG1ldGhvZHMudXRpbGl0eS5iYXRjaEFsbChcbiAgICAgICAge1xuICAgICAgICAgIGNhbGxzOiB0aGlzLl9jYWxscyxcbiAgICAgICAgfSxcbiAgICAgICAgYmFzZVR4SW5mby5iYXNlVHhJbmZvLFxuICAgICAgICBiYXNlVHhJbmZvLm9wdGlvbnNcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBtZXRob2RzLnV0aWxpdHkuYmF0Y2goXG4gICAgICAgIHtcbiAgICAgICAgICBjYWxsczogdGhpcy5fY2FsbHMsXG4gICAgICAgIH0sXG4gICAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgICAgYmFzZVR4SW5mby5vcHRpb25zXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5CYXRjaDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgbXVsdGlwbGUgdW5zaWduZWQgdHJhbnNhY3Rpb25zIHRvIGJlIGJhdGNoZWQgYW5kIGJyb2FkY2FzdCBhcyBhIHNpbmdsZSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge0JhdGNoQ2FsbFtdfSBjYWxscyB1bnNpZ25lZCB0cmFuc2FjdGlvbnNcbiAgICogQHJldHVybnMge0JhdGNoVHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIGJhdGNoIHRyYW5zYWN0aW9uIGJ1aWxkZXIuXG4gICAqL1xuICBjYWxscyhjYWxsczogc3RyaW5nW10pOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlQ2FsbHMoY2FsbHMpO1xuICAgIHRoaXMuX2NhbGxzID0gY2FsbHM7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogSWYgdHJ1ZSB3aGVuIGEgYmF0Y2hlZCBjYWxsIGZhaWxzIHRoZSBlbnRpcmUgdHJhbnNhY3Rpb25zIGlzIHJvbGxlZCBiYWNrLCBpZiBmYWxzZSBubyByb2xsIGJhY2tcbiAgICogaXMgcGVyZm9ybWVkIGFuZCB0aGUgZWZmZWN0cyBvZiBhbnkgc3VjY2Vzc2Z1bCBjYWxsIHByaW9yIHRvIHRoZSBlcnJvciByZW1haW4uXG4gICAqXG4gICAqIEBwYXJhbSBhdG9taWMgdHJ1ZSBpZiBjYWxscyBtdXN0IHN1Y2NlZWQgYXRvbWljYWxseSwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgKi9cbiAgYXRvbWljKGF0b21pYzogYm9vbGVhbik6IHRoaXMge1xuICAgIHRoaXMuX2F0b21pYyA9IGF0b21pYztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZURlY29kZWRUcmFuc2FjdGlvbihkZWNvZGVkVHhuOiBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfCBEZWNvZGVkU2lnbmVkVHgpOiB2b2lkIHtcbiAgICBjb25zdCB0eE1ldGhvZCA9IGRlY29kZWRUeG4ubWV0aG9kLmFyZ3MgYXMgdW5rbm93biBhcyBCYXRjaEFyZ3M7XG4gICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IHRoaXMudmFsaWRhdGVCYXRjaFRyYW5zYWN0aW9uRmllbGRzKHR4TWV0aG9kLmNhbGxzKTtcbiAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IHN1cGVyLmZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgaWYgKHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuQmF0Y2ggfHwgdGhpcy5fbWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5CYXRjaEFsbCkge1xuICAgICAgaWYgKHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuQmF0Y2hBbGwpIHtcbiAgICAgICAgdGhpcy5hdG9taWModHJ1ZSk7XG4gICAgICB9XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIEJhdGNoQXJncztcbiAgICAgIGlmICghdHhNZXRob2QuY2FsbHMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdmYWlsZWQgdG8gZGVjb2RlIGNhbGxzIGZyb20gYmF0Y2ggdHJhbnNhY3Rpb24nKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNhbGxzVG9CYXRjaDogc3RyaW5nW10gPSBbXTtcbiAgICAgIHR4TWV0aG9kLmNhbGxzLmZvckVhY2goKGNhbGwpID0+IHtcbiAgICAgICAgY29uc3QgbWV0aG9kID0gKGNhbGwgYXMgQmF0Y2hDYWxsT2JqZWN0KS5jYWxsSW5kZXg7XG4gICAgICAgIGNvbnN0IGRlY29kZWRNZXRob2QgPSB0b1VpbnQ4QXJyYXkodXRpbHMuc3RyaXBIZXhQcmVmaXgobWV0aG9kKSk7XG4gICAgICAgIGNvbnN0IGRlY29kZWRDYWxsID0gdGhpcy5fcmVnaXN0cnkuZmluZE1ldGFDYWxsKGRlY29kZWRNZXRob2QpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZGVjb2RlZENhbGwuc2VjdGlvbiA9PT0gU2VjdGlvbk5hbWVzLlByb3h5ICYmXG4gICAgICAgICAgKGRlY29kZWRDYWxsLm1ldGhvZCA9PT0gTWV0aG9kTmFtZXMuQW5vbnltb3VzIHx8IGRlY29kZWRDYWxsLm1ldGhvZCA9PT0gTWV0aG9kTmFtZXMuUHVyZVByb3h5KVxuICAgICAgICApIHtcbiAgICAgICAgICBjYWxsc1RvQmF0Y2gucHVzaCh0aGlzLmdldFB1cmVQcm94eUNhbGwoY2FsbC5hcmdzIGFzIEFkZEFub255bW91c1Byb3h5QmF0Y2hDYWxsQXJncykpO1xuICAgICAgICB9IGVsc2UgaWYgKGRlY29kZWRDYWxsLnNlY3Rpb24gPT09IFNlY3Rpb25OYW1lcy5Qcm94eSAmJiBkZWNvZGVkQ2FsbC5tZXRob2QgPT09IE1ldGhvZE5hbWVzLkFkZFByb3h5KSB7XG4gICAgICAgICAgY2FsbHNUb0JhdGNoLnB1c2godGhpcy5nZXRBZGRQcm94eUNhbGwoY2FsbC5hcmdzIGFzIEFkZFByb3h5QmF0Y2hDYWxsQXJncykpO1xuICAgICAgICB9IGVsc2UgaWYgKGRlY29kZWRDYWxsLnNlY3Rpb24gPT09IFNlY3Rpb25OYW1lcy5TdGFraW5nICYmIGRlY29kZWRDYWxsLm1ldGhvZCA9PT0gTWV0aG9kTmFtZXMuQm9uZEV4dHJhKSB7XG4gICAgICAgICAgY2FsbHNUb0JhdGNoLnB1c2godGhpcy5nZXRCb25kRXh0cmFDYWxsKGNhbGwuYXJncyBhcyBTdGFrZU1vcmVDYWxsQXJncykpO1xuICAgICAgICB9IGVsc2UgaWYgKGRlY29kZWRDYWxsLnNlY3Rpb24gPT09IFNlY3Rpb25OYW1lcy5TdGFraW5nICYmIGRlY29kZWRDYWxsLm1ldGhvZCA9PT0gTWV0aG9kTmFtZXMuQm9uZCkge1xuICAgICAgICAgIGNhbGxzVG9CYXRjaC5wdXNoKHRoaXMuZ2V0Qm9uZENhbGwoY2FsbC5hcmdzIGFzIFN0YWtlQmF0Y2hDYWxsQXJncykpO1xuICAgICAgICB9IGVsc2UgaWYgKGRlY29kZWRDYWxsLnNlY3Rpb24gPT09IFNlY3Rpb25OYW1lcy5TdGFraW5nICYmIGRlY29kZWRDYWxsLm1ldGhvZCA9PT0gTWV0aG9kTmFtZXMuVW5ib25kKSB7XG4gICAgICAgICAgY2FsbHNUb0JhdGNoLnB1c2godGhpcy5nZXRVbmJvbmRDYWxsKGNhbGwuYXJncyBhcyBVbmJvbmRDYWxsQXJncykpO1xuICAgICAgICB9IGVsc2UgaWYgKGRlY29kZWRDYWxsLnNlY3Rpb24gPT09IFNlY3Rpb25OYW1lcy5TdGFraW5nICYmIGRlY29kZWRDYWxsLm1ldGhvZCA9PT0gTWV0aG9kTmFtZXMuQ2hpbGwpIHtcbiAgICAgICAgICBjYWxsc1RvQmF0Y2gucHVzaCh0aGlzLmdldENoaWxsQ2FsbCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChkZWNvZGVkQ2FsbC5zZWN0aW9uID09PSBTZWN0aW9uTmFtZXMuUHJveHkgJiYgZGVjb2RlZENhbGwubWV0aG9kID09PSBNZXRob2ROYW1lcy5SZW1vdmVQcm94eSkge1xuICAgICAgICAgIGNhbGxzVG9CYXRjaC5wdXNoKHRoaXMuZ2V0UmVtb3ZlUHJveHlDYWxsKGNhbGwuYXJncyBhcyBBZGRQcm94eUJhdGNoQ2FsbEFyZ3MpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcihgYmF0Y2hpbmcgb2YgdHJhbnNhY3Rpb24gd2l0aCBpbmRleCAke21ldGhvZH0gdW5zdXBwb3J0ZWRgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLmNhbGxzKGNhbGxzVG9CYXRjaCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgYEludmFsaWQgVHJhbnNhY3Rpb24gVHlwZTogJHt0aGlzLl9tZXRob2Q/Lm5hbWV9LiBFeHBlY3RlZCAke01ldGhvZE5hbWVzLkJhdGNofWBcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKF86IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIudmFsaWRhdGVUcmFuc2FjdGlvbihfKTtcbiAgICB0aGlzLnZhbGlkYXRlRmllbGRzKCk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgbGlzdCBvZiB1bnNpZ25lZCB0cmFuc2FjdGlvbnMgYWRkZWQgdG8gYmF0Y2hcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmdbXX0gY2FsbHNcbiAgICpcbiAgICovXG4gIHZhbGlkYXRlQ2FsbHMoY2FsbHM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgY2FsbHMuZm9yRWFjaCgoY2FsbCkgPT4ge1xuICAgICAgaWYgKGNhbGwuc2xpY2UoMCwgMikgIT09ICcweCcpIHtcbiAgICAgICAgLy8gZXhhbXBsZTogJzB4MTYwNDAwMDAwMDAwMDAwMDAwJ1xuICAgICAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdjYWxsIGluIHN0cmluZyBmb3JtYXQgbXVzdCBiZSBoZXggZm9ybWF0IG9mIGEgbWV0aG9kIGFuZCBpdHMgYXJndW1lbnRzJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlRmllbGRzKCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSB0aGlzLnZhbGlkYXRlQmF0Y2hUcmFuc2FjdGlvbkZpZWxkcyh0aGlzLl9jYWxscyk7XG4gICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgYEFkZHJlc3NJbml0aWFsaXphdGlvbiBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQmF0Y2hUcmFuc2FjdGlvbkZpZWxkcyhjYWxsczogKHN0cmluZyB8IEJhdGNoQ2FsbE9iamVjdClbXSk6IFZhbGlkYXRpb25SZXN1bHQge1xuICAgIHJldHVybiBCYXRjaFRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHtcbiAgICAgIGNhbGxzLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQdXJlUHJveHlDYWxsKGFyZ3M6IEFkZEFub255bW91c1Byb3h5QmF0Y2hDYWxsQXJncyk6IHN0cmluZyB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIGNvbnN0IHVuc2lnbmVkID0gdXRpbHMucHVyZVByb3h5KFxuICAgICAge1xuICAgICAgICBwcm94eVR5cGU6IGFyZ3MucHJveHlfdHlwZSxcbiAgICAgICAgaW5kZXg6IGFyZ3MuaW5kZXgsXG4gICAgICAgIGRlbGF5OiBhcmdzLmRlbGF5LFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgIGJhc2VUeEluZm8ub3B0aW9uc1xuICAgICk7XG4gICAgcmV0dXJuIHVuc2lnbmVkLm1ldGhvZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Qm9uZENhbGwoYXJnczogU3Rha2VCYXRjaENhbGxBcmdzKTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgY29uc3QgdW5zaWduZWQgPSBtZXRob2RzLnN0YWtpbmcuYm9uZChcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IGFyZ3MudmFsdWUsXG4gICAgICAgIHBheWVlOiB0aGlzLmdldFBheWVlKGFyZ3MucGF5ZWUpLFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgIGJhc2VUeEluZm8ub3B0aW9uc1xuICAgICk7XG4gICAgcmV0dXJuIHVuc2lnbmVkLm1ldGhvZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VW5ib25kQ2FsbChhcmdzOiBVbmJvbmRDYWxsQXJncyk6IHN0cmluZyB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIGNvbnN0IHVuc2lnbmVkID0gbWV0aG9kcy5zdGFraW5nLnVuYm9uZChcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IGFyZ3MudmFsdWUsXG4gICAgICB9LFxuICAgICAgYmFzZVR4SW5mby5iYXNlVHhJbmZvLFxuICAgICAgYmFzZVR4SW5mby5vcHRpb25zXG4gICAgKTtcbiAgICByZXR1cm4gdW5zaWduZWQubWV0aG9kO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXllZShwYXllZTogU3Rha2VCYXRjaENhbGxQYXllZSk6IFN0YWtlQXJnc1BheWVlIHtcbiAgICBpZiAoaXNTdGFrZUJhdGNoQ2FsbFBheWVlU3Rhc2gocGF5ZWUpKSB7XG4gICAgICByZXR1cm4gJ1N0YXNoJztcbiAgICB9IGVsc2UgaWYgKGlzU3Rha2VCYXRjaENhbGxQYXllZUNvbnRyb2xsZXIocGF5ZWUpKSB7XG4gICAgICByZXR1cm4gJ0NvbnRyb2xsZXInO1xuICAgIH0gZWxzZSBpZiAoaXNTdGFrZUJhdGNoQ2FsbFBheWVlQWNjb3VudChwYXllZSkpIHtcbiAgICAgIHJldHVybiB7IEFjY291bnQ6IHBheWVlLmFjY291bnQgfTtcbiAgICB9IGVsc2UgaWYgKGlzU3Rha2VCYXRjaENhbGxQYXllZVN0YWtlZChwYXllZSkpIHtcbiAgICAgIHJldHVybiAnU3Rha2VkJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBheWVlOiAke3BheWVlfWApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWRkUHJveHlDYWxsKGFyZ3M6IEFkZFByb3h5QmF0Y2hDYWxsQXJncyk6IHN0cmluZyB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIGNvbnN0IHVuc2lnbmVkID0gbWV0aG9kcy5wcm94eS5hZGRQcm94eShcbiAgICAgIHtcbiAgICAgICAgZGVsZWdhdGU6IGdldERlbGVnYXRlQWRkcmVzcyhhcmdzKSxcbiAgICAgICAgcHJveHlUeXBlOiBhcmdzLnByb3h5X3R5cGUsXG4gICAgICAgIGRlbGF5OiBhcmdzLmRlbGF5LFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgIGJhc2VUeEluZm8ub3B0aW9uc1xuICAgICk7XG4gICAgcmV0dXJuIHVuc2lnbmVkLm1ldGhvZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Qm9uZEV4dHJhQ2FsbChhcmdzOiBTdGFrZU1vcmVDYWxsQXJncyk6IHN0cmluZyB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIGNvbnN0IHVuc2lnbmVkID0gbWV0aG9kcy5zdGFraW5nLmJvbmRFeHRyYShcbiAgICAgIHtcbiAgICAgICAgbWF4QWRkaXRpb25hbDogYXJncy5tYXhfYWRkaXRpb25hbCxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvLmJhc2VUeEluZm8sXG4gICAgICBiYXNlVHhJbmZvLm9wdGlvbnNcbiAgICApO1xuICAgIHJldHVybiB1bnNpZ25lZC5tZXRob2Q7XG4gIH1cblxuICBwcml2YXRlIGdldFJlbW92ZVByb3h5Q2FsbChhcmdzOiBBZGRQcm94eUJhdGNoQ2FsbEFyZ3MpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJhc2VUeEluZm8gPSB0aGlzLmNyZWF0ZUJhc2VUeEluZm8oKTtcbiAgICBjb25zdCB1bnNpZ25lZCA9IG1ldGhvZHMucHJveHkucmVtb3ZlUHJveHkoXG4gICAgICB7XG4gICAgICAgIGRlbGVnYXRlOiBnZXREZWxlZ2F0ZUFkZHJlc3MoYXJncyksXG4gICAgICAgIHByb3h5VHlwZTogYXJncy5wcm94eV90eXBlLFxuICAgICAgICBkZWxheTogYXJncy5kZWxheSxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvLmJhc2VUeEluZm8sXG4gICAgICBiYXNlVHhJbmZvLm9wdGlvbnNcbiAgICApO1xuICAgIHJldHVybiB1bnNpZ25lZC5tZXRob2Q7XG4gIH1cblxuICBwcml2YXRlIGdldENoaWxsQ2FsbCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJhc2VUeEluZm8gPSB0aGlzLmNyZWF0ZUJhc2VUeEluZm8oKTtcbiAgICBjb25zdCB1bnNpZ25lZCA9IG1ldGhvZHMuc3Rha2luZy5jaGlsbCh7fSwgYmFzZVR4SW5mby5iYXNlVHhJbmZvLCBiYXNlVHhJbmZvLm9wdGlvbnMpO1xuICAgIHJldHVybiB1bnNpZ25lZC5tZXRob2Q7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,58 @@
1
+ import { BaseAddress, TransactionType } from '@bitgo-beta/sdk-core';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
4
+ import { Transaction } from './transaction';
5
+ import { TransactionBuilder } from './transactionBuilder';
6
+ export declare class ClaimBuilder extends TransactionBuilder {
7
+ protected _validatorStash: string;
8
+ protected _claimEra: string;
9
+ constructor(_coinConfig: Readonly<CoinConfig>);
10
+ /**
11
+ *
12
+ * Pay out all the stakers behind a single validator for a single era.
13
+ * Any account can create this transaction.
14
+ *
15
+ * @returns {UnsignedTransaction} an unsigned Dot transaction
16
+ *
17
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#payoutstakersvalidator_stash-accountid32-era-u32
18
+ */
19
+ protected buildTransaction(): UnsignedTransaction;
20
+ /**
21
+ * Get the transaction type.
22
+ */
23
+ protected get transactionType(): TransactionType;
24
+ /**
25
+ *
26
+ * The stash account of the validator.
27
+ *
28
+ * @param {string} validatorStash
29
+ * @returns {ClaimBuilder} This claim builder.
30
+ *
31
+ */
32
+ validatorStash(validatorStash: BaseAddress): this;
33
+ /**
34
+ * The era to claim.
35
+ *
36
+ * @param {string} claimEra
37
+ * @returns {ClaimBuilder} This claim builder.
38
+ *
39
+ */
40
+ claimEra(claimEra: string): this;
41
+ /** @inheritdoc */
42
+ validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx): void;
43
+ /** @inheritdoc */
44
+ protected fromImplementation(rawTransaction: string): Transaction;
45
+ /** @inheritdoc */
46
+ validateTransaction(_: Transaction): void;
47
+ /**
48
+ *
49
+ * The stash account of the validator.
50
+ *
51
+ * @param {string} claimEra
52
+ * @param {string} validatorStash
53
+ * @throws {Error} If the expected fields are not valid.
54
+ *
55
+ */
56
+ private validateFields;
57
+ }
58
+ //# sourceMappingURL=claimBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claimBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/claimBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA0C,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5G,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIxG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,qBAAa,YAAa,SAAQ,kBAAkB;IAClD,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEhB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;;;;;;;OAQG;IACH,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAYjD;;OAEG;IACH,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,cAAc,EAAE,WAAW,GAAG,IAAI;IAMjD;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMhC,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,GAAG,IAAI;IAYrF,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAiBjE,kBAAkB;IAClB,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAKzC;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;CAYvB"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ClaimBuilder = void 0;
7
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
8
+ const txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
9
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
10
+ const iface_1 = require("./iface");
11
+ const transactionBuilder_1 = require("./transactionBuilder");
12
+ const txnSchema_1 = require("./txnSchema");
13
+ const utils_1 = __importDefault(require("./utils"));
14
+ class ClaimBuilder extends transactionBuilder_1.TransactionBuilder {
15
+ constructor(_coinConfig) {
16
+ super(_coinConfig);
17
+ }
18
+ /**
19
+ *
20
+ * Pay out all the stakers behind a single validator for a single era.
21
+ * Any account can create this transaction.
22
+ *
23
+ * @returns {UnsignedTransaction} an unsigned Dot transaction
24
+ *
25
+ * @see https://polkadot.js.org/docs/substrate/extrinsics/#payoutstakersvalidator_stash-accountid32-era-u32
26
+ */
27
+ buildTransaction() {
28
+ const baseTxInfo = this.createBaseTxInfo();
29
+ return txwrapper_polkadot_1.methods.staking.payoutStakers({
30
+ validatorStash: this._validatorStash,
31
+ era: this._claimEra,
32
+ }, baseTxInfo.baseTxInfo, baseTxInfo.options);
33
+ }
34
+ /**
35
+ * Get the transaction type.
36
+ */
37
+ get transactionType() {
38
+ return sdk_core_1.TransactionType.StakingClaim;
39
+ }
40
+ /**
41
+ *
42
+ * The stash account of the validator.
43
+ *
44
+ * @param {string} validatorStash
45
+ * @returns {ClaimBuilder} This claim builder.
46
+ *
47
+ */
48
+ validatorStash(validatorStash) {
49
+ this.validateAddress(validatorStash);
50
+ this._validatorStash = validatorStash.address;
51
+ return this;
52
+ }
53
+ /**
54
+ * The era to claim.
55
+ *
56
+ * @param {string} claimEra
57
+ * @returns {ClaimBuilder} This claim builder.
58
+ *
59
+ */
60
+ claimEra(claimEra) {
61
+ this.validateValue(new bignumber_js_1.default(claimEra));
62
+ this._claimEra = claimEra;
63
+ return this;
64
+ }
65
+ /** @inheritdoc */
66
+ validateDecodedTransaction(decodedTxn) {
67
+ if (decodedTxn.method?.name === iface_1.MethodNames.PayoutStakers) {
68
+ const txMethod = decodedTxn.method.args;
69
+ const claimEra = txMethod.era;
70
+ const validatorStash = txMethod.validatorStash;
71
+ const validationResult = txnSchema_1.ClaimTransactionSchema.validate({ claimEra, validatorStash });
72
+ if (validationResult.error) {
73
+ throw new sdk_core_1.InvalidTransactionError(`Claim Transaction validation failed: ${validationResult.error.message}`);
74
+ }
75
+ }
76
+ }
77
+ /** @inheritdoc */
78
+ fromImplementation(rawTransaction) {
79
+ const tx = super.fromImplementation(rawTransaction);
80
+ if (this._method?.name === iface_1.MethodNames.PayoutStakers) {
81
+ const txMethod = this._method.args;
82
+ this.validatorStash({
83
+ address: utils_1.default.decodeDotAddress(txMethod.validatorStash, utils_1.default.getAddressFormat(this._coinConfig.name)),
84
+ });
85
+ this.claimEra(txMethod.era);
86
+ }
87
+ else {
88
+ throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${this._method?.name}. Expected payoutStakers`);
89
+ }
90
+ return tx;
91
+ }
92
+ /** @inheritdoc */
93
+ validateTransaction(_) {
94
+ super.validateTransaction(_);
95
+ this.validateFields(this._claimEra, this._validatorStash);
96
+ }
97
+ /**
98
+ *
99
+ * The stash account of the validator.
100
+ *
101
+ * @param {string} claimEra
102
+ * @param {string} validatorStash
103
+ * @throws {Error} If the expected fields are not valid.
104
+ *
105
+ */
106
+ validateFields(claimEra, validatorStash) {
107
+ const validationResult = txnSchema_1.ClaimTransactionSchema.validate({
108
+ claimEra,
109
+ validatorStash,
110
+ });
111
+ if (validationResult.error) {
112
+ throw new sdk_core_1.InvalidTransactionError(`Claim Builder Transaction validation failed: ${validationResult.error.message}`);
113
+ }
114
+ }
115
+ }
116
+ exports.ClaimBuilder = ClaimBuilder;
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhaW1CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jbGFpbUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbURBQTRHO0FBRzVHLHNFQUF3RDtBQUN4RCxnRUFBcUM7QUFDckMsbUNBQWlEO0FBRWpELDZEQUEwRDtBQUMxRCwyQ0FBcUQ7QUFDckQsb0RBQTRCO0FBRTVCLE1BQWEsWUFBYSxTQUFRLHVDQUFrQjtJQUlsRCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDTyxnQkFBZ0I7UUFDeEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0MsT0FBTyw0QkFBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQ2xDO1lBQ0UsY0FBYyxFQUFFLElBQUksQ0FBQyxlQUFlO1lBQ3BDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUztTQUNwQixFQUNELFVBQVUsQ0FBQyxVQUFVLEVBQ3JCLFVBQVUsQ0FBQyxPQUFPLENBQ25CLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLFlBQVksQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILGNBQWMsQ0FBQyxjQUEyQjtRQUN4QyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQztRQUM5QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxRQUFRLENBQUMsUUFBZ0I7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLHNCQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsMEJBQTBCLENBQUMsVUFBbUQ7UUFDNUUsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksS0FBSyxtQkFBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzFELE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBNEIsQ0FBQztZQUNoRSxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDO1lBQzlCLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUM7WUFDL0MsTUFBTSxnQkFBZ0IsR0FBRyxrQ0FBc0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztZQUN2RixJQUFJLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMzQixNQUFNLElBQUksa0NBQXVCLENBQUMsd0NBQXdDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQzlHLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLGNBQXNCO1FBQ2pELE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxLQUFLLG1CQUFXLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFpQixDQUFDO1lBQ2hELElBQUksQ0FBQyxjQUFjLENBQUM7Z0JBQ2xCLE9BQU8sRUFBRSxlQUFLLENBQUMsZ0JBQWdCLENBQzdCLFFBQVEsQ0FBQyxjQUFjLEVBQ3ZCLGVBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQXFCLENBQUMsQ0FDL0Q7YUFDRixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyw2QkFBNkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLDBCQUEwQixDQUFDLENBQUM7UUFDL0csQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELGtCQUFrQjtJQUNsQixtQkFBbUIsQ0FBQyxDQUFjO1FBQ2hDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNLLGNBQWMsQ0FBQyxRQUFnQixFQUFFLGNBQXNCO1FBQzdELE1BQU0sZ0JBQWdCLEdBQUcsa0NBQXNCLENBQUMsUUFBUSxDQUFDO1lBQ3ZELFFBQVE7WUFDUixjQUFjO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksa0NBQXVCLENBQy9CLGdEQUFnRCxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQ2pGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBekhELG9DQXlIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VBZGRyZXNzLCBEb3RBc3NldFR5cGVzLCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgRGVjb2RlZFNpZ25lZFR4LCBEZWNvZGVkU2lnbmluZ1BheWxvYWQsIFVuc2lnbmVkVHJhbnNhY3Rpb24gfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1jb3JlJztcbmltcG9ydCB7IG1ldGhvZHMgfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1wb2xrYWRvdCc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBDbGFpbUFyZ3MsIE1ldGhvZE5hbWVzIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgQ2xhaW1UcmFuc2FjdGlvblNjaGVtYSB9IGZyb20gJy4vdHhuU2NoZW1hJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIENsYWltQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfdmFsaWRhdG9yU3Rhc2g6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9jbGFpbUVyYTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBQYXkgb3V0IGFsbCB0aGUgc3Rha2VycyBiZWhpbmQgYSBzaW5nbGUgdmFsaWRhdG9yIGZvciBhIHNpbmdsZSBlcmEuXG4gICAqIEFueSBhY2NvdW50IGNhbiBjcmVhdGUgdGhpcyB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHJldHVybnMge1Vuc2lnbmVkVHJhbnNhY3Rpb259IGFuIHVuc2lnbmVkIERvdCB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcG9sa2Fkb3QuanMub3JnL2RvY3Mvc3Vic3RyYXRlL2V4dHJpbnNpY3MvI3BheW91dHN0YWtlcnN2YWxpZGF0b3Jfc3Rhc2gtYWNjb3VudGlkMzItZXJhLXUzMlxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIHJldHVybiBtZXRob2RzLnN0YWtpbmcucGF5b3V0U3Rha2VycyhcbiAgICAgIHtcbiAgICAgICAgdmFsaWRhdG9yU3Rhc2g6IHRoaXMuX3ZhbGlkYXRvclN0YXNoLFxuICAgICAgICBlcmE6IHRoaXMuX2NsYWltRXJhLFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgIGJhc2VUeEluZm8ub3B0aW9uc1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB0cmFuc2FjdGlvbiB0eXBlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdDbGFpbTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBUaGUgc3Rhc2ggYWNjb3VudCBvZiB0aGUgdmFsaWRhdG9yLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsaWRhdG9yU3Rhc2hcbiAgICogQHJldHVybnMge0NsYWltQnVpbGRlcn0gVGhpcyBjbGFpbSBidWlsZGVyLlxuICAgKlxuICAgKi9cbiAgdmFsaWRhdG9yU3Rhc2godmFsaWRhdG9yU3Rhc2g6IEJhc2VBZGRyZXNzKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3ModmFsaWRhdG9yU3Rhc2gpO1xuICAgIHRoaXMuX3ZhbGlkYXRvclN0YXNoID0gdmFsaWRhdG9yU3Rhc2guYWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgZXJhIHRvIGNsYWltLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2xhaW1FcmFcbiAgICogQHJldHVybnMge0NsYWltQnVpbGRlcn0gVGhpcyBjbGFpbSBidWlsZGVyLlxuICAgKlxuICAgKi9cbiAgY2xhaW1FcmEoY2xhaW1FcmE6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKGNsYWltRXJhKSk7XG4gICAgdGhpcy5fY2xhaW1FcmEgPSBjbGFpbUVyYTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZURlY29kZWRUcmFuc2FjdGlvbihkZWNvZGVkVHhuOiBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfCBEZWNvZGVkU2lnbmVkVHgpOiB2b2lkIHtcbiAgICBpZiAoZGVjb2RlZFR4bi5tZXRob2Q/Lm5hbWUgPT09IE1ldGhvZE5hbWVzLlBheW91dFN0YWtlcnMpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyB1bmtub3duIGFzIENsYWltQXJncztcbiAgICAgIGNvbnN0IGNsYWltRXJhID0gdHhNZXRob2QuZXJhO1xuICAgICAgY29uc3QgdmFsaWRhdG9yU3Rhc2ggPSB0eE1ldGhvZC52YWxpZGF0b3JTdGFzaDtcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBDbGFpbVRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHsgY2xhaW1FcmEsIHZhbGlkYXRvclN0YXNoIH0pO1xuICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBDbGFpbSBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IHN1cGVyLmZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgaWYgKHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuUGF5b3V0U3Rha2Vycykge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSB0aGlzLl9tZXRob2QuYXJncyBhcyBDbGFpbUFyZ3M7XG4gICAgICB0aGlzLnZhbGlkYXRvclN0YXNoKHtcbiAgICAgICAgYWRkcmVzczogdXRpbHMuZGVjb2RlRG90QWRkcmVzcyhcbiAgICAgICAgICB0eE1ldGhvZC52YWxpZGF0b3JTdGFzaCxcbiAgICAgICAgICB1dGlscy5nZXRBZGRyZXNzRm9ybWF0KHRoaXMuX2NvaW5Db25maWcubmFtZSBhcyBEb3RBc3NldFR5cGVzKVxuICAgICAgICApLFxuICAgICAgfSk7XG4gICAgICB0aGlzLmNsYWltRXJhKHR4TWV0aG9kLmVyYSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBUcmFuc2FjdGlvbiBUeXBlOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkIHBheW91dFN0YWtlcnNgKTtcbiAgICB9XG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24oXzogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci52YWxpZGF0ZVRyYW5zYWN0aW9uKF8pO1xuICAgIHRoaXMudmFsaWRhdGVGaWVsZHModGhpcy5fY2xhaW1FcmEsIHRoaXMuX3ZhbGlkYXRvclN0YXNoKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBUaGUgc3Rhc2ggYWNjb3VudCBvZiB0aGUgdmFsaWRhdG9yLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2xhaW1FcmFcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbGlkYXRvclN0YXNoXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgZXhwZWN0ZWQgZmllbGRzIGFyZSBub3QgdmFsaWQuXG4gICAqXG4gICAqL1xuICBwcml2YXRlIHZhbGlkYXRlRmllbGRzKGNsYWltRXJhOiBzdHJpbmcsIHZhbGlkYXRvclN0YXNoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gQ2xhaW1UcmFuc2FjdGlvblNjaGVtYS52YWxpZGF0ZSh7XG4gICAgICBjbGFpbUVyYSxcbiAgICAgIHZhbGlkYXRvclN0YXNoLFxuICAgIH0pO1xuXG4gICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgYENsYWltIEJ1aWxkZXIgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWBcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,8 @@
1
+ import { BuildTransactionError } from '@bitgo-beta/sdk-core';
2
+ export declare class AddressValidationError extends BuildTransactionError {
3
+ constructor(malformedAddress: string);
4
+ }
5
+ export declare class InvalidFeeError extends BuildTransactionError {
6
+ constructor(type?: string, expectedType?: string);
7
+ }
8
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,qBAAa,sBAAuB,SAAQ,qBAAqB;gBACnD,gBAAgB,EAAE,MAAM;CAIrC;AAED,qBAAa,eAAgB,SAAQ,qBAAqB;gBAC5C,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;CAIjD"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvalidFeeError = exports.AddressValidationError = void 0;
4
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ class AddressValidationError extends sdk_core_1.BuildTransactionError {
6
+ constructor(malformedAddress) {
7
+ super(`The address '${malformedAddress}' is not a well-formed dot address`);
8
+ this.name = AddressValidationError.name;
9
+ }
10
+ }
11
+ exports.AddressValidationError = AddressValidationError;
12
+ class InvalidFeeError extends sdk_core_1.BuildTransactionError {
13
+ constructor(type, expectedType) {
14
+ super(`The specified type: "${type}" is not valid. Please provide the type: "${expectedType}"`);
15
+ this.name = InvalidFeeError.name;
16
+ }
17
+ }
18
+ exports.InvalidFeeError = InvalidFeeError;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQTZEO0FBRTdELE1BQWEsc0JBQXVCLFNBQVEsZ0NBQXFCO0lBQy9ELFlBQVksZ0JBQXdCO1FBQ2xDLEtBQUssQ0FBQyxnQkFBZ0IsZ0JBQWdCLG9DQUFvQyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLElBQUksR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUM7SUFDMUMsQ0FBQztDQUNGO0FBTEQsd0RBS0M7QUFFRCxNQUFhLGVBQWdCLFNBQVEsZ0NBQXFCO0lBQ3hELFlBQVksSUFBYSxFQUFFLFlBQXFCO1FBQzlDLEtBQUssQ0FBQyx3QkFBd0IsSUFBSSw2Q0FBNkMsWUFBWSxHQUFHLENBQUMsQ0FBQztRQUNoRyxJQUFJLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUM7SUFDbkMsQ0FBQztDQUNGO0FBTEQsMENBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBBZGRyZXNzVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgQnVpbGRUcmFuc2FjdGlvbkVycm9yIHtcbiAgY29uc3RydWN0b3IobWFsZm9ybWVkQWRkcmVzczogc3RyaW5nKSB7XG4gICAgc3VwZXIoYFRoZSBhZGRyZXNzICcke21hbGZvcm1lZEFkZHJlc3N9JyBpcyBub3QgYSB3ZWxsLWZvcm1lZCBkb3QgYWRkcmVzc2ApO1xuICAgIHRoaXMubmFtZSA9IEFkZHJlc3NWYWxpZGF0aW9uRXJyb3IubmFtZTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW52YWxpZEZlZUVycm9yIGV4dGVuZHMgQnVpbGRUcmFuc2FjdGlvbkVycm9yIHtcbiAgY29uc3RydWN0b3IodHlwZT86IHN0cmluZywgZXhwZWN0ZWRUeXBlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIoYFRoZSBzcGVjaWZpZWQgdHlwZTogXCIke3R5cGV9XCIgaXMgbm90IHZhbGlkLiBQbGVhc2UgcHJvdmlkZSB0aGUgdHlwZTogXCIke2V4cGVjdGVkVHlwZX1cImApO1xuICAgIHRoaXMubmFtZSA9IEludmFsaWRGZWVFcnJvci5uYW1lO1xuICB9XG59XG4iXX0=