@bitgo/account-lib 2.17.1-rc.8 → 2.17.2-node12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/bitgo-account-lib.js +2 -0
- package/dist/browser/bitgo-account-lib.js.LICENSE.txt +416 -0
- package/dist/browser/bitgo-account-lib.min.js +1 -1
- package/dist/browser/bitgo-account-lib.min.js.LICENSE.txt +4 -4
- package/dist/package.json +4 -4
- package/dist/resources/dot/index.ts +2 -0
- package/dist/resources/dot/mainnet.ts +2 -0
- package/dist/resources/dot/westend.ts +2 -0
- package/dist/src/coin/dot/addressInitializationBuilder.d.ts +80 -0
- package/dist/src/coin/dot/addressInitializationBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/addressInitializationBuilder.js +205 -0
- package/dist/src/coin/dot/batchTransactionBuilder.d.ts +47 -0
- package/dist/src/coin/dot/batchTransactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/batchTransactionBuilder.js +145 -0
- package/dist/src/coin/dot/errors.d.ts +8 -0
- package/dist/src/coin/dot/errors.d.ts.map +1 -0
- package/dist/src/coin/dot/errors.js +40 -0
- package/dist/src/coin/dot/iface.d.ts +181 -0
- package/dist/src/coin/dot/iface.d.ts.map +1 -0
- package/dist/src/coin/dot/iface.js +37 -0
- package/dist/src/coin/dot/stakingBuilder.d.ts +59 -0
- package/dist/src/coin/dot/stakingBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/stakingBuilder.js +157 -0
- package/dist/src/coin/dot/txnSchema.d.ts +12 -0
- package/dist/src/coin/dot/txnSchema.d.ts.map +1 -0
- package/dist/src/coin/dot/txnSchema.js +95 -0
- package/dist/src/coin/dot/unnominateBuilder.d.ts +24 -0
- package/dist/src/coin/dot/unnominateBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/unnominateBuilder.js +72 -0
- package/dist/src/coin/dot/unstakeBuilder.d.ts +38 -0
- package/dist/src/coin/dot/unstakeBuilder.d.ts.map +1 -0
- package/dist/src/coin/dot/unstakeBuilder.js +111 -0
- package/dist/src/coin/near/index.d.ts +5 -0
- package/dist/src/coin/near/index.d.ts.map +1 -0
- package/dist/src/coin/near/index.js +29 -0
- package/dist/src/coin/near/keyPair.d.ts +19 -0
- package/dist/src/coin/near/keyPair.d.ts.map +1 -0
- package/dist/src/coin/near/keyPair.js +76 -0
- package/dist/src/coin/near/transaction.d.ts +11 -0
- package/dist/src/coin/near/transaction.d.ts.map +1 -0
- package/dist/src/coin/near/transaction.js +41 -0
- package/dist/src/coin/near/transactionBuilder.d.ts +28 -0
- package/dist/src/coin/near/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/near/transactionBuilder.js +68 -0
- package/dist/src/coin/near/transactionBuilderFactory.d.ts +24 -0
- package/dist/src/coin/near/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/near/transactionBuilderFactory.js +56 -0
- package/dist/src/coin/near/transferBuilder.d.ts +14 -0
- package/dist/src/coin/near/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/near/transferBuilder.js +81 -0
- package/dist/src/coin/near/utils.d.ts +19 -0
- package/dist/src/coin/near/utils.d.ts.map +1 -0
- package/dist/src/coin/near/utils.js +61 -0
- package/dist/src/coin/near/walletInitializationBuilder.d.ts +14 -0
- package/dist/src/coin/near/walletInitializationBuilder.d.ts.map +1 -0
- package/dist/src/coin/near/walletInitializationBuilder.js +81 -0
- package/dist/src/coin/sol/constants.d.ts +49 -0
- package/dist/src/coin/sol/constants.d.ts.map +1 -0
- package/dist/src/coin/sol/constants.js +65 -0
- package/dist/src/coin/sol/iface.d.ts +80 -0
- package/dist/src/coin/sol/iface.d.ts.map +1 -0
- package/dist/src/coin/sol/iface.js +3 -0
- package/dist/src/coin/sol/index.d.ts +8 -0
- package/dist/src/coin/sol/index.d.ts.map +1 -0
- package/dist/src/coin/sol/index.js +35 -0
- package/dist/src/coin/sol/instructionParamsFactory.d.ts +12 -0
- package/dist/src/coin/sol/instructionParamsFactory.d.ts.map +1 -0
- package/dist/src/coin/sol/instructionParamsFactory.js +198 -0
- package/dist/src/coin/sol/keyPair.d.ts +27 -0
- package/dist/src/coin/sol/keyPair.d.ts.map +1 -0
- package/dist/src/coin/sol/keyPair.js +81 -0
- package/dist/src/coin/sol/solInstructionFactory.d.ts +10 -0
- package/dist/src/coin/sol/solInstructionFactory.d.ts.map +1 -0
- package/dist/src/coin/sol/solInstructionFactory.js +174 -0
- package/dist/src/coin/sol/stakingActivateBuilder.d.ts +41 -0
- package/dist/src/coin/sol/stakingActivateBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/stakingActivateBuilder.js +162 -0
- package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts +23 -0
- package/dist/src/coin/sol/stakingDeactivateBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/stakingDeactivateBuilder.js +130 -0
- package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts +31 -0
- package/dist/src/coin/sol/stakingWithdrawBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/stakingWithdrawBuilder.js +146 -0
- package/dist/src/coin/sol/transaction.d.ts +56 -0
- package/dist/src/coin/sol/transaction.d.ts.map +1 -0
- package/dist/src/coin/sol/transaction.js +419 -0
- package/dist/src/coin/sol/transactionBuilder.d.ts +98 -0
- package/dist/src/coin/sol/transactionBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/transactionBuilder.js +318 -0
- package/dist/src/coin/sol/transactionBuilderFactory.d.ts +68 -0
- package/dist/src/coin/sol/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/coin/sol/transactionBuilderFactory.js +132 -0
- package/dist/src/coin/sol/transferBuilder.d.ts +26 -0
- package/dist/src/coin/sol/transferBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/transferBuilder.js +138 -0
- package/dist/src/coin/sol/utils.d.ts +126 -0
- package/dist/src/coin/sol/utils.d.ts.map +1 -0
- package/dist/src/coin/sol/utils.js +315 -0
- package/dist/src/coin/sol/walletInitializationBuilder.d.ts +26 -0
- package/dist/src/coin/sol/walletInitializationBuilder.d.ts.map +1 -0
- package/dist/src/coin/sol/walletInitializationBuilder.js +139 -0
- package/dist/src/coin/stx/abstractContractBuilder.d.ts +19 -0
- package/dist/src/coin/stx/abstractContractBuilder.d.ts.map +1 -0
- package/dist/src/coin/stx/abstractContractBuilder.js +140 -0
- package/dist/src/coin/stx/constants.d.ts +8 -0
- package/dist/src/coin/stx/constants.d.ts.map +1 -0
- package/dist/src/coin/stx/constants.js +19 -0
- package/dist/src/coin/stx/sendmanyBuilder.d.ts +23 -0
- package/dist/src/coin/stx/sendmanyBuilder.d.ts.map +1 -0
- package/dist/src/coin/stx/sendmanyBuilder.js +140 -0
- package/dist/src/coin/stx/transaction.js +2 -2
- package/dist/src/coin/stx/utils.d.ts +3 -3
- package/dist/src/coin/stx/utils.d.ts.map +1 -1
- package/dist/src/coin/stx/utils.js +10 -7
- package/dist/src/keyPair/index.d.ts +4 -0
- package/dist/src/keyPair/index.d.ts.map +1 -0
- package/dist/src/keyPair/index.js +38 -0
- package/dist/src/mpc/curves.d.ts +14 -0
- package/dist/src/mpc/curves.d.ts.map +1 -0
- package/dist/src/mpc/curves.js +99 -0
- package/dist/src/mpc/shamir.d.ts +7 -0
- package/dist/src/mpc/shamir.d.ts.map +1 -0
- package/dist/src/mpc/shamir.js +91 -0
- package/dist/src/mpc/tss.d.ts +69 -0
- package/dist/src/mpc/tss.d.ts.map +1 -0
- package/dist/src/mpc/tss.js +255 -0
- package/dist/src/utils/ed25519KeyDeriver.d.ts +49 -0
- package/dist/src/utils/ed25519KeyDeriver.d.ts.map +1 -0
- package/dist/src/utils/ed25519KeyDeriver.js +92 -0
- package/dist/src/utils/index.d.ts +9 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +43 -0
- package/package.json +4 -4
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
3
|
+
import { Transaction } from './transaction';
|
|
4
|
+
import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
|
|
5
|
+
import { TransactionType } from '../baseCoin';
|
|
6
|
+
import { ProxyType } from './iface';
|
|
7
|
+
import { BaseAddress } from '../baseCoin/iface';
|
|
8
|
+
export declare class AddressInitializationBuilder extends TransactionBuilder {
|
|
9
|
+
protected _delegate: string;
|
|
10
|
+
protected _proxyType: ProxyType;
|
|
11
|
+
protected _delay: string;
|
|
12
|
+
protected _index: number;
|
|
13
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
14
|
+
/** @inheritDoc */
|
|
15
|
+
protected buildTransaction(): UnsignedTransaction;
|
|
16
|
+
/**
|
|
17
|
+
* Register a proxy account for the sender that is able to make calls on its behalf.
|
|
18
|
+
*
|
|
19
|
+
* @returns {UnsignedTransaction} an unsigned Dot transaction
|
|
20
|
+
*
|
|
21
|
+
* @see https://polkadot.js.org/docs/substrate/extrinsics/#proxy
|
|
22
|
+
*/
|
|
23
|
+
protected buildAddProxyTransaction(): UnsignedTransaction;
|
|
24
|
+
/**
|
|
25
|
+
* Spawn a receive address for the sender
|
|
26
|
+
*
|
|
27
|
+
* @return {UnsignedTransaction} an unsigned Dot transaction
|
|
28
|
+
*/
|
|
29
|
+
protected buildAnonymousProxyTransaction(): UnsignedTransaction;
|
|
30
|
+
protected get transactionType(): TransactionType;
|
|
31
|
+
/**
|
|
32
|
+
* The account to delegate auth to.
|
|
33
|
+
*
|
|
34
|
+
* @param {BaseAddress} owner
|
|
35
|
+
* @returns {AddressInitializationBuilder} This builder.
|
|
36
|
+
*
|
|
37
|
+
* @see https://wiki.polkadot.network/docs/learn-proxies#why-use-a-proxy
|
|
38
|
+
*/
|
|
39
|
+
owner(owner: BaseAddress): this;
|
|
40
|
+
/**
|
|
41
|
+
* Used for disambiguation if multiple calls are made in the same transaction
|
|
42
|
+
* Use 0 as a default
|
|
43
|
+
*
|
|
44
|
+
* @param {number} index
|
|
45
|
+
*
|
|
46
|
+
* @returns {AddressInitializationBuilder} This transfer builder.
|
|
47
|
+
*/
|
|
48
|
+
index(index: number): this;
|
|
49
|
+
/**
|
|
50
|
+
* The proxy type to add.
|
|
51
|
+
*
|
|
52
|
+
* @param {proxyType} proxyType
|
|
53
|
+
* @returns {AddressInitializationBuilder} This builder.
|
|
54
|
+
*
|
|
55
|
+
* @see https://wiki.polkadot.network/docs/learn-proxies#proxy-types
|
|
56
|
+
*/
|
|
57
|
+
type(proxyType: ProxyType): this;
|
|
58
|
+
/**
|
|
59
|
+
* The number of blocks that an announcement must be in place for.
|
|
60
|
+
* before the corresponding call may be dispatched.
|
|
61
|
+
* If zero, then no announcement is needed.
|
|
62
|
+
* TODO: move to the validity window method once it has been standardized
|
|
63
|
+
*
|
|
64
|
+
* @param {string} delay
|
|
65
|
+
* @returns {AddressInitializationBuilder} This transfer builder.
|
|
66
|
+
*
|
|
67
|
+
* @see https://wiki.polkadot.network/docs/learn-proxies#time-delayed-proxies
|
|
68
|
+
*/
|
|
69
|
+
delay(delay: string): this;
|
|
70
|
+
/** @inheritdoc */
|
|
71
|
+
validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx): void;
|
|
72
|
+
/** @inheritdoc */
|
|
73
|
+
protected fromImplementation(rawTransaction: string): Transaction;
|
|
74
|
+
/** @inheritdoc */
|
|
75
|
+
validateTransaction(_: Transaction): void;
|
|
76
|
+
private validateFields;
|
|
77
|
+
private validateAddProxyFields;
|
|
78
|
+
private validateAnonymousProxyFields;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=addressInitializationBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addressInitializationBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/dot/addressInitializationBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACxG,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAoD,SAAS,EAAE,MAAM,SAAS,CAAC;AAEtF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,qBAAa,4BAA6B,SAAQ,kBAAkB;IAClE,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC;IAChC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,MAAM,SAAK;gBAET,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAQjD;;;;;;OAMG;IACH,SAAS,CAAC,wBAAwB,IAAI,mBAAmB;IAazD;;;;OAIG;IACH,SAAS,CAAC,8BAA8B,IAAI,mBAAmB;IAa/D,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAM/B;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM1B;;;;;;;OAOG;IACH,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAKhC;;;;;;;;;;OAUG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM1B,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,GAAG,IAAI;IAkBrF,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAoBjE,kBAAkB;IAClB,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAKzC,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,4BAA4B;CAOrC"}
|
|
@@ -0,0 +1,205 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.AddressInitializationBuilder = void 0;
|
|
22
|
+
var txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
|
|
23
|
+
var bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
24
|
+
var errors_1 = require("../baseCoin/errors");
|
|
25
|
+
var transactionBuilder_1 = require("./transactionBuilder");
|
|
26
|
+
var baseCoin_1 = require("../baseCoin");
|
|
27
|
+
var iface_1 = require("./iface");
|
|
28
|
+
var txnSchema_1 = require("./txnSchema");
|
|
29
|
+
var AddressInitializationBuilder = /** @class */ (function (_super) {
|
|
30
|
+
__extends(AddressInitializationBuilder, _super);
|
|
31
|
+
function AddressInitializationBuilder(_coinConfig) {
|
|
32
|
+
var _this = _super.call(this, _coinConfig) || this;
|
|
33
|
+
_this._index = 0;
|
|
34
|
+
return _this;
|
|
35
|
+
}
|
|
36
|
+
/** @inheritDoc */
|
|
37
|
+
AddressInitializationBuilder.prototype.buildTransaction = function () {
|
|
38
|
+
if (this._delegate) {
|
|
39
|
+
return this.buildAddProxyTransaction();
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return this.buildAnonymousProxyTransaction();
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Register a proxy account for the sender that is able to make calls on its behalf.
|
|
47
|
+
*
|
|
48
|
+
* @returns {UnsignedTransaction} an unsigned Dot transaction
|
|
49
|
+
*
|
|
50
|
+
* @see https://polkadot.js.org/docs/substrate/extrinsics/#proxy
|
|
51
|
+
*/
|
|
52
|
+
AddressInitializationBuilder.prototype.buildAddProxyTransaction = function () {
|
|
53
|
+
var baseTxInfo = this.createBaseTxInfo();
|
|
54
|
+
return txwrapper_polkadot_1.methods.proxy.addProxy({
|
|
55
|
+
delegate: this._delegate,
|
|
56
|
+
proxyType: this._proxyType,
|
|
57
|
+
delay: this._delay,
|
|
58
|
+
}, baseTxInfo.baseTxInfo, baseTxInfo.options);
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Spawn a receive address for the sender
|
|
62
|
+
*
|
|
63
|
+
* @return {UnsignedTransaction} an unsigned Dot transaction
|
|
64
|
+
*/
|
|
65
|
+
AddressInitializationBuilder.prototype.buildAnonymousProxyTransaction = function () {
|
|
66
|
+
var baseTxInfo = this.createBaseTxInfo();
|
|
67
|
+
return txwrapper_polkadot_1.methods.proxy.anonymous({
|
|
68
|
+
proxyType: this._proxyType,
|
|
69
|
+
index: this._index,
|
|
70
|
+
delay: parseInt(this._delay, 10),
|
|
71
|
+
}, baseTxInfo.baseTxInfo, baseTxInfo.options);
|
|
72
|
+
};
|
|
73
|
+
Object.defineProperty(AddressInitializationBuilder.prototype, "transactionType", {
|
|
74
|
+
get: function () {
|
|
75
|
+
return baseCoin_1.TransactionType.AddressInitialization;
|
|
76
|
+
},
|
|
77
|
+
enumerable: false,
|
|
78
|
+
configurable: true
|
|
79
|
+
});
|
|
80
|
+
/**
|
|
81
|
+
* The account to delegate auth to.
|
|
82
|
+
*
|
|
83
|
+
* @param {BaseAddress} owner
|
|
84
|
+
* @returns {AddressInitializationBuilder} This builder.
|
|
85
|
+
*
|
|
86
|
+
* @see https://wiki.polkadot.network/docs/learn-proxies#why-use-a-proxy
|
|
87
|
+
*/
|
|
88
|
+
AddressInitializationBuilder.prototype.owner = function (owner) {
|
|
89
|
+
this.validateAddress({ address: owner.address });
|
|
90
|
+
this._delegate = owner.address;
|
|
91
|
+
return this;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Used for disambiguation if multiple calls are made in the same transaction
|
|
95
|
+
* Use 0 as a default
|
|
96
|
+
*
|
|
97
|
+
* @param {number} index
|
|
98
|
+
*
|
|
99
|
+
* @returns {AddressInitializationBuilder} This transfer builder.
|
|
100
|
+
*/
|
|
101
|
+
AddressInitializationBuilder.prototype.index = function (index) {
|
|
102
|
+
this.validateValue(new bignumber_js_1.default(index));
|
|
103
|
+
this._index = index;
|
|
104
|
+
return this;
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* The proxy type to add.
|
|
108
|
+
*
|
|
109
|
+
* @param {proxyType} proxyType
|
|
110
|
+
* @returns {AddressInitializationBuilder} This builder.
|
|
111
|
+
*
|
|
112
|
+
* @see https://wiki.polkadot.network/docs/learn-proxies#proxy-types
|
|
113
|
+
*/
|
|
114
|
+
AddressInitializationBuilder.prototype.type = function (proxyType) {
|
|
115
|
+
this._proxyType = proxyType;
|
|
116
|
+
return this;
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* The number of blocks that an announcement must be in place for.
|
|
120
|
+
* before the corresponding call may be dispatched.
|
|
121
|
+
* If zero, then no announcement is needed.
|
|
122
|
+
* TODO: move to the validity window method once it has been standardized
|
|
123
|
+
*
|
|
124
|
+
* @param {string} delay
|
|
125
|
+
* @returns {AddressInitializationBuilder} This transfer builder.
|
|
126
|
+
*
|
|
127
|
+
* @see https://wiki.polkadot.network/docs/learn-proxies#time-delayed-proxies
|
|
128
|
+
*/
|
|
129
|
+
AddressInitializationBuilder.prototype.delay = function (delay) {
|
|
130
|
+
this.validateValue(new bignumber_js_1.default(parseInt(delay, 10)));
|
|
131
|
+
this._delay = delay;
|
|
132
|
+
return this;
|
|
133
|
+
};
|
|
134
|
+
/** @inheritdoc */
|
|
135
|
+
AddressInitializationBuilder.prototype.validateDecodedTransaction = function (decodedTxn) {
|
|
136
|
+
var _a, _b;
|
|
137
|
+
var validationResult;
|
|
138
|
+
if (((_a = decodedTxn.method) === null || _a === void 0 ? void 0 : _a.name) === iface_1.MethodNames.AddProxy) {
|
|
139
|
+
var txMethod = decodedTxn.method.args;
|
|
140
|
+
validationResult = this.validateAddProxyFields(txMethod.delegate, txMethod.proxyType, txMethod.delay);
|
|
141
|
+
}
|
|
142
|
+
else if (((_b = decodedTxn.method) === null || _b === void 0 ? void 0 : _b.name) === iface_1.MethodNames.Anonymous) {
|
|
143
|
+
var txMethod = decodedTxn.method.args;
|
|
144
|
+
validationResult = this.validateAnonymousProxyFields(parseInt(txMethod.index, 10), txMethod.proxyType, txMethod.delay);
|
|
145
|
+
}
|
|
146
|
+
if (validationResult.error) {
|
|
147
|
+
throw new errors_1.InvalidTransactionError("Transaction validation failed: " + validationResult.error.message);
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
/** @inheritdoc */
|
|
151
|
+
AddressInitializationBuilder.prototype.fromImplementation = function (rawTransaction) {
|
|
152
|
+
var _a, _b, _c;
|
|
153
|
+
var tx = _super.prototype.fromImplementation.call(this, rawTransaction);
|
|
154
|
+
if (((_a = this._method) === null || _a === void 0 ? void 0 : _a.name) === iface_1.MethodNames.AddProxy) {
|
|
155
|
+
var txMethod = this._method.args;
|
|
156
|
+
this.owner({ address: txMethod.delegate });
|
|
157
|
+
this.type(txMethod.proxyType);
|
|
158
|
+
this.delay(new bignumber_js_1.default(txMethod.delay).toString());
|
|
159
|
+
}
|
|
160
|
+
else if (((_b = this._method) === null || _b === void 0 ? void 0 : _b.name) === iface_1.MethodNames.Anonymous) {
|
|
161
|
+
var txMethod = this._method.args;
|
|
162
|
+
this.index(new bignumber_js_1.default(txMethod.index).toNumber());
|
|
163
|
+
this.type(txMethod.proxyType);
|
|
164
|
+
this.delay(new bignumber_js_1.default(txMethod.delay).toString());
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
throw new errors_1.InvalidTransactionError("Invalid Transaction Type: " + ((_c = this._method) === null || _c === void 0 ? void 0 : _c.name) + ". Expected " + iface_1.MethodNames.AddProxy + " or " + iface_1.MethodNames.Anonymous);
|
|
168
|
+
}
|
|
169
|
+
return tx;
|
|
170
|
+
};
|
|
171
|
+
/** @inheritdoc */
|
|
172
|
+
AddressInitializationBuilder.prototype.validateTransaction = function (_) {
|
|
173
|
+
_super.prototype.validateTransaction.call(this, _);
|
|
174
|
+
this.validateFields();
|
|
175
|
+
};
|
|
176
|
+
AddressInitializationBuilder.prototype.validateFields = function () {
|
|
177
|
+
var validationResult;
|
|
178
|
+
if (this._delegate) {
|
|
179
|
+
validationResult = this.validateAddProxyFields(this._delegate, this._proxyType, this._delay);
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
validationResult = this.validateAnonymousProxyFields(this._index, this._proxyType, this._delay);
|
|
183
|
+
}
|
|
184
|
+
if (validationResult.error) {
|
|
185
|
+
throw new errors_1.InvalidTransactionError("AddressInitialization Transaction validation failed: " + validationResult.error.message);
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
AddressInitializationBuilder.prototype.validateAddProxyFields = function (delegate, proxyType, delay) {
|
|
189
|
+
return txnSchema_1.AddressInitializationSchema.validate({
|
|
190
|
+
delegate: delegate,
|
|
191
|
+
proxyType: proxyType,
|
|
192
|
+
delay: delay,
|
|
193
|
+
});
|
|
194
|
+
};
|
|
195
|
+
AddressInitializationBuilder.prototype.validateAnonymousProxyFields = function (index, proxyType, delay) {
|
|
196
|
+
return txnSchema_1.AnonymousAddressInitializationSchema.validate({
|
|
197
|
+
proxyType: proxyType,
|
|
198
|
+
index: index,
|
|
199
|
+
delay: delay,
|
|
200
|
+
});
|
|
201
|
+
};
|
|
202
|
+
return AddressInitializationBuilder;
|
|
203
|
+
}(transactionBuilder_1.TransactionBuilder));
|
|
204
|
+
exports.AddressInitializationBuilder = AddressInitializationBuilder;
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2luL2RvdC9hZGRyZXNzSW5pdGlhbGl6YXRpb25CdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLG9FQUF3RDtBQUN4RCw4REFBcUM7QUFDckMsNkNBQTZEO0FBQzdELDJEQUEwRDtBQUcxRCx3Q0FBOEM7QUFDOUMsaUNBQXNGO0FBQ3RGLHlDQUFnRztBQUloRztJQUFrRCxnREFBa0I7SUFNbEUsc0NBQVksV0FBaUM7UUFBN0MsWUFDRSxrQkFBTSxXQUFXLENBQUMsU0FDbkI7UUFKUyxZQUFNLEdBQUcsQ0FBQyxDQUFDOztJQUlyQixDQUFDO0lBRUQsa0JBQWtCO0lBQ1IsdURBQWdCLEdBQTFCO1FBQ0UsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7U0FDeEM7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUM7U0FDOUM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ08sK0RBQXdCLEdBQWxDO1FBQ0UsSUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0MsT0FBTyw0QkFBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQzNCO1lBQ0UsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3hCLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMxQixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDbkIsRUFDRCxVQUFVLENBQUMsVUFBVSxFQUNyQixVQUFVLENBQUMsT0FBTyxDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDTyxxRUFBOEIsR0FBeEM7UUFDRSxJQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUs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QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLHFEQUFjLEdBQXRCO1FBQ0UsSUFBSSxnQkFBa0MsQ0FBQztRQUN2QyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUY7YUFBTTtZQUNMLGdCQUFnQixHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2pHO1FBQ0QsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7WUFDMUIsTUFBTSxJQUFJLGdDQUF1QixDQUMvQiwwREFBd0QsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQVMsQ0FDekYsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVPLDZEQUFzQixHQUE5QixVQUErQixRQUFnQixFQUFFLFNBQWlCLEVBQUUsS0FBYTtRQUMvRSxPQUFPLHVDQUEyQixDQUFDLFFBQVEsQ0FBQztZQUMxQyxRQUFRLFVBQUE7WUFDUixTQUFTLFdBQUE7WUFDVCxLQUFLLE9BQUE7U0FDTixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sbUVBQTRCLEdBQXBDLFVBQXFDLEtBQWEsRUFBRSxTQUFpQixFQUFFLEtBQWE7UUFDbEYsT0FBTyxnREFBb0MsQ0FBQyxRQUFRLENBQUM7WUFDbkQsU0FBUyxXQUFBO1lBQ1QsS0FBSyxPQUFBO1lBQ0wsS0FBSyxPQUFBO1NBQ04sQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNILG1DQUFDO0FBQUQsQ0FBQyxBQWxNRCxDQUFrRCx1Q0FBa0IsR0FrTW5FO0FBbE1ZLG9FQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBtZXRob2RzIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItcG9sa2Fkb3QnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICcuLi9iYXNlQ29pbi9lcnJvcnMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IERlY29kZWRTaWduZWRUeCwgRGVjb2RlZFNpZ25pbmdQYXlsb2FkLCBVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBBZGRBbm9ueW1vdXNQcm94eUFyZ3MsIEFkZFByb3h5QXJncywgTWV0aG9kTmFtZXMsIFByb3h5VHlwZSB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgQWRkcmVzc0luaXRpYWxpemF0aW9uU2NoZW1hLCBBbm9ueW1vdXNBZGRyZXNzSW5pdGlhbGl6YXRpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgeyBCYXNlQWRkcmVzcyB9IGZyb20gJy4uL2Jhc2VDb2luL2lmYWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb25SZXN1bHQgfSBmcm9tICdqb2knO1xuXG5leHBvcnQgY2xhc3MgQWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfZGVsZWdhdGU6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9wcm94eVR5cGU6IFByb3h5VHlwZTtcbiAgcHJvdGVjdGVkIF9kZWxheTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2luZGV4ID0gMDtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgaWYgKHRoaXMuX2RlbGVnYXRlKSB7XG4gICAgICByZXR1cm4gdGhpcy5idWlsZEFkZFByb3h5VHJhbnNhY3Rpb24oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuYnVpbGRBbm9ueW1vdXNQcm94eVRyYW5zYWN0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgcHJveHkgYWNjb3VudCBmb3IgdGhlIHNlbmRlciB0aGF0IGlzIGFibGUgdG8gbWFrZSBjYWxscyBvbiBpdHMgYmVoYWxmLlxuICAgKlxuICAgKiBAcmV0dXJucyB7VW5zaWduZWRUcmFuc2FjdGlvbn0gYW4gdW5zaWduZWQgRG90IHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9wb2xrYWRvdC5qcy5vcmcvZG9jcy9zdWJzdHJhdGUvZXh0cmluc2ljcy8jcHJveHlcbiAgICovXG4gIHByb3RlY3RlZCBidWlsZEFkZFByb3h5VHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIHJldHVybiBtZXRob2RzLnByb3h5LmFkZFByb3h5KFxuICAgICAge1xuICAgICAgICBkZWxlZ2F0ZTogdGhpcy5fZGVsZWdhdGUsXG4gICAgICAgIHByb3h5VHlwZTogdGhpcy5fcHJveHlUeXBlLFxuICAgICAgICBkZWxheTogdGhpcy5fZGVsYXksXG4gICAgICB9LFxuICAgICAgYmFzZVR4SW5mby5iYXNlVHhJbmZvLFxuICAgICAgYmFzZVR4SW5mby5vcHRpb25zLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU3Bhd24gYSByZWNlaXZlIGFkZHJlc3MgZm9yIHRoZSBzZW5kZXJcbiAgICpcbiAgICogQHJldHVybiB7VW5zaWduZWRUcmFuc2FjdGlvbn0gYW4gdW5zaWduZWQgRG90IHRyYW5zYWN0aW9uXG4gICAqL1xuICBwcm90ZWN0ZWQgYnVpbGRBbm9ueW1vdXNQcm94eVRyYW5zYWN0aW9uKCk6IFVuc2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IGJhc2VUeEluZm8gPSB0aGlzLmNyZWF0ZUJhc2VUeEluZm8oKTtcbiAgICByZXR1cm4gbWV0aG9kcy5wcm94eS5hbm9ueW1vdXMoXG4gICAgICB7XG4gICAgICAgIHByb3h5VHlwZTogdGhpcy5fcHJveHlUeXBlLFxuICAgICAgICBpbmRleDogdGhpcy5faW5kZXgsXG4gICAgICAgIGRlbGF5OiBwYXJzZUludCh0aGlzLl9kZWxheSwgMTApLFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgIGJhc2VUeEluZm8ub3B0aW9ucyxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkFkZHJlc3NJbml0aWFsaXphdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYWNjb3VudCB0byBkZWxlZ2F0ZSBhdXRoIHRvLlxuICAgKlxuICAgKiBAcGFyYW0ge0Jhc2VBZGRyZXNzfSBvd25lclxuICAgKiBAcmV0dXJucyB7QWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlcn0gVGhpcyBidWlsZGVyLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vd2lraS5wb2xrYWRvdC5uZXR3b3JrL2RvY3MvbGVhcm4tcHJveGllcyN3aHktdXNlLWEtcHJveHlcbiAgICovXG4gIG93bmVyKG93bmVyOiBCYXNlQWRkcmVzcyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogb3duZXIuYWRkcmVzcyB9KTtcbiAgICB0aGlzLl9kZWxlZ2F0ZSA9IG93bmVyLmFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVXNlZCBmb3IgZGlzYW1iaWd1YXRpb24gaWYgbXVsdGlwbGUgY2FsbHMgYXJlIG1hZGUgaW4gdGhlIHNhbWUgdHJhbnNhY3Rpb25cbiAgICogVXNlIDAgYXMgYSBkZWZhdWx0XG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICAgKlxuICAgKiBAcmV0dXJucyB7QWRkcmVzc0luaXRpYWxpemF0aW9uQnVpbGRlcn0gVGhpcyB0cmFuc2ZlciBidWlsZGVyLlxuICAgKi9cbiAgaW5kZXgoaW5kZXg6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKGluZGV4KSk7XG4gICAgdGhpcy5faW5kZXggPSBpbmRleDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgcHJveHkgdHlwZSB0byBhZGQuXG4gICAqXG4gICAqIEBwYXJhbSB7cHJveHlUeXBlfSBwcm94eVR5cGVcbiAgICogQHJldHVybnMge0FkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkZXJ9IFRoaXMgYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2xlYXJuLXByb3hpZXMjcHJveHktdHlwZXNcbiAgICovXG4gIHR5cGUocHJveHlUeXBlOiBQcm94eVR5cGUpOiB0aGlzIHtcbiAgICB0aGlzLl9wcm94eVR5cGUgPSBwcm94eVR5cGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBibG9ja3MgdGhhdCBhbiBhbm5vdW5jZW1lbnQgbXVzdCBiZSBpbiBwbGFjZSBmb3IuXG4gICAqIGJlZm9yZSB0aGUgY29ycmVzcG9uZGluZyBjYWxsIG1heSBiZSBkaXNwYXRjaGVkLlxuICAgKiBJZiB6ZXJvLCB0aGVuIG5vIGFubm91bmNlbWVudCBpcyBuZWVkZWQuXG4gICAqIFRPRE86IG1vdmUgdG8gdGhlIHZhbGlkaXR5IHdpbmRvdyBtZXRob2Qgb25jZSBpdCBoYXMgYmVlbiBzdGFuZGFyZGl6ZWRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRlbGF5XG4gICAqIEByZXR1cm5zIHtBZGRyZXNzSW5pdGlhbGl6YXRpb25CdWlsZGVyfSBUaGlzIHRyYW5zZmVyIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9sZWFybi1wcm94aWVzI3RpbWUtZGVsYXllZC1wcm94aWVzXG4gICAqL1xuICBkZWxheShkZWxheTogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIocGFyc2VJbnQoZGVsYXksIDEwKSkpO1xuICAgIHRoaXMuX2RlbGF5ID0gZGVsYXk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVEZWNvZGVkVHJhbnNhY3Rpb24oZGVjb2RlZFR4bjogRGVjb2RlZFNpZ25pbmdQYXlsb2FkIHwgRGVjb2RlZFNpZ25lZFR4KTogdm9pZCB7XG4gICAgbGV0IHZhbGlkYXRpb25SZXN1bHQ7XG4gICAgaWYgKGRlY29kZWRUeG4ubWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5BZGRQcm94eSkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSBkZWNvZGVkVHhuLm1ldGhvZC5hcmdzIGFzIHVua25vd24gYXMgQWRkUHJveHlBcmdzO1xuICAgICAgdmFsaWRhdGlvblJlc3VsdCA9IHRoaXMudmFsaWRhdGVBZGRQcm94eUZpZWxkcyh0eE1ldGhvZC5kZWxlZ2F0ZSwgdHhNZXRob2QucHJveHlUeXBlLCB0eE1ldGhvZC5kZWxheSk7XG4gICAgfSBlbHNlIGlmIChkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuQW5vbnltb3VzKSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IGRlY29kZWRUeG4ubWV0aG9kLmFyZ3MgYXMgdW5rbm93biBhcyBBZGRBbm9ueW1vdXNQcm94eUFyZ3M7XG4gICAgICB2YWxpZGF0aW9uUmVzdWx0ID0gdGhpcy52YWxpZGF0ZUFub255bW91c1Byb3h5RmllbGRzKFxuICAgICAgICBwYXJzZUludCh0eE1ldGhvZC5pbmRleCwgMTApLFxuICAgICAgICB0eE1ldGhvZC5wcm94eVR5cGUsXG4gICAgICAgIHR4TWV0aG9kLmRlbGF5LFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgdHggPSBzdXBlci5mcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIGlmICh0aGlzLl9tZXRob2Q/Lm5hbWUgPT09IE1ldGhvZE5hbWVzLkFkZFByb3h5KSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIEFkZFByb3h5QXJncztcbiAgICAgIHRoaXMub3duZXIoeyBhZGRyZXNzOiB0eE1ldGhvZC5kZWxlZ2F0ZSB9KTtcbiAgICAgIHRoaXMudHlwZSh0eE1ldGhvZC5wcm94eVR5cGUpO1xuICAgICAgdGhpcy5kZWxheShuZXcgQmlnTnVtYmVyKHR4TWV0aG9kLmRlbGF5KS50b1N0cmluZygpKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuQW5vbnltb3VzKSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIEFkZEFub255bW91c1Byb3h5QXJncztcbiAgICAgIHRoaXMuaW5kZXgobmV3IEJpZ051bWJlcih0eE1ldGhvZC5pbmRleCkudG9OdW1iZXIoKSk7XG4gICAgICB0aGlzLnR5cGUodHhNZXRob2QucHJveHlUeXBlKTtcbiAgICAgIHRoaXMuZGVsYXkobmV3IEJpZ051bWJlcih0eE1ldGhvZC5kZWxheSkudG9TdHJpbmcoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgYEludmFsaWQgVHJhbnNhY3Rpb24gVHlwZTogJHt0aGlzLl9tZXRob2Q/Lm5hbWV9LiBFeHBlY3RlZCAke01ldGhvZE5hbWVzLkFkZFByb3h5fSBvciAke01ldGhvZE5hbWVzLkFub255bW91c31gLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24oXzogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci52YWxpZGF0ZVRyYW5zYWN0aW9uKF8pO1xuICAgIHRoaXMudmFsaWRhdGVGaWVsZHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVGaWVsZHMoKTogdm9pZCB7XG4gICAgbGV0IHZhbGlkYXRpb25SZXN1bHQ6IFZhbGlkYXRpb25SZXN1bHQ7XG4gICAgaWYgKHRoaXMuX2RlbGVnYXRlKSB7XG4gICAgICB2YWxpZGF0aW9uUmVzdWx0ID0gdGhpcy52YWxpZGF0ZUFkZFByb3h5RmllbGRzKHRoaXMuX2RlbGVnYXRlLCB0aGlzLl9wcm94eVR5cGUsIHRoaXMuX2RlbGF5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsaWRhdGlvblJlc3VsdCA9IHRoaXMudmFsaWRhdGVBbm9ueW1vdXNQcm94eUZpZWxkcyh0aGlzLl9pbmRleCwgdGhpcy5fcHJveHlUeXBlLCB0aGlzLl9kZWxheSk7XG4gICAgfVxuICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoXG4gICAgICAgIGBBZGRyZXNzSW5pdGlhbGl6YXRpb24gVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVBZGRQcm94eUZpZWxkcyhkZWxlZ2F0ZTogc3RyaW5nLCBwcm94eVR5cGU6IHN0cmluZywgZGVsYXk6IHN0cmluZyk6IFZhbGlkYXRpb25SZXN1bHQge1xuICAgIHJldHVybiBBZGRyZXNzSW5pdGlhbGl6YXRpb25TY2hlbWEudmFsaWRhdGUoe1xuICAgICAgZGVsZWdhdGUsXG4gICAgICBwcm94eVR5cGUsXG4gICAgICBkZWxheSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVBbm9ueW1vdXNQcm94eUZpZWxkcyhpbmRleDogbnVtYmVyLCBwcm94eVR5cGU6IHN0cmluZywgZGVsYXk6IHN0cmluZyk6IFZhbGlkYXRpb25SZXN1bHQge1xuICAgIHJldHVybiBBbm9ueW1vdXNBZGRyZXNzSW5pdGlhbGl6YXRpb25TY2hlbWEudmFsaWRhdGUoe1xuICAgICAgcHJveHlUeXBlLFxuICAgICAgaW5kZXgsXG4gICAgICBkZWxheSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
3
|
+
import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
|
|
4
|
+
import { TransactionType } from '../baseCoin';
|
|
5
|
+
import { Transaction } from './transaction';
|
|
6
|
+
export declare class BatchTransactionBuilder extends TransactionBuilder {
|
|
7
|
+
protected _calls: string[];
|
|
8
|
+
protected _type: TransactionType;
|
|
9
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
10
|
+
/** @inheritDoc */
|
|
11
|
+
protected buildTransaction(): UnsignedTransaction;
|
|
12
|
+
/**
|
|
13
|
+
* Build a transaction which batches together multiple transactions.
|
|
14
|
+
* The transactions which are batched together are passed in as an array of hex strings
|
|
15
|
+
* which are composed of the method to call and the arguments to pass into the method.
|
|
16
|
+
*
|
|
17
|
+
* @returns {UnsignedTransaction}
|
|
18
|
+
*
|
|
19
|
+
* @see https://polkadot.js.org/docs/substrate/extrinsics/#batchcalls-veccall
|
|
20
|
+
*/
|
|
21
|
+
protected buildBatchTransaction(): UnsignedTransaction;
|
|
22
|
+
protected get transactionType(): TransactionType;
|
|
23
|
+
/**
|
|
24
|
+
* Set multiple unsigned transactions to be batched and broadcast as a single transaction
|
|
25
|
+
*
|
|
26
|
+
* @param {BatchCall[]} calls unsigned transactions
|
|
27
|
+
* @returns {BatchTransactionBuilder} This batch transaction builder.
|
|
28
|
+
*/
|
|
29
|
+
calls(calls: string[]): this;
|
|
30
|
+
/** @inheritdoc */
|
|
31
|
+
validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx): void;
|
|
32
|
+
/** @inheritdoc */
|
|
33
|
+
protected fromImplementation(rawTransaction: string): Transaction;
|
|
34
|
+
/** @inheritdoc */
|
|
35
|
+
validateTransaction(_: Transaction): void;
|
|
36
|
+
/**
|
|
37
|
+
* Validate list of unsigned transactions added to batch
|
|
38
|
+
*
|
|
39
|
+
* @param {string[]} calls
|
|
40
|
+
*
|
|
41
|
+
*/
|
|
42
|
+
validateCalls(calls: string[]): void;
|
|
43
|
+
private validateFields;
|
|
44
|
+
private validateBatchTransactionFields;
|
|
45
|
+
private getAnonymousProxyCall;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=batchTransactionBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batchTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../../src/coin/dot/batchTransactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAExG,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,uBAAwB,SAAQ,kBAAkB;IAC7D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC;gBAErB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAIjD;;;;;;;;OAQG;IACH,SAAS,CAAC,qBAAqB,IAAI,mBAAmB;IAWtD,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAM5B,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,GAAG,IAAI;IAQrF,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAyBjE,kBAAkB;IAClB,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAKzC;;;;;OAKG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IASpC,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,8BAA8B;IAMtC,OAAO,CAAC,qBAAqB;CAa9B"}
|
|
@@ -0,0 +1,145 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.BatchTransactionBuilder = void 0;
|
|
19
|
+
var transactionBuilder_1 = require("./transactionBuilder");
|
|
20
|
+
var txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
|
|
21
|
+
var baseCoin_1 = require("../baseCoin");
|
|
22
|
+
var iface_1 = require("./iface");
|
|
23
|
+
var errors_1 = require("../baseCoin/errors");
|
|
24
|
+
var txnSchema_1 = require("./txnSchema");
|
|
25
|
+
var BatchTransactionBuilder = /** @class */ (function (_super) {
|
|
26
|
+
__extends(BatchTransactionBuilder, _super);
|
|
27
|
+
function BatchTransactionBuilder(_coinConfig) {
|
|
28
|
+
return _super.call(this, _coinConfig) || this;
|
|
29
|
+
}
|
|
30
|
+
/** @inheritDoc */
|
|
31
|
+
BatchTransactionBuilder.prototype.buildTransaction = function () {
|
|
32
|
+
return this.buildBatchTransaction();
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Build a transaction which batches together multiple transactions.
|
|
36
|
+
* The transactions which are batched together are passed in as an array of hex strings
|
|
37
|
+
* which are composed of the method to call and the arguments to pass into the method.
|
|
38
|
+
*
|
|
39
|
+
* @returns {UnsignedTransaction}
|
|
40
|
+
*
|
|
41
|
+
* @see https://polkadot.js.org/docs/substrate/extrinsics/#batchcalls-veccall
|
|
42
|
+
*/
|
|
43
|
+
BatchTransactionBuilder.prototype.buildBatchTransaction = function () {
|
|
44
|
+
var baseTxInfo = this.createBaseTxInfo();
|
|
45
|
+
return txwrapper_polkadot_1.methods.utility.batch({
|
|
46
|
+
calls: this._calls,
|
|
47
|
+
}, baseTxInfo.baseTxInfo, baseTxInfo.options);
|
|
48
|
+
};
|
|
49
|
+
Object.defineProperty(BatchTransactionBuilder.prototype, "transactionType", {
|
|
50
|
+
get: function () {
|
|
51
|
+
return baseCoin_1.TransactionType.Batch;
|
|
52
|
+
},
|
|
53
|
+
enumerable: false,
|
|
54
|
+
configurable: true
|
|
55
|
+
});
|
|
56
|
+
/**
|
|
57
|
+
* Set multiple unsigned transactions to be batched and broadcast as a single transaction
|
|
58
|
+
*
|
|
59
|
+
* @param {BatchCall[]} calls unsigned transactions
|
|
60
|
+
* @returns {BatchTransactionBuilder} This batch transaction builder.
|
|
61
|
+
*/
|
|
62
|
+
BatchTransactionBuilder.prototype.calls = function (calls) {
|
|
63
|
+
this.validateCalls(calls);
|
|
64
|
+
this._calls = calls;
|
|
65
|
+
return this;
|
|
66
|
+
};
|
|
67
|
+
/** @inheritdoc */
|
|
68
|
+
BatchTransactionBuilder.prototype.validateDecodedTransaction = function (decodedTxn) {
|
|
69
|
+
var txMethod = decodedTxn.method.args;
|
|
70
|
+
var validationResult = this.validateBatchTransactionFields(txMethod.calls);
|
|
71
|
+
if (validationResult.error) {
|
|
72
|
+
throw new errors_1.InvalidTransactionError("Transaction validation failed: " + validationResult.error.message);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
/** @inheritdoc */
|
|
76
|
+
BatchTransactionBuilder.prototype.fromImplementation = function (rawTransaction) {
|
|
77
|
+
var _this = this;
|
|
78
|
+
var _a, _b;
|
|
79
|
+
var tx = _super.prototype.fromImplementation.call(this, rawTransaction);
|
|
80
|
+
if (((_a = this._method) === null || _a === void 0 ? void 0 : _a.name) === iface_1.MethodNames.Batch) {
|
|
81
|
+
var txMethod = this._method.args;
|
|
82
|
+
if (!txMethod.calls) {
|
|
83
|
+
throw new errors_1.InvalidTransactionError('failed to decode calls from batch transaction');
|
|
84
|
+
}
|
|
85
|
+
var callsToBatch_1 = [];
|
|
86
|
+
txMethod.calls.forEach(function (call) {
|
|
87
|
+
var method = call.callIndex;
|
|
88
|
+
if (method === '0x1604') {
|
|
89
|
+
callsToBatch_1.push(_this.getAnonymousProxyCall(call));
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
throw new errors_1.NotImplementedError("batching of transactions with index " + method + " unsupported");
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
this.calls(callsToBatch_1);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
throw new errors_1.InvalidTransactionError("Invalid Transaction Type: " + ((_b = this._method) === null || _b === void 0 ? void 0 : _b.name) + ". Expected " + iface_1.MethodNames.Batch);
|
|
99
|
+
}
|
|
100
|
+
return tx;
|
|
101
|
+
};
|
|
102
|
+
/** @inheritdoc */
|
|
103
|
+
BatchTransactionBuilder.prototype.validateTransaction = function (_) {
|
|
104
|
+
_super.prototype.validateTransaction.call(this, _);
|
|
105
|
+
this.validateFields();
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Validate list of unsigned transactions added to batch
|
|
109
|
+
*
|
|
110
|
+
* @param {string[]} calls
|
|
111
|
+
*
|
|
112
|
+
*/
|
|
113
|
+
BatchTransactionBuilder.prototype.validateCalls = function (calls) {
|
|
114
|
+
calls.forEach(function (call) {
|
|
115
|
+
if (call.slice(0, 2) !== '0x') {
|
|
116
|
+
// example: '0x160400000000000000'
|
|
117
|
+
throw new errors_1.BuildTransactionError('call in string format must be hex format of a method and its arguments');
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
BatchTransactionBuilder.prototype.validateFields = function () {
|
|
122
|
+
var validationResult = this.validateBatchTransactionFields(this._calls);
|
|
123
|
+
if (validationResult.error) {
|
|
124
|
+
throw new errors_1.InvalidTransactionError("AddressInitialization Transaction validation failed: " + validationResult.error.message);
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
BatchTransactionBuilder.prototype.validateBatchTransactionFields = function (calls) {
|
|
128
|
+
return txnSchema_1.BatchTransactionSchema.validate({
|
|
129
|
+
calls: calls,
|
|
130
|
+
});
|
|
131
|
+
};
|
|
132
|
+
BatchTransactionBuilder.prototype.getAnonymousProxyCall = function (callObject) {
|
|
133
|
+
var _a, _b, _c;
|
|
134
|
+
var baseTxInfo = this.createBaseTxInfo();
|
|
135
|
+
var unsigned = txwrapper_polkadot_1.methods.proxy.anonymous({
|
|
136
|
+
proxyType: (_a = callObject.args) === null || _a === void 0 ? void 0 : _a.proxy_type,
|
|
137
|
+
index: (_b = callObject.args) === null || _b === void 0 ? void 0 : _b.index,
|
|
138
|
+
delay: (_c = callObject.args) === null || _c === void 0 ? void 0 : _c.delay,
|
|
139
|
+
}, baseTxInfo.baseTxInfo, baseTxInfo.options);
|
|
140
|
+
return unsigned.method;
|
|
141
|
+
};
|
|
142
|
+
return BatchTransactionBuilder;
|
|
143
|
+
}(transactionBuilder_1.TransactionBuilder));
|
|
144
|
+
exports.BatchTransactionBuilder = BatchTransactionBuilder;
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hUcmFuc2FjdGlvbkJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29pbi9kb3QvYmF0Y2hUcmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsMkRBQTBEO0FBRTFELG9FQUF3RDtBQUN4RCx3Q0FBOEM7QUFDOUMsaUNBQWtFO0FBQ2xFLDZDQUF5RztBQUN6Ryx5Q0FBcUQ7QUFHckQ7SUFBNkMsMkNBQWtCO0lBSTdELGlDQUFZLFdBQWlDO2VBQzNDLGtCQUFNLFdBQVcsQ0FBQztJQUNwQixDQUFDO0lBRUQsa0JBQWtCO0lBQ1Isa0RBQWdCLEdBQTFCO1FBQ0UsT0FBTyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDTyx1REFBcUIsR0FBL0I7UUFDRSxJQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxPQUFPLDRCQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FDMUI7WUFDRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDbkIsRUFDRCxVQUFVLENBQUMsVUFBVSxFQUNyQixVQUFVLENBQUMsT0FBTyxDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVELHNCQUFjLG9EQUFlO2FBQTdCO1lBQ0UsT0FBTywwQkFBZSxDQUFDLEtBQUssQ0FBQztRQUMvQixDQUFDOzs7T0FBQTtJQUVEOzs7OztPQUtHO0lBQ0gsdUNBQUssR0FBTCxVQUFNLEtBQWU7UUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsNERBQTBCLEdBQTFCLFVBQTJCLFVBQW1EO1FBQzVFLElBQU0sUUFBUSxH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QUM7UUFDM0MsSUFBTSxRQUFRLEdBQUcsNEJBQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUN0QztZQUNFLFNBQVMsRUFBRSxNQUFBLFVBQVUsQ0FBQyxJQUFJLDBDQUFFLFVBQVU7WUFDdEMsS0FBSyxFQUFFLE1BQUEsVUFBVSxDQUFDLElBQUksMENBQUUsS0FBSztZQUM3QixLQUFLLEVBQUUsTUFBQSxVQUFVLENBQUMsSUFBSSwwQ0FBRSxLQUFLO1NBQzlCLEVBQ0QsVUFBVSxDQUFDLFVBQVUsRUFDckIsVUFBVSxDQUFDLE9BQU8sQ0FDbkIsQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUN6QixDQUFDO0lBQ0gsOEJBQUM7QUFBRCxDQUFDLEFBcklELENBQTZDLHVDQUFrQixHQXFJOUQ7QUFySVksMERBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IERlY29kZWRTaWduZWRUeCwgRGVjb2RlZFNpZ25pbmdQYXlsb2FkLCBVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5pbXBvcnQgeyBtZXRob2RzIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItcG9sa2Fkb3QnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgQmF0Y2hDYWxsT2JqZWN0LCBCYXRjaEFyZ3MsIE1ldGhvZE5hbWVzIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBOb3RJbXBsZW1lbnRlZEVycm9yIH0gZnJvbSAnLi4vYmFzZUNvaW4vZXJyb3JzJztcbmltcG9ydCB7IEJhdGNoVHJhbnNhY3Rpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgQmF0Y2hUcmFuc2FjdGlvbkJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX2NhbGxzOiBzdHJpbmdbXTtcbiAgcHJvdGVjdGVkIF90eXBlOiBUcmFuc2FjdGlvblR5cGU7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHByb3RlY3RlZCBidWlsZFRyYW5zYWN0aW9uKCk6IFVuc2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLmJ1aWxkQmF0Y2hUcmFuc2FjdGlvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgdHJhbnNhY3Rpb24gd2hpY2ggYmF0Y2hlcyB0b2dldGhlciBtdWx0aXBsZSB0cmFuc2FjdGlvbnMuXG4gICAqIFRoZSB0cmFuc2FjdGlvbnMgd2hpY2ggYXJlIGJhdGNoZWQgdG9nZXRoZXIgYXJlIHBhc3NlZCBpbiBhcyBhbiBhcnJheSBvZiBoZXggc3RyaW5nc1xuICAgKiB3aGljaCBhcmUgY29tcG9zZWQgb2YgdGhlIG1ldGhvZCB0byBjYWxsIGFuZCB0aGUgYXJndW1lbnRzIHRvIHBhc3MgaW50byB0aGUgbWV0aG9kLlxuICAgKlxuICAgKiBAcmV0dXJucyB7VW5zaWduZWRUcmFuc2FjdGlvbn1cbiAgICpcbiAgICogQHNlZSBodHRwczovL3BvbGthZG90LmpzLm9yZy9kb2NzL3N1YnN0cmF0ZS9leHRyaW5zaWNzLyNiYXRjaGNhbGxzLXZlY2NhbGxcbiAgICovXG4gIHByb3RlY3RlZCBidWlsZEJhdGNoVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIHJldHVybiBtZXRob2RzLnV0aWxpdHkuYmF0Y2goXG4gICAgICB7XG4gICAgICAgIGNhbGxzOiB0aGlzLl9jYWxscyxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvLmJhc2VUeEluZm8sXG4gICAgICBiYXNlVHhJbmZvLm9wdGlvbnMsXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5CYXRjaDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgbXVsdGlwbGUgdW5zaWduZWQgdHJhbnNhY3Rpb25zIHRvIGJlIGJhdGNoZWQgYW5kIGJyb2FkY2FzdCBhcyBhIHNpbmdsZSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge0JhdGNoQ2FsbFtdfSBjYWxscyB1bnNpZ25lZCB0cmFuc2FjdGlvbnNcbiAgICogQHJldHVybnMge0JhdGNoVHJhbnNhY3Rpb25CdWlsZGVyfSBUaGlzIGJhdGNoIHRyYW5zYWN0aW9uIGJ1aWxkZXIuXG4gICAqL1xuICBjYWxscyhjYWxsczogc3RyaW5nW10pOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlQ2FsbHMoY2FsbHMpO1xuICAgIHRoaXMuX2NhbGxzID0gY2FsbHM7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVEZWNvZGVkVHJhbnNhY3Rpb24oZGVjb2RlZFR4bjogRGVjb2RlZFNpZ25pbmdQYXlsb2FkIHwgRGVjb2RlZFNpZ25lZFR4KTogdm9pZCB7XG4gICAgY29uc3QgdHhNZXRob2QgPSBkZWNvZGVkVHhuLm1ldGhvZC5hcmdzIGFzIHVua25vd24gYXMgQmF0Y2hBcmdzO1xuICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSB0aGlzLnZhbGlkYXRlQmF0Y2hUcmFuc2FjdGlvbkZpZWxkcyh0eE1ldGhvZC5jYWxscyk7XG4gICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgdHggPSBzdXBlci5mcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIGlmICh0aGlzLl9tZXRob2Q/Lm5hbWUgPT09IE1ldGhvZE5hbWVzLkJhdGNoKSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIEJhdGNoQXJncztcbiAgICAgIGlmICghdHhNZXRob2QuY2FsbHMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdmYWlsZWQgdG8gZGVjb2RlIGNhbGxzIGZyb20gYmF0Y2ggdHJhbnNhY3Rpb24nKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNhbGxzVG9CYXRjaDogc3RyaW5nW10gPSBbXTtcbiAgICAgIHR4TWV0aG9kLmNhbGxzLmZvckVhY2goKGNhbGwpID0+IHtcbiAgICAgICAgY29uc3QgbWV0aG9kID0gKGNhbGwgYXMgQmF0Y2hDYWxsT2JqZWN0KS5jYWxsSW5kZXg7XG4gICAgICAgIGlmIChtZXRob2QgPT09ICcweDE2MDQnKSB7XG4gICAgICAgICAgY2FsbHNUb0JhdGNoLnB1c2godGhpcy5nZXRBbm9ueW1vdXNQcm94eUNhbGwoY2FsbCBhcyBCYXRjaENhbGxPYmplY3QpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcihgYmF0Y2hpbmcgb2YgdHJhbnNhY3Rpb25zIHdpdGggaW5kZXggJHttZXRob2R9IHVuc3VwcG9ydGVkYCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5jYWxscyhjYWxsc1RvQmF0Y2gpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoXG4gICAgICAgIGBJbnZhbGlkIFRyYW5zYWN0aW9uIFR5cGU6ICR7dGhpcy5fbWV0aG9kPy5uYW1lfS4gRXhwZWN0ZWQgJHtNZXRob2ROYW1lcy5CYXRjaH1gLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24oXzogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci52YWxpZGF0ZVRyYW5zYWN0aW9uKF8pO1xuICAgIHRoaXMudmFsaWRhdGVGaWVsZHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBsaXN0IG9mIHVuc2lnbmVkIHRyYW5zYWN0aW9ucyBhZGRlZCB0byBiYXRjaFxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBjYWxsc1xuICAgKlxuICAgKi9cbiAgdmFsaWRhdGVDYWxscyhjYWxsczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICBjYWxscy5mb3JFYWNoKChjYWxsKSA9PiB7XG4gICAgICBpZiAoY2FsbC5zbGljZSgwLCAyKSAhPT0gJzB4Jykge1xuICAgICAgICAvLyBleGFtcGxlOiAnMHgxNjA0MDAwMDAwMDAwMDAwMDAnXG4gICAgICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ2NhbGwgaW4gc3RyaW5nIGZvcm1hdCBtdXN0IGJlIGhleCBmb3JtYXQgb2YgYSBtZXRob2QgYW5kIGl0cyBhcmd1bWVudHMnKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVGaWVsZHMoKTogdm9pZCB7XG4gICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IHRoaXMudmFsaWRhdGVCYXRjaFRyYW5zYWN0aW9uRmllbGRzKHRoaXMuX2NhbGxzKTtcbiAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICBgQWRkcmVzc0luaXRpYWxpemF0aW9uIFRyYW5zYWN0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQmF0Y2hUcmFuc2FjdGlvbkZpZWxkcyhjYWxsczogKHN0cmluZyB8IEJhdGNoQ2FsbE9iamVjdClbXSk6IGFueSB7XG4gICAgcmV0dXJuIEJhdGNoVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoe1xuICAgICAgY2FsbHMsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldEFub255bW91c1Byb3h5Q2FsbChjYWxsT2JqZWN0OiBCYXRjaENhbGxPYmplY3QpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJhc2VUeEluZm8gPSB0aGlzLmNyZWF0ZUJhc2VUeEluZm8oKTtcbiAgICBjb25zdCB1bnNpZ25lZCA9IG1ldGhvZHMucHJveHkuYW5vbnltb3VzKFxuICAgICAge1xuICAgICAgICBwcm94eVR5cGU6IGNhbGxPYmplY3QuYXJncz8ucHJveHlfdHlwZSxcbiAgICAgICAgaW5kZXg6IGNhbGxPYmplY3QuYXJncz8uaW5kZXgsXG4gICAgICAgIGRlbGF5OiBjYWxsT2JqZWN0LmFyZ3M/LmRlbGF5LFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgIGJhc2VUeEluZm8ub3B0aW9ucyxcbiAgICApO1xuICAgIHJldHVybiB1bnNpZ25lZC5tZXRob2Q7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BuildTransactionError } from '../baseCoin/errors';
|
|
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/coin/dot/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,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,40 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.InvalidFeeError = exports.AddressValidationError = void 0;
|
|
19
|
+
var errors_1 = require("../baseCoin/errors");
|
|
20
|
+
var AddressValidationError = /** @class */ (function (_super) {
|
|
21
|
+
__extends(AddressValidationError, _super);
|
|
22
|
+
function AddressValidationError(malformedAddress) {
|
|
23
|
+
var _this = _super.call(this, "The address '" + malformedAddress + "' is not a well-formed dot address") || this;
|
|
24
|
+
_this.name = AddressValidationError.name;
|
|
25
|
+
return _this;
|
|
26
|
+
}
|
|
27
|
+
return AddressValidationError;
|
|
28
|
+
}(errors_1.BuildTransactionError));
|
|
29
|
+
exports.AddressValidationError = AddressValidationError;
|
|
30
|
+
var InvalidFeeError = /** @class */ (function (_super) {
|
|
31
|
+
__extends(InvalidFeeError, _super);
|
|
32
|
+
function InvalidFeeError(type, expectedType) {
|
|
33
|
+
var _this = _super.call(this, "The specified type: \"" + type + "\" is not valid. Please provide the type: \"" + expectedType + "\"") || this;
|
|
34
|
+
_this.name = InvalidFeeError.name;
|
|
35
|
+
return _this;
|
|
36
|
+
}
|
|
37
|
+
return InvalidFeeError;
|
|
38
|
+
}(errors_1.BuildTransactionError));
|
|
39
|
+
exports.InvalidFeeError = InvalidFeeError;
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvaW4vZG90L2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBMkQ7QUFFM0Q7SUFBNEMsMENBQXFCO0lBQy9ELGdDQUFZLGdCQUF3QjtRQUFwQyxZQUNFLGtCQUFNLGtCQUFnQixnQkFBZ0IsdUNBQW9DLENBQUMsU0FFNUU7UUFEQyxLQUFJLENBQUMsSUFBSSxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQzs7SUFDMUMsQ0FBQztJQUNILDZCQUFDO0FBQUQsQ0FBQyxBQUxELENBQTRDLDhCQUFxQixHQUtoRTtBQUxZLHdEQUFzQjtBQU9uQztJQUFxQyxtQ0FBcUI7SUFDeEQseUJBQVksSUFBYSxFQUFFLFlBQXFCO1FBQWhELFlBQ0Usa0JBQU0sMkJBQXdCLElBQUksb0RBQTZDLFlBQVksT0FBRyxDQUFDLFNBRWhHO1FBREMsS0FBSSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDOztJQUNuQyxDQUFDO0lBQ0gsc0JBQUM7QUFBRCxDQUFDLEFBTEQsQ0FBcUMsOEJBQXFCLEdBS3pEO0FBTFksMENBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IgfSBmcm9tICcuLi9iYXNlQ29pbi9lcnJvcnMnO1xuXG5leHBvcnQgY2xhc3MgQWRkcmVzc1ZhbGlkYXRpb25FcnJvciBleHRlbmRzIEJ1aWxkVHJhbnNhY3Rpb25FcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1hbGZvcm1lZEFkZHJlc3M6IHN0cmluZykge1xuICAgIHN1cGVyKGBUaGUgYWRkcmVzcyAnJHttYWxmb3JtZWRBZGRyZXNzfScgaXMgbm90IGEgd2VsbC1mb3JtZWQgZG90IGFkZHJlc3NgKTtcbiAgICB0aGlzLm5hbWUgPSBBZGRyZXNzVmFsaWRhdGlvbkVycm9yLm5hbWU7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEludmFsaWRGZWVFcnJvciBleHRlbmRzIEJ1aWxkVHJhbnNhY3Rpb25FcnJvciB7XG4gIGNvbnN0cnVjdG9yKHR5cGU/OiBzdHJpbmcsIGV4cGVjdGVkVHlwZT86IHN0cmluZykge1xuICAgIHN1cGVyKGBUaGUgc3BlY2lmaWVkIHR5cGU6IFwiJHt0eXBlfVwiIGlzIG5vdCB2YWxpZC4gUGxlYXNlIHByb3ZpZGUgdGhlIHR5cGU6IFwiJHtleHBlY3RlZFR5cGV9XCJgKTtcbiAgICB0aGlzLm5hbWUgPSBJbnZhbGlkRmVlRXJyb3IubmFtZTtcbiAgfVxufVxuIl19
|