@bitgo-beta/sdk-coin-polyx 1.0.1-beta.73 → 1.0.1-beta.730
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/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/lib/baseBuilder.d.ts +24 -0
- package/dist/src/lib/baseBuilder.d.ts.map +1 -0
- package/dist/src/lib/baseBuilder.js +31 -0
- package/dist/src/lib/batchStakingBuilder.d.ts +79 -0
- package/dist/src/lib/batchStakingBuilder.d.ts.map +1 -0
- package/dist/src/lib/batchStakingBuilder.js +299 -0
- package/dist/src/lib/batchUnstakingBuilder.d.ts +39 -0
- package/dist/src/lib/batchUnstakingBuilder.d.ts.map +1 -0
- package/dist/src/lib/batchUnstakingBuilder.js +127 -0
- package/dist/src/lib/bondExtraBuilder.d.ts +37 -0
- package/dist/src/lib/bondExtraBuilder.d.ts.map +1 -0
- package/dist/src/lib/bondExtraBuilder.js +101 -0
- package/dist/src/lib/constants.d.ts +12 -0
- package/dist/src/lib/constants.d.ts.map +1 -0
- package/dist/src/lib/constants.js +15 -0
- package/dist/src/lib/iface.d.ts +138 -0
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +37 -1
- package/dist/src/lib/index.d.ts +12 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +37 -2
- package/dist/src/lib/preApproveAssetBuilder.d.ts +33 -0
- package/dist/src/lib/preApproveAssetBuilder.d.ts.map +1 -0
- package/dist/src/lib/preApproveAssetBuilder.js +77 -0
- package/dist/src/lib/registerDidWithCDDBuilder.d.ts +7 -2
- package/dist/src/lib/registerDidWithCDDBuilder.d.ts.map +1 -1
- package/dist/src/lib/registerDidWithCDDBuilder.js +19 -3
- package/dist/src/lib/rejectInstructionBuilder.d.ts +29 -0
- package/dist/src/lib/rejectInstructionBuilder.d.ts.map +1 -0
- package/dist/src/lib/rejectInstructionBuilder.js +89 -0
- package/dist/src/lib/tokenTransferBuilder.d.ts +58 -0
- package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/tokenTransferBuilder.js +158 -0
- package/dist/src/lib/transaction.d.ts +30 -0
- package/dist/src/lib/transaction.d.ts.map +1 -0
- package/dist/src/lib/transaction.js +193 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts +21 -1
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +80 -4
- package/dist/src/lib/transferBuilder.d.ts +4 -2
- package/dist/src/lib/transferBuilder.d.ts.map +1 -1
- package/dist/src/lib/transferBuilder.js +10 -5
- package/dist/src/lib/txnSchema.d.ts +47 -0
- package/dist/src/lib/txnSchema.d.ts.map +1 -1
- package/dist/src/lib/txnSchema.js +152 -2
- package/dist/src/lib/unbondBuilder.d.ts +37 -0
- package/dist/src/lib/unbondBuilder.d.ts.map +1 -0
- package/dist/src/lib/unbondBuilder.js +98 -0
- package/dist/src/lib/utils.d.ts +11 -0
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +36 -1
- package/dist/src/lib/withdrawUnbondedBuilder.d.ts +35 -0
- package/dist/src/lib/withdrawUnbondedBuilder.d.ts.map +1 -0
- package/dist/src/lib/withdrawUnbondedBuilder.js +89 -0
- package/dist/src/polyx.d.ts +50 -9
- package/dist/src/polyx.d.ts.map +1 -1
- package/dist/src/polyx.js +269 -15
- package/dist/src/polyxToken.d.ts +20 -0
- package/dist/src/polyxToken.d.ts.map +1 -0
- package/dist/src/polyxToken.js +55 -0
- package/dist/src/register.d.ts.map +1 -1
- package/dist/src/register.js +5 -1
- package/dist/src/tpolyx.d.ts +7 -0
- package/dist/src/tpolyx.d.ts.map +1 -1
- package/dist/src/tpolyx.js +11 -1
- package/dist/test/integration/index.d.ts +1 -0
- package/dist/test/integration/index.d.ts.map +1 -0
- package/dist/test/integration/index.js +1 -0
- package/dist/test/resources/index.d.ts +106 -0
- package/dist/test/resources/index.d.ts.map +1 -0
- package/dist/test/resources/index.js +112 -0
- package/dist/test/resources/mainnet.d.ts +2 -0
- package/dist/test/resources/mainnet.d.ts.map +1 -0
- package/dist/test/resources/mainnet.js +5 -0
- package/dist/test/resources/materialData.json +8 -0
- package/dist/test/resources/materialDataModified.json +8 -0
- package/dist/test/resources/testnet.d.ts +2 -0
- package/dist/test/resources/testnet.d.ts.map +1 -0
- package/dist/test/resources/testnet.js +5 -0
- package/dist/test/resources/wrwUsers.d.ts +19 -0
- package/dist/test/resources/wrwUsers.d.ts.map +1 -0
- package/dist/test/resources/wrwUsers.js +60 -0
- package/dist/test/unit/polyx.d.ts +2 -0
- package/dist/test/unit/polyx.d.ts.map +1 -0
- package/dist/test/unit/polyx.js +209 -0
- package/dist/test/unit/transactionBuilder/base.d.ts +4 -0
- package/dist/test/unit/transactionBuilder/base.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/base.js +245 -0
- package/dist/test/unit/transactionBuilder/batchStakingBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/batchStakingBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/batchStakingBuilder.js +263 -0
- package/dist/test/unit/transactionBuilder/batchUnstakingBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/batchUnstakingBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/batchUnstakingBuilder.js +159 -0
- package/dist/test/unit/transactionBuilder/bondExtraBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/bondExtraBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/bondExtraBuilder.js +158 -0
- package/dist/test/unit/transactionBuilder/preApproveAssetBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/preApproveAssetBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/preApproveAssetBuilder.js +115 -0
- package/dist/test/unit/transactionBuilder/registerDidWithCDDBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/registerDidWithCDDBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/registerDidWithCDDBuilder.js +302 -0
- package/dist/test/unit/transactionBuilder/rejectInstructionBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/rejectInstructionBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/rejectInstructionBuilder.js +128 -0
- package/dist/test/unit/transactionBuilder/singletonRegistry.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/singletonRegistry.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/singletonRegistry.js +59 -0
- package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +140 -0
- package/dist/test/unit/transactionBuilder/transactionBuilderFactory.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/transactionBuilderFactory.js +74 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.js +326 -0
- package/dist/test/unit/transactionBuilder/unbondBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/unbondBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/unbondBuilder.js +144 -0
- package/dist/test/unit/transactionBuilder/withdrawUnbondedBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/withdrawUnbondedBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/withdrawUnbondedBuilder.js +138 -0
- package/dist/test/unit/utils.d.ts +2 -0
- package/dist/test/unit/utils.d.ts.map +1 -0
- package/dist/test/unit/utils.js +143 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +15 -9
- package/.eslintignore +0 -4
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -22
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
|
+
import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
|
|
4
|
+
import { PolyxBaseBuilder } from './baseBuilder';
|
|
5
|
+
import { TxMethod } from './iface';
|
|
6
|
+
import { Transaction } from './transaction';
|
|
7
|
+
export declare class PreApproveAssetBuilder extends PolyxBaseBuilder<TxMethod, Transaction> {
|
|
8
|
+
protected _assetId: string;
|
|
9
|
+
protected _method: TxMethod;
|
|
10
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
11
|
+
protected get transactionType(): TransactionType;
|
|
12
|
+
protected buildTransaction(): UnsignedTransaction;
|
|
13
|
+
/**
|
|
14
|
+
* Sets the asset ID for the pre-approval transaction.
|
|
15
|
+
*
|
|
16
|
+
* @param {string} assetId - The ID of the asset to be pre-approved.
|
|
17
|
+
* @returns {this} The current instance of the builder.
|
|
18
|
+
*/
|
|
19
|
+
assetId(assetId: string): this;
|
|
20
|
+
/** @inheritdoc */
|
|
21
|
+
protected fromImplementation(rawTransaction: string): Transaction;
|
|
22
|
+
/** @inheritdoc */
|
|
23
|
+
validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx, rawTransaction?: string): void;
|
|
24
|
+
/**
|
|
25
|
+
* Construct a transaction to pre-approve an asset
|
|
26
|
+
*
|
|
27
|
+
* @param {PreApproveAssetArgs} args Arguments to be passed to the preApproveAsset method
|
|
28
|
+
* @param {Interface.CreateBaseTxInfo} info Base txn info required to construct the pre-approve asset txn
|
|
29
|
+
* @returns {UnsignedTransaction} an unsigned transaction for asset pre-approval
|
|
30
|
+
*/
|
|
31
|
+
private preApproveAsset;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=preApproveAssetBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preApproveAssetBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/preApproveAssetBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA2B,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAgB,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEtH,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAoC,MAAM,SAAS,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,sBAAuB,SAAQ,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC;IACjF,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;gBAEhB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAUjD;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK9B,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAWjE,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IAY9G;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;CAcxB"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PreApproveAssetBuilder = void 0;
|
|
4
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
5
|
+
const txwrapper_core_1 = require("@substrate/txwrapper-core");
|
|
6
|
+
const baseBuilder_1 = require("./baseBuilder");
|
|
7
|
+
const iface_1 = require("./iface");
|
|
8
|
+
const txnSchema_1 = require("./txnSchema");
|
|
9
|
+
const transaction_1 = require("./transaction");
|
|
10
|
+
class PreApproveAssetBuilder extends baseBuilder_1.PolyxBaseBuilder {
|
|
11
|
+
constructor(_coinConfig) {
|
|
12
|
+
super(_coinConfig);
|
|
13
|
+
this._transaction = new transaction_1.Transaction(_coinConfig);
|
|
14
|
+
}
|
|
15
|
+
get transactionType() {
|
|
16
|
+
return sdk_core_1.TransactionType.TrustLine;
|
|
17
|
+
}
|
|
18
|
+
buildTransaction() {
|
|
19
|
+
const baseTxInfo = this.createBaseTxInfo();
|
|
20
|
+
return this.preApproveAsset({
|
|
21
|
+
assetId: this._assetId,
|
|
22
|
+
}, baseTxInfo);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Sets the asset ID for the pre-approval transaction.
|
|
26
|
+
*
|
|
27
|
+
* @param {string} assetId - The ID of the asset to be pre-approved.
|
|
28
|
+
* @returns {this} The current instance of the builder.
|
|
29
|
+
*/
|
|
30
|
+
assetId(assetId) {
|
|
31
|
+
this._assetId = assetId;
|
|
32
|
+
return this;
|
|
33
|
+
}
|
|
34
|
+
/** @inheritdoc */
|
|
35
|
+
fromImplementation(rawTransaction) {
|
|
36
|
+
const tx = super.fromImplementation(rawTransaction);
|
|
37
|
+
if (this._method?.name === iface_1.MethodNames.PreApproveAsset) {
|
|
38
|
+
const txMethod = this._method.args;
|
|
39
|
+
this.assetId(txMethod.assetId);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${this._method?.name}. Expected preApproveAsset`);
|
|
43
|
+
}
|
|
44
|
+
return tx;
|
|
45
|
+
}
|
|
46
|
+
/** @inheritdoc */
|
|
47
|
+
validateDecodedTransaction(decodedTxn, rawTransaction) {
|
|
48
|
+
if (decodedTxn.method?.name === iface_1.MethodNames.PreApproveAsset) {
|
|
49
|
+
const txMethod = decodedTxn.method.args;
|
|
50
|
+
const assetId = txMethod.assetId;
|
|
51
|
+
const validationResult = txnSchema_1.PreApproveAssetTransactionSchema.validate({ assetId });
|
|
52
|
+
if (!validationResult) {
|
|
53
|
+
throw new sdk_core_1.InvalidTransactionError('Invalid transaction: assetId is required');
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Construct a transaction to pre-approve an asset
|
|
59
|
+
*
|
|
60
|
+
* @param {PreApproveAssetArgs} args Arguments to be passed to the preApproveAsset method
|
|
61
|
+
* @param {Interface.CreateBaseTxInfo} info Base txn info required to construct the pre-approve asset txn
|
|
62
|
+
* @returns {UnsignedTransaction} an unsigned transaction for asset pre-approval
|
|
63
|
+
*/
|
|
64
|
+
preApproveAsset(args, info) {
|
|
65
|
+
console.log(`PreApproveAssetBuilder: preApproveAsset called with args: ${JSON.stringify(args)}`);
|
|
66
|
+
return (0, txwrapper_core_1.defineMethod)({
|
|
67
|
+
method: {
|
|
68
|
+
args,
|
|
69
|
+
name: 'preApproveAsset',
|
|
70
|
+
pallet: 'asset',
|
|
71
|
+
},
|
|
72
|
+
...info.baseTxInfo,
|
|
73
|
+
}, info.options);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.PreApproveAssetBuilder = PreApproveAssetBuilder;
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlQXBwcm92ZUFzc2V0QnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcHJlQXBwcm92ZUFzc2V0QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBZ0Y7QUFFaEYsOERBQXNIO0FBRXRILCtDQUFpRDtBQUNqRCxtQ0FBcUU7QUFDckUsMkNBQStEO0FBQy9ELCtDQUE0QztBQUU1QyxNQUFhLHNCQUF1QixTQUFRLDhCQUF1QztJQUlqRixZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUkseUJBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQWUsQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQ3pCO1lBQ0UsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3ZCLEVBQ0QsVUFBVSxDQUNYLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsT0FBZTtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxjQUFzQjtRQUNqRCxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksS0FBSyxtQkFBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBMkIsQ0FBQztZQUMxRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyw2QkFBNkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLDRCQUE0QixDQUFDLENBQUM7UUFDakgsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELGtCQUFrQjtJQUNsQiwwQkFBMEIsQ0FBQyxVQUFtRCxFQUFFLGNBQXVCO1FBQ3JHLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLEtBQUssbUJBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM1RCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQTJCLENBQUM7WUFDL0QsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUVqQyxNQUFNLGdCQUFnQixHQUFHLDRDQUFnQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDaEYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1lBQ2hGLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLGVBQWUsQ0FBQyxJQUF5QixFQUFFLElBQWdDO1FBQ2pGLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkRBQTZELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pHLE9BQU8sSUFBQSw2QkFBWSxFQUNqQjtZQUNFLE1BQU0sRUFBRTtnQkFDTixJQUFJO2dCQUNKLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLE1BQU0sRUFBRSxPQUFPO2FBQ2hCO1lBQ0QsR0FBRyxJQUFJLENBQUMsVUFBVTtTQUNuQixFQUNELElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWhGRCx3REFnRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUsIEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgRGVjb2RlZFNpZ25lZFR4LCBEZWNvZGVkU2lnbmluZ1BheWxvYWQsIGRlZmluZU1ldGhvZCwgVW5zaWduZWRUcmFuc2FjdGlvbiB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLWNvcmUnO1xuaW1wb3J0IHsgSW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3Qtc3Vic3RyYXRlJztcbmltcG9ydCB7IFBvbHl4QmFzZUJ1aWxkZXIgfSBmcm9tICcuL2Jhc2VCdWlsZGVyJztcbmltcG9ydCB7IFR4TWV0aG9kLCBQcmVBcHByb3ZlQXNzZXRBcmdzLCBNZXRob2ROYW1lcyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgUHJlQXBwcm92ZUFzc2V0VHJhbnNhY3Rpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgUHJlQXBwcm92ZUFzc2V0QnVpbGRlciBleHRlbmRzIFBvbHl4QmFzZUJ1aWxkZXI8VHhNZXRob2QsIFRyYW5zYWN0aW9uPiB7XG4gIHByb3RlY3RlZCBfYXNzZXRJZDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX21ldGhvZDogVHhNZXRob2Q7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5UcnVzdExpbmU7XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgcmV0dXJuIHRoaXMucHJlQXBwcm92ZUFzc2V0KFxuICAgICAge1xuICAgICAgICBhc3NldElkOiB0aGlzLl9hc3NldElkLFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm9cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFzc2V0IElEIGZvciB0aGUgcHJlLWFwcHJvdmFsIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXNzZXRJZCAtIFRoZSBJRCBvZiB0aGUgYXNzZXQgdG8gYmUgcHJlLWFwcHJvdmVkLlxuICAgKiBAcmV0dXJucyB7dGhpc30gVGhlIGN1cnJlbnQgaW5zdGFuY2Ugb2YgdGhlIGJ1aWxkZXIuXG4gICAqL1xuICBhc3NldElkKGFzc2V0SWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX2Fzc2V0SWQgPSBhc3NldElkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IHN1cGVyLmZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgaWYgKHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuUHJlQXBwcm92ZUFzc2V0KSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIFByZUFwcHJvdmVBc3NldEFyZ3M7XG4gICAgICB0aGlzLmFzc2V0SWQodHhNZXRob2QuYXNzZXRJZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBUcmFuc2FjdGlvbiBUeXBlOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkIHByZUFwcHJvdmVBc3NldGApO1xuICAgIH1cbiAgICByZXR1cm4gdHg7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVEZWNvZGVkVHJhbnNhY3Rpb24oZGVjb2RlZFR4bjogRGVjb2RlZFNpZ25pbmdQYXlsb2FkIHwgRGVjb2RlZFNpZ25lZFR4LCByYXdUcmFuc2FjdGlvbj86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuUHJlQXBwcm92ZUFzc2V0KSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IGRlY29kZWRUeG4ubWV0aG9kLmFyZ3MgYXMgUHJlQXBwcm92ZUFzc2V0QXJncztcbiAgICAgIGNvbnN0IGFzc2V0SWQgPSB0eE1ldGhvZC5hc3NldElkO1xuXG4gICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gUHJlQXBwcm92ZUFzc2V0VHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoeyBhc3NldElkIH0pO1xuICAgICAgaWYgKCF2YWxpZGF0aW9uUmVzdWx0KSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignSW52YWxpZCB0cmFuc2FjdGlvbjogYXNzZXRJZCBpcyByZXF1aXJlZCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3QgYSB0cmFuc2FjdGlvbiB0byBwcmUtYXBwcm92ZSBhbiBhc3NldFxuICAgKlxuICAgKiBAcGFyYW0ge1ByZUFwcHJvdmVBc3NldEFyZ3N9IGFyZ3MgQXJndW1lbnRzIHRvIGJlIHBhc3NlZCB0byB0aGUgcHJlQXBwcm92ZUFzc2V0IG1ldGhvZFxuICAgKiBAcGFyYW0ge0ludGVyZmFjZS5DcmVhdGVCYXNlVHhJbmZvfSBpbmZvIEJhc2UgdHhuIGluZm8gcmVxdWlyZWQgdG8gY29uc3RydWN0IHRoZSBwcmUtYXBwcm92ZSBhc3NldCB0eG5cbiAgICogQHJldHVybnMge1Vuc2lnbmVkVHJhbnNhY3Rpb259IGFuIHVuc2lnbmVkIHRyYW5zYWN0aW9uIGZvciBhc3NldCBwcmUtYXBwcm92YWxcbiAgICovXG4gIHByaXZhdGUgcHJlQXBwcm92ZUFzc2V0KGFyZ3M6IFByZUFwcHJvdmVBc3NldEFyZ3MsIGluZm86IEludGVyZmFjZS5DcmVhdGVCYXNlVHhJbmZvKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc29sZS5sb2coYFByZUFwcHJvdmVBc3NldEJ1aWxkZXI6IHByZUFwcHJvdmVBc3NldCBjYWxsZWQgd2l0aCBhcmdzOiAke0pTT04uc3RyaW5naWZ5KGFyZ3MpfWApO1xuICAgIHJldHVybiBkZWZpbmVNZXRob2QoXG4gICAgICB7XG4gICAgICAgIG1ldGhvZDoge1xuICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgbmFtZTogJ3ByZUFwcHJvdmVBc3NldCcsXG4gICAgICAgICAgcGFsbGV0OiAnYXNzZXQnLFxuICAgICAgICB9LFxuICAgICAgICAuLi5pbmZvLmJhc2VUeEluZm8sXG4gICAgICB9LFxuICAgICAgaW5mby5vcHRpb25zXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PolyxBaseBuilder } from './baseBuilder';
|
|
2
2
|
import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
|
|
3
3
|
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
4
4
|
import { TransactionType, BaseAddress } from '@bitgo-beta/sdk-core';
|
|
5
|
-
|
|
5
|
+
import { TxMethod } from './iface';
|
|
6
|
+
import { Transaction } from './transaction';
|
|
7
|
+
export declare class RegisterDidWithCDDBuilder extends PolyxBaseBuilder<TxMethod, Transaction> {
|
|
6
8
|
protected _to: string;
|
|
9
|
+
protected _method: TxMethod;
|
|
7
10
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
8
11
|
protected get transactionType(): TransactionType;
|
|
9
12
|
protected buildTransaction(): UnsignedTransaction;
|
|
@@ -16,6 +19,8 @@ export declare class RegisterDidWithCDDBuilder extends TransactionBuilder {
|
|
|
16
19
|
*/
|
|
17
20
|
to({ address }: BaseAddress): this;
|
|
18
21
|
/** @inheritdoc */
|
|
22
|
+
protected fromImplementation(rawTransaction: string): Transaction;
|
|
23
|
+
/** @inheritdoc */
|
|
19
24
|
validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx, rawTransaction?: string): void;
|
|
20
25
|
/**
|
|
21
26
|
* Construct a transaction to register a DID with CDD information
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerDidWithCDDBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/registerDidWithCDDBuilder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registerDidWithCDDBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/registerDidWithCDDBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAgB,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACtH,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,WAAW,EAA2B,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAA0B,QAAQ,EAAe,MAAM,SAAS,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,yBAA0B,SAAQ,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC;IACpF,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;gBAEhB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAYjD;;;;;;OAMG;IACH,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,IAAI;IAMlC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAWjE,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IAc9G;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;CAa3B"}
|
|
@@ -2,12 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RegisterDidWithCDDBuilder = void 0;
|
|
4
4
|
const abstract_substrate_1 = require("@bitgo-beta/abstract-substrate");
|
|
5
|
+
const baseBuilder_1 = require("./baseBuilder");
|
|
5
6
|
const txwrapper_core_1 = require("@substrate/txwrapper-core");
|
|
6
7
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
8
|
+
const iface_1 = require("./iface");
|
|
7
9
|
const txnSchema_1 = require("./txnSchema");
|
|
8
|
-
|
|
10
|
+
const transaction_1 = require("./transaction");
|
|
11
|
+
class RegisterDidWithCDDBuilder extends baseBuilder_1.PolyxBaseBuilder {
|
|
9
12
|
constructor(_coinConfig) {
|
|
10
13
|
super(_coinConfig);
|
|
14
|
+
this._transaction = new transaction_1.Transaction(_coinConfig);
|
|
11
15
|
}
|
|
12
16
|
get transactionType() {
|
|
13
17
|
return sdk_core_1.TransactionType.WalletInitialization;
|
|
@@ -33,8 +37,20 @@ class RegisterDidWithCDDBuilder extends abstract_substrate_1.TransactionBuilder
|
|
|
33
37
|
return this;
|
|
34
38
|
}
|
|
35
39
|
/** @inheritdoc */
|
|
40
|
+
fromImplementation(rawTransaction) {
|
|
41
|
+
const tx = super.fromImplementation(rawTransaction);
|
|
42
|
+
if (this._method?.name === iface_1.MethodNames.RegisterDidWithCDD) {
|
|
43
|
+
const txMethod = this._method.args;
|
|
44
|
+
this.to({ address: abstract_substrate_1.utils.decodeSubstrateAddress(txMethod.targetAccount, this.getAddressFormat()) });
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${this._method?.name}. Expected RegisterDidWithCDD`);
|
|
48
|
+
}
|
|
49
|
+
return tx;
|
|
50
|
+
}
|
|
51
|
+
/** @inheritdoc */
|
|
36
52
|
validateDecodedTransaction(decodedTxn, rawTransaction) {
|
|
37
|
-
if (decodedTxn.method?.name ===
|
|
53
|
+
if (decodedTxn.method?.name === iface_1.MethodNames.RegisterDidWithCDD) {
|
|
38
54
|
const txMethod = decodedTxn.method.args;
|
|
39
55
|
const targetAccount = txMethod.targetAccount;
|
|
40
56
|
const secondaryKeys = txMethod.secondaryKeys;
|
|
@@ -64,4 +80,4 @@ class RegisterDidWithCDDBuilder extends abstract_substrate_1.TransactionBuilder
|
|
|
64
80
|
}
|
|
65
81
|
}
|
|
66
82
|
exports.RegisterDidWithCDDBuilder = RegisterDidWithCDDBuilder;
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1RUFBa0U7QUFDbEUsK0NBQWlEO0FBQ2pELDhEQUFzSDtBQUV0SCxtREFBNkY7QUFDN0YsbUNBQXdFO0FBQ3hFLDJDQUFrRTtBQUNsRSwrQ0FBNEM7QUFFNUMsTUFBYSx5QkFBMEIsU0FBUSw4QkFBdUM7SUFJcEYsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLHlCQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsb0JBQW9CLENBQUM7SUFDOUMsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FDNUI7WUFDRSxhQUFhLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDdkIsYUFBYSxFQUFFLEVBQUU7WUFDakIsTUFBTSxFQUFFLElBQUk7U0FDYixFQUNELFVBQVUsQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBZTtRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxjQUFzQjtRQUNqRCxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksS0FBSyxtQkFBVyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUE4QixDQUFDO1lBQzdELElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsMEJBQUssQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RHLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLGtDQUF1QixDQUFDLDZCQUE2QixJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksK0JBQStCLENBQUMsQ0FBQztRQUNwSCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLDBCQUEwQixDQUFDLFVBQW1ELEVBQUUsY0FBdUI7UUFDckcsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksS0FBSyxtQkFBVyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDL0QsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUE4QixDQUFDO1lBQ2xFLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDN0MsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQztZQUM3QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBRS9CLE1BQU0sZ0JBQWdCLEdBQUcsK0NBQW1DLENBQUMsUUFBUSxDQUFDLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ2hILElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx3QkFBd0IsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDOUYsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssa0JBQWtCLENBQUMsSUFBNEIsRUFBRSxJQUFnQztRQUN2RixPQUFPLElBQUEsNkJBQVksRUFDakI7WUFDRSxNQUFNLEVBQUU7Z0JBQ04sSUFBSTtnQkFDSixJQUFJLEVBQUUsdUJBQXVCO2dCQUM3QixNQUFNLEVBQUUsVUFBVTthQUNuQjtZQUNELEdBQUcsSUFBSSxDQUFDLFVBQVU7U0FDbkIsRUFDRCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFyRkQsOERBcUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW50ZXJmYWNlLCB1dGlscyB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LXN1YnN0cmF0ZSc7XG5pbXBvcnQgeyBQb2x5eEJhc2VCdWlsZGVyIH0gZnJvbSAnLi9iYXNlQnVpbGRlcic7XG5pbXBvcnQgeyBEZWNvZGVkU2lnbmVkVHgsIERlY29kZWRTaWduaW5nUGF5bG9hZCwgZGVmaW5lTWV0aG9kLCBVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUsIEJhc2VBZGRyZXNzLCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFJlZ2lzdGVyRGlkV2l0aENEREFyZ3MsIFR4TWV0aG9kLCBNZXRob2ROYW1lcyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgUmVnaXN0ZXJEaWRXaXRoQ0REVHJhbnNhY3Rpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlciBleHRlbmRzIFBvbHl4QmFzZUJ1aWxkZXI8VHhNZXRob2QsIFRyYW5zYWN0aW9uPiB7XG4gIHByb3RlY3RlZCBfdG86IHN0cmluZztcbiAgcHJvdGVjdGVkIF9tZXRob2Q6IFR4TWV0aG9kO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuV2FsbGV0SW5pdGlhbGl6YXRpb247XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgcmV0dXJuIHRoaXMuUmVnaXN0ZXJEaWRXaXRoQ0REKFxuICAgICAge1xuICAgICAgICB0YXJnZXRBY2NvdW50OiB0aGlzLl90byxcbiAgICAgICAgc2Vjb25kYXJ5S2V5czogW10sXG4gICAgICAgIGV4cGlyeTogbnVsbCxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBUaGUgZGVzdGluYXRpb24gYWRkcmVzcyBmb3IgdHJhbnNmZXIgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkZXN0XG4gICAqIEByZXR1cm5zIHtUcmFuc2ZlckJ1aWxkZXJ9IFRoaXMgdHJhbnNmZXIgYnVpbGRlci5cbiAgICovXG4gIHRvKHsgYWRkcmVzcyB9OiBCYXNlQWRkcmVzcyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVBZGRyZXNzKHsgYWRkcmVzcyB9KTtcbiAgICB0aGlzLl90byA9IGFkZHJlc3M7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAodGhpcy5fbWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5SZWdpc3RlckRpZFdpdGhDREQpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gdGhpcy5fbWV0aG9kLmFyZ3MgYXMgUmVnaXN0ZXJEaWRXaXRoQ0REQXJncztcbiAgICAgIHRoaXMudG8oeyBhZGRyZXNzOiB1dGlscy5kZWNvZGVTdWJzdHJhdGVBZGRyZXNzKHR4TWV0aG9kLnRhcmdldEFjY291bnQsIHRoaXMuZ2V0QWRkcmVzc0Zvcm1hdCgpKSB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIFRyYW5zYWN0aW9uIFR5cGU6ICR7dGhpcy5fbWV0aG9kPy5uYW1lfS4gRXhwZWN0ZWQgUmVnaXN0ZXJEaWRXaXRoQ0REYCk7XG4gICAgfVxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZURlY29kZWRUcmFuc2FjdGlvbihkZWNvZGVkVHhuOiBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfCBEZWNvZGVkU2lnbmVkVHgsIHJhd1RyYW5zYWN0aW9uPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGRlY29kZWRUeG4ubWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5SZWdpc3RlckRpZFdpdGhDREQpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyBSZWdpc3RlckRpZFdpdGhDRERBcmdzO1xuICAgICAgY29uc3QgdGFyZ2V0QWNjb3VudCA9IHR4TWV0aG9kLnRhcmdldEFjY291bnQ7XG4gICAgICBjb25zdCBzZWNvbmRhcnlLZXlzID0gdHhNZXRob2Quc2Vjb25kYXJ5S2V5cztcbiAgICAgIGNvbnN0IGV4cGlyeSA9IHR4TWV0aG9kLmV4cGlyeTtcblxuICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IFJlZ2lzdGVyRGlkV2l0aENERFRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHsgdGFyZ2V0QWNjb3VudCwgc2Vjb25kYXJ5S2V5cywgZXhwaXJ5IH0pO1xuICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0IGEgdHJhbnNhY3Rpb24gdG8gcmVnaXN0ZXIgYSBESUQgd2l0aCBDREQgaW5mb3JtYXRpb25cbiAgICpcbiAgICogQHBhcmFtIHtSZWdpc3RlckRpZFdpdGhDRERBcmdzfSBhcmdzIEFyZ3VtZW50cyB0byBiZSBwYXNzZWQgdG8gdGhlIGNkZFJlZ2lzdGVyRGlkV2l0aENkZCBtZXRob2RcbiAgICogQHBhcmFtIHtJbnRlcmZhY2UuQ3JlYXRlQmFzZVR4SW5mb30gaW5mbyBCYXNlIHR4biBpbmZvIHJlcXVpcmVkIHRvIGNvbnN0cnVjdCB0aGUgRElEIHJlZ2lzdHJhdGlvbiB0eG5cbiAgICogQHJldHVybnMge1Vuc2lnbmVkVHJhbnNhY3Rpb259IGFuIHVuc2lnbmVkIHRyYW5zYWN0aW9uIGZvciBESUQgcmVnaXN0cmF0aW9uIHdpdGggQ0REXG4gICAqL1xuICBwcml2YXRlIFJlZ2lzdGVyRGlkV2l0aENERChhcmdzOiBSZWdpc3RlckRpZFdpdGhDRERBcmdzLCBpbmZvOiBJbnRlcmZhY2UuQ3JlYXRlQmFzZVR4SW5mbyk6IFVuc2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBkZWZpbmVNZXRob2QoXG4gICAgICB7XG4gICAgICAgIG1ldGhvZDoge1xuICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgbmFtZTogJ2NkZFJlZ2lzdGVyRGlkV2l0aENkZCcsXG4gICAgICAgICAgcGFsbGV0OiAnaWRlbnRpdHknLFxuICAgICAgICB9LFxuICAgICAgICAuLi5pbmZvLmJhc2VUeEluZm8sXG4gICAgICB9LFxuICAgICAgaW5mby5vcHRpb25zXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
|
+
import { PolyxBaseBuilder } from './baseBuilder';
|
|
4
|
+
import { TxMethod } from './iface';
|
|
5
|
+
import { Transaction } from './transaction';
|
|
6
|
+
import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
|
|
7
|
+
export declare class RejectInstructionBuilder extends PolyxBaseBuilder<TxMethod, Transaction> {
|
|
8
|
+
protected _instructionId: string;
|
|
9
|
+
protected _portfolioDID: string;
|
|
10
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
11
|
+
protected get transactionType(): TransactionType;
|
|
12
|
+
protected buildTransaction(): UnsignedTransaction;
|
|
13
|
+
/**
|
|
14
|
+
* @param instructionId - The ID of the instruction to be rejected
|
|
15
|
+
* @returns {this}
|
|
16
|
+
*/
|
|
17
|
+
instructionId(instructionId: string): this;
|
|
18
|
+
/**
|
|
19
|
+
* @param portfolioDID - The DID of the portfolio associated with the instruction
|
|
20
|
+
* @returns {this}
|
|
21
|
+
*/
|
|
22
|
+
portfolioDID(portfolioDID: string): this;
|
|
23
|
+
/** @inheritdoc */
|
|
24
|
+
protected fromImplementation(rawTransaction: string): Transaction;
|
|
25
|
+
/** @inheritdoc */
|
|
26
|
+
validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx, rawTransaction?: string): void;
|
|
27
|
+
private rejectInstruction;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=rejectInstructionBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rejectInstructionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/rejectInstructionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,QAAQ,EAA4D,MAAM,SAAS,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAgB,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEtH,qBAAa,wBAAyB,SAAQ,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC;IACnF,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;gBAEpB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAmBjD;;;OAGG;IACH,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAK1C;;;OAGG;IACH,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAKxC,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAYjE,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IAgB9G,OAAO,CAAC,iBAAiB;CAa1B"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RejectInstructionBuilder = void 0;
|
|
4
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
5
|
+
const baseBuilder_1 = require("./baseBuilder");
|
|
6
|
+
const iface_1 = require("./iface");
|
|
7
|
+
const transaction_1 = require("./transaction");
|
|
8
|
+
const txnSchema_1 = require("./txnSchema");
|
|
9
|
+
const txwrapper_core_1 = require("@substrate/txwrapper-core");
|
|
10
|
+
class RejectInstructionBuilder extends baseBuilder_1.PolyxBaseBuilder {
|
|
11
|
+
constructor(_coinConfig) {
|
|
12
|
+
super(_coinConfig);
|
|
13
|
+
this._transaction = new transaction_1.Transaction(_coinConfig);
|
|
14
|
+
}
|
|
15
|
+
get transactionType() {
|
|
16
|
+
return sdk_core_1.TransactionType.RejectInstruction;
|
|
17
|
+
}
|
|
18
|
+
buildTransaction() {
|
|
19
|
+
const baseTxInfo = this.createBaseTxInfo();
|
|
20
|
+
return this.rejectInstruction({
|
|
21
|
+
id: this._instructionId,
|
|
22
|
+
portfolio: {
|
|
23
|
+
did: this._portfolioDID,
|
|
24
|
+
kind: iface_1.PortfolioKind.Default,
|
|
25
|
+
},
|
|
26
|
+
numberOfAssets: {
|
|
27
|
+
fungible: 1,
|
|
28
|
+
nonFungible: 0,
|
|
29
|
+
offChain: 0,
|
|
30
|
+
},
|
|
31
|
+
}, baseTxInfo);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @param instructionId - The ID of the instruction to be rejected
|
|
35
|
+
* @returns {this}
|
|
36
|
+
*/
|
|
37
|
+
instructionId(instructionId) {
|
|
38
|
+
this._instructionId = instructionId;
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* @param portfolioDID - The DID of the portfolio associated with the instruction
|
|
43
|
+
* @returns {this}
|
|
44
|
+
*/
|
|
45
|
+
portfolioDID(portfolioDID) {
|
|
46
|
+
this._portfolioDID = portfolioDID;
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
/** @inheritdoc */
|
|
50
|
+
fromImplementation(rawTransaction) {
|
|
51
|
+
const tx = super.fromImplementation(rawTransaction);
|
|
52
|
+
if (this._method?.name === iface_1.MethodNames.RejectInstruction) {
|
|
53
|
+
const txMethod = this._method.args;
|
|
54
|
+
this._instructionId = txMethod.id;
|
|
55
|
+
this._portfolioDID = txMethod.portfolio.did;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
throw new Error(`Cannot build from transaction with method ${this._method?.name} for RejectInstructionBuilder`);
|
|
59
|
+
}
|
|
60
|
+
return tx;
|
|
61
|
+
}
|
|
62
|
+
/** @inheritdoc */
|
|
63
|
+
validateDecodedTransaction(decodedTxn, rawTransaction) {
|
|
64
|
+
if (decodedTxn.method?.name === iface_1.MethodNames.RejectInstruction) {
|
|
65
|
+
const txMethod = decodedTxn.method.args;
|
|
66
|
+
const id = txMethod.id;
|
|
67
|
+
const portfolio = txMethod.portfolio;
|
|
68
|
+
const validationResult = txnSchema_1.RejectInstructionTransactionSchema.validate({
|
|
69
|
+
id,
|
|
70
|
+
portfolio,
|
|
71
|
+
});
|
|
72
|
+
if (validationResult.error) {
|
|
73
|
+
throw new Error(`Invalid transaction: ${validationResult.error.message}`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
rejectInstruction(args, info) {
|
|
78
|
+
return (0, txwrapper_core_1.defineMethod)({
|
|
79
|
+
method: {
|
|
80
|
+
args,
|
|
81
|
+
name: 'rejectInstruction',
|
|
82
|
+
pallet: 'settlement',
|
|
83
|
+
},
|
|
84
|
+
...info.baseTxInfo,
|
|
85
|
+
}, info.options);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.RejectInstructionBuilder = RejectInstructionBuilder;
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVqZWN0SW5zdHJ1Y3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9yZWplY3RJbnN0cnVjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQXVEO0FBRXZELCtDQUFpRDtBQUNqRCxtQ0FBNkY7QUFDN0YsK0NBQTRDO0FBRTVDLDJDQUFpRTtBQUNqRSw4REFBc0g7QUFFdEgsTUFBYSx3QkFBeUIsU0FBUSw4QkFBdUM7SUFJbkYsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLHlCQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsaUJBQWlCLENBQUM7SUFDM0MsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FDM0I7WUFDRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDdkIsU0FBUyxFQUFFO2dCQUNULEdBQUcsRUFBRSxJQUFJLENBQUMsYUFBYTtnQkFDdkIsSUFBSSxFQUFFLHFCQUFhLENBQUMsT0FBTzthQUM1QjtZQUNELGNBQWMsRUFBRTtnQkFDZCxRQUFRLEVBQUUsQ0FBQztnQkFDWCxXQUFXLEVBQUUsQ0FBQztnQkFDZCxRQUFRLEVBQUUsQ0FBQzthQUNaO1NBQ0YsRUFDRCxVQUFVLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhLENBQUMsYUFBcUI7UUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxhQUFhLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWSxDQUFDLFlBQW9CO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLGNBQXNCO1FBQ2pELE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxLQUFLLG1CQUFXLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQW9DLENBQUM7WUFDbkUsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsRUFBWSxDQUFDO1lBQzVDLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFhLENBQUM7UUFDeEQsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLDZDQUE2QyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksK0JBQStCLENBQUMsQ0FBQztRQUNsSCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLDBCQUEwQixDQUFDLFVBQW1ELEVBQUUsY0FBdUI7UUFDckcsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksS0FBSyxtQkFBVyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDOUQsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFvQyxDQUFDO1lBQ3hFLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDdkIsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztZQUVyQyxNQUFNLGdCQUFnQixHQUFHLDhDQUFrQyxDQUFDLFFBQVEsQ0FBQztnQkFDbkUsRUFBRTtnQkFDRixTQUFTO2FBQ1YsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDNUUsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsSUFBa0MsRUFBRSxJQUFnQztRQUM1RixPQUFPLElBQUEsNkJBQVksRUFDakI7WUFDRSxNQUFNLEVBQUU7Z0JBQ04sSUFBSTtnQkFDSixJQUFJLEVBQUUsbUJBQW1CO2dCQUN6QixNQUFNLEVBQUUsWUFBWTthQUNyQjtZQUNELEdBQUcsSUFBSSxDQUFDLFVBQVU7U0FDbkIsRUFDRCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUE3RkQsNERBNkZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgUG9seXhCYXNlQnVpbGRlciB9IGZyb20gJy4vYmFzZUJ1aWxkZXInO1xuaW1wb3J0IHsgVHhNZXRob2QsIE1ldGhvZE5hbWVzLCBSZWplY3RJbnN0cnVjdGlvbkJ1aWxkZXJBcmdzLCBQb3J0Zm9saW9LaW5kIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgSW50ZXJmYWNlIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3Qtc3Vic3RyYXRlJztcbmltcG9ydCB7IFJlamVjdEluc3RydWN0aW9uVHJhbnNhY3Rpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgeyBEZWNvZGVkU2lnbmVkVHgsIERlY29kZWRTaWduaW5nUGF5bG9hZCwgZGVmaW5lTWV0aG9kLCBVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBSZWplY3RJbnN0cnVjdGlvbkJ1aWxkZXIgZXh0ZW5kcyBQb2x5eEJhc2VCdWlsZGVyPFR4TWV0aG9kLCBUcmFuc2FjdGlvbj4ge1xuICBwcm90ZWN0ZWQgX2luc3RydWN0aW9uSWQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9wb3J0Zm9saW9ESUQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSBuZXcgVHJhbnNhY3Rpb24oX2NvaW5Db25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlJlamVjdEluc3RydWN0aW9uO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIHJldHVybiB0aGlzLnJlamVjdEluc3RydWN0aW9uKFxuICAgICAge1xuICAgICAgICBpZDogdGhpcy5faW5zdHJ1Y3Rpb25JZCxcbiAgICAgICAgcG9ydGZvbGlvOiB7XG4gICAgICAgICAgZGlkOiB0aGlzLl9wb3J0Zm9saW9ESUQsXG4gICAgICAgICAga2luZDogUG9ydGZvbGlvS2luZC5EZWZhdWx0LFxuICAgICAgICB9LFxuICAgICAgICBudW1iZXJPZkFzc2V0czoge1xuICAgICAgICAgIGZ1bmdpYmxlOiAxLFxuICAgICAgICAgIG5vbkZ1bmdpYmxlOiAwLFxuICAgICAgICAgIG9mZkNoYWluOiAwLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm9cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBpbnN0cnVjdGlvbklkIC0gVGhlIElEIG9mIHRoZSBpbnN0cnVjdGlvbiB0byBiZSByZWplY3RlZFxuICAgKiBAcmV0dXJucyB7dGhpc31cbiAgICovXG4gIGluc3RydWN0aW9uSWQoaW5zdHJ1Y3Rpb25JZDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5faW5zdHJ1Y3Rpb25JZCA9IGluc3RydWN0aW9uSWQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHBvcnRmb2xpb0RJRCAtIFRoZSBESUQgb2YgdGhlIHBvcnRmb2xpbyBhc3NvY2lhdGVkIHdpdGggdGhlIGluc3RydWN0aW9uXG4gICAqIEByZXR1cm5zIHt0aGlzfVxuICAgKi9cbiAgcG9ydGZvbGlvRElEKHBvcnRmb2xpb0RJRDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5fcG9ydGZvbGlvRElEID0gcG9ydGZvbGlvRElEO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IHN1cGVyLmZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbik7XG4gICAgaWYgKHRoaXMuX21ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuUmVqZWN0SW5zdHJ1Y3Rpb24pIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gdGhpcy5fbWV0aG9kLmFyZ3MgYXMgUmVqZWN0SW5zdHJ1Y3Rpb25CdWlsZGVyQXJncztcbiAgICAgIHRoaXMuX2luc3RydWN0aW9uSWQgPSB0eE1ldGhvZC5pZCBhcyBzdHJpbmc7XG4gICAgICB0aGlzLl9wb3J0Zm9saW9ESUQgPSB0eE1ldGhvZC5wb3J0Zm9saW8uZGlkIGFzIHN0cmluZztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgYnVpbGQgZnJvbSB0cmFuc2FjdGlvbiB3aXRoIG1ldGhvZCAke3RoaXMuX21ldGhvZD8ubmFtZX0gZm9yIFJlamVjdEluc3RydWN0aW9uQnVpbGRlcmApO1xuICAgIH1cbiAgICByZXR1cm4gdHg7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVEZWNvZGVkVHJhbnNhY3Rpb24oZGVjb2RlZFR4bjogRGVjb2RlZFNpZ25pbmdQYXlsb2FkIHwgRGVjb2RlZFNpZ25lZFR4LCByYXdUcmFuc2FjdGlvbj86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZSA9PT0gTWV0aG9kTmFtZXMuUmVqZWN0SW5zdHJ1Y3Rpb24pIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyBSZWplY3RJbnN0cnVjdGlvbkJ1aWxkZXJBcmdzO1xuICAgICAgY29uc3QgaWQgPSB0eE1ldGhvZC5pZDtcbiAgICAgIGNvbnN0IHBvcnRmb2xpbyA9IHR4TWV0aG9kLnBvcnRmb2xpbztcblxuICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IFJlamVjdEluc3RydWN0aW9uVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoe1xuICAgICAgICBpZCxcbiAgICAgICAgcG9ydGZvbGlvLFxuICAgICAgfSk7XG4gICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdHJhbnNhY3Rpb246ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVqZWN0SW5zdHJ1Y3Rpb24oYXJnczogUmVqZWN0SW5zdHJ1Y3Rpb25CdWlsZGVyQXJncywgaW5mbzogSW50ZXJmYWNlLkNyZWF0ZUJhc2VUeEluZm8pOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gZGVmaW5lTWV0aG9kKFxuICAgICAge1xuICAgICAgICBtZXRob2Q6IHtcbiAgICAgICAgICBhcmdzLFxuICAgICAgICAgIG5hbWU6ICdyZWplY3RJbnN0cnVjdGlvbicsXG4gICAgICAgICAgcGFsbGV0OiAnc2V0dGxlbWVudCcsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLmluZm8uYmFzZVR4SW5mbyxcbiAgICAgIH0sXG4gICAgICBpbmZvLm9wdGlvbnNcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
|
+
import { PolyxBaseBuilder } from './baseBuilder';
|
|
4
|
+
import { TxMethod } from './iface';
|
|
5
|
+
import { Transaction } from './transaction';
|
|
6
|
+
import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
|
|
7
|
+
export declare class TokenTransferBuilder extends PolyxBaseBuilder<TxMethod, Transaction> {
|
|
8
|
+
protected _assetId: string;
|
|
9
|
+
protected _amount: string;
|
|
10
|
+
protected _memo: string;
|
|
11
|
+
protected _fromDID: string;
|
|
12
|
+
protected _toDID: string;
|
|
13
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
14
|
+
protected get transactionType(): TransactionType;
|
|
15
|
+
protected buildTransaction(): UnsignedTransaction;
|
|
16
|
+
/**
|
|
17
|
+
* Sets the amount to transfer.
|
|
18
|
+
*
|
|
19
|
+
* @param {string} amount - The amount to transfer.
|
|
20
|
+
* @returns {this} The current instance of the builder.
|
|
21
|
+
*/
|
|
22
|
+
assetId(assetId: string): this;
|
|
23
|
+
/**
|
|
24
|
+
* Sets the amount to transfer.
|
|
25
|
+
*
|
|
26
|
+
* @param {string} amount - The amount to transfer.
|
|
27
|
+
* @returns {this} The current instance of the builder.
|
|
28
|
+
*/
|
|
29
|
+
amount(amount: string): this;
|
|
30
|
+
/**
|
|
31
|
+
* Sets the memo for the transaction.
|
|
32
|
+
* Pads the memo on the left with zeros to ensure it is 32 characters long.
|
|
33
|
+
*
|
|
34
|
+
* @param {string} memo - The memo for the transaction.
|
|
35
|
+
* @returns {this} The current instance of the builder.
|
|
36
|
+
*/
|
|
37
|
+
memo(memo: string): this;
|
|
38
|
+
/**
|
|
39
|
+
* Sets the sender DID.
|
|
40
|
+
*
|
|
41
|
+
* @param {string} fromDID - The sender DID.
|
|
42
|
+
* @returns {this} The current instance of the builder.
|
|
43
|
+
*/
|
|
44
|
+
fromDID(fromDID: string): this;
|
|
45
|
+
/**
|
|
46
|
+
* Sets the receiver DID.
|
|
47
|
+
*
|
|
48
|
+
* @param {string} toDID - The receiver DID.
|
|
49
|
+
* @returns {this} The current instance of the builder.
|
|
50
|
+
*/
|
|
51
|
+
toDID(toDID: string): this;
|
|
52
|
+
/** @inheritdoc */
|
|
53
|
+
protected fromImplementation(rawTransaction: string): Transaction;
|
|
54
|
+
/** @inheritdoc */
|
|
55
|
+
validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx, rawTransaction?: string): void;
|
|
56
|
+
private addAndAffirmWithMediators;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=tokenTransferBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/tokenTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,QAAQ,EAA6E,MAAM,SAAS,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAgB,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEtH,qBAAa,oBAAqB,SAAQ,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/E,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEb,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAqCjD;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK9B;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK5B;;;;;;OAMG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMxB;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK9B;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAejE,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IA4B9G,OAAO,CAAC,yBAAyB;CAgBlC"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TokenTransferBuilder = void 0;
|
|
4
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
5
|
+
const baseBuilder_1 = require("./baseBuilder");
|
|
6
|
+
const iface_1 = require("./iface");
|
|
7
|
+
const transaction_1 = require("./transaction");
|
|
8
|
+
const txnSchema_1 = require("./txnSchema");
|
|
9
|
+
const txwrapper_core_1 = require("@substrate/txwrapper-core");
|
|
10
|
+
class TokenTransferBuilder extends baseBuilder_1.PolyxBaseBuilder {
|
|
11
|
+
constructor(_coinConfig) {
|
|
12
|
+
super(_coinConfig);
|
|
13
|
+
this._transaction = new transaction_1.Transaction(_coinConfig);
|
|
14
|
+
}
|
|
15
|
+
get transactionType() {
|
|
16
|
+
return sdk_core_1.TransactionType.SendToken;
|
|
17
|
+
}
|
|
18
|
+
buildTransaction() {
|
|
19
|
+
const baseTxInfo = this.createBaseTxInfo();
|
|
20
|
+
return this.addAndAffirmWithMediators({
|
|
21
|
+
venueId: null,
|
|
22
|
+
settlementType: iface_1.SettlementType.SettleOnAffirmation,
|
|
23
|
+
tradeDate: null,
|
|
24
|
+
valueDate: null,
|
|
25
|
+
legs: [
|
|
26
|
+
{
|
|
27
|
+
fungible: {
|
|
28
|
+
sender: {
|
|
29
|
+
did: this._fromDID,
|
|
30
|
+
kind: iface_1.PortfolioKind.Default,
|
|
31
|
+
},
|
|
32
|
+
receiver: {
|
|
33
|
+
did: this._toDID,
|
|
34
|
+
kind: iface_1.PortfolioKind.Default,
|
|
35
|
+
},
|
|
36
|
+
assetId: this._assetId,
|
|
37
|
+
amount: this._amount,
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
portfolios: [
|
|
42
|
+
{
|
|
43
|
+
did: this._fromDID,
|
|
44
|
+
kind: iface_1.PortfolioKind.Default,
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
instructionMemo: this._memo,
|
|
48
|
+
mediators: [],
|
|
49
|
+
}, baseTxInfo);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Sets the amount to transfer.
|
|
53
|
+
*
|
|
54
|
+
* @param {string} amount - The amount to transfer.
|
|
55
|
+
* @returns {this} The current instance of the builder.
|
|
56
|
+
*/
|
|
57
|
+
assetId(assetId) {
|
|
58
|
+
this._assetId = assetId;
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Sets the amount to transfer.
|
|
63
|
+
*
|
|
64
|
+
* @param {string} amount - The amount to transfer.
|
|
65
|
+
* @returns {this} The current instance of the builder.
|
|
66
|
+
*/
|
|
67
|
+
amount(amount) {
|
|
68
|
+
this._amount = amount;
|
|
69
|
+
return this;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Sets the memo for the transaction.
|
|
73
|
+
* Pads the memo on the left with zeros to ensure it is 32 characters long.
|
|
74
|
+
*
|
|
75
|
+
* @param {string} memo - The memo for the transaction.
|
|
76
|
+
* @returns {this} The current instance of the builder.
|
|
77
|
+
*/
|
|
78
|
+
memo(memo) {
|
|
79
|
+
const paddedMemo = memo.padStart(32, '0');
|
|
80
|
+
this._memo = paddedMemo;
|
|
81
|
+
return this;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Sets the sender DID.
|
|
85
|
+
*
|
|
86
|
+
* @param {string} fromDID - The sender DID.
|
|
87
|
+
* @returns {this} The current instance of the builder.
|
|
88
|
+
*/
|
|
89
|
+
fromDID(fromDID) {
|
|
90
|
+
this._fromDID = fromDID;
|
|
91
|
+
return this;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Sets the receiver DID.
|
|
95
|
+
*
|
|
96
|
+
* @param {string} toDID - The receiver DID.
|
|
97
|
+
* @returns {this} The current instance of the builder.
|
|
98
|
+
*/
|
|
99
|
+
toDID(toDID) {
|
|
100
|
+
this._toDID = toDID;
|
|
101
|
+
return this;
|
|
102
|
+
}
|
|
103
|
+
/** @inheritdoc */
|
|
104
|
+
fromImplementation(rawTransaction) {
|
|
105
|
+
const tx = super.fromImplementation(rawTransaction);
|
|
106
|
+
if (this._method?.name === iface_1.MethodNames.AddAndAffirmWithMediators) {
|
|
107
|
+
const txMethod = this._method.args;
|
|
108
|
+
this.assetId(txMethod.legs[0].fungible.assetId);
|
|
109
|
+
this.amount(txMethod.legs[0].fungible.amount);
|
|
110
|
+
this.memo(txMethod.instructionMemo);
|
|
111
|
+
this.fromDID(txMethod.legs[0].fungible.sender.did);
|
|
112
|
+
this.toDID(txMethod.legs[0].fungible.receiver.did);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
throw new Error(`Invalid Transaction Type: ${this._method?.name}. Expected AddAndAffirmWithMediators`);
|
|
116
|
+
}
|
|
117
|
+
return tx;
|
|
118
|
+
}
|
|
119
|
+
/** @inheritdoc */
|
|
120
|
+
validateDecodedTransaction(decodedTxn, rawTransaction) {
|
|
121
|
+
if (decodedTxn.method?.name === iface_1.MethodNames.AddAndAffirmWithMediators) {
|
|
122
|
+
const txMethod = decodedTxn.method.args;
|
|
123
|
+
const venueId = txMethod.venueId;
|
|
124
|
+
const settlementType = txMethod.settlementType;
|
|
125
|
+
const tradeDate = txMethod.tradeDate;
|
|
126
|
+
const valueDate = txMethod.valueDate;
|
|
127
|
+
const legs = txMethod.legs;
|
|
128
|
+
const portfolios = txMethod.portfolios;
|
|
129
|
+
const instructionMemo = txMethod.instructionMemo;
|
|
130
|
+
const mediators = txMethod.mediators;
|
|
131
|
+
const validationResult = txnSchema_1.AddAndAffirmWithMediatorsTransactionSchema.validate({
|
|
132
|
+
venueId,
|
|
133
|
+
settlementType,
|
|
134
|
+
tradeDate,
|
|
135
|
+
valueDate,
|
|
136
|
+
legs,
|
|
137
|
+
portfolios,
|
|
138
|
+
instructionMemo,
|
|
139
|
+
mediators,
|
|
140
|
+
});
|
|
141
|
+
if (validationResult.error) {
|
|
142
|
+
throw new Error(`Invalid transaction: ${validationResult.error.message}`);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
addAndAffirmWithMediators(args, info) {
|
|
147
|
+
return (0, txwrapper_core_1.defineMethod)({
|
|
148
|
+
method: {
|
|
149
|
+
args,
|
|
150
|
+
name: 'addAndAffirmWithMediators',
|
|
151
|
+
pallet: 'settlement',
|
|
152
|
+
},
|
|
153
|
+
...info.baseTxInfo,
|
|
154
|
+
}, info.options);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
exports.TokenTransferBuilder = TokenTransferBuilder;
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5UcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Rva2VuVHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUF1RDtBQUV2RCwrQ0FBaUQ7QUFDakQsbUNBQThHO0FBQzlHLCtDQUE0QztBQUU1QywyQ0FBeUU7QUFDekUsOERBQXNIO0FBRXRILE1BQWEsb0JBQXFCLFNBQVEsOEJBQXVDO0lBTy9FLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSx5QkFBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxDQUFDO0lBRVMsZ0JBQWdCO1FBQ3hCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzNDLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUNuQztZQUNFLE9BQU8sRUFBRSxJQUFJO1lBQ2IsY0FBYyxFQUFFLHNCQUFjLENBQUMsbUJBQW1CO1lBQ2xELFNBQVMsRUFBRSxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUk7WUFDZixJQUFJLEVBQUU7Z0JBQ0o7b0JBQ0UsUUFBUSxFQUFFO3dCQUNSLE1BQU0sRUFBRTs0QkFDTixHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVE7NEJBQ2xCLElBQUksRUFBRSxxQkFBYSxDQUFDLE9BQU87eUJBQzVCO3dCQUNELFFBQVEsRUFBRTs0QkFDUixHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU07NEJBQ2hCLElBQUksRUFBRSxxQkFBYSxDQUFDLE9BQU87eUJBQzVCO3dCQUNELE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTt3QkFDdEIsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPO3FCQUNyQjtpQkFDRjthQUNGO1lBQ0QsVUFBVSxFQUFFO2dCQUNWO29CQUNFLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUTtvQkFDbEIsSUFBSSxFQUFFLHFCQUFhLENBQUMsT0FBTztpQkFDNUI7YUFDRjtZQUNELGVBQWUsRUFBRSxJQUFJLENBQUMsS0FBSztZQUMzQixTQUFTLEVBQUUsRUFBRTtTQUNkLEVBQ0QsVUFBVSxDQUNYLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsT0FBZTtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxNQUFjO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILElBQUksQ0FBQyxJQUFZO1FBQ2YsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsT0FBZTtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxLQUFhO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLGNBQXNCO1FBQ2pELE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxLQUFLLG1CQUFXLENBQUMseUJBQXlCLEVBQUUsQ0FBQztZQUNqRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQXFDLENBQUM7WUFDcEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLHNDQUFzQyxDQUFDLENBQUM7UUFDekcsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELGtCQUFrQjtJQUNsQiwwQkFBMEIsQ0FBQyxVQUFtRCxFQUFFLGNBQXVCO1FBQ3JHLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLEtBQUssbUJBQVcsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1lBQ3RFLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBcUMsQ0FBQztZQUN6RSxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQ2pDLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUM7WUFDL0MsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztZQUNyQyxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDM0IsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUN2QyxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDO1lBQ2pELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7WUFFckMsTUFBTSxnQkFBZ0IsR0FBRyxzREFBMEMsQ0FBQyxRQUFRLENBQUM7Z0JBQzNFLE9BQU87Z0JBQ1AsY0FBYztnQkFDZCxTQUFTO2dCQUNULFNBQVM7Z0JBQ1QsSUFBSTtnQkFDSixVQUFVO2dCQUNWLGVBQWU7Z0JBQ2YsU0FBUzthQUNWLENBQUMsQ0FBQztZQUNILElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQzVFLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVPLHlCQUF5QixDQUMvQixJQUFtQyxFQUNuQyxJQUFnQztRQUVoQyxPQUFPLElBQUEsNkJBQVksRUFDakI7WUFDRSxNQUFNLEVBQUU7Z0JBQ04sSUFBSTtnQkFDSixJQUFJLEVBQUUsMkJBQTJCO2dCQUNqQyxNQUFNLEVBQUUsWUFBWTthQUNyQjtZQUNELEdBQUcsSUFBSSxDQUFDLFVBQVU7U0FDbkIsRUFDRCxJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUEzS0Qsb0RBMktDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgUG9seXhCYXNlQnVpbGRlciB9IGZyb20gJy4vYmFzZUJ1aWxkZXInO1xuaW1wb3J0IHsgVHhNZXRob2QsIE1ldGhvZE5hbWVzLCBBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzQXJncywgU2V0dGxlbWVudFR5cGUsIFBvcnRmb2xpb0tpbmQgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1zdWJzdHJhdGUnO1xuaW1wb3J0IHsgQWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9yc1RyYW5zYWN0aW9uU2NoZW1hIH0gZnJvbSAnLi90eG5TY2hlbWEnO1xuaW1wb3J0IHsgRGVjb2RlZFNpZ25lZFR4LCBEZWNvZGVkU2lnbmluZ1BheWxvYWQsIGRlZmluZU1ldGhvZCwgVW5zaWduZWRUcmFuc2FjdGlvbiB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLWNvcmUnO1xuXG5leHBvcnQgY2xhc3MgVG9rZW5UcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBQb2x5eEJhc2VCdWlsZGVyPFR4TWV0aG9kLCBUcmFuc2FjdGlvbj4ge1xuICBwcm90ZWN0ZWQgX2Fzc2V0SWQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9hbW91bnQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9tZW1vOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfZnJvbURJRDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3RvRElEOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TZW5kVG9rZW47XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgcmV0dXJuIHRoaXMuYWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9ycyhcbiAgICAgIHtcbiAgICAgICAgdmVudWVJZDogbnVsbCxcbiAgICAgICAgc2V0dGxlbWVudFR5cGU6IFNldHRsZW1lbnRUeXBlLlNldHRsZU9uQWZmaXJtYXRpb24sXG4gICAgICAgIHRyYWRlRGF0ZTogbnVsbCxcbiAgICAgICAgdmFsdWVEYXRlOiBudWxsLFxuICAgICAgICBsZWdzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZnVuZ2libGU6IHtcbiAgICAgICAgICAgICAgc2VuZGVyOiB7XG4gICAgICAgICAgICAgICAgZGlkOiB0aGlzLl9mcm9tRElELFxuICAgICAgICAgICAgICAgIGtpbmQ6IFBvcnRmb2xpb0tpbmQuRGVmYXVsdCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgcmVjZWl2ZXI6IHtcbiAgICAgICAgICAgICAgICBkaWQ6IHRoaXMuX3RvRElELFxuICAgICAgICAgICAgICAgIGtpbmQ6IFBvcnRmb2xpb0tpbmQuRGVmYXVsdCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgYXNzZXRJZDogdGhpcy5fYXNzZXRJZCxcbiAgICAgICAgICAgICAgYW1vdW50OiB0aGlzLl9hbW91bnQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHBvcnRmb2xpb3M6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBkaWQ6IHRoaXMuX2Zyb21ESUQsXG4gICAgICAgICAgICBraW5kOiBQb3J0Zm9saW9LaW5kLkRlZmF1bHQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgaW5zdHJ1Y3Rpb25NZW1vOiB0aGlzLl9tZW1vLFxuICAgICAgICBtZWRpYXRvcnM6IFtdLFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm9cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFtb3VudCB0byB0cmFuc2Zlci5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudCAtIFRoZSBhbW91bnQgdG8gdHJhbnNmZXIuXG4gICAqIEByZXR1cm5zIHt0aGlzfSBUaGUgY3VycmVudCBpbnN0YW5jZSBvZiB0aGUgYnVpbGRlci5cbiAgICovXG4gIGFzc2V0SWQoYXNzZXRJZDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5fYXNzZXRJZCA9IGFzc2V0SWQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgYW1vdW50IHRvIHRyYW5zZmVyLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYW1vdW50IC0gVGhlIGFtb3VudCB0byB0cmFuc2Zlci5cbiAgICogQHJldHVybnMge3RoaXN9IFRoZSBjdXJyZW50IGluc3RhbmNlIG9mIHRoZSBidWlsZGVyLlxuICAgKi9cbiAgYW1vdW50KGFtb3VudDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5fYW1vdW50ID0gYW1vdW50O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG1lbW8gZm9yIHRoZSB0cmFuc2FjdGlvbi5cbiAgICogUGFkcyB0aGUgbWVtbyBvbiB0aGUgbGVmdCB3aXRoIHplcm9zIHRvIGVuc3VyZSBpdCBpcyAzMiBjaGFyYWN0ZXJzIGxvbmcuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZW1vIC0gVGhlIG1lbW8gZm9yIHRoZSB0cmFuc2FjdGlvbi5cbiAgICogQHJldHVybnMge3RoaXN9IFRoZSBjdXJyZW50IGluc3RhbmNlIG9mIHRoZSBidWlsZGVyLlxuICAgKi9cbiAgbWVtbyhtZW1vOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBjb25zdCBwYWRkZWRNZW1vID0gbWVtby5wYWRTdGFydCgzMiwgJzAnKTtcbiAgICB0aGlzLl9tZW1vID0gcGFkZGVkTWVtbztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzZW5kZXIgRElELlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZnJvbURJRCAtIFRoZSBzZW5kZXIgRElELlxuICAgKiBAcmV0dXJucyB7dGhpc30gVGhlIGN1cnJlbnQgaW5zdGFuY2Ugb2YgdGhlIGJ1aWxkZXIuXG4gICAqL1xuICBmcm9tRElEKGZyb21ESUQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX2Zyb21ESUQgPSBmcm9tRElEO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHJlY2VpdmVyIERJRC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRvRElEIC0gVGhlIHJlY2VpdmVyIERJRC5cbiAgICogQHJldHVybnMge3RoaXN9IFRoZSBjdXJyZW50IGluc3RhbmNlIG9mIHRoZSBidWlsZGVyLlxuICAgKi9cbiAgdG9ESUQodG9ESUQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX3RvRElEID0gdG9ESUQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAodGhpcy5fbWV0aG9kPy5uYW1lID09PSBNZXRob2ROYW1lcy5BZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzKSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIEFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnNBcmdzO1xuICAgICAgdGhpcy5hc3NldElkKHR4TWV0aG9kLmxlZ3NbMF0uZnVuZ2libGUuYXNzZXRJZCk7XG4gICAgICB0aGlzLmFtb3VudCh0eE1ldGhvZC5sZWdzWzBdLmZ1bmdpYmxlLmFtb3VudCk7XG4gICAgICB0aGlzLm1lbW8odHhNZXRob2QuaW5zdHJ1Y3Rpb25NZW1vKTtcbiAgICAgIHRoaXMuZnJvbURJRCh0eE1ldGhvZC5sZWdzWzBdLmZ1bmdpYmxlLnNlbmRlci5kaWQpO1xuICAgICAgdGhpcy50b0RJRCh0eE1ldGhvZC5sZWdzWzBdLmZ1bmdpYmxlLnJlY2VpdmVyLmRpZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBUcmFuc2FjdGlvbiBUeXBlOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkIEFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnNgKTtcbiAgICB9XG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlRGVjb2RlZFRyYW5zYWN0aW9uKGRlY29kZWRUeG46IERlY29kZWRTaWduaW5nUGF5bG9hZCB8IERlY29kZWRTaWduZWRUeCwgcmF3VHJhbnNhY3Rpb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoZGVjb2RlZFR4bi5tZXRob2Q/Lm5hbWUgPT09IE1ldGhvZE5hbWVzLkFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnMpIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyBBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzQXJncztcbiAgICAgIGNvbnN0IHZlbnVlSWQgPSB0eE1ldGhvZC52ZW51ZUlkO1xuICAgICAgY29uc3Qgc2V0dGxlbWVudFR5cGUgPSB0eE1ldGhvZC5zZXR0bGVtZW50VHlwZTtcbiAgICAgIGNvbnN0IHRyYWRlRGF0ZSA9IHR4TWV0aG9kLnRyYWRlRGF0ZTtcbiAgICAgIGNvbnN0IHZhbHVlRGF0ZSA9IHR4TWV0aG9kLnZhbHVlRGF0ZTtcbiAgICAgIGNvbnN0IGxlZ3MgPSB0eE1ldGhvZC5sZWdzO1xuICAgICAgY29uc3QgcG9ydGZvbGlvcyA9IHR4TWV0aG9kLnBvcnRmb2xpb3M7XG4gICAgICBjb25zdCBpbnN0cnVjdGlvbk1lbW8gPSB0eE1ldGhvZC5pbnN0cnVjdGlvbk1lbW87XG4gICAgICBjb25zdCBtZWRpYXRvcnMgPSB0eE1ldGhvZC5tZWRpYXRvcnM7XG5cbiAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoe1xuICAgICAgICB2ZW51ZUlkLFxuICAgICAgICBzZXR0bGVtZW50VHlwZSxcbiAgICAgICAgdHJhZGVEYXRlLFxuICAgICAgICB2YWx1ZURhdGUsXG4gICAgICAgIGxlZ3MsXG4gICAgICAgIHBvcnRmb2xpb3MsXG4gICAgICAgIGluc3RydWN0aW9uTWVtbyxcbiAgICAgICAgbWVkaWF0b3JzLFxuICAgICAgfSk7XG4gICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdHJhbnNhY3Rpb246ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9ycyhcbiAgICBhcmdzOiBBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzQXJncyxcbiAgICBpbmZvOiBJbnRlcmZhY2UuQ3JlYXRlQmFzZVR4SW5mb1xuICApOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICByZXR1cm4gZGVmaW5lTWV0aG9kKFxuICAgICAge1xuICAgICAgICBtZXRob2Q6IHtcbiAgICAgICAgICBhcmdzLFxuICAgICAgICAgIG5hbWU6ICdhZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzJyxcbiAgICAgICAgICBwYWxsZXQ6ICdzZXR0bGVtZW50JyxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uaW5mby5iYXNlVHhJbmZvLFxuICAgICAgfSxcbiAgICAgIGluZm8ub3B0aW9uc1xuICAgICk7XG4gIH1cbn1cbiJdfQ==
|