@bitgo-beta/sdk-coin-polyx 1.0.0-alpha.21 → 1.0.0-alpha.211
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 +302 -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 +129 -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 +103 -0
- package/dist/src/lib/constants.d.ts +21 -0
- package/dist/src/lib/constants.d.ts.map +1 -0
- package/dist/src/lib/constants.js +24 -0
- package/dist/src/lib/hexTokenTransferBuilder.d.ts +24 -0
- package/dist/src/lib/hexTokenTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/hexTokenTransferBuilder.js +46 -0
- package/dist/src/lib/hexTransferBuilder.d.ts +28 -0
- package/dist/src/lib/hexTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/hexTransferBuilder.js +51 -0
- package/dist/src/lib/iface.d.ts +249 -0
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +48 -1
- package/dist/src/lib/index.d.ts +36 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +82 -5
- package/dist/src/lib/nominateBuilder.d.ts +18 -0
- package/dist/src/lib/nominateBuilder.d.ts.map +1 -0
- package/dist/src/lib/nominateBuilder.js +101 -0
- 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 +22 -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 +64 -0
- package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/tokenTransferBuilder.js +167 -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 +211 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts +59 -1
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +288 -8
- 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 +12 -5
- package/dist/src/lib/txnSchema.d.ts +67 -0
- package/dist/src/lib/txnSchema.d.ts.map +1 -1
- package/dist/src/lib/txnSchema.js +231 -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 +100 -0
- package/dist/src/lib/utils.d.ts +40 -0
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +94 -1
- package/dist/src/lib/v8BatchStakingBuilder.d.ts +85 -0
- package/dist/src/lib/v8BatchStakingBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8BatchStakingBuilder.js +266 -0
- package/dist/src/lib/v8BatchUnstakingBuilder.d.ts +11 -0
- package/dist/src/lib/v8BatchUnstakingBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8BatchUnstakingBuilder.js +21 -0
- package/dist/src/lib/v8BondExtraBuilder.d.ts +11 -0
- package/dist/src/lib/v8BondExtraBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8BondExtraBuilder.js +21 -0
- package/dist/src/lib/v8HexTokenTransferBuilder.d.ts +20 -0
- package/dist/src/lib/v8HexTokenTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8HexTokenTransferBuilder.js +42 -0
- package/dist/src/lib/v8HexTransferBuilder.d.ts +11 -0
- package/dist/src/lib/v8HexTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8HexTransferBuilder.js +21 -0
- package/dist/src/lib/v8NominateBuilder.d.ts +11 -0
- package/dist/src/lib/v8NominateBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8NominateBuilder.js +21 -0
- package/dist/src/lib/v8PreApproveAssetBuilder.d.ts +11 -0
- package/dist/src/lib/v8PreApproveAssetBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8PreApproveAssetBuilder.js +21 -0
- package/dist/src/lib/v8RegisterDidBuilder.d.ts +47 -0
- package/dist/src/lib/v8RegisterDidBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8RegisterDidBuilder.js +96 -0
- package/dist/src/lib/v8RegisterDidWithCDDBuilder.d.ts +11 -0
- package/dist/src/lib/v8RegisterDidWithCDDBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8RegisterDidWithCDDBuilder.js +21 -0
- package/dist/src/lib/v8TokenTransferBuilder.d.ts +24 -0
- package/dist/src/lib/v8TokenTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8TokenTransferBuilder.js +101 -0
- package/dist/src/lib/v8TransferBuilder.d.ts +11 -0
- package/dist/src/lib/v8TransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8TransferBuilder.js +21 -0
- package/dist/src/lib/v8UnbondBuilder.d.ts +11 -0
- package/dist/src/lib/v8UnbondBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8UnbondBuilder.js +21 -0
- package/dist/src/lib/v8WithdrawUnbondedBuilder.d.ts +11 -0
- package/dist/src/lib/v8WithdrawUnbondedBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8WithdrawUnbondedBuilder.js +21 -0
- 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 +91 -0
- package/dist/src/polyx.d.ts +51 -9
- package/dist/src/polyx.d.ts.map +1 -1
- package/dist/src/polyx.js +272 -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/resources/index.d.ts +2 -0
- package/dist/src/resources/index.d.ts.map +1 -1
- package/dist/src/resources/index.js +3 -1
- package/dist/src/resources/mainnetV8.d.ts +13 -0
- package/dist/src/resources/mainnetV8.d.ts.map +1 -0
- package/dist/src/resources/mainnetV8.js +24 -0
- package/dist/src/resources/testnetV8.d.ts +13 -0
- package/dist/src/resources/testnetV8.d.ts.map +1 -0
- package/dist/src/resources/testnetV8.js +16 -0
- 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 +139 -0
- package/dist/test/resources/index.d.ts.map +1 -0
- package/dist/test/resources/index.js +150 -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 +356 -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 +309 -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/hexTokenTransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/hexTokenTransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/hexTokenTransferBuilder.js +261 -0
- package/dist/test/unit/transactionBuilder/hexTransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/hexTransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/hexTransferBuilder.js +389 -0
- package/dist/test/unit/transactionBuilder/nominateBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/nominateBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/nominateBuilder.js +226 -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 +240 -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/v8BatchStakingBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8BatchStakingBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8BatchStakingBuilder.js +252 -0
- package/dist/test/unit/transactionBuilder/v8HexTokenTransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8HexTokenTransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8HexTokenTransferBuilder.js +90 -0
- package/dist/test/unit/transactionBuilder/v8HexTransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8HexTransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8HexTransferBuilder.js +62 -0
- package/dist/test/unit/transactionBuilder/v8PreApproveAssetBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8PreApproveAssetBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8PreApproveAssetBuilder.js +45 -0
- package/dist/test/unit/transactionBuilder/v8RegisterDidBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8RegisterDidBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8RegisterDidBuilder.js +87 -0
- package/dist/test/unit/transactionBuilder/v8RegisterDidWithCDDBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8RegisterDidWithCDDBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8RegisterDidWithCDDBuilder.js +45 -0
- package/dist/test/unit/transactionBuilder/v8TokenTransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8TokenTransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8TokenTransferBuilder.js +114 -0
- package/dist/test/unit/transactionBuilder/v8TransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8TransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8TransferBuilder.js +107 -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
|
@@ -7,9 +7,34 @@ exports.TransactionBuilderFactory = void 0;
|
|
|
7
7
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
8
8
|
const txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
|
|
9
9
|
const transferBuilder_1 = require("./transferBuilder");
|
|
10
|
+
const hexTransferBuilder_1 = require("./hexTransferBuilder");
|
|
10
11
|
const registerDidWithCDDBuilder_1 = require("./registerDidWithCDDBuilder");
|
|
12
|
+
const bondExtraBuilder_1 = require("./bondExtraBuilder");
|
|
13
|
+
const batchStakingBuilder_1 = require("./batchStakingBuilder");
|
|
14
|
+
const batchUnstakingBuilder_1 = require("./batchUnstakingBuilder");
|
|
15
|
+
const unbondBuilder_1 = require("./unbondBuilder");
|
|
16
|
+
const withdrawUnbondedBuilder_1 = require("./withdrawUnbondedBuilder");
|
|
11
17
|
const utils_1 = __importDefault(require("./utils"));
|
|
12
18
|
const _1 = require("./");
|
|
19
|
+
const iface_1 = require("./iface");
|
|
20
|
+
const preApproveAssetBuilder_1 = require("./preApproveAssetBuilder");
|
|
21
|
+
const tokenTransferBuilder_1 = require("./tokenTransferBuilder");
|
|
22
|
+
const hexTokenTransferBuilder_1 = require("./hexTokenTransferBuilder");
|
|
23
|
+
const rejectInstructionBuilder_1 = require("./rejectInstructionBuilder");
|
|
24
|
+
const nominateBuilder_1 = require("./nominateBuilder");
|
|
25
|
+
const v8TransferBuilder_1 = require("./v8TransferBuilder");
|
|
26
|
+
const v8HexTransferBuilder_1 = require("./v8HexTransferBuilder");
|
|
27
|
+
const v8RegisterDidWithCDDBuilder_1 = require("./v8RegisterDidWithCDDBuilder");
|
|
28
|
+
const v8RegisterDidBuilder_1 = require("./v8RegisterDidBuilder");
|
|
29
|
+
const v8TokenTransferBuilder_1 = require("./v8TokenTransferBuilder");
|
|
30
|
+
const v8HexTokenTransferBuilder_1 = require("./v8HexTokenTransferBuilder");
|
|
31
|
+
const v8PreApproveAssetBuilder_1 = require("./v8PreApproveAssetBuilder");
|
|
32
|
+
const v8BatchStakingBuilder_1 = require("./v8BatchStakingBuilder");
|
|
33
|
+
const v8BondExtraBuilder_1 = require("./v8BondExtraBuilder");
|
|
34
|
+
const v8UnbondBuilder_1 = require("./v8UnbondBuilder");
|
|
35
|
+
const v8BatchUnstakingBuilder_1 = require("./v8BatchUnstakingBuilder");
|
|
36
|
+
const v8WithdrawUnbondedBuilder_1 = require("./v8WithdrawUnbondedBuilder");
|
|
37
|
+
const v8NominateBuilder_1 = require("./v8NominateBuilder");
|
|
13
38
|
class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory {
|
|
14
39
|
constructor(_coinConfig) {
|
|
15
40
|
super(_coinConfig);
|
|
@@ -18,9 +43,81 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
|
|
|
18
43
|
getTransferBuilder() {
|
|
19
44
|
return new transferBuilder_1.TransferBuilder(this._coinConfig).material(this._material);
|
|
20
45
|
}
|
|
46
|
+
getHexTransferBuilder() {
|
|
47
|
+
return new hexTransferBuilder_1.HexTransferBuilder(this._coinConfig).material(this._material);
|
|
48
|
+
}
|
|
21
49
|
getRegisterDidWithCDDBuilder() {
|
|
22
50
|
return new registerDidWithCDDBuilder_1.RegisterDidWithCDDBuilder(this._coinConfig).material(this._material);
|
|
23
51
|
}
|
|
52
|
+
getPreApproveAssetBuilder() {
|
|
53
|
+
return new preApproveAssetBuilder_1.PreApproveAssetBuilder(this._coinConfig).material(this._material);
|
|
54
|
+
}
|
|
55
|
+
getTokenTransferBuilder() {
|
|
56
|
+
return new tokenTransferBuilder_1.TokenTransferBuilder(this._coinConfig).material(this._material);
|
|
57
|
+
}
|
|
58
|
+
getHexTokenTransferBuilder() {
|
|
59
|
+
return new hexTokenTransferBuilder_1.HexTokenTransferBuilder(this._coinConfig).material(this._material);
|
|
60
|
+
}
|
|
61
|
+
getRejectInstructionBuilder() {
|
|
62
|
+
return new rejectInstructionBuilder_1.RejectInstructionBuilder(this._coinConfig).material(this._material);
|
|
63
|
+
}
|
|
64
|
+
getBondExtraBuilder() {
|
|
65
|
+
return new bondExtraBuilder_1.BondExtraBuilder(this._coinConfig).material(this._material);
|
|
66
|
+
}
|
|
67
|
+
getBatchBuilder() {
|
|
68
|
+
return new batchStakingBuilder_1.BatchStakingBuilder(this._coinConfig).material(this._material);
|
|
69
|
+
}
|
|
70
|
+
getBatchUnstakingBuilder() {
|
|
71
|
+
return new batchUnstakingBuilder_1.BatchUnstakingBuilder(this._coinConfig).material(this._material);
|
|
72
|
+
}
|
|
73
|
+
getUnbondBuilder() {
|
|
74
|
+
return new unbondBuilder_1.UnbondBuilder(this._coinConfig).material(this._material);
|
|
75
|
+
}
|
|
76
|
+
getWithdrawUnbondedBuilder() {
|
|
77
|
+
return new withdrawUnbondedBuilder_1.WithdrawUnbondedBuilder(this._coinConfig).material(this._material);
|
|
78
|
+
}
|
|
79
|
+
getNominateBuilder() {
|
|
80
|
+
return new nominateBuilder_1.NominateBuilder(this._coinConfig).material(this._material);
|
|
81
|
+
}
|
|
82
|
+
getV8TransferBuilder() {
|
|
83
|
+
return new v8TransferBuilder_1.V8TransferBuilder(this._coinConfig);
|
|
84
|
+
}
|
|
85
|
+
getV8HexTransferBuilder() {
|
|
86
|
+
return new v8HexTransferBuilder_1.V8HexTransferBuilder(this._coinConfig);
|
|
87
|
+
}
|
|
88
|
+
getV8RegisterDidWithCDDBuilder() {
|
|
89
|
+
return new v8RegisterDidWithCDDBuilder_1.V8RegisterDidWithCDDBuilder(this._coinConfig);
|
|
90
|
+
}
|
|
91
|
+
getV8RegisterDidBuilder() {
|
|
92
|
+
return new v8RegisterDidBuilder_1.V8RegisterDidBuilder(this._coinConfig);
|
|
93
|
+
}
|
|
94
|
+
getV8TokenTransferBuilder() {
|
|
95
|
+
return new v8TokenTransferBuilder_1.V8TokenTransferBuilder(this._coinConfig);
|
|
96
|
+
}
|
|
97
|
+
getV8HexTokenTransferBuilder() {
|
|
98
|
+
return new v8HexTokenTransferBuilder_1.V8HexTokenTransferBuilder(this._coinConfig);
|
|
99
|
+
}
|
|
100
|
+
getV8PreApproveAssetBuilder() {
|
|
101
|
+
return new v8PreApproveAssetBuilder_1.V8PreApproveAssetBuilder(this._coinConfig);
|
|
102
|
+
}
|
|
103
|
+
getV8BatchStakingBuilder() {
|
|
104
|
+
return new v8BatchStakingBuilder_1.V8BatchStakingBuilder(this._coinConfig);
|
|
105
|
+
}
|
|
106
|
+
getV8BondExtraBuilder() {
|
|
107
|
+
return new v8BondExtraBuilder_1.V8BondExtraBuilder(this._coinConfig);
|
|
108
|
+
}
|
|
109
|
+
getV8UnbondBuilder() {
|
|
110
|
+
return new v8UnbondBuilder_1.V8UnbondBuilder(this._coinConfig);
|
|
111
|
+
}
|
|
112
|
+
getV8BatchUnstakingBuilder() {
|
|
113
|
+
return new v8BatchUnstakingBuilder_1.V8BatchUnstakingBuilder(this._coinConfig);
|
|
114
|
+
}
|
|
115
|
+
getV8WithdrawUnbondedBuilder() {
|
|
116
|
+
return new v8WithdrawUnbondedBuilder_1.V8WithdrawUnbondedBuilder(this._coinConfig);
|
|
117
|
+
}
|
|
118
|
+
getV8NominateBuilder() {
|
|
119
|
+
return new v8NominateBuilder_1.V8NominateBuilder(this._coinConfig);
|
|
120
|
+
}
|
|
24
121
|
getWalletInitializationBuilder() {
|
|
25
122
|
throw new sdk_core_1.NotImplementedError(`walletInitialization for ${this._coinConfig.name} not implemented`);
|
|
26
123
|
}
|
|
@@ -35,21 +132,204 @@ class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory
|
|
|
35
132
|
}
|
|
36
133
|
getBuilder(rawTxn) {
|
|
37
134
|
const registry = _1.SingletonRegistry.getInstance(this._material);
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
135
|
+
let decodedTxn;
|
|
136
|
+
try {
|
|
137
|
+
decodedTxn = (0, txwrapper_polkadot_1.decode)(rawTxn, {
|
|
138
|
+
metadataRpc: this._material.metadata,
|
|
139
|
+
registry: registry,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
catch (err) {
|
|
143
|
+
// v8-encoded transactions use different chain metadata and signed extensions, so they
|
|
144
|
+
// cannot be decoded with v7 material. Retry against v8 material and route to the matching
|
|
145
|
+
// v8 staking builder (e.g. batchAll([bond, nominate]) with the 2-arg v8 bond → no
|
|
146
|
+
// controller). Falls back to re-throwing the original v7 decode error if the transaction is
|
|
147
|
+
// not a recognized v8 staking transaction.
|
|
148
|
+
const v8Builder = this.tryGetV8Builder(rawTxn);
|
|
149
|
+
if (v8Builder) {
|
|
150
|
+
return v8Builder;
|
|
151
|
+
}
|
|
152
|
+
throw err;
|
|
153
|
+
}
|
|
42
154
|
const methodName = decodedTxn.method?.name;
|
|
43
155
|
if (methodName === _1.Interface.MethodNames.TransferWithMemo) {
|
|
156
|
+
const args = decodedTxn.method.args;
|
|
157
|
+
if (utils_1.default.isNewMemoEncoding(args.memo)) {
|
|
158
|
+
return this.getHexTransferBuilder();
|
|
159
|
+
}
|
|
44
160
|
return this.getTransferBuilder();
|
|
45
161
|
}
|
|
46
|
-
else if (methodName ===
|
|
162
|
+
else if (methodName === iface_1.MethodNames.RegisterDidWithCDD) {
|
|
47
163
|
return this.getRegisterDidWithCDDBuilder();
|
|
48
164
|
}
|
|
49
|
-
else {
|
|
50
|
-
|
|
165
|
+
else if (methodName === iface_1.MethodNames.PreApproveAsset) {
|
|
166
|
+
return this.getPreApproveAssetBuilder();
|
|
167
|
+
}
|
|
168
|
+
else if (methodName === iface_1.MethodNames.AddAndAffirmWithMediators) {
|
|
169
|
+
const args = decodedTxn.method.args;
|
|
170
|
+
// v8 wraps leg sender/receiver in an AssetHolder enum (`{ portfolio: { did, kind } }`)
|
|
171
|
+
// instead of the bare v7 `{ did, kind }`. The call index is unchanged between v7/v8, so
|
|
172
|
+
// decoding a v8-encoded payload with v7 metadata does not throw — it just silently drops
|
|
173
|
+
// `sender.did`. Detect that here and retry with v8 material instead of proceeding with a
|
|
174
|
+
// builder that will fail schema validation on the missing field.
|
|
175
|
+
if (!args.legs?.[0]?.fungible?.sender?.did) {
|
|
176
|
+
const v8Builder = this.tryGetV8Builder(rawTxn);
|
|
177
|
+
if (v8Builder) {
|
|
178
|
+
return v8Builder;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
if (utils_1.default.isNewMemoEncoding(args.instructionMemo)) {
|
|
182
|
+
return this.getHexTokenTransferBuilder();
|
|
183
|
+
}
|
|
184
|
+
return this.getTokenTransferBuilder();
|
|
185
|
+
}
|
|
186
|
+
else if (methodName === iface_1.MethodNames.RejectInstruction) {
|
|
187
|
+
return this.getRejectInstructionBuilder();
|
|
188
|
+
}
|
|
189
|
+
else if (methodName === 'bondExtra') {
|
|
190
|
+
return this.getBondExtraBuilder();
|
|
191
|
+
}
|
|
192
|
+
else if (methodName === 'batchAll') {
|
|
193
|
+
const args = decodedTxn.method.args;
|
|
194
|
+
if (args.calls && args.calls.length === 2) {
|
|
195
|
+
// Decode method names from the calls using utils.decodeMethodName
|
|
196
|
+
const firstCallMethod = utils_1.default.decodeMethodName(args.calls[0], registry);
|
|
197
|
+
const secondCallMethod = utils_1.default.decodeMethodName(args.calls[1], registry);
|
|
198
|
+
// Check for batch staking pattern: bond + nominate
|
|
199
|
+
if (firstCallMethod === 'bond' && secondCallMethod === 'nominate') {
|
|
200
|
+
// v8 dropped the controller leg of `staking.bond` (bond(controller, value, payee) →
|
|
201
|
+
// bond(value, payee)). When the transaction was decoded against v8 material the bond call
|
|
202
|
+
// carries no `controller`, so route it to the v8 batch staking builder — the v7
|
|
203
|
+
// BatchStakingBuilder would otherwise crash reading `args.controller.id`. This runs on the
|
|
204
|
+
// decode-success path because, unlike v8 transfers, v8 staking batchAll can decode without
|
|
205
|
+
// throwing, so tryGetV8Builder never fires. See SI-981.
|
|
206
|
+
const bondArgs = args.calls[0].args;
|
|
207
|
+
if (bondArgs.controller === undefined) {
|
|
208
|
+
// Forward the factory's material (set by the caller, e.g. wallet-platform's
|
|
209
|
+
// getSignedTx via `.material(liveMaterial).from(...)`). Unlike the v7 getters,
|
|
210
|
+
// getV8BatchStakingBuilder() does NOT forward this._material and would otherwise
|
|
211
|
+
// keep the builder's static getV8Material(). On the decode-success path this._material
|
|
212
|
+
// is the material that just decoded the tx, so it is the correct one to rebuild with —
|
|
213
|
+
// without this, a rebuild uses stale static specVersion and the signable no longer
|
|
214
|
+
// matches the HSM-signed bytes (InvalidSignature on combine). See SI-1034.
|
|
215
|
+
return this.getV8BatchStakingBuilder().material(this._material);
|
|
216
|
+
}
|
|
217
|
+
return this.getBatchBuilder();
|
|
218
|
+
}
|
|
219
|
+
// Check for batch unstaking pattern: chill + unbond
|
|
220
|
+
if (firstCallMethod === 'chill' && secondCallMethod === 'unbond') {
|
|
221
|
+
return this.getBatchUnstakingBuilder();
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
// Fall back to general batch builder for other batchAll cases
|
|
225
|
+
return this.getBatchBuilder();
|
|
226
|
+
}
|
|
227
|
+
else if (methodName === 'batch') {
|
|
228
|
+
return this.getBatchBuilder();
|
|
229
|
+
}
|
|
230
|
+
else if (methodName === 'bond') {
|
|
231
|
+
return this.getBatchBuilder();
|
|
232
|
+
}
|
|
233
|
+
else if (methodName === 'nominate') {
|
|
234
|
+
return this.getNominateBuilder();
|
|
235
|
+
}
|
|
236
|
+
else if (methodName === 'unbond') {
|
|
237
|
+
return this.getUnbondBuilder();
|
|
238
|
+
}
|
|
239
|
+
else if (methodName === 'withdrawUnbonded') {
|
|
240
|
+
return this.getWithdrawUnbondedBuilder();
|
|
241
|
+
}
|
|
242
|
+
throw new Error('Transaction cannot be parsed or has an unsupported transaction type');
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Attempt to decode a transaction against v8 chain metadata and return the matching v8 staking
|
|
246
|
+
* builder. Returns undefined when the transaction cannot be decoded with v8 material or is not a
|
|
247
|
+
* recognized v8 staking transaction, so the caller can surface the original v7 decode error.
|
|
248
|
+
*/
|
|
249
|
+
tryGetV8Builder(rawTxn) {
|
|
250
|
+
const v8Material = utils_1.default.getV8Material(this._coinConfig.network.type);
|
|
251
|
+
const registry = _1.SingletonRegistry.getInstance(v8Material);
|
|
252
|
+
let decodedTxn;
|
|
253
|
+
try {
|
|
254
|
+
decodedTxn = (0, txwrapper_polkadot_1.decode)(rawTxn, {
|
|
255
|
+
metadataRpc: v8Material.metadata,
|
|
256
|
+
registry: registry,
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
catch (e) {
|
|
260
|
+
return undefined;
|
|
261
|
+
}
|
|
262
|
+
const methodName = decodedTxn.method?.name;
|
|
263
|
+
// Build a merged material that keeps the v8 metadata/registry but overrides specVersion and
|
|
264
|
+
// txVersion with the values decoded from the actual transaction bytes. The static v8 material
|
|
265
|
+
// has a placeholder specVersion (8000000); the live chain may have a higher value (e.g.
|
|
266
|
+
// 8000020). `createBaseTxInfo()` reads specVersion and txVersion from `this._material`, so
|
|
267
|
+
// using the static placeholder causes the rebuilt signable payload to have wrong additional
|
|
268
|
+
// bytes — verifySignature then fails even though the TSS signature is valid. Taking the
|
|
269
|
+
// decoded values from the transaction itself (rather than forwarding `this._material`, which
|
|
270
|
+
// may be v7) ensures the rebuild always matches the bytes the HSM signed. See SI-1034 for the
|
|
271
|
+
// analogous fix in getV8BatchStakingBuilder.
|
|
272
|
+
// specVersion is present in signing payloads (unsigned) but NOT in signed extrinsics
|
|
273
|
+
// (decodeSignedTx doesn't return it). Fall back to the static v8 value for signed txes —
|
|
274
|
+
// the signing payload path (used by getSignedTx/verifySignature) always decodes specVersion.
|
|
275
|
+
const v8MaterialWithDecodedSpec = {
|
|
276
|
+
...v8Material,
|
|
277
|
+
specVersion: decodedTxn.specVersion ?? v8Material.specVersion,
|
|
278
|
+
txVersion: decodedTxn.transactionVersion ?? v8Material.txVersion,
|
|
279
|
+
};
|
|
280
|
+
if (methodName === _1.Interface.MethodNames.TransferWithMemo) {
|
|
281
|
+
const args = decodedTxn.method.args;
|
|
282
|
+
if (utils_1.default.isNewMemoEncoding(args.memo)) {
|
|
283
|
+
return this.getV8HexTransferBuilder().material(v8MaterialWithDecodedSpec);
|
|
284
|
+
}
|
|
285
|
+
return this.getV8TransferBuilder().material(v8MaterialWithDecodedSpec);
|
|
286
|
+
}
|
|
287
|
+
else if (methodName === iface_1.MethodNames.AddAndAffirmWithMediators) {
|
|
288
|
+
const args = decodedTxn.method.args;
|
|
289
|
+
if (utils_1.default.isNewMemoEncoding(args.instructionMemo)) {
|
|
290
|
+
return this.getV8HexTokenTransferBuilder().material(v8MaterialWithDecodedSpec);
|
|
291
|
+
}
|
|
292
|
+
return this.getV8TokenTransferBuilder().material(v8MaterialWithDecodedSpec);
|
|
293
|
+
}
|
|
294
|
+
else if (methodName === iface_1.MethodNames.RegisterDidWithCDD) {
|
|
295
|
+
return this.getV8RegisterDidWithCDDBuilder();
|
|
296
|
+
}
|
|
297
|
+
else if (methodName === iface_1.MethodNames.RegisterDid) {
|
|
298
|
+
return this.getV8RegisterDidBuilder();
|
|
299
|
+
}
|
|
300
|
+
else if (methodName === iface_1.MethodNames.PreApproveAsset) {
|
|
301
|
+
return this.getV8PreApproveAssetBuilder();
|
|
302
|
+
}
|
|
303
|
+
else if (methodName === 'batchAll') {
|
|
304
|
+
const args = decodedTxn.method.args;
|
|
305
|
+
if (args.calls && args.calls.length === 2) {
|
|
306
|
+
const firstCallMethod = utils_1.default.decodeMethodName(args.calls[0], registry);
|
|
307
|
+
const secondCallMethod = utils_1.default.decodeMethodName(args.calls[1], registry);
|
|
308
|
+
// v8 batch staking pattern: bond (2-arg, no controller) + nominate
|
|
309
|
+
if (firstCallMethod === 'bond' && secondCallMethod === 'nominate') {
|
|
310
|
+
return this.getV8BatchStakingBuilder();
|
|
311
|
+
}
|
|
312
|
+
// v8 batch unstaking pattern: chill + unbond
|
|
313
|
+
if (firstCallMethod === 'chill' && secondCallMethod === 'unbond') {
|
|
314
|
+
return this.getV8BatchUnstakingBuilder();
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
return this.getV8BatchStakingBuilder();
|
|
318
|
+
}
|
|
319
|
+
else if (methodName === 'bondExtra') {
|
|
320
|
+
return this.getV8BondExtraBuilder();
|
|
321
|
+
}
|
|
322
|
+
else if (methodName === 'nominate') {
|
|
323
|
+
return this.getV8NominateBuilder();
|
|
324
|
+
}
|
|
325
|
+
else if (methodName === 'unbond') {
|
|
326
|
+
return this.getV8UnbondBuilder();
|
|
327
|
+
}
|
|
328
|
+
else if (methodName === 'withdrawUnbonded') {
|
|
329
|
+
return this.getV8WithdrawUnbondedBuilder();
|
|
51
330
|
}
|
|
331
|
+
return undefined;
|
|
52
332
|
}
|
|
53
333
|
}
|
|
54
334
|
exports.TransactionBuilderFactory = TransactionBuilderFactory;
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBMEY7QUFFMUYsc0VBQXVEO0FBQ3ZELHVEQUFvRDtBQUNwRCwyRUFBd0U7QUFDeEUsb0RBQTRCO0FBQzVCLHlCQUFzRTtBQUV0RSxNQUFhLHlCQUEwQixTQUFRLHdDQUE2QjtJQUcxRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLGVBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxpQ0FBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCw0QkFBNEI7UUFDMUIsT0FBTyxJQUFJLHFEQUF5QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCw4QkFBOEI7UUFDNUIsTUFBTSxJQUFJLDhCQUFtQixDQUFDLDRCQUE0QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksa0JBQWtCLENBQUMsQ0FBQztJQUNyRyxDQUFDO0lBRUQsSUFBSSxDQUFDLE1BQWM7UUFDakIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsUUFBNEI7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sVUFBVSxDQUFDLE1BQWM7UUFDL0IsTUFBTSxRQUFRLEdBQUcsb0JBQWlCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvRCxNQUFNLFVBQVUsR0FBRyxJQUFBLDJCQUFNLEVBQUMsTUFBTSxFQUFFO1lBQ2hDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVE7WUFDcEMsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7UUFDM0MsSUFBSSxVQUFVLEtBQUssWUFBUyxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFELE9BQU8sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDbkMsQ0FBQzthQUFNLElBQUksVUFBVSxLQUFLLFlBQVMsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUNuRSxPQUFPLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBQzdDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxxRUFBcUUsQ0FBQyxDQUFDO1FBQ3pGLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUEvQ0QsOERBK0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksIE5vdEltcGxlbWVudGVkRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBkZWNvZGUgfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1wb2xrYWRvdCc7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBSZWdpc3RlckRpZFdpdGhDRERCdWlsZGVyIH0gZnJvbSAnLi9yZWdpc3RlckRpZFdpdGhDRERCdWlsZGVyJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEludGVyZmFjZSwgU2luZ2xldG9uUmVnaXN0cnksIFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gIHByb3RlY3RlZCBfbWF0ZXJpYWw6IEludGVyZmFjZS5NYXRlcmlhbDtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fbWF0ZXJpYWwgPSB1dGlscy5nZXRNYXRlcmlhbChfY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUpO1xuICB9XG5cbiAgZ2V0VHJhbnNmZXJCdWlsZGVyKCk6IFRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykubWF0ZXJpYWwodGhpcy5fbWF0ZXJpYWwpO1xuICB9XG5cbiAgZ2V0UmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlcigpOiBSZWdpc3RlckRpZFdpdGhDRERCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFJlZ2lzdGVyRGlkV2l0aENEREJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykubWF0ZXJpYWwodGhpcy5fbWF0ZXJpYWwpO1xuICB9XG5cbiAgZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKCk6IHZvaWQge1xuICAgIHRocm93IG5ldyBOb3RJbXBsZW1lbnRlZEVycm9yKGB3YWxsZXRJbml0aWFsaXphdGlvbiBmb3IgJHt0aGlzLl9jb2luQ29uZmlnLm5hbWV9IG5vdCBpbXBsZW1lbnRlZGApO1xuICB9XG5cbiAgZnJvbShyYXdUeG46IHN0cmluZyk6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgY29uc3QgYnVpbGRlciA9IHRoaXMuZ2V0QnVpbGRlcihyYXdUeG4pO1xuICAgIGJ1aWxkZXIuZnJvbShyYXdUeG4pO1xuICAgIHJldHVybiBidWlsZGVyO1xuICB9XG5cbiAgbWF0ZXJpYWwobWF0ZXJpYWw6IEludGVyZmFjZS5NYXRlcmlhbCk6IHRoaXMge1xuICAgIHRoaXMuX21hdGVyaWFsID0gbWF0ZXJpYWw7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIGdldEJ1aWxkZXIocmF3VHhuOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICAgIGNvbnN0IHJlZ2lzdHJ5ID0gU2luZ2xldG9uUmVnaXN0cnkuZ2V0SW5zdGFuY2UodGhpcy5fbWF0ZXJpYWwpO1xuICAgIGNvbnN0IGRlY29kZWRUeG4gPSBkZWNvZGUocmF3VHhuLCB7XG4gICAgICBtZXRhZGF0YVJwYzogdGhpcy5fbWF0ZXJpYWwubWV0YWRhdGEsXG4gICAgICByZWdpc3RyeTogcmVnaXN0cnksXG4gICAgfSk7XG5cbiAgICBjb25zdCBtZXRob2ROYW1lID0gZGVjb2RlZFR4bi5tZXRob2Q/Lm5hbWU7XG4gICAgaWYgKG1ldGhvZE5hbWUgPT09IEludGVyZmFjZS5NZXRob2ROYW1lcy5UcmFuc2ZlcldpdGhNZW1vKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09IEludGVyZmFjZS5NZXRob2ROYW1lcy5SZWdpc3RlckRpZFdpdGhDREQpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFJlZ2lzdGVyRGlkV2l0aENEREJ1aWxkZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUcmFuc2FjdGlvbiBjYW5ub3QgYmUgcGFyc2VkIG9yIGhhcyBhbiB1bnN1cHBvcnRlZCB0cmFuc2FjdGlvbiB0eXBlJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
335
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBMEY7QUFFMUYsc0VBQXVEO0FBQ3ZELHVEQUFvRDtBQUNwRCw2REFBMEQ7QUFDMUQsMkVBQXdFO0FBQ3hFLHlEQUFzRDtBQUN0RCwrREFBNEQ7QUFDNUQsbUVBQWdFO0FBQ2hFLG1EQUFnRDtBQUNoRCx1RUFBb0U7QUFDcEUsb0RBQTRCO0FBQzVCLHlCQUFzRTtBQUN0RSxtQ0FNaUI7QUFHakIscUVBQWtFO0FBQ2xFLGlFQUE4RDtBQUM5RCx1RUFBb0U7QUFDcEUseUVBQXNFO0FBQ3RFLHVEQUFvRDtBQUNwRCwyREFBd0Q7QUFDeEQsaUVBQThEO0FBQzlELCtFQUE0RTtBQUM1RSxpRUFBOEQ7QUFDOUQscUVBQWtFO0FBQ2xFLDJFQUF3RTtBQUN4RSx5RUFBc0U7QUFDdEUsbUVBQWdFO0FBQ2hFLDZEQUEwRDtBQUMxRCx1REFBb0Q7QUFDcEQsdUVBQW9FO0FBQ3BFLDJFQUF3RTtBQUN4RSwyREFBd0Q7QUFJeEQsTUFBYSx5QkFBMEIsU0FBUSx3Q0FBNkI7SUFHMUUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxlQUFLLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksaUNBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE9BQU8sSUFBSSx1Q0FBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENB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LEVBQUUsQ0FBQztnQkFDM0MsQ0FBQztZQUNILENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ3pDLENBQUM7YUFBTSxJQUFJLFVBQVUsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUN0QyxPQUFPLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3RDLENBQUM7YUFBTSxJQUFJLFVBQVUsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ3JDLENBQUM7YUFBTSxJQUFJLFVBQVUsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNuQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ25DLENBQUM7YUFBTSxJQUFJLFVBQVUsS0FBSyxrQkFBa0IsRUFBRSxDQUFDO1lBQzdDLE9BQU8sSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDN0MsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQTNURCw4REEyVEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSwgTm90SW1wbGVtZW50ZWRFcnJvciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IGRlY29kZSB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLXBvbGthZG90JztcbmltcG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IEhleFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vaGV4VHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IFJlZ2lzdGVyRGlkV2l0aENEREJ1aWxkZXIgfSBmcm9tICcuL3JlZ2lzdGVyRGlkV2l0aENEREJ1aWxkZXInO1xuaW1wb3J0IHsgQm9uZEV4dHJhQnVpbGRlciB9IGZyb20gJy4vYm9uZEV4dHJhQnVpbGRlcic7XG5pbXBvcnQgeyBCYXRjaFN0YWtpbmdCdWlsZGVyIH0gZnJvbSAnLi9iYXRjaFN0YWtpbmdCdWlsZGVyJztcbmltcG9ydCB7IEJhdGNoVW5zdGFraW5nQnVpbGRlciB9IGZyb20gJy4vYmF0Y2hVbnN0YWtpbmdCdWlsZGVyJztcbmltcG9ydCB7IFVuYm9uZEJ1aWxkZXIgfSBmcm9tICcuL3VuYm9uZEJ1aWxkZXInO1xuaW1wb3J0IHsgV2l0aGRyYXdVbmJvbmRlZEJ1aWxkZXIgfSBmcm9tICcuL3dpdGhkcmF3VW5ib25kZWRCdWlsZGVyJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEludGVyZmFjZSwgU2luZ2xldG9uUmVnaXN0cnksIFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vJztcbmltcG9ydCB7XG4gIFR4TWV0aG9kLFxuICBCYXRjaENhbGxPYmplY3QsXG4gIE1ldGhvZE5hbWVzLFxuICBBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzQXJncyxcbiAgVjhBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzQXJncyxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiBhcyBCYXNlVHJhbnNhY3Rpb24gfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1zdWJzdHJhdGUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gYXMgUG9seXhUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgUHJlQXBwcm92ZUFzc2V0QnVpbGRlciB9IGZyb20gJy4vcHJlQXBwcm92ZUFzc2V0QnVpbGRlcic7XG5pbXBvcnQgeyBUb2tlblRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdG9rZW5UcmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgSGV4VG9rZW5UcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL2hleFRva2VuVHJhbnNmZXJCdWlsZGVyJztcbmltcG9ydCB7IFJlamVjdEluc3RydWN0aW9uQnVpbGRlciB9IGZyb20gJy4vcmVqZWN0SW5zdHJ1Y3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IE5vbWluYXRlQnVpbGRlciB9IGZyb20gJy4vbm9taW5hdGVCdWlsZGVyJztcbmltcG9ydCB7IFY4VHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi92OFRyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBWOEhleFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdjhIZXhUcmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgVjhSZWdpc3RlckRpZFdpdGhDRERCdWlsZGVyIH0gZnJvbSAnLi92OFJlZ2lzdGVyRGlkV2l0aENEREJ1aWxkZXInO1xuaW1wb3J0IHsgVjhSZWdpc3RlckRpZEJ1aWxkZXIgfSBmcm9tICcuL3Y4UmVnaXN0ZXJEaWRCdWlsZGVyJztcbmltcG9ydCB7IFY4VG9rZW5UcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3Y4VG9rZW5UcmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgVjhIZXhUb2tlblRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdjhIZXhUb2tlblRyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBWOFByZUFwcHJvdmVBc3NldEJ1aWxkZXIgfSBmcm9tICcuL3Y4UHJlQXBwcm92ZUFzc2V0QnVpbGRlcic7XG5pbXBvcnQgeyBWOEJhdGNoU3Rha2luZ0J1aWxkZXIgfSBmcm9tICcuL3Y4QmF0Y2hTdGFraW5nQnVpbGRlcic7XG5pbXBvcnQgeyBWOEJvbmRFeHRyYUJ1aWxkZXIgfSBmcm9tICcuL3Y4Qm9uZEV4dHJhQnVpbGRlcic7XG5pbXBvcnQgeyBWOFVuYm9uZEJ1aWxkZXIgfSBmcm9tICcuL3Y4VW5ib25kQnVpbGRlcic7XG5pbXBvcnQgeyBWOEJhdGNoVW5zdGFraW5nQnVpbGRlciB9IGZyb20gJy4vdjhCYXRjaFVuc3Rha2luZ0J1aWxkZXInO1xuaW1wb3J0IHsgVjhXaXRoZHJhd1VuYm9uZGVkQnVpbGRlciB9IGZyb20gJy4vdjhXaXRoZHJhd1VuYm9uZGVkQnVpbGRlcic7XG5pbXBvcnQgeyBWOE5vbWluYXRlQnVpbGRlciB9IGZyb20gJy4vdjhOb21pbmF0ZUJ1aWxkZXInO1xuXG5leHBvcnQgdHlwZSBTdXBwb3J0ZWRUcmFuc2FjdGlvbiA9IEJhc2VUcmFuc2FjdGlvbiB8IFBvbHl4VHJhbnNhY3Rpb247XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICBwcm90ZWN0ZWQgX21hdGVyaWFsOiBJbnRlcmZhY2UuTWF0ZXJpYWw7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX21hdGVyaWFsID0gdXRpbHMuZ2V0TWF0ZXJpYWwoX2NvaW5Db25maWcubmV0d29yay50eXBlKTtcbiAgfVxuXG4gIGdldFRyYW5zZmVyQnVpbGRlcigpOiBUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldEhleFRyYW5zZmVyQnVpbGRlcigpOiBIZXhUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgSGV4VHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldFJlZ2lzdGVyRGlkV2l0aENEREJ1aWxkZXIoKTogUmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBSZWdpc3RlckRpZFdpdGhDRERCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldFByZUFwcHJvdmVBc3NldEJ1aWxkZXIoKTogUHJlQXBwcm92ZUFzc2V0QnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBQcmVBcHByb3ZlQXNzZXRCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldFRva2VuVHJhbnNmZXJCdWlsZGVyKCk6IFRva2VuVHJhbnNmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFRva2VuVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldEhleFRva2VuVHJhbnNmZXJCdWlsZGVyKCk6IEhleFRva2VuVHJhbnNmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IEhleFRva2VuVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldFJlamVjdEluc3RydWN0aW9uQnVpbGRlcigpOiBSZWplY3RJbnN0cnVjdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgUmVqZWN0SW5zdHJ1Y3Rpb25CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldEJvbmRFeHRyYUJ1aWxkZXIoKTogQm9uZEV4dHJhQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBCb25kRXh0cmFCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldEJhdGNoQnVpbGRlcigpOiBCYXRjaFN0YWtpbmdCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IEJhdGNoU3Rha2luZ0J1aWxkZXIodGhpcy5fY29pbkNvbmZpZykubWF0ZXJpYWwodGhpcy5fbWF0ZXJpYWwpO1xuICB9XG5cbiAgZ2V0QmF0Y2hVbnN0YWtpbmdCdWlsZGVyKCk6IEJhdGNoVW5zdGFraW5nQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBCYXRjaFVuc3Rha2luZ0J1aWxkZXIodGhpcy5fY29pbkNvbmZpZykubWF0ZXJpYWwodGhpcy5fbWF0ZXJpYWwpO1xuICB9XG5cbiAgZ2V0VW5ib25kQnVpbGRlcigpOiBVbmJvbmRCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFVuYm9uZEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykubWF0ZXJpYWwodGhpcy5fbWF0ZXJpYWwpO1xuICB9XG5cbiAgZ2V0V2l0aGRyYXdVbmJvbmRlZEJ1aWxkZXIoKTogV2l0aGRyYXdVbmJvbmRlZEJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgV2l0aGRyYXdVbmJvbmRlZEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykubWF0ZXJpYWwodGhpcy5fbWF0ZXJpYWwpO1xuICB9XG5cbiAgZ2V0Tm9taW5hdGVCdWlsZGVyKCk6IE5vbWluYXRlQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBOb21pbmF0ZUJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykubWF0ZXJpYWwodGhpcy5fbWF0ZXJpYWwpO1xuICB9XG5cbiAgZ2V0VjhUcmFuc2ZlckJ1aWxkZXIoKTogVjhUcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVjhUcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZyk7XG4gIH1cblxuICBnZXRWOEhleFRyYW5zZmVyQnVpbGRlcigpOiBWOEhleFRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBWOEhleFRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGdldFY4UmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlcigpOiBWOFJlZ2lzdGVyRGlkV2l0aENEREJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVjhSZWdpc3RlckRpZFdpdGhDRERCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpO1xuICB9XG5cbiAgZ2V0VjhSZWdpc3RlckRpZEJ1aWxkZXIoKTogVjhSZWdpc3RlckRpZEJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVjhSZWdpc3RlckRpZEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZyk7XG4gIH1cblxuICBnZXRWOFRva2VuVHJhbnNmZXJCdWlsZGVyKCk6IFY4VG9rZW5UcmFuc2ZlckJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVjhUb2tlblRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGdldFY4SGV4VG9rZW5UcmFuc2ZlckJ1aWxkZXIoKTogVjhIZXhUb2tlblRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBWOEhleFRva2VuVHJhbnNmZXJCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpO1xuICB9XG5cbiAgZ2V0VjhQcmVBcHByb3ZlQXNzZXRCdWlsZGVyKCk6IFY4UHJlQXBwcm92ZUFzc2V0QnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBWOFByZUFwcHJvdmVBc3NldEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZyk7XG4gIH1cblxuICBnZXRWOEJhdGNoU3Rha2luZ0J1aWxkZXIoKTogVjhCYXRjaFN0YWtpbmdCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFY4QmF0Y2hTdGFraW5nQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGdldFY4Qm9uZEV4dHJhQnVpbGRlcigpOiBWOEJvbmRFeHRyYUJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVjhCb25kRXh0cmFCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpO1xuICB9XG5cbiAgZ2V0VjhVbmJvbmRCdWlsZGVyKCk6IFY4VW5ib25kQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBWOFVuYm9uZEJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZyk7XG4gIH1cblxuICBnZXRWOEJhdGNoVW5zdGFraW5nQnVpbGRlcigpOiBWOEJhdGNoVW5zdGFraW5nQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBWOEJhdGNoVW5zdGFraW5nQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGdldFY4V2l0aGRyYXdVbmJvbmRlZEJ1aWxkZXIoKTogVjhXaXRoZHJhd1VuYm9uZGVkQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBWOFdpdGhkcmF3VW5ib25kZWRCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpO1xuICB9XG5cbiAgZ2V0VjhOb21pbmF0ZUJ1aWxkZXIoKTogVjhOb21pbmF0ZUJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVjhOb21pbmF0ZUJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZyk7XG4gIH1cblxuICBnZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIoKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IE5vdEltcGxlbWVudGVkRXJyb3IoYHdhbGxldEluaXRpYWxpemF0aW9uIGZvciAke3RoaXMuX2NvaW5Db25maWcubmFtZX0gbm90IGltcGxlbWVudGVkYCk7XG4gIH1cblxuICBmcm9tKHJhd1R4bjogc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyPFR4TWV0aG9kLCBTdXBwb3J0ZWRUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IGJ1aWxkZXIgPSB0aGlzLmdldEJ1aWxkZXIocmF3VHhuKTtcbiAgICBidWlsZGVyLmZyb20ocmF3VHhuKTtcbiAgICByZXR1cm4gYnVpbGRlcjtcbiAgfVxuXG4gIG1hdGVyaWFsKG1hdGVyaWFsOiBJbnRlcmZhY2UuTWF0ZXJpYWwpOiB0aGlzIHtcbiAgICB0aGlzLl9tYXRlcmlhbCA9IG1hdGVyaWFsO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCdWlsZGVyKHJhd1R4bjogc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyPFR4TWV0aG9kLCBTdXBwb3J0ZWRUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IHJlZ2lzdHJ5ID0gU2luZ2xldG9uUmVnaXN0cnkuZ2V0SW5zdGFuY2UodGhpcy5fbWF0ZXJpYWwpO1xuICAgIGxldCBkZWNvZGVkVHhuO1xuICAgIHRyeSB7XG4gICAgICBkZWNvZGVkVHhuID0gZGVjb2RlKHJhd1R4biwge1xuICAgICAgICBtZXRhZGF0YVJwYzogdGhpcy5fbWF0ZXJpYWwubWV0YWRhdGEsXG4gICAgICAgIHJlZ2lzdHJ5OiByZWdpc3RyeSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gdjgtZW5jb2RlZCB0cmFuc2FjdGlvbnMgdXNlIGRpZmZlcmVudCBjaGFpbiBtZXRhZGF0YSBhbmQgc2lnbmVkIGV4dGVuc2lvbnMsIHNvIHRoZXlcbiAgICAgIC8vIGNhbm5vdCBiZSBkZWNvZGVkIHdpdGggdjcgbWF0ZXJpYWwuIFJldHJ5IGFnYWluc3QgdjggbWF0ZXJpYWwgYW5kIHJvdXRlIHRvIHRoZSBtYXRjaGluZ1xuICAgICAgLy8gdjggc3Rha2luZyBidWlsZGVyIChlLmcuIGJhdGNoQWxsKFtib25kLCBub21pbmF0ZV0pIHdpdGggdGhlIDItYXJnIHY4IGJvbmQg4oaSIG5vXG4gICAgICAvLyBjb250cm9sbGVyKS4gRmFsbHMgYmFjayB0byByZS10aHJvd2luZyB0aGUgb3JpZ2luYWwgdjcgZGVjb2RlIGVycm9yIGlmIHRoZSB0cmFuc2FjdGlvbiBpc1xuICAgICAgLy8gbm90IGEgcmVjb2duaXplZCB2OCBzdGFraW5nIHRyYW5zYWN0aW9uLlxuICAgICAgY29uc3QgdjhCdWlsZGVyID0gdGhpcy50cnlHZXRWOEJ1aWxkZXIocmF3VHhuKTtcbiAgICAgIGlmICh2OEJ1aWxkZXIpIHtcbiAgICAgICAgcmV0dXJuIHY4QnVpbGRlcjtcbiAgICAgIH1cbiAgICAgIHRocm93IGVycjtcbiAgICB9XG5cbiAgICBjb25zdCBtZXRob2ROYW1lID0gZGVjb2RlZFR4bi5tZXRob2Q/Lm5hbWU7XG4gICAgaWYgKG1ldGhvZE5hbWUgPT09IEludGVyZmFjZS5NZXRob2ROYW1lcy5UcmFuc2ZlcldpdGhNZW1vKSB7XG4gICAgICBjb25zdCBhcmdzID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyBJbnRlcmZhY2UuVHJhbnNmZXJXaXRoTWVtb0FyZ3M7XG4gICAgICBpZiAodXRpbHMuaXNOZXdNZW1vRW5jb2RpbmcoYXJncy5tZW1vKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRIZXhUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zZmVyQnVpbGRlcigpO1xuICAgIH0gZWxzZSBpZiAobWV0aG9kTmFtZSA9PT0gTWV0aG9kTmFtZXMuUmVnaXN0ZXJEaWRXaXRoQ0REKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRSZWdpc3RlckRpZFdpdGhDRERCdWlsZGVyKCk7XG4gICAgfSBlbHNlIGlmIChtZXRob2ROYW1lID09PSBNZXRob2ROYW1lcy5QcmVBcHByb3ZlQXNzZXQpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFByZUFwcHJvdmVBc3NldEJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09IE1ldGhvZE5hbWVzLkFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnMpIHtcbiAgICAgIGNvbnN0IGFyZ3MgPSBkZWNvZGVkVHhuLm1ldGhvZC5hcmdzIGFzIEFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnNBcmdzO1xuICAgICAgLy8gdjggd3JhcHMgbGVnIHNlbmRlci9yZWNlaXZlciBpbiBhbiBBc3NldEhvbGRlciBlbnVtIChgeyBwb3J0Zm9saW86IHsgZGlkLCBraW5kIH0gfWApXG4gICAgICAvLyBpbnN0ZWFkIG9mIHRoZSBiYXJlIHY3IGB7IGRpZCwga2luZCB9YC4gVGhlIGNhbGwgaW5kZXggaXMgdW5jaGFuZ2VkIGJldHdlZW4gdjcvdjgsIHNvXG4gICAgICAvLyBkZWNvZGluZyBhIHY4LWVuY29kZWQgcGF5bG9hZCB3aXRoIHY3IG1ldGFkYXRhIGRvZXMgbm90IHRocm93IOKAlCBpdCBqdXN0IHNpbGVudGx5IGRyb3BzXG4gICAgICAvLyBgc2VuZGVyLmRpZGAuIERldGVjdCB0aGF0IGhlcmUgYW5kIHJldHJ5IHdpdGggdjggbWF0ZXJpYWwgaW5zdGVhZCBvZiBwcm9jZWVkaW5nIHdpdGggYVxuICAgICAgLy8gYnVpbGRlciB0aGF0IHdpbGwgZmFpbCBzY2hlbWEgdmFsaWRhdGlvbiBvbiB0aGUgbWlzc2luZyBmaWVsZC5cbiAgICAgIGlmICghYXJncy5sZWdzPy5bMF0/LmZ1bmdpYmxlPy5zZW5kZXI/LmRpZCkge1xuICAgICAgICBjb25zdCB2OEJ1aWxkZXIgPSB0aGlzLnRyeUdldFY4QnVpbGRlcihyYXdUeG4pO1xuICAgICAgICBpZiAodjhCdWlsZGVyKSB7XG4gICAgICAgICAgcmV0dXJuIHY4QnVpbGRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHV0aWxzLmlzTmV3TWVtb0VuY29kaW5nKGFyZ3MuaW5zdHJ1Y3Rpb25NZW1vKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRIZXhUb2tlblRyYW5zZmVyQnVpbGRlcigpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0VG9rZW5UcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09IE1ldGhvZE5hbWVzLlJlamVjdEluc3RydWN0aW9uKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRSZWplY3RJbnN0cnVjdGlvbkJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09ICdib25kRXh0cmEnKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRCb25kRXh0cmFCdWlsZGVyKCk7XG4gICAgfSBlbHNlIGlmIChtZXRob2ROYW1lID09PSAnYmF0Y2hBbGwnKSB7XG4gICAgICBjb25zdCBhcmdzID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyB7IGNhbGxzPzogQmF0Y2hDYWxsT2JqZWN0W10gfTtcblxuICAgICAgaWYgKGFyZ3MuY2FsbHMgJiYgYXJncy5jYWxscy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgLy8gRGVjb2RlIG1ldGhvZCBuYW1lcyBmcm9tIHRoZSBjYWxscyB1c2luZyB1dGlscy5kZWNvZGVNZXRob2ROYW1lXG4gICAgICAgIGNvbnN0IGZpcnN0Q2FsbE1ldGhvZCA9IHV0aWxzLmRlY29kZU1ldGhvZE5hbWUoYXJncy5jYWxsc1swXSwgcmVnaXN0cnkpO1xuICAgICAgICBjb25zdCBzZWNvbmRDYWxsTWV0aG9kID0gdXRpbHMuZGVjb2RlTWV0aG9kTmFtZShhcmdzLmNhbGxzWzFdLCByZWdpc3RyeSk7XG5cbiAgICAgICAgLy8gQ2hlY2sgZm9yIGJhdGNoIHN0YWtpbmcgcGF0dGVybjogYm9uZCArIG5vbWluYXRlXG4gICAgICAgIGlmIChmaXJzdENhbGxNZXRob2QgPT09ICdib25kJyAmJiBzZWNvbmRDYWxsTWV0aG9kID09PSAnbm9taW5hdGUnKSB7XG4gICAgICAgICAgLy8gdjggZHJvcHBlZCB0aGUgY29udHJvbGxlciBsZWcgb2YgYHN0YWtpbmcuYm9uZGAgKGJvbmQoY29udHJvbGxlciwgdmFsdWUsIHBheWVlKSDihpJcbiAgICAgICAgICAvLyBib25kKHZhbHVlLCBwYXllZSkpLiBXaGVuIHRoZSB0cmFuc2FjdGlvbiB3YXMgZGVjb2RlZCBhZ2FpbnN0IHY4IG1hdGVyaWFsIHRoZSBib25kIGNhbGxcbiAgICAgICAgICAvLyBjYXJyaWVzIG5vIGBjb250cm9sbGVyYCwgc28gcm91dGUgaXQgdG8gdGhlIHY4IGJhdGNoIHN0YWtpbmcgYnVpbGRlciDigJQgdGhlIHY3XG4gICAgICAgICAgLy8gQmF0Y2hTdGFraW5nQnVpbGRlciB3b3VsZCBvdGhlcndpc2UgY3Jhc2ggcmVhZGluZyBgYXJncy5jb250cm9sbGVyLmlkYC4gVGhpcyBydW5zIG9uIHRoZVxuICAgICAgICAgIC8vIGRlY29kZS1zdWNjZXNzIHBhdGggYmVjYXVzZSwgdW5saWtlIHY4IHRyYW5zZmVycywgdjggc3Rha2luZyBiYXRjaEFsbCBjYW4gZGVjb2RlIHdpdGhvdXRcbiAgICAgICAgICAvLyB0aHJvd2luZywgc28gdHJ5R2V0VjhCdWlsZGVyIG5ldmVyIGZpcmVzLiBTZWUgU0ktOTgxLlxuICAgICAgICAgIGNvbnN0IGJvbmRBcmdzID0gYXJncy5jYWxsc1swXS5hcmdzIGFzIHsgY29udHJvbGxlcj86IHVua25vd24gfTtcbiAgICAgICAgICBpZiAoYm9uZEFyZ3MuY29udHJvbGxlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAvLyBGb3J3YXJkIHRoZSBmYWN0b3J5J3MgbWF0ZXJpYWwgKHNldCBieSB0aGUgY2FsbGVyLCBlLmcuIHdhbGxldC1wbGF0Zm9ybSdzXG4gICAgICAgICAgICAvLyBnZXRTaWduZWRUeCB2aWEgYC5tYXRlcmlhbChsaXZlTWF0ZXJpYWwpLmZyb20oLi4uKWApLiBVbmxpa2UgdGhlIHY3IGdldHRlcnMsXG4gICAgICAgICAgICAvLyBnZXRWOEJhdGNoU3Rha2luZ0J1aWxkZXIoKSBkb2VzIE5PVCBmb3J3YXJkIHRoaXMuX21hdGVyaWFsIGFuZCB3b3VsZCBvdGhlcndpc2VcbiAgICAgICAgICAgIC8vIGtlZXAgdGhlIGJ1aWxkZXIncyBzdGF0aWMgZ2V0VjhNYXRlcmlhbCgpLiBPbiB0aGUgZGVjb2RlLXN1Y2Nlc3MgcGF0aCB0aGlzLl9tYXRlcmlhbFxuICAgICAgICAgICAgLy8gaXMgdGhlIG1hdGVyaWFsIHRoYXQganVzdCBkZWNvZGVkIHRoZSB0eCwgc28gaXQgaXMgdGhlIGNvcnJlY3Qgb25lIHRvIHJlYnVpbGQgd2l0aCDigJRcbiAgICAgICAgICAgIC8vIHdpdGhvdXQgdGhpcywgYSByZWJ1aWxkIHVzZXMgc3RhbGUgc3RhdGljIHNwZWNWZXJzaW9uIGFuZCB0aGUgc2lnbmFibGUgbm8gbG9uZ2VyXG4gICAgICAgICAgICAvLyBtYXRjaGVzIHRoZSBIU00tc2lnbmVkIGJ5dGVzIChJbnZhbGlkU2lnbmF0dXJlIG9uIGNvbWJpbmUpLiBTZWUgU0ktMTAzNC5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFY4QmF0Y2hTdGFraW5nQnVpbGRlcigpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QmF0Y2hCdWlsZGVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQ2hlY2sgZm9yIGJhdGNoIHVuc3Rha2luZyBwYXR0ZXJuOiBjaGlsbCArIHVuYm9uZFxuICAgICAgICBpZiAoZmlyc3RDYWxsTWV0aG9kID09PSAnY2hpbGwnICYmIHNlY29uZENhbGxNZXRob2QgPT09ICd1bmJvbmQnKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QmF0Y2hVbnN0YWtpbmdCdWlsZGVyKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIEZhbGwgYmFjayB0byBnZW5lcmFsIGJhdGNoIGJ1aWxkZXIgZm9yIG90aGVyIGJhdGNoQWxsIGNhc2VzXG4gICAgICByZXR1cm4gdGhpcy5nZXRCYXRjaEJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09ICdiYXRjaCcpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldEJhdGNoQnVpbGRlcigpO1xuICAgIH0gZWxzZSBpZiAobWV0aG9kTmFtZSA9PT0gJ2JvbmQnKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRCYXRjaEJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09ICdub21pbmF0ZScpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldE5vbWluYXRlQnVpbGRlcigpO1xuICAgIH0gZWxzZSBpZiAobWV0aG9kTmFtZSA9PT0gJ3VuYm9uZCcpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFVuYm9uZEJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09ICd3aXRoZHJhd1VuYm9uZGVkJykge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0V2l0aGRyYXdVbmJvbmRlZEJ1aWxkZXIoKTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RyYW5zYWN0aW9uIGNhbm5vdCBiZSBwYXJzZWQgb3IgaGFzIGFuIHVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uIHR5cGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRlbXB0IHRvIGRlY29kZSBhIHRyYW5zYWN0aW9uIGFnYWluc3QgdjggY2hhaW4gbWV0YWRhdGEgYW5kIHJldHVybiB0aGUgbWF0Y2hpbmcgdjggc3Rha2luZ1xuICAgKiBidWlsZGVyLiBSZXR1cm5zIHVuZGVmaW5lZCB3aGVuIHRoZSB0cmFuc2FjdGlvbiBjYW5ub3QgYmUgZGVjb2RlZCB3aXRoIHY4IG1hdGVyaWFsIG9yIGlzIG5vdCBhXG4gICAqIHJlY29nbml6ZWQgdjggc3Rha2luZyB0cmFuc2FjdGlvbiwgc28gdGhlIGNhbGxlciBjYW4gc3VyZmFjZSB0aGUgb3JpZ2luYWwgdjcgZGVjb2RlIGVycm9yLlxuICAgKi9cbiAgcHJpdmF0ZSB0cnlHZXRWOEJ1aWxkZXIocmF3VHhuOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXI8VHhNZXRob2QsIFN1cHBvcnRlZFRyYW5zYWN0aW9uPiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdjhNYXRlcmlhbCA9IHV0aWxzLmdldFY4TWF0ZXJpYWwodGhpcy5fY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUpO1xuICAgIGNvbnN0IHJlZ2lzdHJ5ID0gU2luZ2xldG9uUmVnaXN0cnkuZ2V0SW5zdGFuY2UodjhNYXRlcmlhbCk7XG4gICAgbGV0IGRlY29kZWRUeG47XG4gICAgdHJ5IHtcbiAgICAgIGRlY29kZWRUeG4gPSBkZWNvZGUocmF3VHhuLCB7XG4gICAgICAgIG1ldGFkYXRhUnBjOiB2OE1hdGVyaWFsLm1ldGFkYXRhLFxuICAgICAgICByZWdpc3RyeTogcmVnaXN0cnksXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSBkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZTtcbiAgICAvLyBCdWlsZCBhIG1lcmdlZCBtYXRlcmlhbCB0aGF0IGtlZXBzIHRoZSB2OCBtZXRhZGF0YS9yZWdpc3RyeSBidXQgb3ZlcnJpZGVzIHNwZWNWZXJzaW9uIGFuZFxuICAgIC8vIHR4VmVyc2lvbiB3aXRoIHRoZSB2YWx1ZXMgZGVjb2RlZCBmcm9tIHRoZSBhY3R1YWwgdHJhbnNhY3Rpb24gYnl0ZXMuIFRoZSBzdGF0aWMgdjggbWF0ZXJpYWxcbiAgICAvLyBoYXMgYSBwbGFjZWhvbGRlciBzcGVjVmVyc2lvbiAoODAwMDAwMCk7IHRoZSBsaXZlIGNoYWluIG1heSBoYXZlIGEgaGlnaGVyIHZhbHVlIChlLmcuXG4gICAgLy8gODAwMDAyMCkuIGBjcmVhdGVCYXNlVHhJbmZvKClgIHJlYWRzIHNwZWNWZXJzaW9uIGFuZCB0eFZlcnNpb24gZnJvbSBgdGhpcy5fbWF0ZXJpYWxgLCBzb1xuICAgIC8vIHVzaW5nIHRoZSBzdGF0aWMgcGxhY2Vob2xkZXIgY2F1c2VzIHRoZSByZWJ1aWx0IHNpZ25hYmxlIHBheWxvYWQgdG8gaGF2ZSB3cm9uZyBhZGRpdGlvbmFsXG4gICAgLy8gYnl0ZXMg4oCUIHZlcmlmeVNpZ25hdHVyZSB0aGVuIGZhaWxzIGV2ZW4gdGhvdWdoIHRoZSBUU1Mgc2lnbmF0dXJlIGlzIHZhbGlkLiBUYWtpbmcgdGhlXG4gICAgLy8gZGVjb2RlZCB2YWx1ZXMgZnJvbSB0aGUgdHJhbnNhY3Rpb24gaXRzZWxmIChyYXRoZXIgdGhhbiBmb3J3YXJkaW5nIGB0aGlzLl9tYXRlcmlhbGAsIHdoaWNoXG4gICAgLy8gbWF5IGJlIHY3KSBlbnN1cmVzIHRoZSByZWJ1aWxkIGFsd2F5cyBtYXRjaGVzIHRoZSBieXRlcyB0aGUgSFNNIHNpZ25lZC4gU2VlIFNJLTEwMzQgZm9yIHRoZVxuICAgIC8vIGFuYWxvZ291cyBmaXggaW4gZ2V0VjhCYXRjaFN0YWtpbmdCdWlsZGVyLlxuICAgIC8vIHNwZWNWZXJzaW9uIGlzIHByZXNlbnQgaW4gc2lnbmluZyBwYXlsb2FkcyAodW5zaWduZWQpIGJ1dCBOT1QgaW4gc2lnbmVkIGV4dHJpbnNpY3NcbiAgICAvLyAoZGVjb2RlU2lnbmVkVHggZG9lc24ndCByZXR1cm4gaXQpLiBGYWxsIGJhY2sgdG8gdGhlIHN0YXRpYyB2OCB2YWx1ZSBmb3Igc2lnbmVkIHR4ZXMg4oCUXG4gICAgLy8gdGhlIHNpZ25pbmcgcGF5bG9hZCBwYXRoICh1c2VkIGJ5IGdldFNpZ25lZFR4L3ZlcmlmeVNpZ25hdHVyZSkgYWx3YXlzIGRlY29kZXMgc3BlY1ZlcnNpb24uXG4gICAgY29uc3QgdjhNYXRlcmlhbFdpdGhEZWNvZGVkU3BlYyA9IHtcbiAgICAgIC4uLnY4TWF0ZXJpYWwsXG4gICAgICBzcGVjVmVyc2lvbjogZGVjb2RlZFR4bi5zcGVjVmVyc2lvbiA/PyB2OE1hdGVyaWFsLnNwZWNWZXJzaW9uLFxuICAgICAgdHhWZXJzaW9uOiBkZWNvZGVkVHhuLnRyYW5zYWN0aW9uVmVyc2lvbiA/PyB2OE1hdGVyaWFsLnR4VmVyc2lvbixcbiAgICB9IGFzIEludGVyZmFjZS5NYXRlcmlhbDtcblxuICAgIGlmIChtZXRob2ROYW1lID09PSBJbnRlcmZhY2UuTWV0aG9kTmFtZXMuVHJhbnNmZXJXaXRoTWVtbykge1xuICAgICAgY29uc3QgYXJncyA9IGRlY29kZWRUeG4ubWV0aG9kLmFyZ3MgYXMgSW50ZXJmYWNlLlRyYW5zZmVyV2l0aE1lbW9BcmdzO1xuICAgICAgaWYgKHV0aWxzLmlzTmV3TWVtb0VuY29kaW5nKGFyZ3MubWVtbykpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VjhIZXhUcmFuc2ZlckJ1aWxkZXIoKS5tYXRlcmlhbCh2OE1hdGVyaWFsV2l0aERlY29kZWRTcGVjKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmdldFY4VHJhbnNmZXJCdWlsZGVyKCkubWF0ZXJpYWwodjhNYXRlcmlhbFdpdGhEZWNvZGVkU3BlYyk7XG4gICAgfSBlbHNlIGlmIChtZXRob2ROYW1lID09PSBNZXRob2ROYW1lcy5BZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzKSB7XG4gICAgICBjb25zdCBhcmdzID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyBBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzQXJncyB8IFY4QWRkQW5kQWZmaXJtV2l0aE1lZGlhdG9yc0FyZ3M7XG4gICAgICBpZiAodXRpbHMuaXNOZXdNZW1vRW5jb2RpbmcoYXJncy5pbnN0cnVjdGlvbk1lbW8pKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFY4SGV4VG9rZW5UcmFuc2ZlckJ1aWxkZXIoKS5tYXRlcmlhbCh2OE1hdGVyaWFsV2l0aERlY29kZWRTcGVjKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmdldFY4VG9rZW5UcmFuc2ZlckJ1aWxkZXIoKS5tYXRlcmlhbCh2OE1hdGVyaWFsV2l0aERlY29kZWRTcGVjKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09IE1ldGhvZE5hbWVzLlJlZ2lzdGVyRGlkV2l0aENERCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VjhSZWdpc3RlckRpZFdpdGhDRERCdWlsZGVyKCk7XG4gICAgfSBlbHNlIGlmIChtZXRob2ROYW1lID09PSBNZXRob2ROYW1lcy5SZWdpc3RlckRpZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VjhSZWdpc3RlckRpZEJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09IE1ldGhvZE5hbWVzLlByZUFwcHJvdmVBc3NldCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VjhQcmVBcHByb3ZlQXNzZXRCdWlsZGVyKCk7XG4gICAgfSBlbHNlIGlmIChtZXRob2ROYW1lID09PSAnYmF0Y2hBbGwnKSB7XG4gICAgICBjb25zdCBhcmdzID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyB7IGNhbGxzPzogQmF0Y2hDYWxsT2JqZWN0W10gfTtcblxuICAgICAgaWYgKGFyZ3MuY2FsbHMgJiYgYXJncy5jYWxscy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgY29uc3QgZmlyc3RDYWxsTWV0aG9kID0gdXRpbHMuZGVjb2RlTWV0aG9kTmFtZShhcmdzLmNhbGxzWzBdLCByZWdpc3RyeSk7XG4gICAgICAgIGNvbnN0IHNlY29uZENhbGxNZXRob2QgPSB1dGlscy5kZWNvZGVNZXRob2ROYW1lKGFyZ3MuY2FsbHNbMV0sIHJlZ2lzdHJ5KTtcblxuICAgICAgICAvLyB2OCBiYXRjaCBzdGFraW5nIHBhdHRlcm46IGJvbmQgKDItYXJnLCBubyBjb250cm9sbGVyKSArIG5vbWluYXRlXG4gICAgICAgIGlmIChmaXJzdENhbGxNZXRob2QgPT09ICdib25kJyAmJiBzZWNvbmRDYWxsTWV0aG9kID09PSAnbm9taW5hdGUnKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VjhCYXRjaFN0YWtpbmdCdWlsZGVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gdjggYmF0Y2ggdW5zdGFraW5nIHBhdHRlcm46IGNoaWxsICsgdW5ib25kXG4gICAgICAgIGlmIChmaXJzdENhbGxNZXRob2QgPT09ICdjaGlsbCcgJiYgc2Vjb25kQ2FsbE1ldGhvZCA9PT0gJ3VuYm9uZCcpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRWOEJhdGNoVW5zdGFraW5nQnVpbGRlcigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5nZXRWOEJhdGNoU3Rha2luZ0J1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09ICdib25kRXh0cmEnKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRWOEJvbmRFeHRyYUJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09ICdub21pbmF0ZScpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFY4Tm9taW5hdGVCdWlsZGVyKCk7XG4gICAgfSBlbHNlIGlmIChtZXRob2ROYW1lID09PSAndW5ib25kJykge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VjhVbmJvbmRCdWlsZGVyKCk7XG4gICAgfSBlbHNlIGlmIChtZXRob2ROYW1lID09PSAnd2l0aGRyYXdVbmJvbmRlZCcpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFY4V2l0aGRyYXdVbmJvbmRlZEJ1aWxkZXIoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Transaction } from './transaction';
|
|
2
|
+
import { TxMethod } from './iface';
|
|
3
|
+
import { PolyxBaseBuilder } from './baseBuilder';
|
|
2
4
|
import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
|
|
3
5
|
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
4
6
|
import { BaseAddress, TransactionType } from '@bitgo-beta/sdk-core';
|
|
5
|
-
export declare class TransferBuilder extends
|
|
7
|
+
export declare class TransferBuilder extends PolyxBaseBuilder<TxMethod, Transaction> {
|
|
6
8
|
protected _amount: string;
|
|
7
9
|
protected _to: string;
|
|
8
10
|
protected _memo: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,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,WAAW,EAA2B,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAM7F,qBAAa,eAAgB,SAAQ,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC1E,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEZ,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;OAIG;IACH,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAYjD;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM5B;;;;;;OAMG;IACH,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,IAAI;IAMlC;;;;;;OAMG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMxB,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IAc9G,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAmBjE;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;CAgBzB"}
|
|
@@ -6,10 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.TransferBuilder = void 0;
|
|
7
7
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
8
|
const abstract_substrate_1 = require("@bitgo-beta/abstract-substrate");
|
|
9
|
+
const baseBuilder_1 = require("./baseBuilder");
|
|
9
10
|
const txwrapper_core_1 = require("@substrate/txwrapper-core");
|
|
10
11
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
11
12
|
const utils_1 = __importDefault(require("./utils"));
|
|
12
|
-
|
|
13
|
+
// [CLEANUP-V8-OLD] v7 balances.transferWithMemo builder (call index 0x0501). Kept for Flipt
|
|
14
|
+
// rollback alongside V8TransferBuilder (v8 metadata; call index 0x0528).
|
|
15
|
+
class TransferBuilder extends baseBuilder_1.PolyxBaseBuilder {
|
|
13
16
|
constructor(_coinConfig) {
|
|
14
17
|
super(_coinConfig);
|
|
15
18
|
this.material(utils_1.default.getMaterial(_coinConfig.network.type));
|
|
@@ -73,7 +76,6 @@ class TransferBuilder extends abstract_substrate_1.TransactionBuilder {
|
|
|
73
76
|
const amount = `${txMethod.value}`;
|
|
74
77
|
const to = txMethod.dest.id;
|
|
75
78
|
const memo = txMethod.memo;
|
|
76
|
-
console.log(`Validating TransferWithMemo transaction: amount=${amount}, to=${to}, memo=${memo}`);
|
|
77
79
|
const validationResult = abstract_substrate_1.Schema.TransferWithMemoTransactionSchema.validate({ amount, to, memo });
|
|
78
80
|
if (validationResult.error) {
|
|
79
81
|
throw new sdk_core_1.InvalidTransactionError(`Invalid transaction: ${validationResult.error.message}`);
|
|
@@ -83,14 +85,19 @@ class TransferBuilder extends abstract_substrate_1.TransactionBuilder {
|
|
|
83
85
|
/** @inheritdoc */
|
|
84
86
|
fromImplementation(rawTransaction) {
|
|
85
87
|
const tx = super.fromImplementation(rawTransaction);
|
|
88
|
+
if (!this._method || !this._method.args) {
|
|
89
|
+
throw new sdk_core_1.InvalidTransactionError('Transaction method or args are undefined');
|
|
90
|
+
}
|
|
86
91
|
if (this._method?.name === abstract_substrate_1.Interface.MethodNames.TransferWithMemo) {
|
|
87
92
|
const txMethod = this._method.args;
|
|
88
93
|
this.amount(txMethod.value);
|
|
89
|
-
this.to({
|
|
94
|
+
this.to({
|
|
95
|
+
address: utils_1.default.decodeSubstrateAddress(txMethod.dest.id, utils_1.default.getAddressFormat(this._coinConfig.name)),
|
|
96
|
+
});
|
|
90
97
|
this.memo(txMethod.memo);
|
|
91
98
|
}
|
|
92
99
|
else {
|
|
93
|
-
throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${this._method
|
|
100
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${this._method.name}. Expected transferWithMemo`);
|
|
94
101
|
}
|
|
95
102
|
return tx;
|
|
96
103
|
}
|
|
@@ -113,4 +120,4 @@ class TransferBuilder extends abstract_substrate_1.TransactionBuilder {
|
|
|
113
120
|
}
|
|
114
121
|
}
|
|
115
122
|
exports.TransferBuilder = TransferBuilder;
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0VBQXFDO0FBRXJDLHVFQUFvRztBQUNwRyw4REFBc0g7QUFFdEgsbURBQTZGO0FBRTdGLG9EQUE0QjtBQUU1QixNQUFhLGVBQWdCLFNBQVEsdUNBQWtCO0lBS3JELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBSyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ08sZ0JBQWdCO1FBQ3hCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzNDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUMxQjtZQUNFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3RCLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTztZQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDakIsRUFDRCxVQUFVLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsTUFBYztRQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksc0JBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBZTtRQUN6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YmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5cbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciwgVHJhbnNhY3Rpb24sIEludGVyZmFjZSwgU2NoZW1hIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3Qtc3Vic3RyYXRlJztcbmltcG9ydCB7IERlY29kZWRTaWduZWRUeCwgRGVjb2RlZFNpZ25pbmdQYXlsb2FkLCBkZWZpbmVNZXRob2QsIFVuc2lnbmVkVHJhbnNhY3Rpb24gfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJhc2VBZGRyZXNzLCBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuXG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX2Ftb3VudDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3RvOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfbWVtbzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLm1hdGVyaWFsKHV0aWxzLmdldE1hdGVyaWFsKF9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlNlbmQ7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0IGFuIHVuc2lnbmVkIGB0cmFuc2ZlcldpdGhNZW1vYCB0cmFuc2FjdGlvbiB1c2luZyB0aGUgcHJvdmlkZWQgZGV0YWlscy5cbiAgICpcbiAgICogQHJldHVybnMge1Vuc2lnbmVkVHJhbnNhY3Rpb259IFRoZSBjb25zdHJ1Y3RlZCB1bnNpZ25lZCB0cmFuc2ZlcldpdGhNZW1vIHRyYW5zYWN0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuICAgIHJldHVybiB0aGlzLlRyYW5zZmVyV2l0aE1lbW8oXG4gICAgICB7XG4gICAgICAgIGRlc3Q6IHsgaWQ6IHRoaXMuX3RvIH0sXG4gICAgICAgIHZhbHVlOiB0aGlzLl9hbW91bnQsXG4gICAgICAgIG1lbW86IHRoaXMuX21lbW8sXG4gICAgICB9LFxuICAgICAgYmFzZVR4SW5mb1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogVGhlIGFtb3VudCBmb3IgdHJhbnNmZXIgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhbW91bnRcbiAgICogQHJldHVybnMge1RyYW5zZmVyQnVpbGRlcn0gVGhpcyB0cmFuc2ZlciBidWlsZGVyLlxuICAgKi9cbiAgYW1vdW50KGFtb3VudDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZVZhbHVlKG5ldyBCaWdOdW1iZXIoYW1vdW50KSk7XG4gICAgdGhpcy5fYW1vdW50ID0gYW1vdW50O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIFRoZSBkZXN0aW5hdGlvbiBhZGRyZXNzIGZvciB0cmFuc2ZlciB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRlc3RcbiAgICogQHJldHVybnMge1RyYW5zZmVyQnVpbGRlcn0gVGhpcyB0cmFuc2ZlciBidWlsZGVyLlxuICAgKi9cbiAgdG8oeyBhZGRyZXNzIH06IEJhc2VBZGRyZXNzKTogdGhpcyB7XG4gICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoeyBhZGRyZXNzIH0pO1xuICAgIHRoaXMuX3RvID0gYWRkcmVzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbWVtbyB0byBhdHRhY2ggdG8gdGhlIHRyYW5zZmVyIHRyYW5zYWN0aW9uLlxuICAgKiBQYWRzIHRoZSBtZW1vIG9uIHRoZSBsZWZ0IHdpdGggemVyb3MgdG8gZW5zdXJlIGl0IGlzIDMyIGNoYXJhY3RlcnMgbG9uZy5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1lbW8gVGhlIG1lbW8gc3RyaW5nIHRvIGluY2x1ZGUuXG4gICAqIEByZXR1cm5zIHtUcmFuc2ZlckJ1aWxkZXJ9IFRoaXMgdHJhbnNmZXIgYnVpbGRlci5cbiAgICovXG4gIG1lbW8obWVtbzogc3RyaW5nKTogdGhpcyB7XG4gICAgY29uc3QgcGFkZGVkTWVtbyA9IG1lbW8ucGFkU3RhcnQoMzIsICcwJyk7XG4gICAgdGhpcy5fbWVtbyA9IHBhZGRlZE1lbW87XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVEZWNvZGVkVHJhbnNhY3Rpb24oZGVjb2RlZFR4bjogRGVjb2RlZFNpZ25pbmdQYXlsb2FkIHwgRGVjb2RlZFNpZ25lZFR4LCByYXdUcmFuc2FjdGlvbj86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZSA9PT0gSW50ZXJmYWNlLk1ldGhvZE5hbWVzLlRyYW5zZmVyV2l0aE1lbW8pIHtcbiAgICAgIGNvbnN0IHR4TWV0aG9kID0gZGVjb2RlZFR4bi5tZXRob2QuYXJncyBhcyBJbnRlcmZhY2UuVHJhbnNmZXJXaXRoTWVtb0FyZ3M7XG4gICAgICBjb25zdCBhbW91bnQgPSBgJHt0eE1ldGhvZC52YWx1ZX1gO1xuICAgICAgY29uc3QgdG8gPSB0eE1ldGhvZC5kZXN0LmlkO1xuICAgICAgY29uc3QgbWVtbyA9IHR4TWV0aG9kLm1lbW87XG5cbiAgICAgIGNvbnNvbGUubG9nKGBWYWxpZGF0aW5nIFRyYW5zZmVyV2l0aE1lbW8gdHJhbnNhY3Rpb246IGFtb3VudD0ke2Ftb3VudH0sIHRvPSR7dG99LCBtZW1vPSR7bWVtb31gKTtcblxuICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IFNjaGVtYS5UcmFuc2ZlcldpdGhNZW1vVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoeyBhbW91bnQsIHRvLCBtZW1vIH0pO1xuICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAodGhpcy5fbWV0aG9kPy5uYW1lID09PSBJbnRlcmZhY2UuTWV0aG9kTmFtZXMuVHJhbnNmZXJXaXRoTWVtbykge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSB0aGlzLl9tZXRob2QuYXJncyBhcyBJbnRlcmZhY2UuVHJhbnNmZXJXaXRoTWVtb0FyZ3M7XG4gICAgICB0aGlzLmFtb3VudCh0eE1ldGhvZC52YWx1ZSk7XG4gICAgICB0aGlzLnRvKHsgYWRkcmVzczogdXRpbHMuZGVjb2RlU3Vic3RyYXRlQWRkcmVzcyh0eE1ldGhvZC5kZXN0LmlkLCB0aGlzLmdldEFkZHJlc3NGb3JtYXQoKSkgfSk7XG4gICAgICB0aGlzLm1lbW8odHhNZXRob2QubWVtbyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBUcmFuc2FjdGlvbiBUeXBlOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkIHRyYW5zZmVyV2l0aE1lbW9gKTtcbiAgICB9XG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdCBhIHRyYW5zYWN0aW9uIHRvIHRyYW5zZmVyIGZ1bmRzIHdpdGggYW4gYXR0YWNoZWQgbWVtby5cbiAgICpcbiAgICogQHBhcmFtIHtJbnRlcmZhY2UuVHJhbnNmZXJXaXRoTWVtb0FyZ3N9IGFyZ3MgQXJndW1lbnRzIHRvIGJlIHBhc3NlZCB0byB0aGUgdHJhbnNmZXJXaXRoTWVtbyBtZXRob2RcbiAgICogQHBhcmFtIHtJbnRlcmZhY2UuQ3JlYXRlQmFzZVR4SW5mb30gaW5mbyBCYXNlIHR4biBpbmZvIHJlcXVpcmVkIHRvIGNvbnN0cnVjdCB0aGUgdHJhbnNmZXIgdHJhbnNhY3Rpb25cbiAgICogQHJldHVybnMge1Vuc2lnbmVkVHJhbnNhY3Rpb259IEFuIHVuc2lnbmVkIHRyYW5zZmVyV2l0aE1lbW8gdHJhbnNhY3Rpb25cbiAgICovXG4gIHByaXZhdGUgVHJhbnNmZXJXaXRoTWVtbyhcbiAgICBhcmdzOiBJbnRlcmZhY2UuVHJhbnNmZXJXaXRoTWVtb0FyZ3MsXG4gICAgaW5mbzogSW50ZXJmYWNlLkNyZWF0ZUJhc2VUeEluZm9cbiAgKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIGRlZmluZU1ldGhvZChcbiAgICAgIHtcbiAgICAgICAgbWV0aG9kOiB7XG4gICAgICAgICAgYXJncyxcbiAgICAgICAgICBuYW1lOiAndHJhbnNmZXJXaXRoTWVtbycsXG4gICAgICAgICAgcGFsbGV0OiAnYmFsYW5jZXMnLFxuICAgICAgICB9LFxuICAgICAgICAuLi5pbmZvLmJhc2VUeEluZm8sXG4gICAgICB9LFxuICAgICAgaW5mby5vcHRpb25zXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0VBQXFDO0FBRXJDLHVFQUFtRTtBQUduRSwrQ0FBaUQ7QUFDakQsOERBQXNIO0FBRXRILG1EQUE2RjtBQUU3RixvREFBNEI7QUFFNUIsNEZBQTRGO0FBQzVGLHlFQUF5RTtBQUN6RSxNQUFhLGVBQWdCLFNBQVEsOEJBQXVDO0lBSzFFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBSyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ08sZ0JBQWdCO1FBQ3hCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzNDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUMxQjtZQUNFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3RCLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTztZQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDakIsRUFDRCxVQUFVLENBQ1gsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsTUFBYztRQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksc0JBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7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YUFDbkI7WUFDRCxHQUFHLElBQUksQ0FBQyxVQUFVO1NBQ25CLEVBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBaElELDBDQWdJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcblxuaW1wb3J0IHsgSW50ZXJmYWNlLCBTY2hlbWEgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1zdWJzdHJhdGUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFR4TWV0aG9kIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgeyBQb2x5eEJhc2VCdWlsZGVyIH0gZnJvbSAnLi9iYXNlQnVpbGRlcic7XG5pbXBvcnQgeyBEZWNvZGVkU2lnbmVkVHgsIERlY29kZWRTaWduaW5nUGF5bG9hZCwgZGVmaW5lTWV0aG9kLCBVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlQWRkcmVzcywgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG4vLyBbQ0xFQU5VUC1WOC1PTERdIHY3IGJhbGFuY2VzLnRyYW5zZmVyV2l0aE1lbW8gYnVpbGRlciAoY2FsbCBpbmRleCAweDA1MDEpLiBLZXB0IGZvciBGbGlwdFxuLy8gcm9sbGJhY2sgYWxvbmdzaWRlIFY4VHJhbnNmZXJCdWlsZGVyICh2OCBtZXRhZGF0YTsgY2FsbCBpbmRleCAweDA1MjgpLlxuZXhwb3J0IGNsYXNzIFRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFBvbHl4QmFzZUJ1aWxkZXI8VHhNZXRob2QsIFRyYW5zYWN0aW9uPiB7XG4gIHByb3RlY3RlZCBfYW1vdW50OiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfdG86IHN0cmluZztcbiAgcHJvdGVjdGVkIF9tZW1vOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMubWF0ZXJpYWwodXRpbHMuZ2V0TWF0ZXJpYWwoX2NvaW5Db25maWcubmV0d29yay50eXBlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3QgYW4gdW5zaWduZWQgYHRyYW5zZmVyV2l0aE1lbW9gIHRyYW5zYWN0aW9uIHVzaW5nIHRoZSBwcm92aWRlZCBkZXRhaWxzLlxuICAgKlxuICAgKiBAcmV0dXJucyB7VW5zaWduZWRUcmFuc2FjdGlvbn0gVGhlIGNvbnN0cnVjdGVkIHVuc2lnbmVkIHRyYW5zZmVyV2l0aE1lbW8gdHJhbnNhY3Rpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgcmV0dXJuIHRoaXMuVHJhbnNmZXJXaXRoTWVtbyhcbiAgICAgIHtcbiAgICAgICAgZGVzdDogeyBpZDogdGhpcy5fdG8gfSxcbiAgICAgICAgdmFsdWU6IHRoaXMuX2Ftb3VudCxcbiAgICAgICAgbWVtbzogdGhpcy5fbWVtbyxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBUaGUgYW1vdW50IGZvciB0cmFuc2ZlciB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudFxuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSBUaGlzIHRyYW5zZmVyIGJ1aWxkZXIuXG4gICAqL1xuICBhbW91bnQoYW1vdW50OiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihhbW91bnQpKTtcbiAgICB0aGlzLl9hbW91bnQgPSBhbW91bnQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogVGhlIGRlc3RpbmF0aW9uIGFkZHJlc3MgZm9yIHRyYW5zZmVyIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGVzdFxuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSBUaGlzIHRyYW5zZmVyIGJ1aWxkZXIuXG4gICAqL1xuICB0byh7IGFkZHJlc3MgfTogQmFzZUFkZHJlc3MpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3MgfSk7XG4gICAgdGhpcy5fdG8gPSBhZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBtZW1vIHRvIGF0dGFjaCB0byB0aGUgdHJhbnNmZXIgdHJhbnNhY3Rpb24uXG4gICAqIFBhZHMgdGhlIG1lbW8gb24gdGhlIGxlZnQgd2l0aCB6ZXJvcyB0byBlbnN1cmUgaXQgaXMgMzIgY2hhcmFjdGVycyBsb25nLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVtbyBUaGUgbWVtbyBzdHJpbmcgdG8gaW5jbHVkZS5cbiAgICogQHJldHVybnMge1RyYW5zZmVyQnVpbGRlcn0gVGhpcyB0cmFuc2ZlciBidWlsZGVyLlxuICAgKi9cbiAgbWVtbyhtZW1vOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBjb25zdCBwYWRkZWRNZW1vID0gbWVtby5wYWRTdGFydCgzMiwgJzAnKTtcbiAgICB0aGlzLl9tZW1vID0gcGFkZGVkTWVtbztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZURlY29kZWRUcmFuc2FjdGlvbihkZWNvZGVkVHhuOiBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfCBEZWNvZGVkU2lnbmVkVHgsIHJhd1RyYW5zYWN0aW9uPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGRlY29kZWRUeG4ubWV0aG9kPy5uYW1lID09PSBJbnRlcmZhY2UuTWV0aG9kTmFtZXMuVHJhbnNmZXJXaXRoTWVtbykge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSBkZWNvZGVkVHhuLm1ldGhvZC5hcmdzIGFzIEludGVyZmFjZS5UcmFuc2ZlcldpdGhNZW1vQXJncztcbiAgICAgIGNvbnN0IGFtb3VudCA9IGAke3R4TWV0aG9kLnZhbHVlfWA7XG4gICAgICBjb25zdCB0byA9IHR4TWV0aG9kLmRlc3QuaWQ7XG4gICAgICBjb25zdCBtZW1vID0gdHhNZXRob2QubWVtbztcblxuICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IFNjaGVtYS5UcmFuc2ZlcldpdGhNZW1vVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoeyBhbW91bnQsIHRvLCBtZW1vIH0pO1xuICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAoIXRoaXMuX21ldGhvZCB8fCAhdGhpcy5fbWV0aG9kLmFyZ3MpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNhY3Rpb24gbWV0aG9kIG9yIGFyZ3MgYXJlIHVuZGVmaW5lZCcpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9tZXRob2Q/Lm5hbWUgPT09IEludGVyZmFjZS5NZXRob2ROYW1lcy5UcmFuc2ZlcldpdGhNZW1vKSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIEludGVyZmFjZS5UcmFuc2ZlcldpdGhNZW1vQXJncztcbiAgICAgIHRoaXMuYW1vdW50KHR4TWV0aG9kLnZhbHVlKTtcbiAgICAgIHRoaXMudG8oe1xuICAgICAgICBhZGRyZXNzOiB1dGlscy5kZWNvZGVTdWJzdHJhdGVBZGRyZXNzKHR4TWV0aG9kLmRlc3QuaWQsIHV0aWxzLmdldEFkZHJlc3NGb3JtYXQodGhpcy5fY29pbkNvbmZpZy5uYW1lKSksXG4gICAgICB9KTtcbiAgICAgIHRoaXMubWVtbyh0eE1ldGhvZC5tZW1vKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIFRyYW5zYWN0aW9uIFR5cGU6ICR7dGhpcy5fbWV0aG9kLm5hbWV9LiBFeHBlY3RlZCB0cmFuc2ZlcldpdGhNZW1vYCk7XG4gICAgfVxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3QgYSB0cmFuc2FjdGlvbiB0byB0cmFuc2ZlciBmdW5kcyB3aXRoIGFuIGF0dGFjaGVkIG1lbW8uXG4gICAqXG4gICAqIEBwYXJhbSB7SW50ZXJmYWNlLlRyYW5zZmVyV2l0aE1lbW9BcmdzfSBhcmdzIEFyZ3VtZW50cyB0byBiZSBwYXNzZWQgdG8gdGhlIHRyYW5zZmVyV2l0aE1lbW8gbWV0aG9kXG4gICAqIEBwYXJhbSB7SW50ZXJmYWNlLkNyZWF0ZUJhc2VUeEluZm99IGluZm8gQmFzZSB0eG4gaW5mbyByZXF1aXJlZCB0byBjb25zdHJ1Y3QgdGhlIHRyYW5zZmVyIHRyYW5zYWN0aW9uXG4gICAqIEByZXR1cm5zIHtVbnNpZ25lZFRyYW5zYWN0aW9ufSBBbiB1bnNpZ25lZCB0cmFuc2ZlcldpdGhNZW1vIHRyYW5zYWN0aW9uXG4gICAqL1xuICBwcml2YXRlIFRyYW5zZmVyV2l0aE1lbW8oXG4gICAgYXJnczogSW50ZXJmYWNlLlRyYW5zZmVyV2l0aE1lbW9BcmdzLFxuICAgIGluZm86IEludGVyZmFjZS5DcmVhdGVCYXNlVHhJbmZvXG4gICk6IFVuc2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBkZWZpbmVNZXRob2QoXG4gICAgICB7XG4gICAgICAgIG1ldGhvZDoge1xuICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgbmFtZTogJ3RyYW5zZmVyV2l0aE1lbW8nLFxuICAgICAgICAgIHBhbGxldDogJ2JhbGFuY2VzJyxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uaW5mby5iYXNlVHhJbmZvLFxuICAgICAgfSxcbiAgICAgIGluZm8ub3B0aW9uc1xuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,3 +1,70 @@
|
|
|
1
1
|
import joi from 'joi';
|
|
2
|
+
export type BatchValidationObject = {
|
|
3
|
+
amount: string;
|
|
4
|
+
controller: string;
|
|
5
|
+
payee: string | {
|
|
6
|
+
Account: string;
|
|
7
|
+
};
|
|
8
|
+
validators: string[];
|
|
9
|
+
};
|
|
10
|
+
export type BondValidationObject = {
|
|
11
|
+
value: string;
|
|
12
|
+
controller: string;
|
|
13
|
+
payee: string | {
|
|
14
|
+
Account: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export type NominateValidationObject = {
|
|
18
|
+
validators: string[];
|
|
19
|
+
};
|
|
20
|
+
export type V8BatchValidationObject = {
|
|
21
|
+
amount: string;
|
|
22
|
+
payee: string | {
|
|
23
|
+
Account: string;
|
|
24
|
+
};
|
|
25
|
+
validators: string[];
|
|
26
|
+
};
|
|
27
|
+
export type V8BondValidationObject = {
|
|
28
|
+
value: string;
|
|
29
|
+
payee: string | {
|
|
30
|
+
Account: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
export type BondExtraValidationObject = {
|
|
34
|
+
value: string;
|
|
35
|
+
};
|
|
2
36
|
export declare const RegisterDidWithCDDTransactionSchema: joi.ObjectSchema<any>;
|
|
37
|
+
export declare const RegisterDidTransactionSchema: joi.ObjectSchema<any>;
|
|
38
|
+
export declare const PreApproveAssetTransactionSchema: joi.ObjectSchema<any>;
|
|
39
|
+
export declare const AddAndAffirmWithMediatorsTransactionSchema: joi.ObjectSchema<any>;
|
|
40
|
+
export declare const V8AddAndAffirmWithMediatorsTransactionSchema: joi.ObjectSchema<any>;
|
|
41
|
+
export declare const RejectInstructionTransactionSchema: joi.ObjectSchema<any>;
|
|
42
|
+
export declare const BondExtraTransactionSchema: joi.ObjectSchema<any>;
|
|
43
|
+
export declare const NominateTransactionSchema: joi.ObjectSchema<any>;
|
|
44
|
+
export declare const BatchTransactionSchema: {
|
|
45
|
+
validate: (value: BatchValidationObject) => joi.ValidationResult;
|
|
46
|
+
validateBond: (value: BondValidationObject) => joi.ValidationResult;
|
|
47
|
+
validateNominate: (value: NominateValidationObject) => joi.ValidationResult;
|
|
48
|
+
};
|
|
49
|
+
export declare const V8BatchTransactionSchema: {
|
|
50
|
+
validate: (value: V8BatchValidationObject) => joi.ValidationResult;
|
|
51
|
+
validateBond: (value: V8BondValidationObject) => joi.ValidationResult;
|
|
52
|
+
validateNominate: (value: NominateValidationObject) => joi.ValidationResult;
|
|
53
|
+
};
|
|
54
|
+
export declare const bondSchema: joi.ObjectSchema<any>;
|
|
55
|
+
export declare const BatchUnstakingTransactionSchema: {
|
|
56
|
+
validate: (value: {
|
|
57
|
+
value: string;
|
|
58
|
+
}) => joi.ValidationResult;
|
|
59
|
+
};
|
|
60
|
+
export declare const UnbondTransactionSchema: {
|
|
61
|
+
validate: (value: {
|
|
62
|
+
value: string;
|
|
63
|
+
}) => joi.ValidationResult;
|
|
64
|
+
};
|
|
65
|
+
export declare const WithdrawUnbondedTransactionSchema: {
|
|
66
|
+
validate: (value: {
|
|
67
|
+
slashingSpans: number;
|
|
68
|
+
}) => joi.ValidationResult;
|
|
69
|
+
};
|
|
3
70
|
//# sourceMappingURL=txnSchema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"txnSchema.d.ts","sourceRoot":"","sources":["../../../src/lib/txnSchema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"txnSchema.d.ts","sourceRoot":"","sources":["../../../src/lib/txnSchema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAGtB,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAGF,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAIF,eAAO,MAAM,mCAAmC,uBAI9C,CAAC;AAIH,eAAO,MAAM,4BAA4B,uBAEvC,CAAC;AAEH,eAAO,MAAM,gCAAgC,uBAE3C,CAAC;AAEH,eAAO,MAAM,0CAA0C,uBAyDrD,CAAC;AAkBH,eAAO,MAAM,4CAA4C,uBA2BvD,CAAC;AAEH,eAAO,MAAM,kCAAkC,uBAmB7C,CAAC;AAGH,eAAO,MAAM,0BAA0B,uBAErC,CAAC;AAGH,eAAO,MAAM,yBAAyB,uBAEpC,CAAC;AAGH,eAAO,MAAM,sBAAsB;sBACf,qBAAqB,KAAG,GAAG,CAAC,gBAAgB;0BAmBxC,oBAAoB,KAAG,GAAG,CAAC,gBAAgB;8BAiBvC,wBAAwB,KAAG,GAAG,CAAC,gBAAgB;CAM1E,CAAC;AAIF,eAAO,MAAM,wBAAwB;sBACjB,uBAAuB,KAAG,GAAG,CAAC,gBAAgB;0BAkB1C,sBAAsB,KAAG,GAAG,CAAC,gBAAgB;8BAgBzC,wBAAwB,KAAG,GAAG,CAAC,gBAAgB;CAM1E,CAAC;AAEF,eAAO,MAAM,UAAU,uBAYrB,CAAC;AAEH,eAAO,MAAM,+BAA+B;sBACxB;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAG,GAAG,CAAC,gBAAgB;CAM3D,CAAC;AAEF,eAAO,MAAM,uBAAuB;sBAChB;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAG,GAAG,CAAC,gBAAgB;CAM3D,CAAC;AAEF,eAAO,MAAM,iCAAiC;sBAC1B;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,KAAG,GAAG,CAAC,gBAAgB;CAMnE,CAAC"}
|