@bitgo-beta/sdk-coin-polyx 1.0.1-beta.33 → 1.0.1-beta.331
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/.mocharc.yml +1 -1
- package/CHANGELOG.md +141 -0
- 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 +125 -3
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +36 -1
- package/dist/src/lib/index.d.ts +15 -7
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +42 -36
- 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 +34 -0
- package/dist/src/lib/registerDidWithCDDBuilder.d.ts.map +1 -0
- package/dist/src/lib/registerDidWithCDDBuilder.js +83 -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 +159 -0
- package/dist/src/lib/transaction.d.ts +18 -4
- package/dist/src/lib/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction.js +136 -8
- package/dist/src/lib/transactionBuilderFactory.d.ts +27 -5
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +112 -8
- package/dist/src/lib/transferBuilder.d.ts +51 -3
- package/dist/src/lib/transferBuilder.d.ts.map +1 -1
- package/dist/src/lib/transferBuilder.js +109 -3
- package/dist/src/lib/txnSchema.d.ts +49 -0
- package/dist/src/lib/txnSchema.d.ts.map +1 -0
- package/dist/src/lib/txnSchema.js +145 -0
- 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 +15 -14
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +40 -23
- 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 +270 -16
- 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 +3 -0
- package/dist/src/resources/index.d.ts.map +1 -0
- package/dist/src/resources/index.js +19 -0
- package/dist/src/resources/mainnet.d.ts +13 -0
- package/dist/src/resources/mainnet.d.ts.map +1 -0
- package/dist/src/resources/mainnet.js +16 -0
- package/dist/src/resources/testnet.d.ts +13 -0
- package/dist/src/resources/testnet.d.ts.map +1 -0
- package/dist/src/resources/testnet.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/package.json +15 -9
- package/dist/src/lib/keyPair.d.ts +0 -12
- package/dist/src/lib/keyPair.d.ts.map +0 -1
- package/dist/src/lib/keyPair.js +0 -24
- package/dist/src/lib/transactionBuilder.d.ts +0 -43
- package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
- package/dist/src/lib/transactionBuilder.js +0 -78
|
@@ -1,20 +1,124 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.TransactionBuilderFactory = void 0;
|
|
4
7
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
8
|
+
const txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
|
|
9
|
+
const transferBuilder_1 = require("./transferBuilder");
|
|
10
|
+
const registerDidWithCDDBuilder_1 = require("./registerDidWithCDDBuilder");
|
|
11
|
+
const bondExtraBuilder_1 = require("./bondExtraBuilder");
|
|
12
|
+
const batchStakingBuilder_1 = require("./batchStakingBuilder");
|
|
13
|
+
const batchUnstakingBuilder_1 = require("./batchUnstakingBuilder");
|
|
14
|
+
const unbondBuilder_1 = require("./unbondBuilder");
|
|
15
|
+
const withdrawUnbondedBuilder_1 = require("./withdrawUnbondedBuilder");
|
|
16
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
17
|
+
const _1 = require("./");
|
|
18
|
+
const iface_1 = require("./iface");
|
|
19
|
+
const preApproveAssetBuilder_1 = require("./preApproveAssetBuilder");
|
|
20
|
+
const tokenTransferBuilder_1 = require("./tokenTransferBuilder");
|
|
5
21
|
class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
22
|
+
constructor(_coinConfig) {
|
|
23
|
+
super(_coinConfig);
|
|
24
|
+
this._material = utils_1.default.getMaterial(_coinConfig.network.type);
|
|
9
25
|
}
|
|
10
|
-
/** @inheritdoc */
|
|
11
26
|
getTransferBuilder() {
|
|
12
|
-
|
|
27
|
+
return new transferBuilder_1.TransferBuilder(this._coinConfig).material(this._material);
|
|
28
|
+
}
|
|
29
|
+
getRegisterDidWithCDDBuilder() {
|
|
30
|
+
return new registerDidWithCDDBuilder_1.RegisterDidWithCDDBuilder(this._coinConfig).material(this._material);
|
|
31
|
+
}
|
|
32
|
+
getPreApproveAssetBuilder() {
|
|
33
|
+
return new preApproveAssetBuilder_1.PreApproveAssetBuilder(this._coinConfig).material(this._material);
|
|
34
|
+
}
|
|
35
|
+
getTokenTransferBuilder() {
|
|
36
|
+
return new tokenTransferBuilder_1.TokenTransferBuilder(this._coinConfig).material(this._material);
|
|
37
|
+
}
|
|
38
|
+
getBondExtraBuilder() {
|
|
39
|
+
return new bondExtraBuilder_1.BondExtraBuilder(this._coinConfig).material(this._material);
|
|
40
|
+
}
|
|
41
|
+
getBatchBuilder() {
|
|
42
|
+
return new batchStakingBuilder_1.BatchStakingBuilder(this._coinConfig).material(this._material);
|
|
43
|
+
}
|
|
44
|
+
getBatchUnstakingBuilder() {
|
|
45
|
+
return new batchUnstakingBuilder_1.BatchUnstakingBuilder(this._coinConfig).material(this._material);
|
|
46
|
+
}
|
|
47
|
+
getUnbondBuilder() {
|
|
48
|
+
return new unbondBuilder_1.UnbondBuilder(this._coinConfig).material(this._material);
|
|
49
|
+
}
|
|
50
|
+
getWithdrawUnbondedBuilder() {
|
|
51
|
+
return new withdrawUnbondedBuilder_1.WithdrawUnbondedBuilder(this._coinConfig).material(this._material);
|
|
13
52
|
}
|
|
14
|
-
/** @inheritdoc */
|
|
15
53
|
getWalletInitializationBuilder() {
|
|
16
|
-
throw new
|
|
54
|
+
throw new sdk_core_1.NotImplementedError(`walletInitialization for ${this._coinConfig.name} not implemented`);
|
|
55
|
+
}
|
|
56
|
+
from(rawTxn) {
|
|
57
|
+
const builder = this.getBuilder(rawTxn);
|
|
58
|
+
builder.from(rawTxn);
|
|
59
|
+
return builder;
|
|
60
|
+
}
|
|
61
|
+
material(material) {
|
|
62
|
+
this._material = material;
|
|
63
|
+
return this;
|
|
64
|
+
}
|
|
65
|
+
getBuilder(rawTxn) {
|
|
66
|
+
const registry = _1.SingletonRegistry.getInstance(this._material);
|
|
67
|
+
const decodedTxn = (0, txwrapper_polkadot_1.decode)(rawTxn, {
|
|
68
|
+
metadataRpc: this._material.metadata,
|
|
69
|
+
registry: registry,
|
|
70
|
+
});
|
|
71
|
+
const methodName = decodedTxn.method?.name;
|
|
72
|
+
if (methodName === _1.Interface.MethodNames.TransferWithMemo) {
|
|
73
|
+
return this.getTransferBuilder();
|
|
74
|
+
}
|
|
75
|
+
else if (methodName === iface_1.MethodNames.RegisterDidWithCDD) {
|
|
76
|
+
return this.getRegisterDidWithCDDBuilder();
|
|
77
|
+
}
|
|
78
|
+
else if (methodName === iface_1.MethodNames.PreApproveAsset) {
|
|
79
|
+
return this.getPreApproveAssetBuilder();
|
|
80
|
+
}
|
|
81
|
+
else if (methodName === iface_1.MethodNames.AddAndAffirmWithMediators) {
|
|
82
|
+
return this.getTokenTransferBuilder();
|
|
83
|
+
}
|
|
84
|
+
else if (methodName === 'bondExtra') {
|
|
85
|
+
return this.getBondExtraBuilder();
|
|
86
|
+
}
|
|
87
|
+
else if (methodName === 'batchAll') {
|
|
88
|
+
const args = decodedTxn.method.args;
|
|
89
|
+
if (args.calls && args.calls.length === 2) {
|
|
90
|
+
// Decode method names from the calls using utils.decodeMethodName
|
|
91
|
+
const firstCallMethod = utils_1.default.decodeMethodName(args.calls[0], registry);
|
|
92
|
+
const secondCallMethod = utils_1.default.decodeMethodName(args.calls[1], registry);
|
|
93
|
+
// Check for batch staking pattern: bond + nominate
|
|
94
|
+
if (firstCallMethod === 'bond' && secondCallMethod === 'nominate') {
|
|
95
|
+
return this.getBatchBuilder();
|
|
96
|
+
}
|
|
97
|
+
// Check for batch unstaking pattern: chill + unbond
|
|
98
|
+
if (firstCallMethod === 'chill' && secondCallMethod === 'unbond') {
|
|
99
|
+
return this.getBatchUnstakingBuilder();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// Fall back to general batch builder for other batchAll cases
|
|
103
|
+
return this.getBatchBuilder();
|
|
104
|
+
}
|
|
105
|
+
else if (methodName === 'batch') {
|
|
106
|
+
return this.getBatchBuilder();
|
|
107
|
+
}
|
|
108
|
+
else if (methodName === 'bond') {
|
|
109
|
+
return this.getBatchBuilder();
|
|
110
|
+
}
|
|
111
|
+
else if (methodName === 'nominate') {
|
|
112
|
+
return this.getBatchBuilder();
|
|
113
|
+
}
|
|
114
|
+
else if (methodName === 'unbond') {
|
|
115
|
+
return this.getUnbondBuilder();
|
|
116
|
+
}
|
|
117
|
+
else if (methodName === 'withdrawUnbonded') {
|
|
118
|
+
return this.getWithdrawUnbondedBuilder();
|
|
119
|
+
}
|
|
120
|
+
throw new Error('Transaction cannot be parsed or has an unsupported transaction type');
|
|
17
121
|
}
|
|
18
122
|
}
|
|
19
123
|
exports.TransactionBuilderFactory = TransactionBuilderFactory;
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBcUU7QUFJckUsTUFBYSx5QkFBMEIsU0FBUSx3Q0FBNkI7SUFDMUUsa0JBQWtCO0lBQ2xCLElBQUksQ0FBQyxHQUFXO1FBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsa0JBQWtCO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLDhCQUE4QjtRQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGO0FBZkQsOERBZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBmcm9tKHJhdzogc3RyaW5nKTogVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0VHJhbnNmZXJCdWlsZGVyKCk6IFRyYW5zZmVyQnVpbGRlciB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcigpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cbn1cbiJdfQ==
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtREFBMEY7QUFFMUYsc0VBQXVEO0FBQ3ZELHVEQUFvRDtBQUNwRCwyRUFBd0U7QUFDeEUseURBQXNEO0FBQ3RELCtEQUE0RDtBQUM1RCxtRUFBZ0U7QUFDaEUsbURBQWdEO0FBQ2hELHVFQUFvRTtBQUNwRSxvREFBNEI7QUFDNUIseUJBQXNFO0FBQ3RFLG1DQUFpRTtBQUdqRSxxRUFBa0U7QUFDbEUsaUVBQThEO0FBSTlELE1BQWEseUJBQTBCLFNBQVEsd0NBQTZCO0lBRzFFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBSyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLGlDQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELDRCQUE0QjtRQUMxQixPQUFPLElBQUkscURBQXlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVELHlCQUF5QjtRQUN2QixPQUFPLElBQUksK0NBQXNCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPLElBQUksMkNBQW9CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxD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LFVBQVUsS0FBSyxrQkFBa0IsRUFBRSxDQUFDO1lBQzdDLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDM0MsQ0FBQztRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMscUVBQXFFLENBQUMsQ0FBQztJQUN6RixDQUFDO0NBQ0Y7QUE5R0QsOERBOEdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksIE5vdEltcGxlbWVudGVkRXJyb3IgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBkZWNvZGUgfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1wb2xrYWRvdCc7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBSZWdpc3RlckRpZFdpdGhDRERCdWlsZGVyIH0gZnJvbSAnLi9yZWdpc3RlckRpZFdpdGhDRERCdWlsZGVyJztcbmltcG9ydCB7IEJvbmRFeHRyYUJ1aWxkZXIgfSBmcm9tICcuL2JvbmRFeHRyYUJ1aWxkZXInO1xuaW1wb3J0IHsgQmF0Y2hTdGFraW5nQnVpbGRlciB9IGZyb20gJy4vYmF0Y2hTdGFraW5nQnVpbGRlcic7XG5pbXBvcnQgeyBCYXRjaFVuc3Rha2luZ0J1aWxkZXIgfSBmcm9tICcuL2JhdGNoVW5zdGFraW5nQnVpbGRlcic7XG5pbXBvcnQgeyBVbmJvbmRCdWlsZGVyIH0gZnJvbSAnLi91bmJvbmRCdWlsZGVyJztcbmltcG9ydCB7IFdpdGhkcmF3VW5ib25kZWRCdWlsZGVyIH0gZnJvbSAnLi93aXRoZHJhd1VuYm9uZGVkQnVpbGRlcic7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBJbnRlcmZhY2UsIFNpbmdsZXRvblJlZ2lzdHJ5LCBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuLyc7XG5pbXBvcnQgeyBUeE1ldGhvZCwgQmF0Y2hDYWxsT2JqZWN0LCBNZXRob2ROYW1lcyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gYXMgQmFzZVRyYW5zYWN0aW9uIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3Qtc3Vic3RyYXRlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIGFzIFBvbHl4VHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFByZUFwcHJvdmVBc3NldEJ1aWxkZXIgfSBmcm9tICcuL3ByZUFwcHJvdmVBc3NldEJ1aWxkZXInO1xuaW1wb3J0IHsgVG9rZW5UcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3Rva2VuVHJhbnNmZXJCdWlsZGVyJztcblxuZXhwb3J0IHR5cGUgU3VwcG9ydGVkVHJhbnNhY3Rpb24gPSBCYXNlVHJhbnNhY3Rpb24gfCBQb2x5eFRyYW5zYWN0aW9uO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IHtcbiAgcHJvdGVjdGVkIF9tYXRlcmlhbDogSW50ZXJmYWNlLk1hdGVyaWFsO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl9tYXRlcmlhbCA9IHV0aWxzLmdldE1hdGVyaWFsKF9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSk7XG4gIH1cblxuICBnZXRUcmFuc2ZlckJ1aWxkZXIoKTogVHJhbnNmZXJCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKS5tYXRlcmlhbCh0aGlzLl9tYXRlcmlhbCk7XG4gIH1cblxuICBnZXRSZWdpc3RlckRpZFdpdGhDRERCdWlsZGVyKCk6IFJlZ2lzdGVyRGlkV2l0aENEREJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgUmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKS5tYXRlcmlhbCh0aGlzLl9tYXRlcmlhbCk7XG4gIH1cblxuICBnZXRQcmVBcHByb3ZlQXNzZXRCdWlsZGVyKCk6IFByZUFwcHJvdmVBc3NldEJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgUHJlQXBwcm92ZUFzc2V0QnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKS5tYXRlcmlhbCh0aGlzLl9tYXRlcmlhbCk7XG4gIH1cblxuICBnZXRUb2tlblRyYW5zZmVyQnVpbGRlcigpOiBUb2tlblRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBUb2tlblRyYW5zZmVyQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKS5tYXRlcmlhbCh0aGlzLl9tYXRlcmlhbCk7XG4gIH1cblxuICBnZXRCb25kRXh0cmFCdWlsZGVyKCk6IEJvbmRFeHRyYUJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgQm9uZEV4dHJhQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKS5tYXRlcmlhbCh0aGlzLl9tYXRlcmlhbCk7XG4gIH1cblxuICBnZXRCYXRjaEJ1aWxkZXIoKTogQmF0Y2hTdGFraW5nQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBCYXRjaFN0YWtpbmdCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldEJhdGNoVW5zdGFraW5nQnVpbGRlcigpOiBCYXRjaFVuc3Rha2luZ0J1aWxkZXIge1xuICAgIHJldHVybiBuZXcgQmF0Y2hVbnN0YWtpbmdCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldFVuYm9uZEJ1aWxkZXIoKTogVW5ib25kQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBVbmJvbmRCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldFdpdGhkcmF3VW5ib25kZWRCdWlsZGVyKCk6IFdpdGhkcmF3VW5ib25kZWRCdWlsZGVyIHtcbiAgICByZXR1cm4gbmV3IFdpdGhkcmF3VW5ib25kZWRCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpLm1hdGVyaWFsKHRoaXMuX21hdGVyaWFsKTtcbiAgfVxuXG4gIGdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcigpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFcnJvcihgd2FsbGV0SW5pdGlhbGl6YXRpb24gZm9yICR7dGhpcy5fY29pbkNvbmZpZy5uYW1lfSBub3QgaW1wbGVtZW50ZWRgKTtcbiAgfVxuXG4gIGZyb20ocmF3VHhuOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXI8VHhNZXRob2QsIFN1cHBvcnRlZFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgYnVpbGRlciA9IHRoaXMuZ2V0QnVpbGRlcihyYXdUeG4pO1xuICAgIGJ1aWxkZXIuZnJvbShyYXdUeG4pO1xuICAgIHJldHVybiBidWlsZGVyO1xuICB9XG5cbiAgbWF0ZXJpYWwobWF0ZXJpYWw6IEludGVyZmFjZS5NYXRlcmlhbCk6IHRoaXMge1xuICAgIHRoaXMuX21hdGVyaWFsID0gbWF0ZXJpYWw7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIGdldEJ1aWxkZXIocmF3VHhuOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkJ1aWxkZXI8VHhNZXRob2QsIFN1cHBvcnRlZFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgcmVnaXN0cnkgPSBTaW5nbGV0b25SZWdpc3RyeS5nZXRJbnN0YW5jZSh0aGlzLl9tYXRlcmlhbCk7XG4gICAgY29uc3QgZGVjb2RlZFR4biA9IGRlY29kZShyYXdUeG4sIHtcbiAgICAgIG1ldGFkYXRhUnBjOiB0aGlzLl9tYXRlcmlhbC5tZXRhZGF0YSxcbiAgICAgIHJlZ2lzdHJ5OiByZWdpc3RyeSxcbiAgICB9KTtcblxuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSBkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZTtcbiAgICBpZiAobWV0aG9kTmFtZSA9PT0gSW50ZXJmYWNlLk1ldGhvZE5hbWVzLlRyYW5zZmVyV2l0aE1lbW8pIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zZmVyQnVpbGRlcigpO1xuICAgIH0gZWxzZSBpZiAobWV0aG9kTmFtZSA9PT0gTWV0aG9kTmFtZXMuUmVnaXN0ZXJEaWRXaXRoQ0REKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRSZWdpc3RlckRpZFdpdGhDRERCdWlsZGVyKCk7XG4gICAgfSBlbHNlIGlmIChtZXRob2ROYW1lID09PSBNZXRob2ROYW1lcy5QcmVBcHByb3ZlQXNzZXQpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFByZUFwcHJvdmVBc3NldEJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09IE1ldGhvZE5hbWVzLkFkZEFuZEFmZmlybVdpdGhNZWRpYXRvcnMpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFRva2VuVHJhbnNmZXJCdWlsZGVyKCk7XG4gICAgfSBlbHNlIGlmIChtZXRob2ROYW1lID09PSAnYm9uZEV4dHJhJykge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0Qm9uZEV4dHJhQnVpbGRlcigpO1xuICAgIH0gZWxzZSBpZiAobWV0aG9kTmFtZSA9PT0gJ2JhdGNoQWxsJykge1xuICAgICAgY29uc3QgYXJncyA9IGRlY29kZWRUeG4ubWV0aG9kLmFyZ3MgYXMgeyBjYWxscz86IEJhdGNoQ2FsbE9iamVjdFtdIH07XG5cbiAgICAgIGlmIChhcmdzLmNhbGxzICYmIGFyZ3MuY2FsbHMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIC8vIERlY29kZSBtZXRob2QgbmFtZXMgZnJvbSB0aGUgY2FsbHMgdXNpbmcgdXRpbHMuZGVjb2RlTWV0aG9kTmFtZVxuICAgICAgICBjb25zdCBmaXJzdENhbGxNZXRob2QgPSB1dGlscy5kZWNvZGVNZXRob2ROYW1lKGFyZ3MuY2FsbHNbMF0sIHJlZ2lzdHJ5KTtcbiAgICAgICAgY29uc3Qgc2Vjb25kQ2FsbE1ldGhvZCA9IHV0aWxzLmRlY29kZU1ldGhvZE5hbWUoYXJncy5jYWxsc1sxXSwgcmVnaXN0cnkpO1xuXG4gICAgICAgIC8vIENoZWNrIGZvciBiYXRjaCBzdGFraW5nIHBhdHRlcm46IGJvbmQgKyBub21pbmF0ZVxuICAgICAgICBpZiAoZmlyc3RDYWxsTWV0aG9kID09PSAnYm9uZCcgJiYgc2Vjb25kQ2FsbE1ldGhvZCA9PT0gJ25vbWluYXRlJykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldEJhdGNoQnVpbGRlcigpO1xuICAgICAgICB9XG4gICAgICAgIC8vIENoZWNrIGZvciBiYXRjaCB1bnN0YWtpbmcgcGF0dGVybjogY2hpbGwgKyB1bmJvbmRcbiAgICAgICAgaWYgKGZpcnN0Q2FsbE1ldGhvZCA9PT0gJ2NoaWxsJyAmJiBzZWNvbmRDYWxsTWV0aG9kID09PSAndW5ib25kJykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldEJhdGNoVW5zdGFraW5nQnVpbGRlcigpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBGYWxsIGJhY2sgdG8gZ2VuZXJhbCBiYXRjaCBidWlsZGVyIGZvciBvdGhlciBiYXRjaEFsbCBjYXNlc1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0QmF0Y2hCdWlsZGVyKCk7XG4gICAgfSBlbHNlIGlmIChtZXRob2ROYW1lID09PSAnYmF0Y2gnKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRCYXRjaEJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09ICdib25kJykge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0QmF0Y2hCdWlsZGVyKCk7XG4gICAgfSBlbHNlIGlmIChtZXRob2ROYW1lID09PSAnbm9taW5hdGUnKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRCYXRjaEJ1aWxkZXIoKTtcbiAgICB9IGVsc2UgaWYgKG1ldGhvZE5hbWUgPT09ICd1bmJvbmQnKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRVbmJvbmRCdWlsZGVyKCk7XG4gICAgfSBlbHNlIGlmIChtZXRob2ROYW1lID09PSAnd2l0aGRyYXdVbmJvbmRlZCcpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFdpdGhkcmF3VW5ib25kZWRCdWlsZGVyKCk7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdUcmFuc2FjdGlvbiBjYW5ub3QgYmUgcGFyc2VkIG9yIGhhcyBhbiB1bnN1cHBvcnRlZCB0cmFuc2FjdGlvbiB0eXBlJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,8 +1,56 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Transaction } from './transaction';
|
|
2
|
+
import { TxMethod } from './iface';
|
|
3
|
+
import { PolyxBaseBuilder } from './baseBuilder';
|
|
4
|
+
import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
|
|
2
5
|
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
|
-
import { TransactionType } from '@bitgo-beta/sdk-core';
|
|
4
|
-
export declare class TransferBuilder extends
|
|
6
|
+
import { BaseAddress, TransactionType } from '@bitgo-beta/sdk-core';
|
|
7
|
+
export declare class TransferBuilder extends PolyxBaseBuilder<TxMethod, Transaction> {
|
|
8
|
+
protected _amount: string;
|
|
9
|
+
protected _to: string;
|
|
10
|
+
protected _memo: string;
|
|
5
11
|
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
6
12
|
protected get transactionType(): TransactionType;
|
|
13
|
+
/**
|
|
14
|
+
* Construct an unsigned `transferWithMemo` transaction using the provided details.
|
|
15
|
+
*
|
|
16
|
+
* @returns {UnsignedTransaction} The constructed unsigned transferWithMemo transaction.
|
|
17
|
+
*/
|
|
18
|
+
protected buildTransaction(): UnsignedTransaction;
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* The amount for transfer transaction.
|
|
22
|
+
*
|
|
23
|
+
* @param {string} amount
|
|
24
|
+
* @returns {TransferBuilder} This transfer builder.
|
|
25
|
+
*/
|
|
26
|
+
amount(amount: string): this;
|
|
27
|
+
/**
|
|
28
|
+
*
|
|
29
|
+
* The destination address for transfer transaction.
|
|
30
|
+
*
|
|
31
|
+
* @param {string} dest
|
|
32
|
+
* @returns {TransferBuilder} This transfer builder.
|
|
33
|
+
*/
|
|
34
|
+
to({ address }: BaseAddress): this;
|
|
35
|
+
/**
|
|
36
|
+
* The memo to attach to the transfer transaction.
|
|
37
|
+
* Pads the memo on the left with zeros to ensure it is 32 characters long.
|
|
38
|
+
*
|
|
39
|
+
* @param {string} memo The memo string to include.
|
|
40
|
+
* @returns {TransferBuilder} This transfer builder.
|
|
41
|
+
*/
|
|
42
|
+
memo(memo: string): this;
|
|
43
|
+
/** @inheritdoc */
|
|
44
|
+
validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx, rawTransaction?: string): void;
|
|
45
|
+
/** @inheritdoc */
|
|
46
|
+
protected fromImplementation(rawTransaction: string): Transaction;
|
|
47
|
+
/**
|
|
48
|
+
* Construct a transaction to transfer funds with an attached memo.
|
|
49
|
+
*
|
|
50
|
+
* @param {Interface.TransferWithMemoArgs} args Arguments to be passed to the transferWithMemo method
|
|
51
|
+
* @param {Interface.CreateBaseTxInfo} info Base txn info required to construct the transfer transaction
|
|
52
|
+
* @returns {UnsignedTransaction} An unsigned transferWithMemo transaction
|
|
53
|
+
*/
|
|
54
|
+
private TransferWithMemo;
|
|
7
55
|
}
|
|
8
56
|
//# sourceMappingURL=transferBuilder.d.ts.map
|
|
@@ -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;AAI7F,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"}
|
|
@@ -1,15 +1,121 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.TransferBuilder = void 0;
|
|
4
|
-
const
|
|
7
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
|
+
const abstract_substrate_1 = require("@bitgo-beta/abstract-substrate");
|
|
9
|
+
const baseBuilder_1 = require("./baseBuilder");
|
|
10
|
+
const txwrapper_core_1 = require("@substrate/txwrapper-core");
|
|
5
11
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
6
|
-
|
|
12
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
13
|
+
class TransferBuilder extends baseBuilder_1.PolyxBaseBuilder {
|
|
7
14
|
constructor(_coinConfig) {
|
|
8
15
|
super(_coinConfig);
|
|
16
|
+
this.material(utils_1.default.getMaterial(_coinConfig.network.type));
|
|
9
17
|
}
|
|
10
18
|
get transactionType() {
|
|
11
19
|
return sdk_core_1.TransactionType.Send;
|
|
12
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Construct an unsigned `transferWithMemo` transaction using the provided details.
|
|
23
|
+
*
|
|
24
|
+
* @returns {UnsignedTransaction} The constructed unsigned transferWithMemo transaction.
|
|
25
|
+
*/
|
|
26
|
+
buildTransaction() {
|
|
27
|
+
const baseTxInfo = this.createBaseTxInfo();
|
|
28
|
+
return this.TransferWithMemo({
|
|
29
|
+
dest: { id: this._to },
|
|
30
|
+
value: this._amount,
|
|
31
|
+
memo: this._memo,
|
|
32
|
+
}, baseTxInfo);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
*
|
|
36
|
+
* The amount for transfer transaction.
|
|
37
|
+
*
|
|
38
|
+
* @param {string} amount
|
|
39
|
+
* @returns {TransferBuilder} This transfer builder.
|
|
40
|
+
*/
|
|
41
|
+
amount(amount) {
|
|
42
|
+
this.validateValue(new bignumber_js_1.default(amount));
|
|
43
|
+
this._amount = amount;
|
|
44
|
+
return this;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
*
|
|
48
|
+
* The destination address for transfer transaction.
|
|
49
|
+
*
|
|
50
|
+
* @param {string} dest
|
|
51
|
+
* @returns {TransferBuilder} This transfer builder.
|
|
52
|
+
*/
|
|
53
|
+
to({ address }) {
|
|
54
|
+
this.validateAddress({ address });
|
|
55
|
+
this._to = address;
|
|
56
|
+
return this;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The memo to attach to the transfer transaction.
|
|
60
|
+
* Pads the memo on the left with zeros to ensure it is 32 characters long.
|
|
61
|
+
*
|
|
62
|
+
* @param {string} memo The memo string to include.
|
|
63
|
+
* @returns {TransferBuilder} This transfer builder.
|
|
64
|
+
*/
|
|
65
|
+
memo(memo) {
|
|
66
|
+
const paddedMemo = memo.padStart(32, '0');
|
|
67
|
+
this._memo = paddedMemo;
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
/** @inheritdoc */
|
|
71
|
+
validateDecodedTransaction(decodedTxn, rawTransaction) {
|
|
72
|
+
if (decodedTxn.method?.name === abstract_substrate_1.Interface.MethodNames.TransferWithMemo) {
|
|
73
|
+
const txMethod = decodedTxn.method.args;
|
|
74
|
+
const amount = `${txMethod.value}`;
|
|
75
|
+
const to = txMethod.dest.id;
|
|
76
|
+
const memo = txMethod.memo;
|
|
77
|
+
const validationResult = abstract_substrate_1.Schema.TransferWithMemoTransactionSchema.validate({ amount, to, memo });
|
|
78
|
+
if (validationResult.error) {
|
|
79
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid transaction: ${validationResult.error.message}`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/** @inheritdoc */
|
|
84
|
+
fromImplementation(rawTransaction) {
|
|
85
|
+
const tx = super.fromImplementation(rawTransaction);
|
|
86
|
+
if (!this._method || !this._method.args) {
|
|
87
|
+
throw new sdk_core_1.InvalidTransactionError('Transaction method or args are undefined');
|
|
88
|
+
}
|
|
89
|
+
if (this._method?.name === abstract_substrate_1.Interface.MethodNames.TransferWithMemo) {
|
|
90
|
+
const txMethod = this._method.args;
|
|
91
|
+
this.amount(txMethod.value);
|
|
92
|
+
this.to({
|
|
93
|
+
address: utils_1.default.decodeSubstrateAddress(txMethod.dest.id, utils_1.default.getAddressFormat(this._coinConfig.name)),
|
|
94
|
+
});
|
|
95
|
+
this.memo(txMethod.memo);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${this._method.name}. Expected transferWithMemo`);
|
|
99
|
+
}
|
|
100
|
+
return tx;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Construct a transaction to transfer funds with an attached memo.
|
|
104
|
+
*
|
|
105
|
+
* @param {Interface.TransferWithMemoArgs} args Arguments to be passed to the transferWithMemo method
|
|
106
|
+
* @param {Interface.CreateBaseTxInfo} info Base txn info required to construct the transfer transaction
|
|
107
|
+
* @returns {UnsignedTransaction} An unsigned transferWithMemo transaction
|
|
108
|
+
*/
|
|
109
|
+
TransferWithMemo(args, info) {
|
|
110
|
+
return (0, txwrapper_core_1.defineMethod)({
|
|
111
|
+
method: {
|
|
112
|
+
args,
|
|
113
|
+
name: 'transferWithMemo',
|
|
114
|
+
pallet: 'balances',
|
|
115
|
+
},
|
|
116
|
+
...info.baseTxInfo,
|
|
117
|
+
}, info.options);
|
|
118
|
+
}
|
|
13
119
|
}
|
|
14
120
|
exports.TransferBuilder = TransferBuilder;
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkRBQTBEO0FBRTFELG1EQUF1RDtBQUV2RCxNQUFhLGVBQWdCLFNBQVEsdUNBQWtCO0lBQ3JELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLElBQUksQ0FBQztJQUM5QixDQUFDO0NBQ0Y7QUFSRCwwQ0FRQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TZW5kO1xuICB9XG59XG4iXX0=
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0VBQXFDO0FBRXJDLHVFQUFtRTtBQUduRSwrQ0FBaUQ7QUFDakQsOERBQXNIO0FBRXRILG1EQUE2RjtBQUU3RixvREFBNEI7QUFFNUIsTUFBYSxlQUFnQixTQUFRLDhCQUF1QztJQUsxRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLGdCQUFnQjtRQUN4QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FDMUI7WUFDRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUN0QixLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2pCLEVBQ0QsVUFBVSxDQUNYLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLE1BQWM7UUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLHNCQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxFQUFFLENBQUMsRUFBRSxP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VUFBVTtTQUNuQixFQUNELElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWhJRCwwQ0FnSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5cbmltcG9ydCB7IEludGVyZmFjZSwgU2NoZW1hIH0gZnJvbSAnQGJpdGdvLWJldGEvYWJzdHJhY3Qtc3Vic3RyYXRlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUeE1ldGhvZCB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgUG9seXhCYXNlQnVpbGRlciB9IGZyb20gJy4vYmFzZUJ1aWxkZXInO1xuaW1wb3J0IHsgRGVjb2RlZFNpZ25lZFR4LCBEZWNvZGVkU2lnbmluZ1BheWxvYWQsIGRlZmluZU1ldGhvZCwgVW5zaWduZWRUcmFuc2FjdGlvbiB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgQmFzZUFkZHJlc3MsIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFBvbHl4QmFzZUJ1aWxkZXI8VHhNZXRob2QsIFRyYW5zYWN0aW9uPiB7XG4gIHByb3RlY3RlZCBfYW1vdW50OiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfdG86IHN0cmluZztcbiAgcHJvdGVjdGVkIF9tZW1vOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMubWF0ZXJpYWwodXRpbHMuZ2V0TWF0ZXJpYWwoX2NvaW5Db25maWcubmV0d29yay50eXBlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3QgYW4gdW5zaWduZWQgYHRyYW5zZmVyV2l0aE1lbW9gIHRyYW5zYWN0aW9uIHVzaW5nIHRoZSBwcm92aWRlZCBkZXRhaWxzLlxuICAgKlxuICAgKiBAcmV0dXJucyB7VW5zaWduZWRUcmFuc2FjdGlvbn0gVGhlIGNvbnN0cnVjdGVkIHVuc2lnbmVkIHRyYW5zZmVyV2l0aE1lbW8gdHJhbnNhY3Rpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgYnVpbGRUcmFuc2FjdGlvbigpOiBVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCBiYXNlVHhJbmZvID0gdGhpcy5jcmVhdGVCYXNlVHhJbmZvKCk7XG4gICAgcmV0dXJuIHRoaXMuVHJhbnNmZXJXaXRoTWVtbyhcbiAgICAgIHtcbiAgICAgICAgZGVzdDogeyBpZDogdGhpcy5fdG8gfSxcbiAgICAgICAgdmFsdWU6IHRoaXMuX2Ftb3VudCxcbiAgICAgICAgbWVtbzogdGhpcy5fbWVtbyxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBUaGUgYW1vdW50IGZvciB0cmFuc2ZlciB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudFxuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSBUaGlzIHRyYW5zZmVyIGJ1aWxkZXIuXG4gICAqL1xuICBhbW91bnQoYW1vdW50OiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWUobmV3IEJpZ051bWJlcihhbW91bnQpKTtcbiAgICB0aGlzLl9hbW91bnQgPSBhbW91bnQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogVGhlIGRlc3RpbmF0aW9uIGFkZHJlc3MgZm9yIHRyYW5zZmVyIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGVzdFxuICAgKiBAcmV0dXJucyB7VHJhbnNmZXJCdWlsZGVyfSBUaGlzIHRyYW5zZmVyIGJ1aWxkZXIuXG4gICAqL1xuICB0byh7IGFkZHJlc3MgfTogQmFzZUFkZHJlc3MpOiB0aGlzIHtcbiAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcyh7IGFkZHJlc3MgfSk7XG4gICAgdGhpcy5fdG8gPSBhZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBtZW1vIHRvIGF0dGFjaCB0byB0aGUgdHJhbnNmZXIgdHJhbnNhY3Rpb24uXG4gICAqIFBhZHMgdGhlIG1lbW8gb24gdGhlIGxlZnQgd2l0aCB6ZXJvcyB0byBlbnN1cmUgaXQgaXMgMzIgY2hhcmFjdGVycyBsb25nLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVtbyBUaGUgbWVtbyBzdHJpbmcgdG8gaW5jbHVkZS5cbiAgICogQHJldHVybnMge1RyYW5zZmVyQnVpbGRlcn0gVGhpcyB0cmFuc2ZlciBidWlsZGVyLlxuICAgKi9cbiAgbWVtbyhtZW1vOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBjb25zdCBwYWRkZWRNZW1vID0gbWVtby5wYWRTdGFydCgzMiwgJzAnKTtcbiAgICB0aGlzLl9tZW1vID0gcGFkZGVkTWVtbztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZURlY29kZWRUcmFuc2FjdGlvbihkZWNvZGVkVHhuOiBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfCBEZWNvZGVkU2lnbmVkVHgsIHJhd1RyYW5zYWN0aW9uPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGRlY29kZWRUeG4ubWV0aG9kPy5uYW1lID09PSBJbnRlcmZhY2UuTWV0aG9kTmFtZXMuVHJhbnNmZXJXaXRoTWVtbykge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSBkZWNvZGVkVHhuLm1ldGhvZC5hcmdzIGFzIEludGVyZmFjZS5UcmFuc2ZlcldpdGhNZW1vQXJncztcbiAgICAgIGNvbnN0IGFtb3VudCA9IGAke3R4TWV0aG9kLnZhbHVlfWA7XG4gICAgICBjb25zdCB0byA9IHR4TWV0aG9kLmRlc3QuaWQ7XG4gICAgICBjb25zdCBtZW1vID0gdHhNZXRob2QubWVtbztcblxuICAgICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IFNjaGVtYS5UcmFuc2ZlcldpdGhNZW1vVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoeyBhbW91bnQsIHRvLCBtZW1vIH0pO1xuICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4ID0gc3VwZXIuZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uKTtcbiAgICBpZiAoIXRoaXMuX21ldGhvZCB8fCAhdGhpcy5fbWV0aG9kLmFyZ3MpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignVHJhbnNhY3Rpb24gbWV0aG9kIG9yIGFyZ3MgYXJlIHVuZGVmaW5lZCcpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9tZXRob2Q/Lm5hbWUgPT09IEludGVyZmFjZS5NZXRob2ROYW1lcy5UcmFuc2ZlcldpdGhNZW1vKSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIEludGVyZmFjZS5UcmFuc2ZlcldpdGhNZW1vQXJncztcbiAgICAgIHRoaXMuYW1vdW50KHR4TWV0aG9kLnZhbHVlKTtcbiAgICAgIHRoaXMudG8oe1xuICAgICAgICBhZGRyZXNzOiB1dGlscy5kZWNvZGVTdWJzdHJhdGVBZGRyZXNzKHR4TWV0aG9kLmRlc3QuaWQsIHV0aWxzLmdldEFkZHJlc3NGb3JtYXQodGhpcy5fY29pbkNvbmZpZy5uYW1lKSksXG4gICAgICB9KTtcbiAgICAgIHRoaXMubWVtbyh0eE1ldGhvZC5tZW1vKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIFRyYW5zYWN0aW9uIFR5cGU6ICR7dGhpcy5fbWV0aG9kLm5hbWV9LiBFeHBlY3RlZCB0cmFuc2ZlcldpdGhNZW1vYCk7XG4gICAgfVxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3QgYSB0cmFuc2FjdGlvbiB0byB0cmFuc2ZlciBmdW5kcyB3aXRoIGFuIGF0dGFjaGVkIG1lbW8uXG4gICAqXG4gICAqIEBwYXJhbSB7SW50ZXJmYWNlLlRyYW5zZmVyV2l0aE1lbW9BcmdzfSBhcmdzIEFyZ3VtZW50cyB0byBiZSBwYXNzZWQgdG8gdGhlIHRyYW5zZmVyV2l0aE1lbW8gbWV0aG9kXG4gICAqIEBwYXJhbSB7SW50ZXJmYWNlLkNyZWF0ZUJhc2VUeEluZm99IGluZm8gQmFzZSB0eG4gaW5mbyByZXF1aXJlZCB0byBjb25zdHJ1Y3QgdGhlIHRyYW5zZmVyIHRyYW5zYWN0aW9uXG4gICAqIEByZXR1cm5zIHtVbnNpZ25lZFRyYW5zYWN0aW9ufSBBbiB1bnNpZ25lZCB0cmFuc2ZlcldpdGhNZW1vIHRyYW5zYWN0aW9uXG4gICAqL1xuICBwcml2YXRlIFRyYW5zZmVyV2l0aE1lbW8oXG4gICAgYXJnczogSW50ZXJmYWNlLlRyYW5zZmVyV2l0aE1lbW9BcmdzLFxuICAgIGluZm86IEludGVyZmFjZS5DcmVhdGVCYXNlVHhJbmZvXG4gICk6IFVuc2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBkZWZpbmVNZXRob2QoXG4gICAgICB7XG4gICAgICAgIG1ldGhvZDoge1xuICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgbmFtZTogJ3RyYW5zZmVyV2l0aE1lbW8nLFxuICAgICAgICAgIHBhbGxldDogJ2JhbGFuY2VzJyxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uaW5mby5iYXNlVHhJbmZvLFxuICAgICAgfSxcbiAgICAgIGluZm8ub3B0aW9uc1xuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,49 @@
|
|
|
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 BondExtraValidationObject = {
|
|
21
|
+
value: string;
|
|
22
|
+
};
|
|
23
|
+
export declare const RegisterDidWithCDDTransactionSchema: joi.ObjectSchema<any>;
|
|
24
|
+
export declare const PreApproveAssetTransactionSchema: joi.ObjectSchema<any>;
|
|
25
|
+
export declare const AddAndAffirmWithMediatorsTransactionSchema: joi.ObjectSchema<any>;
|
|
26
|
+
export declare const BondExtraTransactionSchema: joi.ObjectSchema<any>;
|
|
27
|
+
export declare const NominateTransactionSchema: joi.ObjectSchema<any>;
|
|
28
|
+
export declare const BatchTransactionSchema: {
|
|
29
|
+
validate: (value: BatchValidationObject) => joi.ValidationResult;
|
|
30
|
+
validateBond: (value: BondValidationObject) => joi.ValidationResult;
|
|
31
|
+
validateNominate: (value: NominateValidationObject) => joi.ValidationResult;
|
|
32
|
+
};
|
|
33
|
+
export declare const bondSchema: joi.ObjectSchema<any>;
|
|
34
|
+
export declare const BatchUnstakingTransactionSchema: {
|
|
35
|
+
validate: (value: {
|
|
36
|
+
value: string;
|
|
37
|
+
}) => joi.ValidationResult;
|
|
38
|
+
};
|
|
39
|
+
export declare const UnbondTransactionSchema: {
|
|
40
|
+
validate: (value: {
|
|
41
|
+
value: string;
|
|
42
|
+
}) => joi.ValidationResult;
|
|
43
|
+
};
|
|
44
|
+
export declare const WithdrawUnbondedTransactionSchema: {
|
|
45
|
+
validate: (value: {
|
|
46
|
+
slashingSpans: number;
|
|
47
|
+
}) => joi.ValidationResult;
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=txnSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAIF,eAAO,MAAM,mCAAmC,uBAI9C,CAAC;AAEH,eAAO,MAAM,gCAAgC,uBAE3C,CAAC;AAEH,eAAO,MAAM,0CAA0C,uBAyDrD,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;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"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.WithdrawUnbondedTransactionSchema = exports.UnbondTransactionSchema = exports.BatchUnstakingTransactionSchema = exports.bondSchema = exports.BatchTransactionSchema = exports.NominateTransactionSchema = exports.BondExtraTransactionSchema = exports.AddAndAffirmWithMediatorsTransactionSchema = exports.PreApproveAssetTransactionSchema = exports.RegisterDidWithCDDTransactionSchema = void 0;
|
|
7
|
+
const joi_1 = __importDefault(require("joi"));
|
|
8
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
9
|
+
const addressSchema = joi_1.default.string().custom((addr) => utils_1.default.isValidAddress(addr));
|
|
10
|
+
exports.RegisterDidWithCDDTransactionSchema = joi_1.default.object({
|
|
11
|
+
targetAccount: addressSchema.required(),
|
|
12
|
+
secondaryKeys: joi_1.default.array().length(0).required(),
|
|
13
|
+
expiry: joi_1.default.valid(null).required(),
|
|
14
|
+
});
|
|
15
|
+
exports.PreApproveAssetTransactionSchema = joi_1.default.object({
|
|
16
|
+
assetId: joi_1.default.string().required(),
|
|
17
|
+
});
|
|
18
|
+
exports.AddAndAffirmWithMediatorsTransactionSchema = joi_1.default.object({
|
|
19
|
+
venueId: joi_1.default.valid(null).required(),
|
|
20
|
+
settlementType: joi_1.default
|
|
21
|
+
.object({
|
|
22
|
+
settleOnAffirmation: joi_1.default.valid(null),
|
|
23
|
+
})
|
|
24
|
+
.required(),
|
|
25
|
+
tradeDate: joi_1.default.valid(null).required(),
|
|
26
|
+
valueDate: joi_1.default.valid(null).required(),
|
|
27
|
+
legs: joi_1.default
|
|
28
|
+
.array()
|
|
29
|
+
.items(joi_1.default.object({
|
|
30
|
+
fungible: joi_1.default
|
|
31
|
+
.object({
|
|
32
|
+
sender: joi_1.default
|
|
33
|
+
.object({
|
|
34
|
+
did: addressSchema.required(),
|
|
35
|
+
kind: joi_1.default
|
|
36
|
+
.object({
|
|
37
|
+
default: joi_1.default.valid(null),
|
|
38
|
+
})
|
|
39
|
+
.required(),
|
|
40
|
+
})
|
|
41
|
+
.required(),
|
|
42
|
+
receiver: joi_1.default
|
|
43
|
+
.object({
|
|
44
|
+
did: addressSchema.required(),
|
|
45
|
+
kind: joi_1.default
|
|
46
|
+
.object({
|
|
47
|
+
default: joi_1.default.valid(null),
|
|
48
|
+
})
|
|
49
|
+
.required(),
|
|
50
|
+
})
|
|
51
|
+
.required(),
|
|
52
|
+
assetId: joi_1.default.string().required(),
|
|
53
|
+
amount: joi_1.default.number().required(),
|
|
54
|
+
})
|
|
55
|
+
.required(),
|
|
56
|
+
}))
|
|
57
|
+
.required(),
|
|
58
|
+
portfolios: joi_1.default
|
|
59
|
+
.array()
|
|
60
|
+
.items(joi_1.default.object({
|
|
61
|
+
did: addressSchema.required(),
|
|
62
|
+
kind: joi_1.default
|
|
63
|
+
.object({
|
|
64
|
+
default: joi_1.default.valid(null),
|
|
65
|
+
})
|
|
66
|
+
.required(),
|
|
67
|
+
}))
|
|
68
|
+
.required(),
|
|
69
|
+
instructionMemo: joi_1.default.string().required(),
|
|
70
|
+
mediators: joi_1.default.array().length(0).required(),
|
|
71
|
+
});
|
|
72
|
+
// For standalone bondExtra transactions
|
|
73
|
+
exports.BondExtraTransactionSchema = joi_1.default.object({
|
|
74
|
+
value: joi_1.default.string().required(),
|
|
75
|
+
});
|
|
76
|
+
// For nominate transactions in batch
|
|
77
|
+
exports.NominateTransactionSchema = joi_1.default.object({
|
|
78
|
+
validators: joi_1.default.array().items(addressSchema).min(1).required(),
|
|
79
|
+
});
|
|
80
|
+
// For batch validation
|
|
81
|
+
exports.BatchTransactionSchema = {
|
|
82
|
+
validate: (value) => joi_1.default
|
|
83
|
+
.object({
|
|
84
|
+
amount: joi_1.default.string().required(),
|
|
85
|
+
controller: addressSchema.required(),
|
|
86
|
+
// Payee can be a string or an object with Account property
|
|
87
|
+
payee: joi_1.default
|
|
88
|
+
.alternatives()
|
|
89
|
+
.try(joi_1.default.string(), joi_1.default.object({
|
|
90
|
+
Account: addressSchema,
|
|
91
|
+
}))
|
|
92
|
+
.required(),
|
|
93
|
+
validators: joi_1.default.array().items(addressSchema).min(1).required(),
|
|
94
|
+
})
|
|
95
|
+
.validate(value),
|
|
96
|
+
validateBond: (value) => joi_1.default
|
|
97
|
+
.object({
|
|
98
|
+
value: joi_1.default.string().required(),
|
|
99
|
+
controller: addressSchema.required(),
|
|
100
|
+
payee: joi_1.default
|
|
101
|
+
.alternatives()
|
|
102
|
+
.try(joi_1.default.string(), joi_1.default.object({
|
|
103
|
+
Account: addressSchema,
|
|
104
|
+
}))
|
|
105
|
+
.required(),
|
|
106
|
+
})
|
|
107
|
+
.validate(value),
|
|
108
|
+
validateNominate: (value) => joi_1.default
|
|
109
|
+
.object({
|
|
110
|
+
validators: joi_1.default.array().items(addressSchema).min(1).required(),
|
|
111
|
+
})
|
|
112
|
+
.validate(value),
|
|
113
|
+
};
|
|
114
|
+
exports.bondSchema = joi_1.default.object({
|
|
115
|
+
value: joi_1.default.string().required(),
|
|
116
|
+
controller: addressSchema.required(),
|
|
117
|
+
payee: joi_1.default
|
|
118
|
+
.alternatives()
|
|
119
|
+
.try(joi_1.default.string().valid('Staked', 'Stash', 'Controller'), joi_1.default.object({
|
|
120
|
+
Account: addressSchema.required(),
|
|
121
|
+
}))
|
|
122
|
+
.required(),
|
|
123
|
+
});
|
|
124
|
+
exports.BatchUnstakingTransactionSchema = {
|
|
125
|
+
validate: (value) => joi_1.default
|
|
126
|
+
.object({
|
|
127
|
+
value: joi_1.default.string().required(),
|
|
128
|
+
})
|
|
129
|
+
.validate(value),
|
|
130
|
+
};
|
|
131
|
+
exports.UnbondTransactionSchema = {
|
|
132
|
+
validate: (value) => joi_1.default
|
|
133
|
+
.object({
|
|
134
|
+
value: joi_1.default.string().required(),
|
|
135
|
+
})
|
|
136
|
+
.validate(value),
|
|
137
|
+
};
|
|
138
|
+
exports.WithdrawUnbondedTransactionSchema = {
|
|
139
|
+
validate: (value) => joi_1.default
|
|
140
|
+
.object({
|
|
141
|
+
slashingSpans: joi_1.default.number().min(0).required(),
|
|
142
|
+
})
|
|
143
|
+
.validate(value),
|
|
144
|
+
};
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhuU2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90eG5TY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOENBQXNCO0FBQ3RCLG9EQUE0QjtBQXVCNUIsTUFBTSxhQUFhLEdBQUcsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsZUFBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBRW5FLFFBQUEsbUNBQW1DLEdBQUcsYUFBRyxDQUFDLE1BQU0sQ0FBQztJQUM1RCxhQUFhLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRTtJQUN2QyxhQUFhLEVBQUUsYUFBRyxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDL0MsTUFBTSxFQUFFLGFBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFO0NBQ25DLENBQUMsQ0FBQztBQUVVLFFBQUEsZ0NBQWdDLEdBQUcsYUFBRyxDQUFDLE1BQU0sQ0FBQztJQUN6RCxPQUFPLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNqQyxDQUFDLENBQUM7QUFFVSxRQUFBLDBDQUEwQyxHQUFHLGFBQUcsQ0FBQyxNQUFNLENBQUM7SUFDbkUsT0FBTyxFQUFFLGFBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ25DLGNBQWMsRUFBRSxhQUFHO1NBQ2hCLE1BQU0sQ0FBQztRQUNOLG1CQUFtQixFQUFFLGFBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0tBQ3JDLENBQUM7U0FDRCxRQUFRLEVBQUU7SUFDYixTQUFTLEVBQUUsYUFBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDckMsU0FBUyxFQUFF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O1FBQ1QsT0FBTyxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUU7S0FDbEMsQ0FBQyxDQUNIO1NBQ0EsUUFBUSxFQUFFO0NBQ2QsQ0FBQyxDQUFDO0FBRVUsUUFBQSwrQkFBK0IsR0FBRztJQUM3QyxRQUFRLEVBQUUsQ0FBQyxLQUF3QixFQUF3QixFQUFFLENBQzNELGFBQUc7U0FDQSxNQUFNLENBQUM7UUFDTixLQUFLLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtLQUMvQixDQUFDO1NBQ0QsUUFBUSxDQUFDLEtBQUssQ0FBQztDQUNyQixDQUFDO0FBRVcsUUFBQSx1QkFBdUIsR0FBRztJQUNyQyxRQUFRLEVBQUUsQ0FBQyxLQUF3QixFQUF3QixFQUFFLENBQzNELGFBQUc7U0FDQSxNQUFNLENBQUM7UUFDTixLQUFLLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtLQUMvQixDQUFDO1NBQ0QsUUFBUSxDQUFDLEtBQUssQ0FBQztDQUNyQixDQUFDO0FBRVcsUUFBQSxpQ0FBaUMsR0FBRztJQUMvQyxRQUFRLEVBQUUsQ0FBQyxLQUFnQyxFQUF3QixFQUFFLENBQ25FLGFBQUc7U0FDQSxNQUFNLENBQUM7UUFDTixhQUFhLEVBQUUsYUFBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7S0FDOUMsQ0FBQztTQUNELFFBQVEsQ0FBQyxLQUFLLENBQUM7Q0FDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBqb2kgZnJvbSAnam9pJztcbmltcG9ydCBVdGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IHR5cGUgQmF0Y2hWYWxpZGF0aW9uT2JqZWN0ID0ge1xuICBhbW91bnQ6IHN0cmluZztcbiAgY29udHJvbGxlcjogc3RyaW5nO1xuICBwYXllZTogc3RyaW5nIHwgeyBBY2NvdW50OiBzdHJpbmcgfTtcbiAgdmFsaWRhdG9yczogc3RyaW5nW107XG59O1xuXG5leHBvcnQgdHlwZSBCb25kVmFsaWRhdGlvbk9iamVjdCA9IHtcbiAgdmFsdWU6IHN0cmluZztcbiAgY29udHJvbGxlcjogc3RyaW5nO1xuICBwYXllZTogc3RyaW5nIHwgeyBBY2NvdW50OiBzdHJpbmcgfTtcbn07XG5cbmV4cG9ydCB0eXBlIE5vbWluYXRlVmFsaWRhdGlvbk9iamVjdCA9IHtcbiAgdmFsaWRhdG9yczogc3RyaW5nW107XG59O1xuXG5leHBvcnQgdHlwZSBCb25kRXh0cmFWYWxpZGF0aW9uT2JqZWN0ID0ge1xuICB2YWx1ZTogc3RyaW5nO1xufTtcblxuY29uc3QgYWRkcmVzc1NjaGVtYSA9IGpvaS5zdHJpbmcoKS5jdXN0b20oKGFkZHIpID0+IFV0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHIpKTtcblxuZXhwb3J0IGNvbnN0IFJlZ2lzdGVyRGlkV2l0aENERFRyYW5zYWN0aW9uU2NoZW1hID0gam9pLm9iamVjdCh7XG4gIHRhcmdldEFjY291bnQ6IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbiAgc2Vjb25kYXJ5S2V5czogam9pLmFycmF5KCkubGVuZ3RoKDApLnJlcXVpcmVkKCksXG4gIGV4cGlyeTogam9pLnZhbGlkKG51bGwpLnJlcXVpcmVkKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFByZUFwcHJvdmVBc3NldFRyYW5zYWN0aW9uU2NoZW1hID0gam9pLm9iamVjdCh7XG4gIGFzc2V0SWQ6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBBZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzVHJhbnNhY3Rpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgdmVudWVJZDogam9pLnZhbGlkKG51bGwpLnJlcXVpcmVkKCksXG4gIHNldHRsZW1lbnRUeXBlOiBqb2lcbiAgICAub2JqZWN0KHtcbiAgICAgIHNldHRsZU9uQWZmaXJtYXRpb246IGpvaS52YWxpZChudWxsKSxcbiAgICB9KVxuICAgIC5yZXF1aXJlZCgpLFxuICB0cmFkZURhdGU6IGpvaS52YWxpZChudWxsKS5yZXF1aXJlZCgpLFxuICB2YWx1ZURhdGU6IGpvaS52YWxpZChudWxsKS5yZXF1aXJlZCgpLFxuICBsZWdzOiBqb2lcbiAgICAuYXJyYXkoKVxuICAgIC5pdGVtcyhcbiAgICAgIGpvaS5vYmplY3Qoe1xuICAgICAgICBmdW5naWJsZTogam9pXG4gICAgICAgICAgLm9iamVjdCh7XG4gICAgICAgICAgICBzZW5kZXI6IGpvaVxuICAgICAgICAgICAgICAub2JqZWN0KHtcbiAgICAgICAgICAgICAgICBkaWQ6IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbiAgICAgICAgICAgICAgICBraW5kOiBqb2lcbiAgICAgICAgICAgICAgICAgIC5vYmplY3Qoe1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBqb2kudmFsaWQobnVsbCksXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgLnJlcXVpcmVkKCksXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5yZXF1aXJlZCgpLFxuICAgICAgICAgICAgcmVjZWl2ZXI6IGpvaVxuICAgICAgICAgICAgICAub2JqZWN0KHtcbiAgICAgICAgICAgICAgICBkaWQ6IGFkZHJlc3NTY2hlbWEucmVxdWlyZWQoKSxcbiAgICAgICAgICAgICAgICBraW5kOiBqb2lcbiAgICAgICAgICAgICAgICAgIC5vYmplY3Qoe1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBqb2kudmFsaWQobnVsbCksXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgLnJlcXVpcmVkKCksXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5yZXF1aXJlZCgpLFxuICAgICAgICAgICAgYXNzZXRJZDogam9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gICAgICAgICAgICBhbW91bnQ6IGpvaS5udW1iZXIoKS5yZXF1aXJlZCgpLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgLnJlcXVpcmVkKCksXG4gICAgICB9KVxuICAgIClcbiAgICAucmVxdWlyZWQoKSxcbiAgcG9ydGZvbGlvczogam9pXG4gICAgLmFycmF5KClcbiAgICAuaXRlbXMoXG4gICAgICBqb2kub2JqZWN0KHtcbiAgICAgICAgZGlkOiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG4gICAgICAgIGtpbmQ6IGpvaVxuICAgICAgICAgIC5vYmplY3Qoe1xuICAgICAgICAgICAgZGVmYXVsdDogam9pLnZhbGlkKG51bGwpLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgLnJlcXVpcmVkKCksXG4gICAgICB9KVxuICAgIClcbiAgICAucmVxdWlyZWQoKSxcbiAgaW5zdHJ1Y3Rpb25NZW1vOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgbWVkaWF0b3JzOiBqb2kuYXJyYXkoKS5sZW5ndGgoMCkucmVxdWlyZWQoKSxcbn0pO1xuXG4vLyBGb3Igc3RhbmRhbG9uZSBib25kRXh0cmEgdHJhbnNhY3Rpb25zXG5leHBvcnQgY29uc3QgQm9uZEV4dHJhVHJhbnNhY3Rpb25TY2hlbWEgPSBqb2kub2JqZWN0KHtcbiAgdmFsdWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxufSk7XG5cbi8vIEZvciBub21pbmF0ZSB0cmFuc2FjdGlvbnMgaW4gYmF0Y2hcbmV4cG9ydCBjb25zdCBOb21pbmF0ZVRyYW5zYWN0aW9uU2NoZW1hID0gam9pLm9iamVjdCh7XG4gIHZhbGlkYXRvcnM6IGpvaS5hcnJheSgpLml0ZW1zKGFkZHJlc3NTY2hlbWEpLm1pbigxKS5yZXF1aXJlZCgpLFxufSk7XG5cbi8vIEZvciBiYXRjaCB2YWxpZGF0aW9uXG5leHBvcnQgY29uc3QgQmF0Y2hUcmFuc2FjdGlvblNjaGVtYSA9IHtcbiAgdmFsaWRhdGU6ICh2YWx1ZTogQmF0Y2hWYWxpZGF0aW9uT2JqZWN0KTogam9pLlZhbGlkYXRpb25SZXN1bHQgPT5cbiAgICBqb2lcbiAgICAgIC5vYmplY3Qoe1xuICAgICAgICBhbW91bnQ6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICAgICAgICBjb250cm9sbGVyOiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG4gICAgICAgIC8vIFBheWVlIGNhbiBiZSBhIHN0cmluZyBvciBhbiBvYmplY3Qgd2l0aCBBY2NvdW50IHByb3BlcnR5XG4gICAgICAgIHBheWVlOiBqb2lcbiAgICAgICAgICAuYWx0ZXJuYXRpdmVzKClcbiAgICAgICAgICAudHJ5KFxuICAgICAgICAgICAgam9pLnN0cmluZygpLFxuICAgICAgICAgICAgam9pLm9iamVjdCh7XG4gICAgICAgICAgICAgIEFjY291bnQ6IGFkZHJlc3NTY2hlbWEsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgICAucmVxdWlyZWQoKSxcbiAgICAgICAgdmFsaWRhdG9yczogam9pLmFycmF5KCkuaXRlbXMoYWRkcmVzc1NjaGVtYSkubWluKDEpLnJlcXVpcmVkKCksXG4gICAgICB9KVxuICAgICAgLnZhbGlkYXRlKHZhbHVlKSxcblxuICB2YWxpZGF0ZUJvbmQ6ICh2YWx1ZTogQm9uZFZhbGlkYXRpb25PYmplY3QpOiBqb2kuVmFsaWRhdGlvblJlc3VsdCA9PlxuICAgIGpvaVxuICAgICAgLm9iamVjdCh7XG4gICAgICAgIHZhbHVlOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgICAgICAgY29udHJvbGxlcjogYWRkcmVzc1NjaGVtYS5yZXF1aXJlZCgpLFxuICAgICAgICBwYXllZTogam9pXG4gICAgICAgICAgLmFsdGVybmF0aXZlcygpXG4gICAgICAgICAgLnRyeShcbiAgICAgICAgICAgIGpvaS5zdHJpbmcoKSxcbiAgICAgICAgICAgIGpvaS5vYmplY3Qoe1xuICAgICAgICAgICAgICBBY2NvdW50OiBhZGRyZXNzU2NoZW1hLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgICAgLnJlcXVpcmVkKCksXG4gICAgICB9KVxuICAgICAgLnZhbGlkYXRlKHZhbHVlKSxcblxuICB2YWxpZGF0ZU5vbWluYXRlOiAodmFsdWU6IE5vbWluYXRlVmFsaWRhdGlvbk9iamVjdCk6IGpvaS5WYWxpZGF0aW9uUmVzdWx0ID0+XG4gICAgam9pXG4gICAgICAub2JqZWN0KHtcbiAgICAgICAgdmFsaWRhdG9yczogam9pLmFycmF5KCkuaXRlbXMoYWRkcmVzc1NjaGVtYSkubWluKDEpLnJlcXVpcmVkKCksXG4gICAgICB9KVxuICAgICAgLnZhbGlkYXRlKHZhbHVlKSxcbn07XG5cbmV4cG9ydCBjb25zdCBib25kU2NoZW1hID0gam9pLm9iamVjdCh7XG4gIHZhbHVlOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgY29udHJvbGxlcjogYWRkcmVzc1NjaGVtYS5yZXF1aXJlZCgpLFxuICBwYXllZTogam9pXG4gICAgLmFsdGVybmF0aXZlcygpXG4gICAgLnRyeShcbiAgICAgIGpvaS5zdHJpbmcoKS52YWxpZCgnU3Rha2VkJywgJ1N0YXNoJywgJ0NvbnRyb2xsZXInKSxcbiAgICAgIGpvaS5vYmplY3Qoe1xuICAgICAgICBBY2NvdW50OiBhZGRyZXNzU2NoZW1hLnJlcXVpcmVkKCksXG4gICAgICB9KVxuICAgIClcbiAgICAucmVxdWlyZWQoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQmF0Y2hVbnN0YWtpbmdUcmFuc2FjdGlvblNjaGVtYSA9IHtcbiAgdmFsaWRhdGU6ICh2YWx1ZTogeyB2YWx1ZTogc3RyaW5nIH0pOiBqb2kuVmFsaWRhdGlvblJlc3VsdCA9PlxuICAgIGpvaVxuICAgICAgLm9iamVjdCh7XG4gICAgICAgIHZhbHVlOiBqb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgICAgIH0pXG4gICAgICAudmFsaWRhdGUodmFsdWUpLFxufTtcblxuZXhwb3J0IGNvbnN0IFVuYm9uZFRyYW5zYWN0aW9uU2NoZW1hID0ge1xuICB2YWxpZGF0ZTogKHZhbHVlOiB7IHZhbHVlOiBzdHJpbmcgfSk6IGpvaS5WYWxpZGF0aW9uUmVzdWx0ID0+XG4gICAgam9pXG4gICAgICAub2JqZWN0KHtcbiAgICAgICAgdmFsdWU6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICAgICAgfSlcbiAgICAgIC52YWxpZGF0ZSh2YWx1ZSksXG59O1xuXG5leHBvcnQgY29uc3QgV2l0aGRyYXdVbmJvbmRlZFRyYW5zYWN0aW9uU2NoZW1hID0ge1xuICB2YWxpZGF0ZTogKHZhbHVlOiB7IHNsYXNoaW5nU3BhbnM6IG51bWJlciB9KTogam9pLlZhbGlkYXRpb25SZXN1bHQgPT5cbiAgICBqb2lcbiAgICAgIC5vYmplY3Qoe1xuICAgICAgICBzbGFzaGluZ1NwYW5zOiBqb2kubnVtYmVyKCkubWluKDApLnJlcXVpcmVkKCksXG4gICAgICB9KVxuICAgICAgLnZhbGlkYXRlKHZhbHVlKSxcbn07XG4iXX0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Transaction } from './transaction';
|
|
2
|
+
import { PolyxBaseBuilder } from './baseBuilder';
|
|
3
|
+
import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
|
|
4
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
5
|
+
import { TransactionType } from '@bitgo-beta/sdk-core';
|
|
6
|
+
export declare class UnbondBuilder extends PolyxBaseBuilder {
|
|
7
|
+
protected _amount: string;
|
|
8
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
9
|
+
protected get transactionType(): TransactionType;
|
|
10
|
+
/**
|
|
11
|
+
* Build the unbond transaction
|
|
12
|
+
*/
|
|
13
|
+
protected buildTransaction(): UnsignedTransaction;
|
|
14
|
+
/**
|
|
15
|
+
* Set the amount to unbond
|
|
16
|
+
*/
|
|
17
|
+
amount(amount: string): this;
|
|
18
|
+
/**
|
|
19
|
+
* Get the amount to unbond
|
|
20
|
+
*/
|
|
21
|
+
getAmount(): string;
|
|
22
|
+
/** @inheritdoc */
|
|
23
|
+
validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx): void;
|
|
24
|
+
/** @inheritdoc */
|
|
25
|
+
protected fromImplementation(rawTransaction: string): Transaction;
|
|
26
|
+
/** @inheritdoc */
|
|
27
|
+
validateTransaction(tx: Transaction): void;
|
|
28
|
+
/**
|
|
29
|
+
* Validate the unbond fields
|
|
30
|
+
*/
|
|
31
|
+
private validateFields;
|
|
32
|
+
/**
|
|
33
|
+
* Validates fields for testing
|
|
34
|
+
*/
|
|
35
|
+
testValidateFields(): void;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=unbondBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unbondBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/unbondBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAExG,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAA2B,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMhF,qBAAa,aAAc,SAAQ,gBAAgB;IACjD,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAYjD;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM5B;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB,kBAAkB;IAClB,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,GAAG,eAAe,GAAG,IAAI;IAmBrF,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAcjE,kBAAkB;IAClB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAK1C;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,kBAAkB,IAAI,IAAI;CAG3B"}
|