@bitgo-beta/sdk-coin-polyx 1.0.1-beta.102 → 1.0.1-beta.1021
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/lib/baseBuilder.d.ts +24 -0
- package/dist/src/lib/baseBuilder.d.ts.map +1 -0
- package/dist/src/lib/baseBuilder.js +31 -0
- package/dist/src/lib/batchStakingBuilder.d.ts +79 -0
- package/dist/src/lib/batchStakingBuilder.d.ts.map +1 -0
- package/dist/src/lib/batchStakingBuilder.js +299 -0
- package/dist/src/lib/batchUnstakingBuilder.d.ts +39 -0
- package/dist/src/lib/batchUnstakingBuilder.d.ts.map +1 -0
- package/dist/src/lib/batchUnstakingBuilder.js +127 -0
- package/dist/src/lib/bondExtraBuilder.d.ts +37 -0
- package/dist/src/lib/bondExtraBuilder.d.ts.map +1 -0
- package/dist/src/lib/bondExtraBuilder.js +101 -0
- package/dist/src/lib/constants.d.ts +21 -0
- package/dist/src/lib/constants.d.ts.map +1 -0
- package/dist/src/lib/constants.js +24 -0
- package/dist/src/lib/hexTransferBuilder.d.ts +26 -0
- package/dist/src/lib/hexTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/hexTransferBuilder.js +49 -0
- package/dist/src/lib/iface.d.ts +132 -2
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +37 -1
- package/dist/src/lib/index.d.ts +20 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +37 -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 +99 -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 +2 -2
- package/dist/src/lib/registerDidWithCDDBuilder.d.ts.map +1 -1
- package/dist/src/lib/registerDidWithCDDBuilder.js +7 -5
- package/dist/src/lib/rejectInstructionBuilder.d.ts +29 -0
- package/dist/src/lib/rejectInstructionBuilder.d.ts.map +1 -0
- package/dist/src/lib/rejectInstructionBuilder.js +89 -0
- package/dist/src/lib/tokenTransferBuilder.d.ts +58 -0
- package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/tokenTransferBuilder.js +158 -0
- package/dist/src/lib/transaction.d.ts +21 -2
- package/dist/src/lib/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction.js +114 -2
- package/dist/src/lib/transactionBuilderFactory.d.ts +20 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +92 -4
- package/dist/src/lib/transferBuilder.d.ts +4 -2
- package/dist/src/lib/transferBuilder.d.ts.map +1 -1
- package/dist/src/lib/transferBuilder.js +10 -4
- package/dist/src/lib/txnSchema.d.ts +47 -0
- package/dist/src/lib/txnSchema.d.ts.map +1 -1
- package/dist/src/lib/txnSchema.js +152 -2
- package/dist/src/lib/unbondBuilder.d.ts +37 -0
- package/dist/src/lib/unbondBuilder.d.ts.map +1 -0
- package/dist/src/lib/unbondBuilder.js +98 -0
- package/dist/src/lib/utils.d.ts +39 -0
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +89 -1
- package/dist/src/lib/withdrawUnbondedBuilder.d.ts +35 -0
- package/dist/src/lib/withdrawUnbondedBuilder.d.ts.map +1 -0
- package/dist/src/lib/withdrawUnbondedBuilder.js +89 -0
- package/dist/src/polyx.d.ts +49 -9
- package/dist/src/polyx.d.ts.map +1 -1
- package/dist/src/polyx.js +271 -18
- package/dist/src/polyxToken.d.ts +20 -0
- package/dist/src/polyxToken.d.ts.map +1 -0
- package/dist/src/polyxToken.js +55 -0
- package/dist/src/register.d.ts.map +1 -1
- package/dist/src/register.js +5 -1
- package/dist/src/tpolyx.d.ts +7 -0
- package/dist/src/tpolyx.d.ts.map +1 -1
- package/dist/src/tpolyx.js +11 -1
- package/dist/test/integration/index.d.ts +1 -0
- package/dist/test/integration/index.d.ts.map +1 -0
- package/dist/test/integration/index.js +1 -0
- package/dist/test/resources/index.d.ts +112 -0
- package/dist/test/resources/index.d.ts.map +1 -0
- package/dist/test/resources/index.js +121 -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 +271 -0
- package/dist/test/unit/transactionBuilder/base.d.ts +4 -0
- package/dist/test/unit/transactionBuilder/base.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/base.js +245 -0
- package/dist/test/unit/transactionBuilder/batchStakingBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/batchStakingBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/batchStakingBuilder.js +263 -0
- package/dist/test/unit/transactionBuilder/batchUnstakingBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/batchUnstakingBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/batchUnstakingBuilder.js +159 -0
- package/dist/test/unit/transactionBuilder/bondExtraBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/bondExtraBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/bondExtraBuilder.js +158 -0
- package/dist/test/unit/transactionBuilder/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 +169 -0
- package/dist/test/unit/transactionBuilder/preApproveAssetBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/preApproveAssetBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/preApproveAssetBuilder.js +115 -0
- package/dist/test/unit/transactionBuilder/registerDidWithCDDBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/registerDidWithCDDBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/registerDidWithCDDBuilder.js +302 -0
- package/dist/test/unit/transactionBuilder/rejectInstructionBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/rejectInstructionBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/rejectInstructionBuilder.js +128 -0
- package/dist/test/unit/transactionBuilder/singletonRegistry.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/singletonRegistry.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/singletonRegistry.js +59 -0
- package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +140 -0
- package/dist/test/unit/transactionBuilder/transactionBuilderFactory.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/transactionBuilderFactory.js +74 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.js +326 -0
- package/dist/test/unit/transactionBuilder/unbondBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/unbondBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/unbondBuilder.js +144 -0
- package/dist/test/unit/transactionBuilder/withdrawUnbondedBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/withdrawUnbondedBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/withdrawUnbondedBuilder.js +138 -0
- package/dist/test/unit/utils.d.ts +2 -0
- package/dist/test/unit/utils.d.ts.map +1 -0
- package/dist/test/unit/utils.js +143 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +15 -10
- package/.eslintignore +0 -4
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -35
|
@@ -0,0 +1,127 @@
|
|
|
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.BatchUnstakingBuilder = void 0;
|
|
7
|
+
const txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
|
|
8
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
9
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
10
|
+
const baseBuilder_1 = require("./baseBuilder");
|
|
11
|
+
const txnSchema_1 = require("./txnSchema");
|
|
12
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
13
|
+
class BatchUnstakingBuilder extends baseBuilder_1.PolyxBaseBuilder {
|
|
14
|
+
constructor(_coinConfig) {
|
|
15
|
+
super(_coinConfig);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Unbond tokens and chill (stop nominating validators)
|
|
19
|
+
*
|
|
20
|
+
* @returns {UnsignedTransaction} an unsigned Polyx transaction
|
|
21
|
+
*/
|
|
22
|
+
buildTransaction() {
|
|
23
|
+
const baseTxInfo = this.createBaseTxInfo();
|
|
24
|
+
const chillCall = txwrapper_polkadot_1.methods.staking.chill({}, baseTxInfo.baseTxInfo, baseTxInfo.options);
|
|
25
|
+
const unbondCall = txwrapper_polkadot_1.methods.staking.unbond({
|
|
26
|
+
value: this._amount,
|
|
27
|
+
}, baseTxInfo.baseTxInfo, baseTxInfo.options);
|
|
28
|
+
// Create batch all transaction (atomic execution)
|
|
29
|
+
return txwrapper_polkadot_1.methods.utility.batchAll({
|
|
30
|
+
calls: [chillCall.method, unbondCall.method],
|
|
31
|
+
}, baseTxInfo.baseTxInfo, baseTxInfo.options);
|
|
32
|
+
}
|
|
33
|
+
get transactionType() {
|
|
34
|
+
return sdk_core_1.TransactionType.Batch;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The amount to unstake.
|
|
38
|
+
*
|
|
39
|
+
* @param {string} amount
|
|
40
|
+
* @returns {BatchUnstakingBuilder} This unstake builder.
|
|
41
|
+
*/
|
|
42
|
+
amount(amount) {
|
|
43
|
+
this.validateValue(new bignumber_js_1.default(amount));
|
|
44
|
+
this._amount = amount;
|
|
45
|
+
return this;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get the amount to unstake
|
|
49
|
+
*/
|
|
50
|
+
getAmount() {
|
|
51
|
+
return this._amount;
|
|
52
|
+
}
|
|
53
|
+
/** @inheritdoc */
|
|
54
|
+
validateDecodedTransaction(decodedTxn) {
|
|
55
|
+
const methodName = decodedTxn.method?.name;
|
|
56
|
+
if (methodName === 'batchAll') {
|
|
57
|
+
const txMethod = decodedTxn.method.args;
|
|
58
|
+
const calls = txMethod.calls;
|
|
59
|
+
if (calls.length !== 2) {
|
|
60
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid batch unstaking transaction: expected 2 calls but got ${calls.length}`);
|
|
61
|
+
}
|
|
62
|
+
// Check that first call is chill
|
|
63
|
+
const firstCallMethod = utils_1.default.decodeMethodName(calls[0], this._registry);
|
|
64
|
+
if (firstCallMethod !== 'chill') {
|
|
65
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid batch unstaking transaction: first call should be chill but got ${firstCallMethod}`);
|
|
66
|
+
}
|
|
67
|
+
// Check that second call is unbond
|
|
68
|
+
const secondCallMethod = utils_1.default.decodeMethodName(calls[1], this._registry);
|
|
69
|
+
if (secondCallMethod !== 'unbond') {
|
|
70
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid batch unstaking transaction: second call should be unbond but got ${secondCallMethod}`);
|
|
71
|
+
}
|
|
72
|
+
// Validate unbond amount - handle both string and number formats
|
|
73
|
+
const unbondArgs = calls[1].args;
|
|
74
|
+
const valueString = typeof unbondArgs.value === 'string' ? unbondArgs.value : unbondArgs.value.toString();
|
|
75
|
+
const validationResult = txnSchema_1.BatchUnstakingTransactionSchema.validate({
|
|
76
|
+
value: valueString,
|
|
77
|
+
});
|
|
78
|
+
if (validationResult.error) {
|
|
79
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid batch unstaking transaction: ${validationResult.error.message}`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid transaction type: ${methodName}. Expected batchAll`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/** @inheritdoc */
|
|
87
|
+
fromImplementation(rawTransaction) {
|
|
88
|
+
const tx = super.fromImplementation(rawTransaction);
|
|
89
|
+
if (this._method && this._method.name === 'batchAll') {
|
|
90
|
+
const txMethod = this._method.args;
|
|
91
|
+
const calls = txMethod.calls;
|
|
92
|
+
if (calls && calls.length === 2) {
|
|
93
|
+
const secondCallMethod = utils_1.default.decodeMethodName(calls[1], this._registry);
|
|
94
|
+
if (secondCallMethod === 'unbond') {
|
|
95
|
+
const unbondArgs = calls[1].args;
|
|
96
|
+
const valueString = typeof unbondArgs.value === 'string' ? unbondArgs.value : unbondArgs.value.toString();
|
|
97
|
+
this.amount(valueString);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${this._method?.name}. Expected batchAll`);
|
|
103
|
+
}
|
|
104
|
+
return tx;
|
|
105
|
+
}
|
|
106
|
+
/** @inheritdoc */
|
|
107
|
+
validateTransaction(_) {
|
|
108
|
+
super.validateTransaction(_);
|
|
109
|
+
this.validateFields(this._amount);
|
|
110
|
+
}
|
|
111
|
+
validateFields(value) {
|
|
112
|
+
const validationResult = txnSchema_1.BatchUnstakingTransactionSchema.validate({
|
|
113
|
+
value,
|
|
114
|
+
});
|
|
115
|
+
if (validationResult.error) {
|
|
116
|
+
throw new sdk_core_1.InvalidTransactionError(`Batch Unstaking Builder Transaction validation failed: ${validationResult.error.message}`);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Validates fields for testing
|
|
121
|
+
*/
|
|
122
|
+
testValidateFields() {
|
|
123
|
+
this.validateFields(this._amount);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
exports.BatchUnstakingBuilder = BatchUnstakingBuilder;
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hVbnN0YWtpbmdCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9iYXRjaFVuc3Rha2luZ0J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0Esc0VBQXdEO0FBRXhELG1EQUFnRjtBQUNoRixnRUFBcUM7QUFFckMsK0NBQWlEO0FBRWpELDJDQUE4RDtBQUM5RCxvREFBNEI7QUFFNUIsTUFBYSxxQkFBc0IsU0FBUSw4QkFBZ0I7SUFHekQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7O09BSUc7SUFDTyxnQkFBZ0I7UUFDeEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFM0MsTUFBTSxTQUFTLEdBQUcsNEJBQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV2RixNQUFNLFVBQVUsR0FBRyw0QkFBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQ3ZDO1lBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3BCLEVBQ0QsVUFBVSxDQUFDLFVBQVUsRUFDckIsVUFBVSxDQUFDLE9BQU8sQ0FDbkIsQ0FBQztRQUVGLGtEQUFrRDtRQUNsRCxPQUFPLDRCQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FDN0I7WUFDRSxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUM7U0FDN0MsRUFDRCxVQUFVLENBQUMsVUFBVSxFQUNyQixVQUFVLENBQUMsT0FBTyxDQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0s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QUFrQjtRQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0Y7QUF0SkQsc0RBc0pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgbWV0aG9kcyB9IGZyb20gJ0BzdWJzdHJhdGUvdHh3cmFwcGVyLXBvbGthZG90JztcbmltcG9ydCB7IFVuc2lnbmVkVHJhbnNhY3Rpb24sIERlY29kZWRTaWduaW5nUGF5bG9hZCwgRGVjb2RlZFNpZ25lZFR4IH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5pbXBvcnQgeyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IEJpZ051bWJlciBmcm9tICdiaWdudW1iZXIuanMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFBvbHl4QmFzZUJ1aWxkZXIgfSBmcm9tICcuL2Jhc2VCdWlsZGVyJztcbmltcG9ydCB7IEJhdGNoQXJncyB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0IHsgQmF0Y2hVbnN0YWtpbmdUcmFuc2FjdGlvblNjaGVtYSB9IGZyb20gJy4vdHhuU2NoZW1hJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIEJhdGNoVW5zdGFraW5nQnVpbGRlciBleHRlbmRzIFBvbHl4QmFzZUJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX2Ftb3VudDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmJvbmQgdG9rZW5zIGFuZCBjaGlsbCAoc3RvcCBub21pbmF0aW5nIHZhbGlkYXRvcnMpXG4gICAqXG4gICAqIEByZXR1cm5zIHtVbnNpZ25lZFRyYW5zYWN0aW9ufSBhbiB1bnNpZ25lZCBQb2x5eCB0cmFuc2FjdGlvblxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuXG4gICAgY29uc3QgY2hpbGxDYWxsID0gbWV0aG9kcy5zdGFraW5nLmNoaWxsKHt9LCBiYXNlVHhJbmZvLmJhc2VUeEluZm8sIGJhc2VUeEluZm8ub3B0aW9ucyk7XG5cbiAgICBjb25zdCB1bmJvbmRDYWxsID0gbWV0aG9kcy5zdGFraW5nLnVuYm9uZChcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IHRoaXMuX2Ftb3VudCxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvLmJhc2VUeEluZm8sXG4gICAgICBiYXNlVHhJbmZvLm9wdGlvbnNcbiAgICApO1xuXG4gICAgLy8gQ3JlYXRlIGJhdGNoIGFsbCB0cmFuc2FjdGlvbiAoYXRvbWljIGV4ZWN1dGlvbilcbiAgICByZXR1cm4gbWV0aG9kcy51dGlsaXR5LmJhdGNoQWxsKFxuICAgICAge1xuICAgICAgICBjYWxsczogW2NoaWxsQ2FsbC5tZXRob2QsIHVuYm9uZENhbGwubWV0aG9kXSxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvLmJhc2VUeEluZm8sXG4gICAgICBiYXNlVHhJbmZvLm9wdGlvbnNcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkJhdGNoO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgdG8gdW5zdGFrZS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFtb3VudFxuICAgKiBAcmV0dXJucyB7QmF0Y2hVbnN0YWtpbmdCdWlsZGVyfSBUaGlzIHVuc3Rha2UgYnVpbGRlci5cbiAgICovXG4gIGFtb3VudChhbW91bnQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKGFtb3VudCkpO1xuICAgIHRoaXMuX2Ftb3VudCA9IGFtb3VudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGFtb3VudCB0byB1bnN0YWtlXG4gICAqL1xuICBnZXRBbW91bnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fYW1vdW50O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlRGVjb2RlZFRyYW5zYWN0aW9uKGRlY29kZWRUeG46IERlY29kZWRTaWduaW5nUGF5bG9hZCB8IERlY29kZWRTaWduZWRUeCk6IHZvaWQge1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSBkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZSBhcyBzdHJpbmc7XG5cbiAgICBpZiAobWV0aG9kTmFtZSA9PT0gJ2JhdGNoQWxsJykge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSBkZWNvZGVkVHhuLm1ldGhvZC5hcmdzIGFzIHVua25vd24gYXMgQmF0Y2hBcmdzO1xuICAgICAgY29uc3QgY2FsbHMgPSB0eE1ldGhvZC5jYWxscztcblxuICAgICAgaWYgKGNhbGxzLmxlbmd0aCAhPT0gMikge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoXG4gICAgICAgICAgYEludmFsaWQgYmF0Y2ggdW5zdGFraW5nIHRyYW5zYWN0aW9uOiBleHBlY3RlZCAyIGNhbGxzIGJ1dCBnb3QgJHtjYWxscy5sZW5ndGh9YFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBDaGVjayB0aGF0IGZpcnN0IGNhbGwgaXMgY2hpbGxcbiAgICAgIGNvbnN0IGZpcnN0Q2FsbE1ldGhvZCA9IHV0aWxzLmRlY29kZU1ldGhvZE5hbWUoY2FsbHNbMF0sIHRoaXMuX3JlZ2lzdHJ5KTtcbiAgICAgIGlmIChmaXJzdENhbGxNZXRob2QgIT09ICdjaGlsbCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICAgIGBJbnZhbGlkIGJhdGNoIHVuc3Rha2luZyB0cmFuc2FjdGlvbjogZmlyc3QgY2FsbCBzaG91bGQgYmUgY2hpbGwgYnV0IGdvdCAke2ZpcnN0Q2FsbE1ldGhvZH1gXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIENoZWNrIHRoYXQgc2Vjb25kIGNhbGwgaXMgdW5ib25kXG4gICAgICBjb25zdCBzZWNvbmRDYWxsTWV0aG9kID0gdXRpbHMuZGVjb2RlTWV0aG9kTmFtZShjYWxsc1sxXSwgdGhpcy5fcmVnaXN0cnkpO1xuICAgICAgaWYgKHNlY29uZENhbGxNZXRob2QgIT09ICd1bmJvbmQnKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgICBgSW52YWxpZCBiYXRjaCB1bnN0YWtpbmcgdHJhbnNhY3Rpb246IHNlY29uZCBjYWxsIHNob3VsZCBiZSB1bmJvbmQgYnV0IGdvdCAke3NlY29uZENhbGxNZXRob2R9YFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBWYWxpZGF0ZSB1bmJvbmQgYW1vdW50IC0gaGFuZGxlIGJvdGggc3RyaW5nIGFuZCBudW1iZXIgZm9ybWF0c1xuICAgICAgY29uc3QgdW5ib25kQXJncyA9IGNhbGxzWzFdLmFyZ3MgYXMgeyB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIH07XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHR5cGVvZiB1bmJvbmRBcmdzLnZhbHVlID09PSAnc3RyaW5nJyA/IHVuYm9uZEFyZ3MudmFsdWUgOiB1bmJvbmRBcmdzLnZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gQmF0Y2hVbnN0YWtpbmdUcmFuc2FjdGlvblNjaGVtYS52YWxpZGF0ZSh7XG4gICAgICAgIHZhbHVlOiB2YWx1ZVN0cmluZyxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgYmF0Y2ggdW5zdGFraW5nIHRyYW5zYWN0aW9uOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIHRyYW5zYWN0aW9uIHR5cGU6ICR7bWV0aG9kTmFtZX0uIEV4cGVjdGVkIGJhdGNoQWxsYCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IHN1cGVyLmZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbik7XG5cbiAgICBpZiAodGhpcy5fbWV0aG9kICYmICh0aGlzLl9tZXRob2QubmFtZSBhcyBzdHJpbmcpID09PSAnYmF0Y2hBbGwnKSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IHRoaXMuX21ldGhvZC5hcmdzIGFzIHVua25vd24gYXMgQmF0Y2hBcmdzO1xuICAgICAgY29uc3QgY2FsbHMgPSB0eE1ldGhvZC5jYWxscztcblxuICAgICAgaWYgKGNhbGxzICYmIGNhbGxzLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBjb25zdCBzZWNvbmRDYWxsTWV0aG9kID0gdXRpbHMuZGVjb2RlTWV0aG9kTmFtZShjYWxsc1sxXSwgdGhpcy5fcmVnaXN0cnkpO1xuICAgICAgICBpZiAoc2Vjb25kQ2FsbE1ldGhvZCA9PT0gJ3VuYm9uZCcpIHtcbiAgICAgICAgICBjb25zdCB1bmJvbmRBcmdzID0gY2FsbHNbMV0uYXJncyBhcyB7IHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfTtcbiAgICAgICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHR5cGVvZiB1bmJvbmRBcmdzLnZhbHVlID09PSAnc3RyaW5nJyA/IHVuYm9uZEFyZ3MudmFsdWUgOiB1bmJvbmRBcmdzLnZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICAgICAgdGhpcy5hbW91bnQodmFsdWVTdHJpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBUcmFuc2FjdGlvbiBUeXBlOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkIGJhdGNoQWxsYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24oXzogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICBzdXBlci52YWxpZGF0ZVRyYW5zYWN0aW9uKF8pO1xuICAgIHRoaXMudmFsaWRhdGVGaWVsZHModGhpcy5fYW1vdW50KTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVGaWVsZHModmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBCYXRjaFVuc3Rha2luZ1RyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHtcbiAgICAgIHZhbHVlLFxuICAgIH0pO1xuXG4gICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgYEJhdGNoIFVuc3Rha2luZyBCdWlsZGVyIFRyYW5zYWN0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke3ZhbGlkYXRpb25SZXN1bHQuZXJyb3IubWVzc2FnZX1gXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgZmllbGRzIGZvciB0ZXN0aW5nXG4gICAqL1xuICB0ZXN0VmFsaWRhdGVGaWVsZHMoKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0ZUZpZWxkcyh0aGlzLl9hbW91bnQpO1xuICB9XG59XG4iXX0=
|
|
@@ -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 BondExtraBuilder extends PolyxBaseBuilder {
|
|
7
|
+
protected _amount: string;
|
|
8
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
9
|
+
protected get transactionType(): TransactionType;
|
|
10
|
+
/**
|
|
11
|
+
* Build the bondExtra transaction
|
|
12
|
+
*/
|
|
13
|
+
protected buildTransaction(): UnsignedTransaction;
|
|
14
|
+
/**
|
|
15
|
+
* Set additional amount to stake
|
|
16
|
+
*/
|
|
17
|
+
amount(amount: string): this;
|
|
18
|
+
/**
|
|
19
|
+
* Get the amount to stake
|
|
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 bondExtra fields
|
|
30
|
+
*/
|
|
31
|
+
private validateFields;
|
|
32
|
+
/**
|
|
33
|
+
* Validate amount
|
|
34
|
+
*/
|
|
35
|
+
validateAmount(amount: string): void;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=bondExtraBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bondExtraBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/bondExtraBuilder.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,gBAAiB,SAAQ,gBAAgB;IACpD,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,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAMrC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
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.BondExtraBuilder = void 0;
|
|
7
|
+
const baseBuilder_1 = require("./baseBuilder");
|
|
8
|
+
const txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
|
|
9
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
10
|
+
const txnSchema_1 = require("./txnSchema");
|
|
11
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
12
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
13
|
+
class BondExtraBuilder extends baseBuilder_1.PolyxBaseBuilder {
|
|
14
|
+
constructor(_coinConfig) {
|
|
15
|
+
super(_coinConfig);
|
|
16
|
+
this.material(utils_1.default.getMaterial(_coinConfig.network.type));
|
|
17
|
+
}
|
|
18
|
+
get transactionType() {
|
|
19
|
+
return sdk_core_1.TransactionType.StakingActivate;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Build the bondExtra transaction
|
|
23
|
+
*/
|
|
24
|
+
buildTransaction() {
|
|
25
|
+
const baseTxInfo = this.createBaseTxInfo();
|
|
26
|
+
return txwrapper_polkadot_1.methods.staking.bondExtra({
|
|
27
|
+
maxAdditional: this._amount,
|
|
28
|
+
}, baseTxInfo.baseTxInfo, baseTxInfo.options);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Set additional amount to stake
|
|
32
|
+
*/
|
|
33
|
+
amount(amount) {
|
|
34
|
+
this.validateValue(new bignumber_js_1.default(amount));
|
|
35
|
+
this._amount = amount;
|
|
36
|
+
return this;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Get the amount to stake
|
|
40
|
+
*/
|
|
41
|
+
getAmount() {
|
|
42
|
+
return this._amount;
|
|
43
|
+
}
|
|
44
|
+
/** @inheritdoc */
|
|
45
|
+
validateDecodedTransaction(decodedTxn) {
|
|
46
|
+
const methodName = decodedTxn.method?.name;
|
|
47
|
+
if (methodName === 'bondExtra') {
|
|
48
|
+
const txMethod = decodedTxn.method.args;
|
|
49
|
+
const value = txMethod.maxAdditional;
|
|
50
|
+
const validationResult = txnSchema_1.BondExtraTransactionSchema.validate({
|
|
51
|
+
value,
|
|
52
|
+
});
|
|
53
|
+
if (validationResult.error) {
|
|
54
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid transaction: ${validationResult.error.message}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid transaction type: ${methodName}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/** @inheritdoc */
|
|
62
|
+
fromImplementation(rawTransaction) {
|
|
63
|
+
const tx = super.fromImplementation(rawTransaction);
|
|
64
|
+
const methodName = this._method?.name;
|
|
65
|
+
if (methodName === 'bondExtra' && this._method) {
|
|
66
|
+
const txMethod = this._method.args;
|
|
67
|
+
this.amount(txMethod.maxAdditional);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${methodName}. Expected bondExtra`);
|
|
71
|
+
}
|
|
72
|
+
return tx;
|
|
73
|
+
}
|
|
74
|
+
/** @inheritdoc */
|
|
75
|
+
validateTransaction(tx) {
|
|
76
|
+
super.validateTransaction(tx);
|
|
77
|
+
this.validateFields();
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Validate the bondExtra fields
|
|
81
|
+
*/
|
|
82
|
+
validateFields() {
|
|
83
|
+
const validationResult = txnSchema_1.BondExtraTransactionSchema.validate({
|
|
84
|
+
value: this._amount,
|
|
85
|
+
});
|
|
86
|
+
if (validationResult.error) {
|
|
87
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid transaction: ${validationResult.error.message}`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Validate amount
|
|
92
|
+
*/
|
|
93
|
+
validateAmount(amount) {
|
|
94
|
+
const amountBN = new bignumber_js_1.default(amount);
|
|
95
|
+
if (amountBN.isNaN() || amountBN.isLessThanOrEqualTo(0)) {
|
|
96
|
+
throw new Error(`Bond amount ${amount} must be a positive number`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.BondExtraBuilder = BondExtraBuilder;
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9uZEV4dHJhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvYm9uZEV4dHJhQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSwrQ0FBaUQ7QUFFakQsc0VBQXdEO0FBRXhELG1EQUFnRjtBQUNoRiwyQ0FBeUQ7QUFDekQsb0RBQTRCO0FBRTVCLGdFQUFxQztBQUVyQyxNQUFhLGdCQUFpQixTQUFRLDhCQUFnQjtJQUdwRCxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLGVBQWUsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxnQkFBZ0I7UUFDeEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFM0MsT0FBTyw0QkFBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQzlCO1lBQ0UsYUFBYSxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQzVCLEVBQ0QsVUFBVSxDQUFDLFVBQVUsRUFDckIsVUFBVSxDQUFDLE9BQU8sQ0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxNQUFjO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxzQkFBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsMEJBQTBCLENBQUMsVUFBbUQ7UUFDNUUsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFjLENBQUM7UUFFckQsSUFBSSxVQUFVLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDL0IsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFnQyxDQUFDO1lBQ3BFLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFFckMsTUFBTSxnQkFBZ0IsR0FBRyxzQ0FBMEIsQ0FBQyxRQUFRLENBQUM7Z0JBQzNELEtBQUs7YUFDTixDQUFDLENBQUM7WUFFSCxJQUFJLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMzQixNQUFNLElBQUksa0NBQXVCLENBQUMsd0JBQXdCLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQzlGLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyw2QkFBNkIsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUMvRSxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLGNBQXNCO1FBQ2pELE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQWMsQ0FBQztRQUVoRCxJQUFJLFVBQVUsS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQy9DLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBZ0MsQ0FBQztZQUMvRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyw2QkFBNkIsVUFBVSxzQkFBc0IsQ0FBQyxDQUFDO1FBQ25HLENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsbUJBQW1CLENBQUMsRUFBZTtRQUNqQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNLLGNBQWM7UUFDcEIsTUFBTSxnQkFBZ0IsR0FBRyxzQ0FBMEIsQ0FBQyxRQUFRLENBQUM7WUFDM0QsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3BCLENBQUMsQ0FBQztRQUVILElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHdCQUF3QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM5RixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUFDLE1BQWM7UUFDM0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxzQkFBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3hELE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxNQUFNLDRCQUE0QixDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNILENBQUM7Q0FDRjtBQTFHRCw0Q0EwR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgUG9seXhCYXNlQnVpbGRlciB9IGZyb20gJy4vYmFzZUJ1aWxkZXInO1xuaW1wb3J0IHsgRGVjb2RlZFNpZ25lZFR4LCBEZWNvZGVkU2lnbmluZ1BheWxvYWQsIFVuc2lnbmVkVHJhbnNhY3Rpb24gfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1jb3JlJztcbmltcG9ydCB7IG1ldGhvZHMgfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1wb2xrYWRvdCc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQm9uZEV4dHJhVHJhbnNhY3Rpb25TY2hlbWEgfSBmcm9tICcuL3R4blNjaGVtYSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBCb25kRXh0cmFBcmdzIH0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgQmlnTnVtYmVyIGZyb20gJ2JpZ251bWJlci5qcyc7XG5cbmV4cG9ydCBjbGFzcyBCb25kRXh0cmFCdWlsZGVyIGV4dGVuZHMgUG9seXhCYXNlQnVpbGRlciB7XG4gIHByb3RlY3RlZCBfYW1vdW50OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMubWF0ZXJpYWwodXRpbHMuZ2V0TWF0ZXJpYWwoX2NvaW5Db25maWcubmV0d29yay50eXBlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIHRoZSBib25kRXh0cmEgdHJhbnNhY3Rpb25cbiAgICovXG4gIHByb3RlY3RlZCBidWlsZFRyYW5zYWN0aW9uKCk6IFVuc2lnbmVkVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IGJhc2VUeEluZm8gPSB0aGlzLmNyZWF0ZUJhc2VUeEluZm8oKTtcblxuICAgIHJldHVybiBtZXRob2RzLnN0YWtpbmcuYm9uZEV4dHJhKFxuICAgICAge1xuICAgICAgICBtYXhBZGRpdGlvbmFsOiB0aGlzLl9hbW91bnQsXG4gICAgICB9LFxuICAgICAgYmFzZVR4SW5mby5iYXNlVHhJbmZvLFxuICAgICAgYmFzZVR4SW5mby5vcHRpb25zXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgYWRkaXRpb25hbCBhbW91bnQgdG8gc3Rha2VcbiAgICovXG4gIGFtb3VudChhbW91bnQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKGFtb3VudCkpO1xuICAgIHRoaXMuX2Ftb3VudCA9IGFtb3VudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGFtb3VudCB0byBzdGFrZVxuICAgKi9cbiAgZ2V0QW1vdW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Ftb3VudDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZURlY29kZWRUcmFuc2FjdGlvbihkZWNvZGVkVHhuOiBEZWNvZGVkU2lnbmluZ1BheWxvYWQgfCBEZWNvZGVkU2lnbmVkVHgpOiB2b2lkIHtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gZGVjb2RlZFR4bi5tZXRob2Q/Lm5hbWUgYXMgc3RyaW5nO1xuXG4gICAgaWYgKG1ldGhvZE5hbWUgPT09ICdib25kRXh0cmEnKSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IGRlY29kZWRUeG4ubWV0aG9kLmFyZ3MgYXMgdW5rbm93biBhcyBCb25kRXh0cmFBcmdzO1xuICAgICAgY29uc3QgdmFsdWUgPSB0eE1ldGhvZC5tYXhBZGRpdGlvbmFsO1xuXG4gICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gQm9uZEV4dHJhVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoe1xuICAgICAgICB2YWx1ZSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAodmFsaWRhdGlvblJlc3VsdC5lcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgdHJhbnNhY3Rpb246ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgdHJhbnNhY3Rpb24gdHlwZTogJHttZXRob2ROYW1lfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgZnJvbUltcGxlbWVudGF0aW9uKHJhd1RyYW5zYWN0aW9uOiBzdHJpbmcpOiBUcmFuc2FjdGlvbiB7XG4gICAgY29uc3QgdHggPSBzdXBlci5mcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSB0aGlzLl9tZXRob2Q/Lm5hbWUgYXMgc3RyaW5nO1xuXG4gICAgaWYgKG1ldGhvZE5hbWUgPT09ICdib25kRXh0cmEnICYmIHRoaXMuX21ldGhvZCkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSB0aGlzLl9tZXRob2QuYXJncyBhcyB1bmtub3duIGFzIEJvbmRFeHRyYUFyZ3M7XG4gICAgICB0aGlzLmFtb3VudCh0eE1ldGhvZC5tYXhBZGRpdGlvbmFsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKGBJbnZhbGlkIFRyYW5zYWN0aW9uIFR5cGU6ICR7bWV0aG9kTmFtZX0uIEV4cGVjdGVkIGJvbmRFeHRyYWApO1xuICAgIH1cblxuICAgIHJldHVybiB0eDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZVRyYW5zYWN0aW9uKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlVHJhbnNhY3Rpb24odHgpO1xuICAgIHRoaXMudmFsaWRhdGVGaWVsZHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSB0aGUgYm9uZEV4dHJhIGZpZWxkc1xuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZUZpZWxkcygpOiB2b2lkIHtcbiAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gQm9uZEV4dHJhVHJhbnNhY3Rpb25TY2hlbWEudmFsaWRhdGUoe1xuICAgICAgdmFsdWU6IHRoaXMuX2Ftb3VudCxcbiAgICB9KTtcblxuICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgdHJhbnNhY3Rpb246ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBhbW91bnRcbiAgICovXG4gIHZhbGlkYXRlQW1vdW50KGFtb3VudDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgYW1vdW50Qk4gPSBuZXcgQmlnTnVtYmVyKGFtb3VudCk7XG4gICAgaWYgKGFtb3VudEJOLmlzTmFOKCkgfHwgYW1vdW50Qk4uaXNMZXNzVGhhbk9yRXF1YWxUbygwKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBCb25kIGFtb3VudCAke2Ftb3VudH0gbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlcmApO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Address format constants for Polyx networks
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Polyx mainnet address format
|
|
6
|
+
*/
|
|
7
|
+
export declare const POLYX_ADDRESS_FORMAT = 12;
|
|
8
|
+
/**
|
|
9
|
+
* Tpolyx testnet address format
|
|
10
|
+
*/
|
|
11
|
+
export declare const TPOLYX_ADDRESS_FORMAT = 42;
|
|
12
|
+
/**
|
|
13
|
+
* Regex pattern for validating Polymesh DID (Decentralized Identifier)
|
|
14
|
+
* DIDs are 32-byte hex strings (0x prefix + 64 hex characters)
|
|
15
|
+
*/
|
|
16
|
+
export declare const POLYX_DID_REGEX: RegExp;
|
|
17
|
+
/** 32-byte memo as 0x-prefixed hex (same shape as POLYX_DID_REGEX). */
|
|
18
|
+
export declare const MEMO_HEX_REGEX: RegExp;
|
|
19
|
+
/** Maximum UTF-8 byte length for an on-chain Polymesh memo. */
|
|
20
|
+
export declare const MEMO_MAX_BYTES = 32;
|
|
21
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAwB,CAAC;AAErD,uEAAuE;AACvE,eAAO,MAAM,cAAc,QAAkB,CAAC;AAE9C,+DAA+D;AAC/D,eAAO,MAAM,cAAc,KAAK,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Address format constants for Polyx networks
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MEMO_MAX_BYTES = exports.MEMO_HEX_REGEX = exports.POLYX_DID_REGEX = exports.TPOLYX_ADDRESS_FORMAT = exports.POLYX_ADDRESS_FORMAT = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Polyx mainnet address format
|
|
9
|
+
*/
|
|
10
|
+
exports.POLYX_ADDRESS_FORMAT = 12;
|
|
11
|
+
/**
|
|
12
|
+
* Tpolyx testnet address format
|
|
13
|
+
*/
|
|
14
|
+
exports.TPOLYX_ADDRESS_FORMAT = 42;
|
|
15
|
+
/**
|
|
16
|
+
* Regex pattern for validating Polymesh DID (Decentralized Identifier)
|
|
17
|
+
* DIDs are 32-byte hex strings (0x prefix + 64 hex characters)
|
|
18
|
+
*/
|
|
19
|
+
exports.POLYX_DID_REGEX = /^0x[a-fA-F0-9]{64}$/;
|
|
20
|
+
/** 32-byte memo as 0x-prefixed hex (same shape as POLYX_DID_REGEX). */
|
|
21
|
+
exports.MEMO_HEX_REGEX = exports.POLYX_DID_REGEX;
|
|
22
|
+
/** Maximum UTF-8 byte length for an on-chain Polymesh memo. */
|
|
23
|
+
exports.MEMO_MAX_BYTES = 32;
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7QUFFSDs7R0FFRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0FBRXZDOztHQUVHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBRyxFQUFFLENBQUM7QUFFeEM7OztHQUdHO0FBQ1UsUUFBQSxlQUFlLEdBQUcscUJBQXFCLENBQUM7QUFFckQsdUVBQXVFO0FBQzFELFFBQUEsY0FBYyxHQUFHLHVCQUFlLENBQUM7QUFFOUMsK0RBQStEO0FBQ2xELFFBQUEsY0FBYyxHQUFHLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQWRkcmVzcyBmb3JtYXQgY29uc3RhbnRzIGZvciBQb2x5eCBuZXR3b3Jrc1xuICovXG5cbi8qKlxuICogUG9seXggbWFpbm5ldCBhZGRyZXNzIGZvcm1hdFxuICovXG5leHBvcnQgY29uc3QgUE9MWVhfQUREUkVTU19GT1JNQVQgPSAxMjtcblxuLyoqXG4gKiBUcG9seXggdGVzdG5ldCBhZGRyZXNzIGZvcm1hdFxuICovXG5leHBvcnQgY29uc3QgVFBPTFlYX0FERFJFU1NfRk9STUFUID0gNDI7XG5cbi8qKlxuICogUmVnZXggcGF0dGVybiBmb3IgdmFsaWRhdGluZyBQb2x5bWVzaCBESUQgKERlY2VudHJhbGl6ZWQgSWRlbnRpZmllcilcbiAqIERJRHMgYXJlIDMyLWJ5dGUgaGV4IHN0cmluZ3MgKDB4IHByZWZpeCArIDY0IGhleCBjaGFyYWN0ZXJzKVxuICovXG5leHBvcnQgY29uc3QgUE9MWVhfRElEX1JFR0VYID0gL14weFthLWZBLUYwLTldezY0fSQvO1xuXG4vKiogMzItYnl0ZSBtZW1vIGFzIDB4LXByZWZpeGVkIGhleCAoc2FtZSBzaGFwZSBhcyBQT0xZWF9ESURfUkVHRVgpLiAqL1xuZXhwb3J0IGNvbnN0IE1FTU9fSEVYX1JFR0VYID0gUE9MWVhfRElEX1JFR0VYO1xuXG4vKiogTWF4aW11bSBVVEYtOCBieXRlIGxlbmd0aCBmb3IgYW4gb24tY2hhaW4gUG9seW1lc2ggbWVtby4gKi9cbmV4cG9ydCBjb25zdCBNRU1PX01BWF9CWVRFUyA9IDMyO1xuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
2
|
+
import { TransferBuilder } from './transferBuilder';
|
|
3
|
+
/**
|
|
4
|
+
* Builds a POLYX transferWithMemo transaction using the NEW Polymesh memo encoding:
|
|
5
|
+
* UTF-8 bytes right-padded with 0x00 to 32 bytes, passed as a 0x-prefixed hex string.
|
|
6
|
+
*
|
|
7
|
+
* OLD encoding (TransferBuilder): plain string, left-padded with ASCII '0' to 32 chars.
|
|
8
|
+
* NEW encoding (this class): 0x-prefixed hex, right-padded with 0x00 to 32 bytes.
|
|
9
|
+
*
|
|
10
|
+
* Same intended memo produces different on-chain bytes depending on which builder is used.
|
|
11
|
+
* Use this builder when the recipient or downstream tooling expects Polymesh-native encoding.
|
|
12
|
+
*/
|
|
13
|
+
export declare class HexTransferBuilder extends TransferBuilder {
|
|
14
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
15
|
+
/**
|
|
16
|
+
* Encode memo using the NEW Polymesh format.
|
|
17
|
+
*
|
|
18
|
+
* If the value is already a 0x-prefixed 32-byte hex string (e.g. when decoding an
|
|
19
|
+
* existing NEW-encoded transaction via fromImplementation), it is stored as-is.
|
|
20
|
+
* Otherwise the text is converted to UTF-8 hex and right-padded with 0x00 to 32 bytes.
|
|
21
|
+
*
|
|
22
|
+
* @param memo The intended memo string (e.g. "56594", "testmemo")
|
|
23
|
+
*/
|
|
24
|
+
memo(memo: string): this;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=hexTransferBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hexTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/hexTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;gBACzC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;;;;;;;OAQG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAYzB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
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.HexTransferBuilder = void 0;
|
|
7
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
8
|
+
const transferBuilder_1 = require("./transferBuilder");
|
|
9
|
+
const constants_1 = require("./constants");
|
|
10
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
11
|
+
/**
|
|
12
|
+
* Builds a POLYX transferWithMemo transaction using the NEW Polymesh memo encoding:
|
|
13
|
+
* UTF-8 bytes right-padded with 0x00 to 32 bytes, passed as a 0x-prefixed hex string.
|
|
14
|
+
*
|
|
15
|
+
* OLD encoding (TransferBuilder): plain string, left-padded with ASCII '0' to 32 chars.
|
|
16
|
+
* NEW encoding (this class): 0x-prefixed hex, right-padded with 0x00 to 32 bytes.
|
|
17
|
+
*
|
|
18
|
+
* Same intended memo produces different on-chain bytes depending on which builder is used.
|
|
19
|
+
* Use this builder when the recipient or downstream tooling expects Polymesh-native encoding.
|
|
20
|
+
*/
|
|
21
|
+
class HexTransferBuilder extends transferBuilder_1.TransferBuilder {
|
|
22
|
+
constructor(_coinConfig) {
|
|
23
|
+
super(_coinConfig);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Encode memo using the NEW Polymesh format.
|
|
27
|
+
*
|
|
28
|
+
* If the value is already a 0x-prefixed 32-byte hex string (e.g. when decoding an
|
|
29
|
+
* existing NEW-encoded transaction via fromImplementation), it is stored as-is.
|
|
30
|
+
* Otherwise the text is converted to UTF-8 hex and right-padded with 0x00 to 32 bytes.
|
|
31
|
+
*
|
|
32
|
+
* @param memo The intended memo string (e.g. "56594", "testmemo")
|
|
33
|
+
*/
|
|
34
|
+
memo(memo) {
|
|
35
|
+
if (memo.startsWith('0x') && memo.length === 66) {
|
|
36
|
+
if (!constants_1.MEMO_HEX_REGEX.test(memo)) {
|
|
37
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid memo hex encoding: ${memo}`);
|
|
38
|
+
}
|
|
39
|
+
// already a fully-encoded 32-byte hex memo — store as-is (round-trip from fromImplementation)
|
|
40
|
+
this._memo = memo;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
this._memo = utils_1.default.encodeMemoNew(memo);
|
|
44
|
+
}
|
|
45
|
+
return this;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.HexTransferBuilder = HexTransferBuilder;
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGV4VHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9oZXhUcmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsbURBQStEO0FBQy9ELHVEQUFvRDtBQUNwRCwyQ0FBNkM7QUFDN0Msb0RBQTRCO0FBRTVCOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsaUNBQWU7SUFDckQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsSUFBSSxDQUFDLElBQVk7UUFDZixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsMEJBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDL0IsTUFBTSxJQUFJLGtDQUF1QixDQUFDLDhCQUE4QixJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzFFLENBQUM7WUFDRCw4RkFBOEY7WUFDOUYsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDcEIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLGVBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBMUJELGdEQTBCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgTUVNT19IRVhfUkVHRVggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQnVpbGRzIGEgUE9MWVggdHJhbnNmZXJXaXRoTWVtbyB0cmFuc2FjdGlvbiB1c2luZyB0aGUgTkVXIFBvbHltZXNoIG1lbW8gZW5jb2Rpbmc6XG4gKiBVVEYtOCBieXRlcyByaWdodC1wYWRkZWQgd2l0aCAweDAwIHRvIDMyIGJ5dGVzLCBwYXNzZWQgYXMgYSAweC1wcmVmaXhlZCBoZXggc3RyaW5nLlxuICpcbiAqIE9MRCBlbmNvZGluZyAoVHJhbnNmZXJCdWlsZGVyKTogcGxhaW4gc3RyaW5nLCBsZWZ0LXBhZGRlZCB3aXRoIEFTQ0lJICcwJyB0byAzMiBjaGFycy5cbiAqIE5FVyBlbmNvZGluZyAodGhpcyBjbGFzcyk6ICAgICAgMHgtcHJlZml4ZWQgaGV4LCByaWdodC1wYWRkZWQgd2l0aCAweDAwIHRvIDMyIGJ5dGVzLlxuICpcbiAqIFNhbWUgaW50ZW5kZWQgbWVtbyBwcm9kdWNlcyBkaWZmZXJlbnQgb24tY2hhaW4gYnl0ZXMgZGVwZW5kaW5nIG9uIHdoaWNoIGJ1aWxkZXIgaXMgdXNlZC5cbiAqIFVzZSB0aGlzIGJ1aWxkZXIgd2hlbiB0aGUgcmVjaXBpZW50IG9yIGRvd25zdHJlYW0gdG9vbGluZyBleHBlY3RzIFBvbHltZXNoLW5hdGl2ZSBlbmNvZGluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIEhleFRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFRyYW5zZmVyQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmNvZGUgbWVtbyB1c2luZyB0aGUgTkVXIFBvbHltZXNoIGZvcm1hdC5cbiAgICpcbiAgICogSWYgdGhlIHZhbHVlIGlzIGFscmVhZHkgYSAweC1wcmVmaXhlZCAzMi1ieXRlIGhleCBzdHJpbmcgKGUuZy4gd2hlbiBkZWNvZGluZyBhblxuICAgKiBleGlzdGluZyBORVctZW5jb2RlZCB0cmFuc2FjdGlvbiB2aWEgZnJvbUltcGxlbWVudGF0aW9uKSwgaXQgaXMgc3RvcmVkIGFzLWlzLlxuICAgKiBPdGhlcndpc2UgdGhlIHRleHQgaXMgY29udmVydGVkIHRvIFVURi04IGhleCBhbmQgcmlnaHQtcGFkZGVkIHdpdGggMHgwMCB0byAzMiBieXRlcy5cbiAgICpcbiAgICogQHBhcmFtIG1lbW8gVGhlIGludGVuZGVkIG1lbW8gc3RyaW5nIChlLmcuIFwiNTY1OTRcIiwgXCJ0ZXN0bWVtb1wiKVxuICAgKi9cbiAgbWVtbyhtZW1vOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAobWVtby5zdGFydHNXaXRoKCcweCcpICYmIG1lbW8ubGVuZ3RoID09PSA2Nikge1xuICAgICAgaWYgKCFNRU1PX0hFWF9SRUdFWC50ZXN0KG1lbW8pKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBtZW1vIGhleCBlbmNvZGluZzogJHttZW1vfWApO1xuICAgICAgfVxuICAgICAgLy8gYWxyZWFkeSBhIGZ1bGx5LWVuY29kZWQgMzItYnl0ZSBoZXggbWVtbyDigJQgc3RvcmUgYXMtaXMgKHJvdW5kLXRyaXAgZnJvbSBmcm9tSW1wbGVtZW50YXRpb24pXG4gICAgICB0aGlzLl9tZW1vID0gbWVtbztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbWVtbyA9IHV0aWxzLmVuY29kZU1lbW9OZXcobWVtbyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXX0=
|
package/dist/src/lib/iface.d.ts
CHANGED
|
@@ -1,15 +1,145 @@
|
|
|
1
1
|
import { Args } from '@substrate/txwrapper-core';
|
|
2
2
|
import { Interface } from '@bitgo-beta/abstract-substrate';
|
|
3
3
|
import { DecodedUnsignedTx } from '@substrate/txwrapper-core/lib/types';
|
|
4
|
+
export type AnyJson = string | number | boolean | null | {
|
|
5
|
+
[key: string]: AnyJson;
|
|
6
|
+
} | Array<AnyJson>;
|
|
7
|
+
/**
|
|
8
|
+
* Extended TxData interface for Polyx transactions
|
|
9
|
+
* Adds assetId field to the base TxData interface from abstract-substrate
|
|
10
|
+
*/
|
|
11
|
+
export interface TxData extends Interface.TxData {
|
|
12
|
+
assetId?: string;
|
|
13
|
+
fromDID?: string;
|
|
14
|
+
toDID?: string;
|
|
15
|
+
instructionId?: string;
|
|
16
|
+
portfolioDID?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Settlement type for Polyx transactions
|
|
20
|
+
*/
|
|
21
|
+
export declare enum SettlementType {
|
|
22
|
+
SettleOnAffirmation = "SettleOnAffirmation"
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Portfolio kind for Polyx transactions
|
|
26
|
+
*/
|
|
27
|
+
export declare enum PortfolioKind {
|
|
28
|
+
Default = "Default"
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Method names for Polyx transactions.
|
|
32
|
+
* Extends the base MethodNames from Interface with additional Polyx-specific methods.
|
|
33
|
+
*/
|
|
34
|
+
export declare const MethodNames: {
|
|
35
|
+
/**
|
|
36
|
+
* Registers a Decentralized Identifier (DID) along with Customer Due Diligence (CDD) information.
|
|
37
|
+
*
|
|
38
|
+
* @see https://developers.polymesh.network/sdk-docs/enums/Generated/Types/IdentityTx/#cddregisterdidwithcdd
|
|
39
|
+
*/
|
|
40
|
+
readonly RegisterDidWithCDD: "cddRegisterDidWithCdd";
|
|
41
|
+
/**
|
|
42
|
+
* Pre-approves an asset.
|
|
43
|
+
*/
|
|
44
|
+
readonly PreApproveAsset: "preApproveAsset";
|
|
45
|
+
readonly AddAndAffirmWithMediators: "addAndAffirmWithMediators";
|
|
46
|
+
readonly RejectInstruction: "rejectInstruction";
|
|
47
|
+
readonly TransferAll: "transferAll";
|
|
48
|
+
readonly TransferKeepAlive: "transferKeepAlive";
|
|
49
|
+
readonly TransferWithMemo: "transferWithMemo";
|
|
50
|
+
readonly AddStake: "addStake";
|
|
51
|
+
readonly RemoveStake: "removeStake";
|
|
52
|
+
readonly Bond: "bond";
|
|
53
|
+
readonly BondExtra: "bondExtra";
|
|
54
|
+
readonly Nominate: "nominate";
|
|
55
|
+
readonly Chill: "chill";
|
|
56
|
+
readonly Unbond: "unbond";
|
|
57
|
+
readonly WithdrawUnbonded: "withdrawUnbonded";
|
|
58
|
+
readonly Batch: "batch";
|
|
59
|
+
readonly BatchAll: "batchAll";
|
|
60
|
+
readonly TransferStake: "transferStake";
|
|
61
|
+
readonly MoveStake: "moveStake";
|
|
62
|
+
};
|
|
63
|
+
export type MethodNamesType = keyof typeof MethodNames;
|
|
64
|
+
export type MethodNamesValues = (typeof MethodNames)[MethodNamesType];
|
|
4
65
|
export interface RegisterDidWithCDDArgs extends Args {
|
|
5
66
|
targetAccount: string;
|
|
6
67
|
secondaryKeys: [];
|
|
7
68
|
expiry: null;
|
|
8
69
|
}
|
|
9
|
-
export interface
|
|
10
|
-
|
|
70
|
+
export interface PreApproveAssetArgs extends Args {
|
|
71
|
+
assetId: string;
|
|
72
|
+
}
|
|
73
|
+
export interface AddAndAffirmWithMediatorsArgs extends Args {
|
|
74
|
+
venueId: null;
|
|
75
|
+
settlementType: SettlementType.SettleOnAffirmation;
|
|
76
|
+
tradeDate: null;
|
|
77
|
+
valueDate: null;
|
|
78
|
+
legs: Array<{
|
|
79
|
+
fungible: {
|
|
80
|
+
sender: {
|
|
81
|
+
did: string;
|
|
82
|
+
kind: PortfolioKind.Default;
|
|
83
|
+
};
|
|
84
|
+
receiver: {
|
|
85
|
+
did: string;
|
|
86
|
+
kind: PortfolioKind.Default;
|
|
87
|
+
};
|
|
88
|
+
assetId: string;
|
|
89
|
+
amount: string;
|
|
90
|
+
};
|
|
91
|
+
}>;
|
|
92
|
+
portfolios: Array<{
|
|
93
|
+
did: string;
|
|
94
|
+
kind: PortfolioKind.Default;
|
|
95
|
+
}>;
|
|
96
|
+
instructionMemo: string;
|
|
97
|
+
mediators: [];
|
|
98
|
+
}
|
|
99
|
+
export interface RejectInstructionBuilderArgs extends Args {
|
|
100
|
+
id: string;
|
|
101
|
+
portfolio: {
|
|
102
|
+
did: string;
|
|
103
|
+
kind: PortfolioKind.Default;
|
|
104
|
+
};
|
|
105
|
+
numberOfAssets: {
|
|
106
|
+
fungible: number;
|
|
107
|
+
nonFungible: number;
|
|
108
|
+
offChain: number;
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
export interface TxMethod extends Omit<Interface.TxMethod, 'args' | 'name'> {
|
|
112
|
+
args: Interface.TransferArgs | Interface.TransferAllArgs | Interface.AddStakeArgs | Interface.RemoveStakeArgs | Interface.BondArgs | Interface.BondExtraArgs | Interface.NominateArgs | Interface.ChillArgs | Interface.UnbondArgs | Interface.WithdrawUnbondedArgs | Interface.BatchArgs | RegisterDidWithCDDArgs | PreApproveAssetArgs | AddAndAffirmWithMediatorsArgs | RejectInstructionBuilderArgs;
|
|
113
|
+
name: MethodNamesValues;
|
|
11
114
|
}
|
|
12
115
|
export interface DecodedTx extends Omit<DecodedUnsignedTx, 'method'> {
|
|
13
116
|
method: TxMethod;
|
|
14
117
|
}
|
|
118
|
+
export interface BondArgs extends Args {
|
|
119
|
+
value: string;
|
|
120
|
+
controller: string;
|
|
121
|
+
payee: string | {
|
|
122
|
+
Account: string;
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
export interface BondExtraArgs extends Args {
|
|
126
|
+
maxAdditional: string;
|
|
127
|
+
}
|
|
128
|
+
export interface NominateArgs extends Args {
|
|
129
|
+
targets: string[];
|
|
130
|
+
}
|
|
131
|
+
export interface BatchCallObject {
|
|
132
|
+
method?: string;
|
|
133
|
+
callIndex?: string;
|
|
134
|
+
args: Record<string, unknown>;
|
|
135
|
+
}
|
|
136
|
+
export interface BatchArgs {
|
|
137
|
+
calls: BatchCallObject[];
|
|
138
|
+
}
|
|
139
|
+
export interface UnbondArgs extends Args {
|
|
140
|
+
value: string;
|
|
141
|
+
}
|
|
142
|
+
export interface WithdrawUnbondedArgs extends Args {
|
|
143
|
+
numSlashingSpans: number;
|
|
144
|
+
}
|
|
15
145
|
//# sourceMappingURL=iface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,MAAM,WAAW,sBAAuB,SAAQ,IAAI;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,EAAE,CAAC;IAClB,MAAM,EAAE,IAAI,CAAC;CACd;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"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"}
|