@bitgo-beta/sdk-coin-dot 1.3.3-alpha.0 → 1.3.3-alpha.2

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxyBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/proxyBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA2B,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIxG,OAAO,EAA6B,SAAS,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,kBAAmB,SAAQ,kBAAkB;IACxD,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC;IAChC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEb,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAajD,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAM/B;;;;;;;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;IAWrF,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAejE,kBAAkB;IAClB,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAKzC,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,yBAAyB;CAOlC"}
@@ -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.RemoveProxyBuilder = 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
+ class RemoveProxyBuilder extends transactionBuilder_1.TransactionBuilder {
14
+ constructor(_coinConfig) {
15
+ super(_coinConfig);
16
+ }
17
+ /** @inheritDoc */
18
+ buildTransaction() {
19
+ const baseTxInfo = this.createBaseTxInfo();
20
+ return txwrapper_polkadot_1.methods.proxy.removeProxy({
21
+ delegate: this._delegate,
22
+ proxyType: this._proxyType,
23
+ delay: this._delay,
24
+ }, baseTxInfo.baseTxInfo, baseTxInfo.options);
25
+ }
26
+ get transactionType() {
27
+ return sdk_core_1.TransactionType.AddressInitialization;
28
+ }
29
+ /**
30
+ * The proxy account to remove.
31
+ *
32
+ * @param {BaseAddress} owner
33
+ * @returns {AddressInitializationBuilder} This builder.
34
+ *
35
+ * @see https://wiki.polkadot.network/docs/learn-proxies#why-use-a-proxy
36
+ */
37
+ owner(owner) {
38
+ this.validateAddress({ address: owner.address });
39
+ this._delegate = owner.address;
40
+ return this;
41
+ }
42
+ /**
43
+ * The proxy type to remove.
44
+ *
45
+ * @param {proxyType} proxyType
46
+ * @returns {AddressInitializationBuilder} This builder.
47
+ *
48
+ * @see https://wiki.polkadot.network/docs/learn-proxies#proxy-types
49
+ */
50
+ type(proxyType) {
51
+ this._proxyType = proxyType;
52
+ return this;
53
+ }
54
+ /**
55
+ * The number of blocks that an announcement must be in place for.
56
+ * before the corresponding call may be dispatched.
57
+ * If zero, then no announcement is needed.
58
+ * TODO: move to the validity window method once it has been standardized
59
+ *
60
+ * @param {string} delay
61
+ * @returns {AddressInitializationBuilder} This transfer builder.
62
+ *
63
+ * @see https://wiki.polkadot.network/docs/learn-proxies#time-delayed-proxies
64
+ */
65
+ delay(delay) {
66
+ this.validateValue(new bignumber_js_1.default(parseInt(delay, 10)));
67
+ this._delay = delay;
68
+ return this;
69
+ }
70
+ /** @inheritdoc */
71
+ validateDecodedTransaction(decodedTxn) {
72
+ var _a;
73
+ let validationResult;
74
+ if (((_a = decodedTxn.method) === null || _a === void 0 ? void 0 : _a.name) === iface_1.MethodNames.RemoveProxy) {
75
+ const txMethod = decodedTxn.method.args;
76
+ validationResult = this.validateRemoveProxyFields(txMethod.delegate, txMethod.proxyType, txMethod.delay);
77
+ if (validationResult.error) {
78
+ throw new sdk_core_1.InvalidTransactionError(`Transaction validation failed: ${validationResult.error.message}`);
79
+ }
80
+ }
81
+ }
82
+ /** @inheritdoc */
83
+ fromImplementation(rawTransaction) {
84
+ var _a, _b;
85
+ const tx = super.fromImplementation(rawTransaction);
86
+ if (((_a = this._method) === null || _a === void 0 ? void 0 : _a.name) === iface_1.MethodNames.RemoveProxy) {
87
+ const txMethod = this._method.args;
88
+ this.owner({ address: txMethod.delegate });
89
+ this.type(txMethod.proxyType);
90
+ this.delay(new bignumber_js_1.default(txMethod.delay).toString());
91
+ }
92
+ else {
93
+ throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${(_b = this._method) === null || _b === void 0 ? void 0 : _b.name}. Expected ${iface_1.MethodNames.RemoveProxy}`);
94
+ }
95
+ return tx;
96
+ }
97
+ /** @inheritdoc */
98
+ validateTransaction(_) {
99
+ super.validateTransaction(_);
100
+ this.validateFields();
101
+ }
102
+ validateFields() {
103
+ const validationResult = this.validateRemoveProxyFields(this._delegate, this._proxyType, this._delay);
104
+ if (validationResult.error) {
105
+ throw new sdk_core_1.InvalidTransactionError(`RemoveProxy Transaction validation failed: ${validationResult.error.message}`);
106
+ }
107
+ }
108
+ validateRemoveProxyFields(delegate, proxyType, delay) {
109
+ return txnSchema_1.AddressInitializationSchema.validate({
110
+ delegate,
111
+ proxyType,
112
+ delay,
113
+ });
114
+ }
115
+ }
116
+ exports.RemoveProxyBuilder = RemoveProxyBuilder;
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveHlCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9wcm94eUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbURBQTZGO0FBRzdGLHNFQUF3RDtBQUN4RCxnRUFBcUM7QUFFckMsbUNBQStEO0FBRS9ELDZEQUEwRDtBQUMxRCwyQ0FBMEQ7QUFFMUQsTUFBYSxrQkFBbUIsU0FBUSx1Q0FBa0I7SUFLeEQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGdCQUFnQjtRQUN4QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxPQUFPLDRCQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FDOUI7WUFDRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDeEIsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzFCLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNuQixFQUNELFVBQVUsQ0FBQyxVQUFVLEVBQ3JCLFVBQVUsQ0FBQyxPQUFPLENBQ25CLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQWUsQ0FBQyxxQkFBcUIsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILEtBQUssQ0FBQyxLQUFrQjtRQUN0QixJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsSUFBSSxDQUFDLFNBQW9CO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLE9BQU8s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bnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgRGVjb2RlZFNpZ25lZFR4LCBEZWNvZGVkU2lnbmluZ1BheWxvYWQsIFVuc2lnbmVkVHJhbnNhY3Rpb24gfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1jb3JlJztcbmltcG9ydCB7IG1ldGhvZHMgfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1wb2xrYWRvdCc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uUmVzdWx0IH0gZnJvbSAnam9pJztcbmltcG9ydCB7IEFkZFByb3h5QXJncywgTWV0aG9kTmFtZXMsIFByb3h5VHlwZSB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IEFkZHJlc3NJbml0aWFsaXphdGlvblNjaGVtYSB9IGZyb20gJy4vdHhuU2NoZW1hJztcblxuZXhwb3J0IGNsYXNzIFJlbW92ZVByb3h5QnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfZGVsZWdhdGU6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9wcm94eVR5cGU6IFByb3h5VHlwZTtcbiAgcHJvdGVjdGVkIF9kZWxheTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwcm90ZWN0ZWQgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgcmV0dXJuIG1ldGhvZHMucHJveHkucmVtb3ZlUHJveHkoXG4gICAgICB7XG4gICAgICAgIGRlbGVnYXRlOiB0aGlzLl9kZWxlZ2F0ZSxcbiAgICAgICAgcHJveHlUeXBlOiB0aGlzLl9wcm94eVR5cGUsXG4gICAgICAgIGRlbGF5OiB0aGlzLl9kZWxheSxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvLmJhc2VUeEluZm8sXG4gICAgICBiYXNlVHhJbmZvLm9wdGlvbnNcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkFkZHJlc3NJbml0aWFsaXphdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgcHJveHkgYWNjb3VudCB0byByZW1vdmUuXG4gICAqXG4gICAqIEBwYXJhbSB7QmFzZUFkZHJlc3N9IG93bmVyXG4gICAqIEByZXR1cm5zIHtBZGRyZXNzSW5pdGlhbGl6YXRpb25CdWlsZGVyfSBUaGlzIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9sZWFybi1wcm94aWVzI3doeS11c2UtYS1wcm94eVxuICAgKi9cbiAgb3duZXIob3duZXI6IEJhc2VBZGRyZXNzKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoeyBhZGRyZXNzOiBvd25lci5hZGRyZXNzIH0pO1xuICAgIHRoaXMuX2RlbGVnYXRlID0gb3duZXIuYWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgcHJveHkgdHlwZSB0byByZW1vdmUuXG4gICAqXG4gICAqIEBwYXJhbSB7cHJveHlUeXBlfSBwcm94eVR5cGVcbiAgICogQHJldHVybnMge0FkZHJlc3NJbml0aWFsaXphdGlvbkJ1aWxkZXJ9IFRoaXMgYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2xlYXJuLXByb3hpZXMjcHJveHktdHlwZXNcbiAgICovXG4gIHR5cGUocHJveHlUeXBlOiBQcm94eVR5cGUpOiB0aGlzIHtcbiAgICB0aGlzLl9wcm94eVR5cGUgPSBwcm94eVR5cGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBibG9ja3MgdGhhdCBhbiBhbm5vdW5jZW1lbnQgbXVzdCBiZSBpbiBwbGFjZSBmb3IuXG4gICAqIGJlZm9yZSB0aGUgY29ycmVzcG9uZGluZyBjYWxsIG1heSBiZSBkaXNwYXRjaGVkLlxuICAgKiBJZiB6ZXJvLCB0aGVuIG5vIGFubm91bmNlbWVudCBpcyBuZWVkZWQuXG4gICAqIFRPRE86IG1vdmUgdG8gdGhlIHZhbGlkaXR5IHdpbmRvdyBtZXRob2Qgb25jZSBpdCBoYXMgYmVlbiBzdGFuZGFyZGl6ZWRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRlbGF5XG4gICAqIEByZXR1cm5zIHtBZGRyZXNzSW5pdGlhbGl6YXRpb25CdWlsZGVyfSBUaGlzIHRyYW5zZmVyIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9sZWFybi1wcm94aWVzI3RpbWUtZGVsYXllZC1wcm94aWVzXG4gICAqL1xuICBkZWxheShkZWxheTogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIocGFyc2VJbnQoZGVsYXksIDEwKSkpO1xuICAgIHRoaXMuX2RlbGF5ID0gZGVsYXk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVEZWNvZGVkVHJhbnNhY3Rpb24oZGVjb2RlZFR4bjogRGVjb2RlZFNpZ25pbmdQYXlsb2FkIHwgRGVjb2RlZFNpZ25lZFR4KTogdm9pZCB7XG4gICAgbGV0IHZhbGlkYXRpb25SZXN1bHQ7XG4gICAgaWYgKGRlY29kZWRUeG4ubWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5SZW1vdmVQcm94eSkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSBkZWNvZGVkVHhuLm1ldGhvZC5hcmdzIGFzIHVua25vd24gYXMgQWRkUHJveHlBcmdzO1xuICAgICAgdmFsaWRhdGlvblJlc3VsdCA9IHRoaXMudmFsaWRhdGVSZW1vdmVQcm94eUZpZWxkcyh0eE1ldGhvZC5kZWxlZ2F0ZSwgdHhNZXRob2QucHJveHlUeXBlLCB0eE1ldGhvZC5kZWxheSk7XG4gICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYFRyYW5zYWN0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAodGhpcy5fbWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5SZW1vdmVQcm94eSkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSB0aGlzLl9tZXRob2QuYXJncyBhcyBBZGRQcm94eUFyZ3M7XG4gICAgICB0aGlzLm93bmVyKHsgYWRkcmVzczogdHhNZXRob2QuZGVsZWdhdGUgfSk7XG4gICAgICB0aGlzLnR5cGUodHhNZXRob2QucHJveHlUeXBlKTtcbiAgICAgIHRoaXMuZGVsYXkobmV3IEJpZ051bWJlcih0eE1ldGhvZC5kZWxheSkudG9TdHJpbmcoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgYEludmFsaWQgVHJhbnNhY3Rpb24gVHlwZTogJHt0aGlzLl9tZXRob2Q/Lm5hbWV9LiBFeHBlY3RlZCAke01ldGhvZE5hbWVzLlJlbW92ZVByb3h5fWBcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKF86IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIudmFsaWRhdGVUcmFuc2FjdGlvbihfKTtcbiAgICB0aGlzLnZhbGlkYXRlRmllbGRzKCk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlRmllbGRzKCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQ6IFZhbGlkYXRpb25SZXN1bHQgPSB0aGlzLnZhbGlkYXRlUmVtb3ZlUHJveHlGaWVsZHMoXG4gICAgICB0aGlzLl9kZWxlZ2F0ZSxcbiAgICAgIHRoaXMuX3Byb3h5VHlwZSxcbiAgICAgIHRoaXMuX2RlbGF5XG4gICAgKTtcbiAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBSZW1vdmVQcm94eSBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVJlbW92ZVByb3h5RmllbGRzKGRlbGVnYXRlOiBzdHJpbmcsIHByb3h5VHlwZTogc3RyaW5nLCBkZWxheTogc3RyaW5nKTogVmFsaWRhdGlvblJlc3VsdCB7XG4gICAgcmV0dXJuIEFkZHJlc3NJbml0aWFsaXphdGlvblNjaGVtYS52YWxpZGF0ZSh7XG4gICAgICBkZWxlZ2F0ZSxcbiAgICAgIHByb3h5VHlwZSxcbiAgICAgIGRlbGF5LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -8,6 +8,7 @@ export declare class StakingBuilder extends TransactionBuilder {
8
8
  protected _amount: string;
9
9
  protected _controller: string;
10
10
  protected _payee: StakeArgsPayee;
11
+ protected _addToStake: boolean;
11
12
  constructor(_coinConfig: Readonly<CoinConfig>);
12
13
  /**
13
14
  * Take the origin account as a stash and lock up value of its balance.
@@ -28,6 +29,13 @@ export declare class StakingBuilder extends TransactionBuilder {
28
29
  * @see https://wiki.polkadot.network/docs/learn-nominator#required-minimum-stake
29
30
  */
30
31
  amount(amount: string): this;
32
+ /**
33
+ * true if we should add to an existing stake, false otherwise.
34
+ *
35
+ * @param {boolean} addToStake
36
+ * @returns {StakeBuilder} This staking builder.
37
+ */
38
+ addToStake(addToStake: boolean): this;
31
39
  /**
32
40
  * The controller of the staked amount.
33
41
  *
@@ -1 +1 @@
1
- {"version":3,"file":"stakingBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/stakingBuilder.ts"],"names":[],"mappings":"AAAA,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,EAA0C,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5G,OAAO,EAA0B,cAAc,EAAqB,MAAM,SAAS,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,cAAe,SAAQ,kBAAkB;IACpD,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC;gBAErB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAajD,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM5B;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAMpC;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAUlC,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,GAAG,IAAI;IAarF,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IA8BjE,kBAAkB;IAClB,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAKzC,OAAO,CAAC,cAAc;CAavB"}
1
+ {"version":3,"file":"stakingBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/stakingBuilder.ts"],"names":[],"mappings":"AAAA,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,EAA0C,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5G,OAAO,EAA0B,cAAc,EAAoC,MAAM,SAAS,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,cAAe,SAAQ,kBAAkB;IACpD,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC;IACjC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC;gBAEnB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAuBjD,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM5B;;;;;OAKG;IACH,UAAU,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;IAKrC;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAMpC;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAUlC,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,GAAG,IAAI;IAoBrF,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAkCjE,kBAAkB;IAClB,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAKzC,OAAO,CAAC,cAAc;CAcvB"}
@@ -25,11 +25,18 @@ class StakingBuilder extends transactionBuilder_1.TransactionBuilder {
25
25
  */
26
26
  buildTransaction() {
27
27
  const baseTxInfo = this.createBaseTxInfo();
28
- return txwrapper_polkadot_1.methods.staking.bond({
29
- value: this._amount,
30
- controller: this._controller,
31
- payee: this._payee,
32
- }, baseTxInfo.baseTxInfo, baseTxInfo.options);
28
+ if (this._addToStake) {
29
+ return txwrapper_polkadot_1.methods.staking.bondExtra({
30
+ maxAdditional: this._amount,
31
+ }, baseTxInfo.baseTxInfo, baseTxInfo.options);
32
+ }
33
+ else {
34
+ return txwrapper_polkadot_1.methods.staking.bond({
35
+ value: this._amount,
36
+ controller: this._controller,
37
+ payee: this._payee,
38
+ }, baseTxInfo.baseTxInfo, baseTxInfo.options);
39
+ }
33
40
  }
34
41
  get transactionType() {
35
42
  return sdk_core_1.TransactionType.StakingActivate;
@@ -47,6 +54,16 @@ class StakingBuilder extends transactionBuilder_1.TransactionBuilder {
47
54
  this._amount = amount;
48
55
  return this;
49
56
  }
57
+ /**
58
+ * true if we should add to an existing stake, false otherwise.
59
+ *
60
+ * @param {boolean} addToStake
61
+ * @returns {StakeBuilder} This staking builder.
62
+ */
63
+ addToStake(addToStake) {
64
+ this._addToStake = addToStake;
65
+ return this;
66
+ }
50
67
  /**
51
68
  * The controller of the staked amount.
52
69
  *
@@ -81,7 +98,7 @@ class StakingBuilder extends transactionBuilder_1.TransactionBuilder {
81
98
  }
82
99
  /** @inheritdoc */
83
100
  validateDecodedTransaction(decodedTxn) {
84
- var _a;
101
+ var _a, _b;
85
102
  if (((_a = decodedTxn.method) === null || _a === void 0 ? void 0 : _a.name) === iface_1.MethodNames.Bond) {
86
103
  const txMethod = decodedTxn.method.args;
87
104
  const value = txMethod.value;
@@ -92,10 +109,18 @@ class StakingBuilder extends transactionBuilder_1.TransactionBuilder {
92
109
  throw new sdk_core_1.InvalidTransactionError(`Transaction validation failed: ${validationResult.error.message}`);
93
110
  }
94
111
  }
112
+ else if (((_b = decodedTxn.method) === null || _b === void 0 ? void 0 : _b.name) === iface_1.MethodNames.BondExtra) {
113
+ const txMethod = decodedTxn.method.args;
114
+ const value = txMethod.maxAdditional;
115
+ const validationResult = txnSchema_1.StakeTransactionSchema.validate({ value, addToStake: true });
116
+ if (validationResult.error) {
117
+ throw new sdk_core_1.InvalidTransactionError(`Transaction validation failed: ${validationResult.error.message}`);
118
+ }
119
+ }
95
120
  }
96
121
  /** @inheritdoc */
97
122
  fromImplementation(rawTransaction) {
98
- var _a, _b;
123
+ var _a, _b, _c;
99
124
  const tx = super.fromImplementation(rawTransaction);
100
125
  if (((_a = this._method) === null || _a === void 0 ? void 0 : _a.name) === iface_1.MethodNames.Bond) {
101
126
  const txMethod = this._method.args;
@@ -114,21 +139,27 @@ class StakingBuilder extends transactionBuilder_1.TransactionBuilder {
114
139
  this.payee(payeeType);
115
140
  }
116
141
  }
142
+ else if (((_b = this._method) === null || _b === void 0 ? void 0 : _b.name) === iface_1.MethodNames.BondExtra) {
143
+ const txMethod = this._method.args;
144
+ this.amount(txMethod.maxAdditional);
145
+ this.addToStake(true);
146
+ }
117
147
  else {
118
- throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${(_b = this._method) === null || _b === void 0 ? void 0 : _b.name}. Expected bond`);
148
+ throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${(_c = this._method) === null || _c === void 0 ? void 0 : _c.name}. Expected bond or bondExtra`);
119
149
  }
120
150
  return tx;
121
151
  }
122
152
  /** @inheritdoc */
123
153
  validateTransaction(_) {
124
154
  super.validateTransaction(_);
125
- this.validateFields(this._amount, this._controller, this._payee);
155
+ this.validateFields(this._amount, this._controller, this._payee, this._addToStake);
126
156
  }
127
- validateFields(value, controller, payee) {
157
+ validateFields(value, controller, payee, addToStake) {
128
158
  const validationResult = txnSchema_1.StakeTransactionSchema.validate({
129
159
  value,
130
160
  controller,
131
161
  payee,
162
+ addToStake,
132
163
  });
133
164
  if (validationResult.error) {
134
165
  throw new sdk_core_1.InvalidTransactionError(`Stake Builder Transaction validation failed: ${validationResult.error.message}`);
@@ -136,4 +167,4 @@ class StakingBuilder extends transactionBuilder_1.TransactionBuilder {
136
167
  }
137
168
  }
138
169
  exports.StakingBuilder = StakingBuilder;
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ0J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3N0YWtpbmdCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLHNFQUF3RDtBQUN4RCxnRUFBcUM7QUFDckMsb0RBQTRCO0FBQzVCLG1EQUE0RztBQUM1RyxtQ0FBb0Y7QUFFcEYsNkRBQTBEO0FBQzFELDJDQUFxRDtBQUVyRCxNQUFhLGNBQWUsU0FBUSx1Q0FBa0I7SUFLcEQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDTyxnQkFBZ0I7UUFDeEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0MsT0FBTyw0QkFBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3pCO1lBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ25CLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM1QixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDbkIsRUFDRCxVQUFVLENBQUMsVUFBVSxFQUNyQixVQUFVLENBQUMsT0FBTyxDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsZUFBZSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLE1BQWM7UUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLHNCQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLFVBQXVCO1FBQzNCLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsSUFB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O1NBQ3JHO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLG1CQUFtQixDQUFDLENBQWM7UUFDaEMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQWEsRUFBRSxVQUFrQixFQUFFLEtBQXFCO1FBQzdFLE1BQU0sZ0JBQWdCLEdBQUcsa0NBQXNCLENBQUMsUUFBUSxDQUFDO1lBQ3ZELEtBQUs7WUFDTCxVQUFVO1lBQ1YsS0FBSztTQUNOLENBQUMsQ0FBQztRQUVILElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1lBQzFCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FDL0IsZ0RBQWdELGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FDakYsQ0FBQztTQUNIO0lBQ0gsQ0FBQztDQUNGO0FBakpELHdDQWlKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IERlY29kZWRTaWduZWRUeCwgRGVjb2RlZFNpZ25pbmdQYXlsb2FkLCBVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5pbXBvcnQgeyBtZXRob2RzIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItcG9sa2Fkb3QnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgQmFzZUFkZHJlc3MsIERvdEFzc2V0VHlwZXMsIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBNZXRob2ROYW1lcywgU3Rha2VBcmdzLCBTdGFrZUFyZ3NQYXllZSwgU3Rha2VBcmdzUGF5ZWVSYXcgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBTdGFrZVRyYW5zYWN0aW9uU2NoZW1hIH0gZnJvbSAnLi90eG5TY2hlbWEnO1xuXG5leHBvcnQgY2xhc3MgU3Rha2luZ0J1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX2Ftb3VudDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2NvbnRyb2xsZXI6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9wYXllZTogU3Rha2VBcmdzUGF5ZWU7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRha2UgdGhlIG9yaWdpbiBhY2NvdW50IGFzIGEgc3Rhc2ggYW5kIGxvY2sgdXAgdmFsdWUgb2YgaXRzIGJhbGFuY2UuXG4gICAqIENvbnRyb2xsZXIgd2lsbCBiZSB0aGUgYWNjb3VudCB0aGF0IGNvbnRyb2xzIGl0LlxuICAgKlxuICAgKiBAcmV0dXJucyB7VW5zaWduZWRUcmFuc2FjdGlvbn0gYW4gdW5zaWduZWQgRG90IHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9wb2xrYWRvdC5qcy5vcmcvZG9jcy9zdWJzdHJhdGUvZXh0cmluc2ljcy8jc3Rha2luZ1xuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIHJldHVybiBtZXRob2RzLnN0YWtpbmcuYm9uZChcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IHRoaXMuX2Ftb3VudCxcbiAgICAgICAgY29udHJvbGxlcjogdGhpcy5fY29udHJvbGxlcixcbiAgICAgICAgcGF5ZWU6IHRoaXMuX3BheWVlLFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgIGJhc2VUeEluZm8ub3B0aW9uc1xuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgdG8gc3Rha2UuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhbW91bnRcbiAgICogQHJldHVybnMge1N0YWtlQnVpbGRlcn0gVGhpcyBzdGFraW5nIGJ1aWxkZXIuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly93aWtpLnBvbGthZG90Lm5ldHdvcmsvZG9jcy9sZWFybi1ub21pbmF0b3IjcmVxdWlyZWQtbWluaW11bS1zdGFrZVxuICAgKi9cbiAgYW1vdW50KGFtb3VudDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIoYW1vdW50KSk7XG4gICAgdGhpcy5fYW1vdW50ID0gYW1vdW50O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBjb250cm9sbGVyIG9mIHRoZSBzdGFrZWQgYW1vdW50LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29udHJvbGxlclxuICAgKiBAcmV0dXJucyB7U3Rha2VCdWlsZGVyfSBUaGlzIHN0YWtpbmcgYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2xlYXJuLXN0YWtpbmcjYWNjb3VudHNcbiAgICovXG4gIG93bmVyKGNvbnRyb2xsZXI6IEJhc2VBZGRyZXNzKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoY29udHJvbGxlcik7XG4gICAgdGhpcy5fY29udHJvbGxlciA9IGNvbnRyb2xsZXIuYWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgcmV3YXJkcyBkZXN0aW5hdGlvbiBvZiB0aGUgc3Rha2VkIGFtb3VudC5cbiAgICogQ2FuIGJlIHNldCB0byBhbm90aGVyIGFjY291bnRzIGFkZHJlc3MuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXllZVxuICAgKiBAcmV0dXJucyB7U3Rha2VCdWlsZGVyfSBUaGlzIHN0YWtpbmcgYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2xlYXJuLXN0YWtpbmcjNC1yZXdhcmRzLW1lY2hhbmlzbVxuICAgKi9cbiAgcGF5ZWUocGF5ZWU6IFN0YWtlQXJnc1BheWVlKTogdGhpcyB7XG4gICAgaWYgKHR5cGVvZiBwYXllZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogcGF5ZWUuQWNjb3VudCB9KTtcbiAgICAgIHRoaXMuX3BheWVlID0geyBBY2NvdW50OiBwYXllZS5BY2NvdW50IH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3BheWVlID0gcGF5ZWU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlRGVjb2RlZFRyYW5zYWN0aW9uKGRlY29kZWRUeG46IERlY29kZWRTaWduaW5nUGF5bG9hZCB8IERlY29kZWRTaWduZWRUeCk6IHZvaWQge1xuICAgIGlmIChkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuQm9uZCkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSBkZWNvZGVkVHhuLm1ldGhvZC5hcmdzIGFzIHVua25vd24gYXMgU3Rha2VBcmdzO1xuICAgICAgY29uc3QgdmFsdWUgPSB0eE1ldGhvZC52YWx1ZTtcbiAgICAgIGNvbnN0IGNvbnRyb2xsZXIgPSB0eE1ldGhvZC5jb250cm9sbGVyLmlkO1xuICAgICAgY29uc3QgcGF5ZWUgPSB0eE1ldGhvZC5wYXllZTtcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBTdGFrZVRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHsgdmFsdWUsIGNvbnRyb2xsZXIsIHBheWVlIH0pO1xuICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IHN1cGVyLmZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgaWYgKHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuQm9uZCkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSB0aGlzLl9tZXRob2QuYXJncyBhcyBTdGFrZUFyZ3M7XG4gICAgICB0aGlzLmFtb3VudCh0eE1ldGhvZC52YWx1ZSk7XG4gICAgICB0aGlzLm93bmVyKHtcbiAgICAgICAgYWRkcmVzczogdXRpbHMuZGVjb2RlRG90QWRkcmVzcyhcbiAgICAgICAgICB0eE1ldGhvZC5jb250cm9sbGVyLmlkLFxuICAgICAgICAgIHV0aWxzLmdldEFkZHJlc3NGb3JtYXQodGhpcy5fY29pbkNvbmZpZy5uYW1lIGFzIERvdEFzc2V0VHlwZXMpXG4gICAgICAgICksXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgcGF5ZWUgPSB0eE1ldGhvZC5wYXllZSBhcyBTdGFrZUFyZ3NQYXllZVJhdztcbiAgICAgIGlmIChwYXllZS5hY2NvdW50KSB7XG4gICAgICAgIHRoaXMucGF5ZWUoe1xuICAgICAgICAgIEFjY291bnQ6IHV0aWxzLmRlY29kZURvdEFkZHJlc3MoXG4gICAgICAgICAgICBwYXllZS5hY2NvdW50LFxuICAgICAgICAgICAgdXRpbHMuZ2V0QWRkcmVzc0Zvcm1hdCh0aGlzLl9jb2luQ29uZmlnLm5hbWUgYXMgRG90QXNzZXRUeXBlcylcbiAgICAgICAgICApLFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHBheWVlVHlwZSA9IHV0aWxzLmNhcGl0YWxpemVGaXJzdExldHRlcihPYmplY3Qua2V5cyhwYXllZSlbMF0pIGFzIFN0YWtlQXJnc1BheWVlO1xuICAgICAgICB0aGlzLnBheWVlKHBheWVlVHlwZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBUcmFuc2FjdGlvbiBUeXBlOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkIGJvbmRgKTtcbiAgICB9XG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24oXzogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci52YWxpZGF0ZVRyYW5zYWN0aW9uKF8pO1xuICAgIHRoaXMudmFsaWRhdGVGaWVsZHModGhpcy5fYW1vdW50LCB0aGlzLl9jb250cm9sbGVyLCB0aGlzLl9wYXllZSk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlRmllbGRzKHZhbHVlOiBzdHJpbmcsIGNvbnRyb2xsZXI6IHN0cmluZywgcGF5ZWU6IFN0YWtlQXJnc1BheWVlKTogdm9pZCB7XG4gICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IFN0YWtlVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoe1xuICAgICAgdmFsdWUsXG4gICAgICBjb250cm9sbGVyLFxuICAgICAgcGF5ZWUsXG4gICAgfSk7XG5cbiAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICBgU3Rha2UgQnVpbGRlciBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ0J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3N0YWtpbmdCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLHNFQUF3RDtBQUN4RCxnRUFBcUM7QUFDckMsb0RBQTRCO0FBQzVCLG1EQUE0RztBQUM1RyxtQ0FBbUc7QUFFbkcsNkRBQTBEO0FBQzFELDJDQUFxRDtBQUVyRCxNQUFhLGNBQWUsU0FBUSx1Q0FBa0I7SUFNcEQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDTyxnQkFBZ0I7UUFDeEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0MsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLE9BQU8sNEJBQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUM5QjtnQkFDRSxhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU87YUFDNUIsRUFDRCxVQUFVLENBQUMsVUFBVSxFQUNyQixVQUFVLENBQUMsT0FBTyxDQUNuQixDQUFDO1NBQ0g7YUFBTTtZQUNMLE9BQU8sNEJBQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUN6QjtnQkFDRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ25CLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVztnQkFDNUIsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNO2FBQ25CLEVBQ0QsVUFBVSxDQUFDLFVBQVUsRUFDckIsVUFBVSxDQUFDLE9BQU8sQ0FDbkIsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsZUFBZSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLE1BQWM7UUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLHNCQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FBQyxVQUFtQjtRQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLFVBQXVCO1FBQzNCLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsS0FBSyxDQUFDLEtBQXFCO1FBQ3pCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDMUM7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1NBQ3JCO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLDBCQUEwQixDQUFDLFVBQW1EOztRQUM1RSxJQUFJLENBQUEsTUFBQSxVQUFVLENBQUMsTUFBTSwwQ0FBRSxJQUFJLE1BQUssbUJBQVcsQ0FBQyxJQUFJLEVBQUU7WUFDaEQsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUE0QixDQUFDO1lBQ2hFLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDN0IsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDMUMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUM3QixNQUFNLGdCQUFnQixHQUFHLGtDQUFzQixDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN2RixJQUFJLGdCQUFnQixDQUFDLEtBQUssRUFBRTtnQkFDMUIsTUFBTSxJQUFJLGtDQUF1QixDQUFDLGtDQUFrQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQzthQUN2RztTQUNGO2FBQU0sSUFBSSxDQUFBLE1BQUEsVUFBVSxDQUFDLE1BQU0sMENBQUUsSUFBSSxNQUFLLG1CQUFXLENBQUMsU0FBUyxFQUFFO1lBQzVELE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBZ0MsQ0FBQztZQUNwRSxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDO1lBQ3JDLE1BQU0sZ0JBQWdCLEdBQUcsa0NBQXNCLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3RGLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFO2dCQUMxQixNQUFNLElBQUksa0NBQXVCLENBQUMsa0NBQWtDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2FBQ3ZHO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1Isa0JBQWtCLENBQUMsY0FBc0I7O1FBQ2pELE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUEsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxJQUFJLE1BQUssbUJBQVcsQ0FBQyxJQUFJLEVBQUU7WUFDM0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFpQixDQUFDO1lBQ2hELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQ1QsT0FBTyxFQUFFLGVBQUssQ0FBQyxnQkFBZ0IsQ0FDN0IsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQ3RCLGVBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQXFCLENBQUMsQ0FDL0Q7YUFDRixDQUFDLENBQUM7WUFFSCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBMEIsQ0FBQztZQUNsRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUM7b0JBQ1QsT0FBTyxFQUFFLGVBQUssQ0FBQyxnQkFBZ0IsQ0FDN0IsS0FBSyxDQUFDLE9BQU8sRUFDYixlQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFxQixDQUFDLENBQy9EO2lCQUNGLENBQUMsQ0FBQzthQUNKO2lCQUFNO2dCQUNMLE1BQU0sU0FBUyxHQUFHLGVBQUssQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFtQixDQUFDO2dCQUN2RixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3ZCO1NBQ0Y7YUFBTSxJQUFJLENBQUEsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxJQUFJLE1BQUssbUJBQVcsQ0FBQyxTQUFTLEVBQUU7WUFDdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFxQixDQUFDO1lBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkI7YUFBTTtZQUNMLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyw2QkFBNkIsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxJQUFJLDhCQUE4QixDQUFDLENBQUM7U0FDbEg7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsbUJBQW1CLENBQUMsQ0FBYztRQUNoQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVPLGNBQWMsQ0FBQyxLQUFhLEVBQUUsVUFBa0IsRUFBRSxLQUFxQixFQUFFLFVBQW1CO1FBQ2xHLE1BQU0sZ0JBQWdCLEdBQUcsa0NBQXNCLENBQUMsUUFBUSxDQUFDO1lBQ3ZELEtBQUs7WUFDTCxVQUFVO1lBQ1YsS0FBSztZQUNMLFVBQVU7U0FDWCxDQUFDLENBQUM7UUFFSCxJQUFJLGdCQUFnQixDQUFDLEtBQUssRUFBRTtZQUMxQixNQUFNLElBQUksa0NBQXVCLENBQy9CLGdEQUFnRCxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQ2pGLENBQUM7U0FDSDtJQUNILENBQUM7Q0FDRjtBQW5MRCx3Q0FtTEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBEZWNvZGVkU2lnbmVkVHgsIERlY29kZWRTaWduaW5nUGF5bG9hZCwgVW5zaWduZWRUcmFuc2FjdGlvbiB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLWNvcmUnO1xuaW1wb3J0IHsgbWV0aG9kcyB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLXBvbGthZG90JztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEJhc2VBZGRyZXNzLCBEb3RBc3NldFR5cGVzLCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgTWV0aG9kTmFtZXMsIFN0YWtlQXJncywgU3Rha2VBcmdzUGF5ZWUsIFN0YWtlQXJnc1BheWVlUmF3LCBTdGFrZU1vcmVBcmdzIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgU3Rha2VUcmFuc2FjdGlvblNjaGVtYSB9IGZyb20gJy4vdHhuU2NoZW1hJztcblxuZXhwb3J0IGNsYXNzIFN0YWtpbmdCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF9hbW91bnQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9jb250cm9sbGVyOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfcGF5ZWU6IFN0YWtlQXJnc1BheWVlO1xuICBwcm90ZWN0ZWQgX2FkZFRvU3Rha2U6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRha2UgdGhlIG9yaWdpbiBhY2NvdW50IGFzIGEgc3Rhc2ggYW5kIGxvY2sgdXAgdmFsdWUgb2YgaXRzIGJhbGFuY2UuXG4gICAqIENvbnRyb2xsZXIgd2lsbCBiZSB0aGUgYWNjb3VudCB0aGF0IGNvbnRyb2xzIGl0LlxuICAgKlxuICAgKiBAcmV0dXJucyB7VW5zaWduZWRUcmFuc2FjdGlvbn0gYW4gdW5zaWduZWQgRG90IHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9wb2xrYWRvdC5qcy5vcmcvZG9jcy9zdWJzdHJhdGUvZXh0cmluc2ljcy8jc3Rha2luZ1xuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIGlmICh0aGlzLl9hZGRUb1N0YWtlKSB7XG4gICAgICByZXR1cm4gbWV0aG9kcy5zdGFraW5nLmJvbmRFeHRyYShcbiAgICAgICAge1xuICAgICAgICAgIG1heEFkZGl0aW9uYWw6IHRoaXMuX2Ftb3VudCxcbiAgICAgICAgfSxcbiAgICAgICAgYmFzZVR4SW5mby5iYXNlVHhJbmZvLFxuICAgICAgICBiYXNlVHhJbmZvLm9wdGlvbnNcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBtZXRob2RzLnN0YWtpbmcuYm9uZChcbiAgICAgICAge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLl9hbW91bnQsXG4gICAgICAgICAgY29udHJvbGxlcjogdGhpcy5fY29udHJvbGxlcixcbiAgICAgICAgICBwYXllZTogdGhpcy5fcGF5ZWUsXG4gICAgICAgIH0sXG4gICAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgICAgYmFzZVR4SW5mby5vcHRpb25zXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nQWN0aXZhdGU7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGFtb3VudCB0byBzdGFrZS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudFxuICAgKiBAcmV0dXJucyB7U3Rha2VCdWlsZGVyfSBUaGlzIHN0YWtpbmcgYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2xlYXJuLW5vbWluYXRvciNyZXF1aXJlZC1taW5pbXVtLXN0YWtlXG4gICAqL1xuICBhbW91bnQoYW1vdW50OiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihhbW91bnQpKTtcbiAgICB0aGlzLl9hbW91bnQgPSBhbW91bnQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogdHJ1ZSBpZiB3ZSBzaG91bGQgYWRkIHRvIGFuIGV4aXN0aW5nIHN0YWtlLCBmYWxzZSBvdGhlcndpc2UuXG4gICAqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gYWRkVG9TdGFrZVxuICAgKiBAcmV0dXJucyB7U3Rha2VCdWlsZGVyfSBUaGlzIHN0YWtpbmcgYnVpbGRlci5cbiAgICovXG4gIGFkZFRvU3Rha2UoYWRkVG9TdGFrZTogYm9vbGVhbik6IHRoaXMge1xuICAgIHRoaXMuX2FkZFRvU3Rha2UgPSBhZGRUb1N0YWtlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBjb250cm9sbGVyIG9mIHRoZSBzdGFrZWQgYW1vdW50LlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29udHJvbGxlclxuICAgKiBAcmV0dXJucyB7U3Rha2VCdWlsZGVyfSBUaGlzIHN0YWtpbmcgYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2xlYXJuLXN0YWtpbmcjYWNjb3VudHNcbiAgICovXG4gIG93bmVyKGNvbnRyb2xsZXI6IEJhc2VBZGRyZXNzKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoY29udHJvbGxlcik7XG4gICAgdGhpcy5fY29udHJvbGxlciA9IGNvbnRyb2xsZXIuYWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgcmV3YXJkcyBkZXN0aW5hdGlvbiBvZiB0aGUgc3Rha2VkIGFtb3VudC5cbiAgICogQ2FuIGJlIHNldCB0byBhbm90aGVyIGFjY291bnRzIGFkZHJlc3MuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXllZVxuICAgKiBAcmV0dXJucyB7U3Rha2VCdWlsZGVyfSBUaGlzIHN0YWtpbmcgYnVpbGRlci5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3dpa2kucG9sa2Fkb3QubmV0d29yay9kb2NzL2xlYXJuLXN0YWtpbmcjNC1yZXdhcmRzLW1lY2hhbmlzbVxuICAgKi9cbiAgcGF5ZWUocGF5ZWU6IFN0YWtlQXJnc1BheWVlKTogdGhpcyB7XG4gICAgaWYgKHR5cGVvZiBwYXllZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzczogcGF5ZWUuQWNjb3VudCB9KTtcbiAgICAgIHRoaXMuX3BheWVlID0geyBBY2NvdW50OiBwYXllZS5BY2NvdW50IH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3BheWVlID0gcGF5ZWU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlRGVjb2RlZFRyYW5zYWN0aW9uKGRlY29kZWRUeG46IERlY29kZWRTaWduaW5nUGF5bG9hZCB8IERlY29kZWRTaWduZWRUeCk6IHZvaWQge1xuICAgIGlmIChkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuQm9uZCkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSBkZWNvZGVkVHhuLm1ldGhvZC5hcmdzIGFzIHVua25vd24gYXMgU3Rha2VBcmdzO1xuICAgICAgY29uc3QgdmFsdWUgPSB0eE1ldGhvZC52YWx1ZTtcbiAgICAgIGNvbnN0IGNvbnRyb2xsZXIgPSB0eE1ldGhvZC5jb250cm9sbGVyLmlkO1xuICAgICAgY29uc3QgcGF5ZWUgPSB0eE1ldGhvZC5wYXllZTtcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBTdGFrZVRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHsgdmFsdWUsIGNvbnRyb2xsZXIsIHBheWVlIH0pO1xuICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuQm9uZEV4dHJhKSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IGRlY29kZWRUeG4ubWV0aG9kLmFyZ3MgYXMgdW5rbm93biBhcyBTdGFrZU1vcmVBcmdzO1xuICAgICAgY29uc3QgdmFsdWUgPSB0eE1ldGhvZC5tYXhBZGRpdGlvbmFsO1xuICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IFN0YWtlVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoeyB2YWx1ZSwgYWRkVG9TdGFrZTogdHJ1ZSB9KTtcbiAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgVHJhbnNhY3Rpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgdHggPSBzdXBlci5mcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIGlmICh0aGlzLl9tZXRob2Q/Lm5hbWUgPT09IE1ldGhvZE5hbWVzLkJvbmQpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gdGhpcy5fbWV0aG9kLmFyZ3MgYXMgU3Rha2VBcmdzO1xuICAgICAgdGhpcy5hbW91bnQodHhNZXRob2QudmFsdWUpO1xuICAgICAgdGhpcy5vd25lcih7XG4gICAgICAgIGFkZHJlc3M6IHV0aWxzLmRlY29kZURvdEFkZHJlc3MoXG4gICAgICAgICAgdHhNZXRob2QuY29udHJvbGxlci5pZCxcbiAgICAgICAgICB1dGlscy5nZXRBZGRyZXNzRm9ybWF0KHRoaXMuX2NvaW5Db25maWcubmFtZSBhcyBEb3RBc3NldFR5cGVzKVxuICAgICAgICApLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHBheWVlID0gdHhNZXRob2QucGF5ZWUgYXMgU3Rha2VBcmdzUGF5ZWVSYXc7XG4gICAgICBpZiAocGF5ZWUuYWNjb3VudCkge1xuICAgICAgICB0aGlzLnBheWVlKHtcbiAgICAgICAgICBBY2NvdW50OiB1dGlscy5kZWNvZGVEb3RBZGRyZXNzKFxuICAgICAgICAgICAgcGF5ZWUuYWNjb3VudCxcbiAgICAgICAgICAgIHV0aWxzLmdldEFkZHJlc3NGb3JtYXQodGhpcy5fY29pbkNvbmZpZy5uYW1lIGFzIERvdEFzc2V0VHlwZXMpXG4gICAgICAgICAgKSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBwYXllZVR5cGUgPSB1dGlscy5jYXBpdGFsaXplRmlyc3RMZXR0ZXIoT2JqZWN0LmtleXMocGF5ZWUpWzBdKSBhcyBTdGFrZUFyZ3NQYXllZTtcbiAgICAgICAgdGhpcy5wYXllZShwYXllZVR5cGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5fbWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5Cb25kRXh0cmEpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gdGhpcy5fbWV0aG9kLmFyZ3MgYXMgU3Rha2VNb3JlQXJncztcbiAgICAgIHRoaXMuYW1vdW50KHR4TWV0aG9kLm1heEFkZGl0aW9uYWwpO1xuICAgICAgdGhpcy5hZGRUb1N0YWtlKHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgVHJhbnNhY3Rpb24gVHlwZTogJHt0aGlzLl9tZXRob2Q/Lm5hbWV9LiBFeHBlY3RlZCBib25kIG9yIGJvbmRFeHRyYWApO1xuICAgIH1cbiAgICByZXR1cm4gdHg7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVUcmFuc2FjdGlvbihfOiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlVHJhbnNhY3Rpb24oXyk7XG4gICAgdGhpcy52YWxpZGF0ZUZpZWxkcyh0aGlzLl9hbW91bnQsIHRoaXMuX2NvbnRyb2xsZXIsIHRoaXMuX3BheWVlLCB0aGlzLl9hZGRUb1N0YWtlKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVGaWVsZHModmFsdWU6IHN0cmluZywgY29udHJvbGxlcjogc3RyaW5nLCBwYXllZTogU3Rha2VBcmdzUGF5ZWUsIGFkZFRvU3Rha2U6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gU3Rha2VUcmFuc2FjdGlvblNjaGVtYS52YWxpZGF0ZSh7XG4gICAgICB2YWx1ZSxcbiAgICAgIGNvbnRyb2xsZXIsXG4gICAgICBwYXllZSxcbiAgICAgIGFkZFRvU3Rha2UsXG4gICAgfSk7XG5cbiAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICBgU3Rha2UgQnVpbGRlciBUcmFuc2FjdGlvbiB2YWxpZGF0aW9uIGZhaWxlZDogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -25,6 +25,11 @@ export declare class Transaction extends BaseTransaction {
25
25
  * @param {string} signature
26
26
  */
27
27
  addSignature(signature: string): void;
28
+ /**
29
+ * Returns a serialized representation of this transaction with a fake signature attached which
30
+ * can be used to estimate transaction fees.
31
+ */
32
+ fakeSign(): string;
28
33
  registry(registry: TypeRegistry): void;
29
34
  chainName(chainName: string): void;
30
35
  sender(sender: string): void;
@@ -43,6 +48,14 @@ export declare class Transaction extends BaseTransaction {
43
48
  * Load the input and output data on this transaction.
44
49
  */
45
50
  loadInputsAndOutputs(): void;
51
+ private decodeInputsAndOutputsForSend;
52
+ private decodeInputsAndOutputsForBatch;
53
+ private getRemoveProxyCost;
54
+ private getAddProxyCost;
55
+ private getConstant;
56
+ private decodeInputsAndOutputsForBond;
57
+ private decodeInputsAndOutputsForUnbond;
58
+ private decodeInputsAndOutputsForWithdrawUnbond;
46
59
  /**
47
60
  * Constructs a signed payload using construct.signTx
48
61
  * This method will be called during the build step if a TSS signature
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EACP,eAAe,EAMf,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAI7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EASL,sBAAsB,EACtB,MAAM,EAGP,MAAM,SAAS,CAAC;AAGjB,qBAAa,WAAY,SAAQ,eAAe;IAC9C,SAAS,CAAC,eAAe,EAAE,mBAAmB,CAAC;IAC/C,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;gBAEZ,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C,kBAAkB;IAClB,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,GAAG,OAAO;IAMlC;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IA0B5B;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IASrC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAItC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIlC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI5B,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAa3B,eAAe,IAAI,MAAM;IAIzB,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAuHhB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;IAe3G,iCAAiC,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;IAelH,uCAAuC,CACrC,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,sBAAsB,GACxC,sBAAsB;IAUzB,+BAA+B,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;IAYhH,kBAAkB;IAClB,kBAAkB,IAAI,sBAAsB;IAgC5C;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAgE5B;;;;;;;OAOG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAgB/C,cAAc,CAAC,EAAE,EAAE,mBAAmB,GAAG,IAAI;IAI7C,mBAAmB;IACnB,IAAI,eAAe,IAAI,MAAM,CAK5B;IAED;;;;OAIG;IACH,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;CAGxD"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EACP,eAAe,EAOf,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAI7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAaL,sBAAsB,EACtB,MAAM,EAGP,MAAM,SAAS,CAAC;AASjB,qBAAa,WAAY,SAAQ,eAAe;IAC9C,SAAS,CAAC,eAAe,EAAE,mBAAmB,CAAC;IAC/C,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;gBAEZ,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C,kBAAkB;IAClB,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,GAAG,OAAO;IAMlC;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IA0B5B;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IASrC;;;OAGG;IACH,QAAQ,IAAI,MAAM;IASlB,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAItC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIlC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI5B,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAa3B,eAAe,IAAI,MAAM;IAIzB,kBAAkB;IAClB,MAAM,IAAI,MAAM;IA2HhB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;IAe3G,iCAAiC,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;IAelH,uCAAuC,CACrC,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,sBAAsB,GACxC,sBAAsB;IAUzB,+BAA+B,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;IAYhH,kBAAkB;IAClB,kBAAkB,IAAI,sBAAsB;IAgC5C;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAuB5B,OAAO,CAAC,6BAA6B;IAqDrC,OAAO,CAAC,8BAA8B;IAoGtC,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,6BAA6B;IAuBrC,OAAO,CAAC,+BAA+B;IAKvC,OAAO,CAAC,uCAAuC;IAK/C;;;;;;;OAOG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAgB/C,cAAc,CAAC,EAAE,EAAE,mBAAmB,GAAG,IAAI;IAI7C,mBAAmB;IACnB,IAAI,eAAe,IAAI,MAAM,CAK5B;IAED;;;;OAIG;IACH,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;CAGxD"}