@bitgo/sdk-coin-polyx 1.17.2 → 1.19.0
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/lib/batchStakingBuilder.d.ts.map +1 -1
- package/dist/src/lib/batchStakingBuilder.js +4 -1
- package/dist/src/lib/batchUnstakingBuilder.d.ts.map +1 -1
- package/dist/src/lib/batchUnstakingBuilder.js +3 -1
- package/dist/src/lib/bondExtraBuilder.d.ts.map +1 -1
- package/dist/src/lib/bondExtraBuilder.js +3 -1
- package/dist/src/lib/hexTokenTransferBuilder.d.ts +3 -0
- package/dist/src/lib/hexTokenTransferBuilder.d.ts.map +1 -1
- package/dist/src/lib/hexTokenTransferBuilder.js +4 -1
- package/dist/src/lib/hexTransferBuilder.d.ts +2 -0
- package/dist/src/lib/hexTransferBuilder.d.ts.map +1 -1
- package/dist/src/lib/hexTransferBuilder.js +3 -1
- package/dist/src/lib/iface.d.ts +113 -2
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +12 -1
- package/dist/src/lib/index.d.ts +14 -1
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +28 -2
- package/dist/src/lib/nominateBuilder.d.ts.map +1 -1
- package/dist/src/lib/nominateBuilder.js +3 -1
- package/dist/src/lib/preApproveAssetBuilder.d.ts.map +1 -1
- package/dist/src/lib/preApproveAssetBuilder.js +2 -2
- package/dist/src/lib/registerDidWithCDDBuilder.d.ts.map +1 -1
- package/dist/src/lib/registerDidWithCDDBuilder.js +4 -1
- package/dist/src/lib/tokenTransferBuilder.d.ts +7 -1
- package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -1
- package/dist/src/lib/tokenTransferBuilder.js +16 -7
- package/dist/src/lib/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction.js +24 -6
- package/dist/src/lib/transactionBuilderFactory.d.ts +32 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +121 -5
- package/dist/src/lib/transferBuilder.d.ts.map +1 -1
- package/dist/src/lib/transferBuilder.js +3 -1
- package/dist/src/lib/txnSchema.d.ts +20 -0
- package/dist/src/lib/txnSchema.d.ts.map +1 -1
- package/dist/src/lib/txnSchema.js +81 -2
- package/dist/src/lib/unbondBuilder.d.ts.map +1 -1
- package/dist/src/lib/unbondBuilder.js +3 -1
- package/dist/src/lib/utils.d.ts +1 -0
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +6 -1
- package/dist/src/lib/v8BatchStakingBuilder.d.ts +85 -0
- package/dist/src/lib/v8BatchStakingBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8BatchStakingBuilder.js +266 -0
- package/dist/src/lib/v8BatchUnstakingBuilder.d.ts +11 -0
- package/dist/src/lib/v8BatchUnstakingBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8BatchUnstakingBuilder.js +21 -0
- package/dist/src/lib/v8BondExtraBuilder.d.ts +11 -0
- package/dist/src/lib/v8BondExtraBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8BondExtraBuilder.js +21 -0
- package/dist/src/lib/v8HexTokenTransferBuilder.d.ts +20 -0
- package/dist/src/lib/v8HexTokenTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8HexTokenTransferBuilder.js +42 -0
- package/dist/src/lib/v8HexTransferBuilder.d.ts +11 -0
- package/dist/src/lib/v8HexTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8HexTransferBuilder.js +21 -0
- package/dist/src/lib/v8NominateBuilder.d.ts +11 -0
- package/dist/src/lib/v8NominateBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8NominateBuilder.js +21 -0
- package/dist/src/lib/v8PreApproveAssetBuilder.d.ts +11 -0
- package/dist/src/lib/v8PreApproveAssetBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8PreApproveAssetBuilder.js +21 -0
- package/dist/src/lib/v8RegisterDidBuilder.d.ts +47 -0
- package/dist/src/lib/v8RegisterDidBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8RegisterDidBuilder.js +96 -0
- package/dist/src/lib/v8RegisterDidWithCDDBuilder.d.ts +11 -0
- package/dist/src/lib/v8RegisterDidWithCDDBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8RegisterDidWithCDDBuilder.js +21 -0
- package/dist/src/lib/v8TokenTransferBuilder.d.ts +24 -0
- package/dist/src/lib/v8TokenTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8TokenTransferBuilder.js +101 -0
- package/dist/src/lib/v8TransferBuilder.d.ts +11 -0
- package/dist/src/lib/v8TransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8TransferBuilder.js +21 -0
- package/dist/src/lib/v8UnbondBuilder.d.ts +11 -0
- package/dist/src/lib/v8UnbondBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8UnbondBuilder.js +21 -0
- package/dist/src/lib/v8WithdrawUnbondedBuilder.d.ts +11 -0
- package/dist/src/lib/v8WithdrawUnbondedBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8WithdrawUnbondedBuilder.js +21 -0
- package/dist/src/lib/withdrawUnbondedBuilder.d.ts.map +1 -1
- package/dist/src/lib/withdrawUnbondedBuilder.js +3 -1
- package/dist/src/resources/index.d.ts +2 -0
- package/dist/src/resources/index.d.ts.map +1 -1
- package/dist/src/resources/index.js +3 -1
- package/dist/src/resources/mainnetV8.d.ts +13 -0
- package/dist/src/resources/mainnetV8.d.ts.map +1 -0
- package/dist/src/resources/mainnetV8.js +19 -0
- package/dist/src/resources/testnetV8.d.ts +13 -0
- package/dist/src/resources/testnetV8.d.ts.map +1 -0
- package/dist/src/resources/testnetV8.js +16 -0
- package/dist/test/resources/index.d.ts +28 -1
- package/dist/test/resources/index.d.ts.map +1 -1
- package/dist/test/resources/index.js +31 -2
- package/dist/test/unit/transactionBuilder/batchStakingBuilder.js +30 -1
- package/dist/test/unit/transactionBuilder/nominateBuilder.js +58 -1
- package/dist/test/unit/transactionBuilder/v8BatchStakingBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8BatchStakingBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8BatchStakingBuilder.js +201 -0
- package/dist/test/unit/transactionBuilder/v8HexTokenTransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8HexTokenTransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8HexTokenTransferBuilder.js +90 -0
- package/dist/test/unit/transactionBuilder/v8HexTransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8HexTransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8HexTransferBuilder.js +62 -0
- package/dist/test/unit/transactionBuilder/v8PreApproveAssetBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8PreApproveAssetBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8PreApproveAssetBuilder.js +45 -0
- package/dist/test/unit/transactionBuilder/v8RegisterDidBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8RegisterDidBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8RegisterDidBuilder.js +87 -0
- package/dist/test/unit/transactionBuilder/v8RegisterDidWithCDDBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8RegisterDidWithCDDBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8RegisterDidWithCDDBuilder.js +45 -0
- package/dist/test/unit/transactionBuilder/v8TokenTransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8TokenTransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8TokenTransferBuilder.js +114 -0
- package/dist/test/unit/transactionBuilder/v8TransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8TransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8TransferBuilder.js +107 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
|
@@ -0,0 +1,266 @@
|
|
|
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.V8BatchStakingBuilder = void 0;
|
|
7
|
+
const baseBuilder_1 = require("./baseBuilder");
|
|
8
|
+
const txwrapper_polkadot_1 = require("@substrate/txwrapper-polkadot");
|
|
9
|
+
const sdk_core_1 = require("@bitgo/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
|
+
/**
|
|
14
|
+
* Polymesh v8 batch staking builder.
|
|
15
|
+
*
|
|
16
|
+
* Polymesh v8 changed `staking.bond` from `bond(controller, value, payee)` to `bond(value, payee)`
|
|
17
|
+
* — the stash account is its own controller, so no `controller` leg is encoded. This builder
|
|
18
|
+
* constructs `utility.batchAll([bond, nominate])` with the 2-arg bond call against v8 chain
|
|
19
|
+
* metadata (v8 specVersion / txVersion).
|
|
20
|
+
*
|
|
21
|
+
* Behaviour is otherwise identical to the v7 {@link BatchStakingBuilder}, which is retained as the
|
|
22
|
+
* `[CLEANUP-V8-OLD]` rollback path.
|
|
23
|
+
*/
|
|
24
|
+
class V8BatchStakingBuilder extends baseBuilder_1.PolyxBaseBuilder {
|
|
25
|
+
constructor(_coinConfig) {
|
|
26
|
+
super(_coinConfig);
|
|
27
|
+
// For nominate operation
|
|
28
|
+
this._validators = [];
|
|
29
|
+
this.material(utils_1.default.getV8Material(_coinConfig.network.type));
|
|
30
|
+
}
|
|
31
|
+
get transactionType() {
|
|
32
|
+
return sdk_core_1.TransactionType.Batch;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Build a batch transaction that combines bond and nominate operations
|
|
36
|
+
* Both operations are required and always atomic (using batchAll)
|
|
37
|
+
*/
|
|
38
|
+
buildTransaction() {
|
|
39
|
+
// Ensure both bond and nominate operations are included
|
|
40
|
+
if (!this._amount || this._validators.length === 0) {
|
|
41
|
+
throw new sdk_core_1.InvalidTransactionError('Batch transaction must include both bond and nominate operations');
|
|
42
|
+
}
|
|
43
|
+
const baseTxInfo = this.createBaseTxInfo();
|
|
44
|
+
// Create the individual calls
|
|
45
|
+
const calls = [];
|
|
46
|
+
// Add bond call — v8 bond takes only { value, payee } (no controller)
|
|
47
|
+
const bondCall = txwrapper_polkadot_1.methods.staking.bond({
|
|
48
|
+
value: this._amount,
|
|
49
|
+
payee: this._payee || 'Staked',
|
|
50
|
+
}, baseTxInfo.baseTxInfo, baseTxInfo.options);
|
|
51
|
+
calls.push(bondCall.method);
|
|
52
|
+
// Add nominate call
|
|
53
|
+
const nominateCall = txwrapper_polkadot_1.methods.staking.nominate({
|
|
54
|
+
targets: this._validators,
|
|
55
|
+
}, baseTxInfo.baseTxInfo, baseTxInfo.options);
|
|
56
|
+
calls.push(nominateCall.method);
|
|
57
|
+
// Always use batchAll (atomic)
|
|
58
|
+
return txwrapper_polkadot_1.methods.utility.batchAll({
|
|
59
|
+
calls,
|
|
60
|
+
}, baseTxInfo.baseTxInfo, baseTxInfo.options);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Set the staking amount for bond
|
|
64
|
+
*/
|
|
65
|
+
amount(amount) {
|
|
66
|
+
this.validateValue(new bignumber_js_1.default(amount));
|
|
67
|
+
this._amount = amount;
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get the staking amount
|
|
72
|
+
*/
|
|
73
|
+
getAmount() {
|
|
74
|
+
return this._amount;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Set the rewards destination for bond ('Staked', 'Stash','Controller', or { Account: string })
|
|
78
|
+
*/
|
|
79
|
+
payee(payee) {
|
|
80
|
+
this._payee = payee;
|
|
81
|
+
return this;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Get the payee
|
|
85
|
+
*/
|
|
86
|
+
getPayee() {
|
|
87
|
+
return this._payee;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Set the validators to nominate
|
|
91
|
+
*/
|
|
92
|
+
validators(validators) {
|
|
93
|
+
for (const address of validators) {
|
|
94
|
+
this.validateAddress({ address });
|
|
95
|
+
}
|
|
96
|
+
this._validators = validators;
|
|
97
|
+
return this;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Get the validators to nominate
|
|
101
|
+
*/
|
|
102
|
+
getValidators() {
|
|
103
|
+
return this._validators;
|
|
104
|
+
}
|
|
105
|
+
/** @inheritdoc */
|
|
106
|
+
validateDecodedTransaction(decodedTxn) {
|
|
107
|
+
const methodName = decodedTxn.method?.name;
|
|
108
|
+
// batch bond and nominate
|
|
109
|
+
if (methodName === 'batchAll') {
|
|
110
|
+
const txMethod = decodedTxn.method.args;
|
|
111
|
+
const calls = txMethod.calls;
|
|
112
|
+
if (calls.length !== 2) {
|
|
113
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid batch staking transaction: expected 2 calls but got ${calls.length}`);
|
|
114
|
+
}
|
|
115
|
+
// Check that first call is bond
|
|
116
|
+
const firstCallMethod = utils_1.default.decodeMethodName(calls[0], this._registry);
|
|
117
|
+
if (firstCallMethod !== 'bond') {
|
|
118
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid batch staking transaction: first call should be bond but got ${firstCallMethod}`);
|
|
119
|
+
}
|
|
120
|
+
// Check that second call is nominate
|
|
121
|
+
const secondCallMethod = utils_1.default.decodeMethodName(calls[1], this._registry);
|
|
122
|
+
if (secondCallMethod !== 'nominate') {
|
|
123
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid batch staking transaction: second call should be nominate but got ${secondCallMethod}`);
|
|
124
|
+
}
|
|
125
|
+
// Validate bond arguments
|
|
126
|
+
const bondArgs = calls[0].args;
|
|
127
|
+
this.validateBondArgs(bondArgs);
|
|
128
|
+
// Validate nominate arguments
|
|
129
|
+
const nominateArgs = calls[1].args;
|
|
130
|
+
this.validateNominateArgs(nominateArgs);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid transaction type: ${methodName}`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Normalize a decoded payee value into the construction-side shape.
|
|
138
|
+
*/
|
|
139
|
+
normalizePayee(payeeValue) {
|
|
140
|
+
let normalizedPayee = payeeValue;
|
|
141
|
+
if (typeof payeeValue === 'object' && payeeValue !== null) {
|
|
142
|
+
const decodedPayee = payeeValue;
|
|
143
|
+
if (decodedPayee.staked !== undefined) {
|
|
144
|
+
normalizedPayee = 'Staked';
|
|
145
|
+
}
|
|
146
|
+
else if (decodedPayee.stash !== undefined) {
|
|
147
|
+
normalizedPayee = 'Stash';
|
|
148
|
+
}
|
|
149
|
+
else if (decodedPayee.controller !== undefined) {
|
|
150
|
+
normalizedPayee = 'Controller';
|
|
151
|
+
}
|
|
152
|
+
else if (decodedPayee.account) {
|
|
153
|
+
normalizedPayee = { Account: decodedPayee.account };
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return normalizedPayee;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Validate v8 bond arguments (no controller)
|
|
160
|
+
*/
|
|
161
|
+
validateBondArgs(args) {
|
|
162
|
+
// Handle both string and number formats for value
|
|
163
|
+
const amountValue = args.value;
|
|
164
|
+
const valueString = typeof amountValue === 'string' ? amountValue : amountValue.toString();
|
|
165
|
+
const normalizedPayee = this.normalizePayee(args.payee);
|
|
166
|
+
const validationResult = txnSchema_1.V8BatchTransactionSchema.validateBond({
|
|
167
|
+
value: valueString,
|
|
168
|
+
payee: normalizedPayee,
|
|
169
|
+
});
|
|
170
|
+
if (validationResult.error) {
|
|
171
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid bond args: ${validationResult.error.message}`);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Validate nominate arguments
|
|
176
|
+
*/
|
|
177
|
+
validateNominateArgs(args) {
|
|
178
|
+
// Handle both string and object formats for targets
|
|
179
|
+
const targetAddresses = args.targets.map((target) => {
|
|
180
|
+
if (typeof target === 'string') {
|
|
181
|
+
return target;
|
|
182
|
+
}
|
|
183
|
+
else if (target && typeof target === 'object' && 'id' in target) {
|
|
184
|
+
return target.id;
|
|
185
|
+
}
|
|
186
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid target format: ${JSON.stringify(target)}`);
|
|
187
|
+
});
|
|
188
|
+
const validationResult = txnSchema_1.V8BatchTransactionSchema.validateNominate({
|
|
189
|
+
validators: targetAddresses,
|
|
190
|
+
});
|
|
191
|
+
if (validationResult.error) {
|
|
192
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid nominate args: ${validationResult.error.message}`);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
/** @inheritdoc */
|
|
196
|
+
fromImplementation(rawTransaction) {
|
|
197
|
+
const tx = super.fromImplementation(rawTransaction);
|
|
198
|
+
// Check if the transaction is a batch transaction
|
|
199
|
+
if (this._method?.name !== 'batchAll') {
|
|
200
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid Transaction Type: ${this._method?.name}. Expected batchAll`);
|
|
201
|
+
}
|
|
202
|
+
if (this._method) {
|
|
203
|
+
const txMethod = this._method.args;
|
|
204
|
+
for (const call of txMethod.calls) {
|
|
205
|
+
const callMethod = utils_1.default.decodeMethodName(call, this._registry);
|
|
206
|
+
if (callMethod === 'bond') {
|
|
207
|
+
const bondArgs = call.args;
|
|
208
|
+
// Handle both string and number formats for value
|
|
209
|
+
const amountValue = bondArgs.value;
|
|
210
|
+
const valueString = typeof amountValue === 'string' ? amountValue : amountValue.toString();
|
|
211
|
+
this.amount(valueString);
|
|
212
|
+
// Handle different payee formats
|
|
213
|
+
this.payee(this.normalizePayee(bondArgs.payee));
|
|
214
|
+
}
|
|
215
|
+
else if (callMethod === 'nominate') {
|
|
216
|
+
const nominateArgs = call.args;
|
|
217
|
+
// Handle both string and object formats for targets
|
|
218
|
+
const targetAddresses = nominateArgs.targets.map((target) => {
|
|
219
|
+
if (typeof target === 'string') {
|
|
220
|
+
return target;
|
|
221
|
+
}
|
|
222
|
+
else if (target && typeof target === 'object' && 'id' in target) {
|
|
223
|
+
return target.id;
|
|
224
|
+
}
|
|
225
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid target format: ${JSON.stringify(target)}`);
|
|
226
|
+
});
|
|
227
|
+
this.validators(targetAddresses);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
return tx;
|
|
232
|
+
}
|
|
233
|
+
/** @inheritdoc */
|
|
234
|
+
validateTransaction(tx) {
|
|
235
|
+
super.validateTransaction(tx);
|
|
236
|
+
this.validateFields();
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Validate the builder fields
|
|
240
|
+
*/
|
|
241
|
+
validateFields() {
|
|
242
|
+
// Ensure both bond and nominate operations are included
|
|
243
|
+
if (!this._amount || this._validators.length === 0) {
|
|
244
|
+
throw new sdk_core_1.InvalidTransactionError('Batch transaction must include both bond and nominate operations');
|
|
245
|
+
}
|
|
246
|
+
const validationResult = txnSchema_1.V8BatchTransactionSchema.validate({
|
|
247
|
+
amount: this._amount,
|
|
248
|
+
payee: this._payee,
|
|
249
|
+
validators: this._validators,
|
|
250
|
+
});
|
|
251
|
+
if (validationResult.error) {
|
|
252
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid transaction: ${validationResult.error.message}`);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
testValidateFields() {
|
|
256
|
+
this.validateFields();
|
|
257
|
+
}
|
|
258
|
+
testValidateBondArgs(args) {
|
|
259
|
+
return this.validateBondArgs(args);
|
|
260
|
+
}
|
|
261
|
+
testValidateNominateArgs(args) {
|
|
262
|
+
return this.validateNominateArgs(args);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
exports.V8BatchStakingBuilder = V8BatchStakingBuilder;
|
|
266
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjhCYXRjaFN0YWtpbmdCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi92OEJhdGNoU3Rha2luZ0J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsK0NBQWlEO0FBRWpELHNFQUF3RDtBQUV4RCw4Q0FBMkU7QUFDM0UsMkNBQXVEO0FBQ3ZELG9EQUE0QjtBQUU1QixnRUFBcUM7QUFhckM7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQWEscUJBQXNCLFNBQVEsOEJBQWdCO0lBUXpELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBSnJCLHlCQUF5QjtRQUNmLGdCQUFXLEdBQWEsRUFBRSxDQUFDO1FBSW5DLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBSyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7O09BR0c7SUFDTyxnQkFBZ0I7UUFDeEIsd0RBQXdEO1FBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ25ELE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO1FBQ3hHLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUUzQyw4QkFBOEI7UUFDOUIsTUFBTSxLQUFLLEdBQWEsRUFBRSxDQUFDO1FBRTNCLHNFQUFzRTtRQUN0RSxNQUFNLFFBQVEsR0FBRyw0QkFBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ25DO1lBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ25CLEtBQUssRUFBRSxJQUFJLENB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LENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssY0FBYztRQUNwQix3REFBd0Q7UUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbkQsTUFBTSxJQUFJLGtDQUF1QixDQUFDLGtFQUFrRSxDQUFDLENBQUM7UUFDeEcsQ0FBQztRQUVELE1BQU0sZ0JBQWdCLEdBQUcsb0NBQXdCLENBQUMsUUFBUSxDQUFDO1lBQ3pELE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNwQixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbEIsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXO1NBQzdCLENBQUMsQ0FBQztRQUVILElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHdCQUF3QixnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM5RixDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLG9CQUFvQixDQUFDLElBQWdCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSx3QkFBd0IsQ0FBQyxJQUFrQjtRQUNoRCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0NBQ0Y7QUExU0Qsc0RBMFNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFBvbHl4QmFzZUJ1aWxkZXIgfSBmcm9tICcuL2Jhc2VCdWlsZGVyJztcbmltcG9ydCB7IERlY29kZWRTaWduZWRUeCwgRGVjb2RlZFNpZ25pbmdQYXlsb2FkLCBVbnNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItY29yZSc7XG5pbXBvcnQgeyBtZXRob2RzIH0gZnJvbSAnQHN1YnN0cmF0ZS90eHdyYXBwZXItcG9sa2Fkb3QnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgVjhCYXRjaFRyYW5zYWN0aW9uU2NoZW1hIH0gZnJvbSAnLi90eG5TY2hlbWEnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgQmF0Y2hBcmdzLCBOb21pbmF0ZUFyZ3MsIFY4Qm9uZEFyZ3MgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcblxuLy8gVHlwZSBkZWZpbml0aW9ucyBmb3IgZGVjb2RlZCB0cmFuc2FjdGlvbiBmb3JtYXRzXG5pbnRlcmZhY2UgRGVjb2RlZFBheWVlIHtcbiAgc3Rha2VkPzogbnVsbDtcbiAgc3Rhc2g/OiBudWxsO1xuICBjb250cm9sbGVyPzogbnVsbDtcbiAgYWNjb3VudD86IHN0cmluZztcbn1cblxudHlwZSBQYXllZVZhbHVlID0gc3RyaW5nIHwgRGVjb2RlZFBheWVlO1xudHlwZSBBbW91bnRWYWx1ZSA9IHN0cmluZyB8IG51bWJlcjtcblxuLyoqXG4gKiBQb2x5bWVzaCB2OCBiYXRjaCBzdGFraW5nIGJ1aWxkZXIuXG4gKlxuICogUG9seW1lc2ggdjggY2hhbmdlZCBgc3Rha2luZy5ib25kYCBmcm9tIGBib25kKGNvbnRyb2xsZXIsIHZhbHVlLCBwYXllZSlgIHRvIGBib25kKHZhbHVlLCBwYXllZSlgXG4gKiDigJQgdGhlIHN0YXNoIGFjY291bnQgaXMgaXRzIG93biBjb250cm9sbGVyLCBzbyBubyBgY29udHJvbGxlcmAgbGVnIGlzIGVuY29kZWQuIFRoaXMgYnVpbGRlclxuICogY29uc3RydWN0cyBgdXRpbGl0eS5iYXRjaEFsbChbYm9uZCwgbm9taW5hdGVdKWAgd2l0aCB0aGUgMi1hcmcgYm9uZCBjYWxsIGFnYWluc3QgdjggY2hhaW5cbiAqIG1ldGFkYXRhICh2OCBzcGVjVmVyc2lvbiAvIHR4VmVyc2lvbikuXG4gKlxuICogQmVoYXZpb3VyIGlzIG90aGVyd2lzZSBpZGVudGljYWwgdG8gdGhlIHY3IHtAbGluayBCYXRjaFN0YWtpbmdCdWlsZGVyfSwgd2hpY2ggaXMgcmV0YWluZWQgYXMgdGhlXG4gKiBgW0NMRUFOVVAtVjgtT0xEXWAgcm9sbGJhY2sgcGF0aC5cbiAqL1xuZXhwb3J0IGNsYXNzIFY4QmF0Y2hTdGFraW5nQnVpbGRlciBleHRlbmRzIFBvbHl4QmFzZUJ1aWxkZXIge1xuICAvLyBGb3IgYm9uZCBvcGVyYXRpb25cbiAgcHJvdGVjdGVkIF9hbW91bnQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9wYXllZTogc3RyaW5nIHwgeyBBY2NvdW50OiBzdHJpbmcgfTtcblxuICAvLyBGb3Igbm9taW5hdGUgb3BlcmF0aW9uXG4gIHByb3RlY3RlZCBfdmFsaWRhdG9yczogc3RyaW5nW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5tYXRlcmlhbCh1dGlscy5nZXRWOE1hdGVyaWFsKF9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkJhdGNoO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgYmF0Y2ggdHJhbnNhY3Rpb24gdGhhdCBjb21iaW5lcyBib25kIGFuZCBub21pbmF0ZSBvcGVyYXRpb25zXG4gICAqIEJvdGggb3BlcmF0aW9ucyBhcmUgcmVxdWlyZWQgYW5kIGFsd2F5cyBhdG9taWMgKHVzaW5nIGJhdGNoQWxsKVxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkVHJhbnNhY3Rpb24oKTogVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gICAgLy8gRW5zdXJlIGJvdGggYm9uZCBhbmQgbm9taW5hdGUgb3BlcmF0aW9ucyBhcmUgaW5jbHVkZWRcbiAgICBpZiAoIXRoaXMuX2Ftb3VudCB8fCB0aGlzLl92YWxpZGF0b3JzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdCYXRjaCB0cmFuc2FjdGlvbiBtdXN0IGluY2x1ZGUgYm90aCBib25kIGFuZCBub21pbmF0ZSBvcGVyYXRpb25zJyk7XG4gICAgfVxuXG4gICAgY29uc3QgYmFzZVR4SW5mbyA9IHRoaXMuY3JlYXRlQmFzZVR4SW5mbygpO1xuXG4gICAgLy8gQ3JlYXRlIHRoZSBpbmRpdmlkdWFsIGNhbGxzXG4gICAgY29uc3QgY2FsbHM6IHN0cmluZ1tdID0gW107XG5cbiAgICAvLyBBZGQgYm9uZCBjYWxsIOKAlCB2OCBib25kIHRha2VzIG9ubHkgeyB2YWx1ZSwgcGF5ZWUgfSAobm8gY29udHJvbGxlcilcbiAgICBjb25zdCBib25kQ2FsbCA9IG1ldGhvZHMuc3Rha2luZy5ib25kKFxuICAgICAge1xuICAgICAgICB2YWx1ZTogdGhpcy5fYW1vdW50LFxuICAgICAgICBwYXllZTogdGhpcy5fcGF5ZWUgfHwgJ1N0YWtlZCcsXG4gICAgICB9IGFzIHVua25vd24gYXMgeyBjb250cm9sbGVyOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmc7IHBheWVlOiBzdHJpbmcgfCB7IEFjY291bnQ6IHN0cmluZyB9IH0sXG4gICAgICBiYXNlVHhJbmZvLmJhc2VUeEluZm8sXG4gICAgICBiYXNlVHhJbmZvLm9wdGlvbnNcbiAgICApO1xuICAgIGNhbGxzLnB1c2goYm9uZENhbGwubWV0aG9kKTtcblxuICAgIC8vIEFkZCBub21pbmF0ZSBjYWxsXG4gICAgY29uc3Qgbm9taW5hdGVDYWxsID0gbWV0aG9kcy5zdGFraW5nLm5vbWluYXRlKFxuICAgICAge1xuICAgICAgICB0YXJnZXRzOiB0aGlzLl92YWxpZGF0b3JzLFxuICAgICAgfSxcbiAgICAgIGJhc2VUeEluZm8uYmFzZVR4SW5mbyxcbiAgICAgIGJhc2VUeEluZm8ub3B0aW9uc1xuICAgICk7XG4gICAgY2FsbHMucHVzaChub21pbmF0ZUNhbGwubWV0aG9kKTtcblxuICAgIC8vIEFsd2F5cyB1c2UgYmF0Y2hBbGwgKGF0b21pYylcbiAgICByZXR1cm4gbWV0aG9kcy51dGlsaXR5LmJhdGNoQWxsKFxuICAgICAge1xuICAgICAgICBjYWxscyxcbiAgICAgIH0sXG4gICAgICBiYXNlVHhJbmZvLmJhc2VUeEluZm8sXG4gICAgICBiYXNlVHhJbmZvLm9wdGlvbnNcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgc3Rha2luZyBhbW91bnQgZm9yIGJvbmRcbiAgICovXG4gIGFtb3VudChhbW91bnQ6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZShuZXcgQmlnTnVtYmVyKGFtb3VudCkpO1xuICAgIHRoaXMuX2Ftb3VudCA9IGFtb3VudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHN0YWtpbmcgYW1vdW50XG4gICAqL1xuICBnZXRBbW91bnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fYW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgcmV3YXJkcyBkZXN0aW5hdGlvbiBmb3IgYm9uZCAoJ1N0YWtlZCcsICdTdGFzaCcsJ0NvbnRyb2xsZXInLCBvciB7IEFjY291bnQ6IHN0cmluZyB9KVxuICAgKi9cbiAgcGF5ZWUocGF5ZWU6IHN0cmluZyB8IHsgQWNjb3VudDogc3RyaW5nIH0pOiB0aGlzIHtcbiAgICB0aGlzLl9wYXllZSA9IHBheWVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcGF5ZWVcbiAgICovXG4gIGdldFBheWVlKCk6IHN0cmluZyB8IHsgQWNjb3VudDogc3RyaW5nIH0ge1xuICAgIHJldHVybiB0aGlzLl9wYXllZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHZhbGlkYXRvcnMgdG8gbm9taW5hdGVcbiAgICovXG4gIHZhbGlkYXRvcnModmFsaWRhdG9yczogc3RyaW5nW10pOiB0aGlzIHtcbiAgICBmb3IgKGNvbnN0IGFkZHJlc3Mgb2YgdmFsaWRhdG9ycykge1xuICAgICAgdGhpcy52YWxpZGF0ZUFkZHJlc3MoeyBhZGRyZXNzIH0pO1xuICAgIH1cbiAgICB0aGlzLl92YWxpZGF0b3JzID0gdmFsaWRhdG9ycztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHZhbGlkYXRvcnMgdG8gbm9taW5hdGVcbiAgICovXG4gIGdldFZhbGlkYXRvcnMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl92YWxpZGF0b3JzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlRGVjb2RlZFRyYW5zYWN0aW9uKGRlY29kZWRUeG46IERlY29kZWRTaWduaW5nUGF5bG9hZCB8IERlY29kZWRTaWduZWRUeCk6IHZvaWQge1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSBkZWNvZGVkVHhuLm1ldGhvZD8ubmFtZSBhcyBzdHJpbmc7XG5cbiAgICAvLyBiYXRjaCBib25kIGFuZCBub21pbmF0ZVxuICAgIGlmIChtZXRob2ROYW1lID09PSAnYmF0Y2hBbGwnKSB7XG4gICAgICBjb25zdCB0eE1ldGhvZCA9IGRlY29kZWRUeG4ubWV0aG9kLmFyZ3MgYXMgdW5rbm93biBhcyBCYXRjaEFyZ3M7XG4gICAgICBjb25zdCBjYWxscyA9IHR4TWV0aG9kLmNhbGxzO1xuXG4gICAgICBpZiAoY2FsbHMubGVuZ3RoICE9PSAyKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgICBgSW52YWxpZCBiYXRjaCBzdGFraW5nIHRyYW5zYWN0aW9uOiBleHBlY3RlZCAyIGNhbGxzIGJ1dCBnb3QgJHtjYWxscy5sZW5ndGh9YFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBDaGVjayB0aGF0IGZpcnN0IGNhbGwgaXMgYm9uZFxuICAgICAgY29uc3QgZmlyc3RDYWxsTWV0aG9kID0gdXRpbHMuZGVjb2RlTWV0aG9kTmFtZShjYWxsc1swXSwgdGhpcy5fcmVnaXN0cnkpO1xuICAgICAgaWYgKGZpcnN0Q2FsbE1ldGhvZCAhPT0gJ2JvbmQnKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihcbiAgICAgICAgICBgSW52YWxpZCBiYXRjaCBzdGFraW5nIHRyYW5zYWN0aW9uOiBmaXJzdCBjYWxsIHNob3VsZCBiZSBib25kIGJ1dCBnb3QgJHtmaXJzdENhbGxNZXRob2R9YFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBDaGVjayB0aGF0IHNlY29uZCBjYWxsIGlzIG5vbWluYXRlXG4gICAgICBjb25zdCBzZWNvbmRDYWxsTWV0aG9kID0gdXRpbHMuZGVjb2RlTWV0aG9kTmFtZShjYWxsc1sxXSwgdGhpcy5fcmVnaXN0cnkpO1xuICAgICAgaWYgKHNlY29uZENhbGxNZXRob2QgIT09ICdub21pbmF0ZScpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICAgIGBJbnZhbGlkIGJhdGNoIHN0YWtpbmcgdHJhbnNhY3Rpb246IHNlY29uZCBjYWxsIHNob3VsZCBiZSBub21pbmF0ZSBidXQgZ290ICR7c2Vjb25kQ2FsbE1ldGhvZH1gXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIFZhbGlkYXRlIGJvbmQgYXJndW1lbnRzXG4gICAgICBjb25zdCBib25kQXJncyA9IGNhbGxzWzBdLmFyZ3MgYXMgdW5rbm93biBhcyBWOEJvbmRBcmdzO1xuICAgICAgdGhpcy52YWxpZGF0ZUJvbmRBcmdzKGJvbmRBcmdzKTtcblxuICAgICAgLy8gVmFsaWRhdGUgbm9taW5hdGUgYXJndW1lbnRzXG4gICAgICBjb25zdCBub21pbmF0ZUFyZ3MgPSBjYWxsc1sxXS5hcmdzIGFzIHVua25vd24gYXMgTm9taW5hdGVBcmdzO1xuICAgICAgdGhpcy52YWxpZGF0ZU5vbWluYXRlQXJncyhub21pbmF0ZUFyZ3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgdHJhbnNhY3Rpb24gdHlwZTogJHttZXRob2ROYW1lfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBOb3JtYWxpemUgYSBkZWNvZGVkIHBheWVlIHZhbHVlIGludG8gdGhlIGNvbnN0cnVjdGlvbi1zaWRlIHNoYXBlLlxuICAgKi9cbiAgcHJpdmF0ZSBub3JtYWxpemVQYXllZShwYXllZVZhbHVlOiBQYXllZVZhbHVlKTogc3RyaW5nIHwgeyBBY2NvdW50OiBzdHJpbmcgfSB7XG4gICAgbGV0IG5vcm1hbGl6ZWRQYXllZTogc3RyaW5nIHwgeyBBY2NvdW50OiBzdHJpbmcgfSA9IHBheWVlVmFsdWUgYXMgc3RyaW5nO1xuICAgIGlmICh0eXBlb2YgcGF5ZWVWYWx1ZSA9PT0gJ29iamVjdCcgJiYgcGF5ZWVWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgZGVjb2RlZFBheWVlID0gcGF5ZWVWYWx1ZSBhcyBEZWNvZGVkUGF5ZWU7XG4gICAgICBpZiAoZGVjb2RlZFBheWVlLnN0YWtlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG5vcm1hbGl6ZWRQYXllZSA9ICdTdGFrZWQnO1xuICAgICAgfSBlbHNlIGlmIChkZWNvZGVkUGF5ZWUuc3Rhc2ggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBub3JtYWxpemVkUGF5ZWUgPSAnU3Rhc2gnO1xuICAgICAgfSBlbHNlIGlmIChkZWNvZGVkUGF5ZWUuY29udHJvbGxlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG5vcm1hbGl6ZWRQYXllZSA9ICdDb250cm9sbGVyJztcbiAgICAgIH0gZWxzZSBpZiAoZGVjb2RlZFBheWVlLmFjY291bnQpIHtcbiAgICAgICAgbm9ybWFsaXplZFBheWVlID0geyBBY2NvdW50OiBkZWNvZGVkUGF5ZWUuYWNjb3VudCB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbm9ybWFsaXplZFBheWVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIHY4IGJvbmQgYXJndW1lbnRzIChubyBjb250cm9sbGVyKVxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZUJvbmRBcmdzKGFyZ3M6IFY4Qm9uZEFyZ3MpOiB2b2lkIHtcbiAgICAvLyBIYW5kbGUgYm90aCBzdHJpbmcgYW5kIG51bWJlciBmb3JtYXRzIGZvciB2YWx1ZVxuICAgIGNvbnN0IGFtb3VudFZhbHVlID0gYXJncy52YWx1ZSBhcyBBbW91bnRWYWx1ZTtcbiAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHR5cGVvZiBhbW91bnRWYWx1ZSA9PT0gJ3N0cmluZycgPyBhbW91bnRWYWx1ZSA6IGFtb3VudFZhbHVlLnRvU3RyaW5nKCk7XG5cbiAgICBjb25zdCBub3JtYWxpemVkUGF5ZWUgPSB0aGlzLm5vcm1hbGl6ZVBheWVlKGFyZ3MucGF5ZWUgYXMgUGF5ZWVWYWx1ZSk7XG5cbiAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gVjhCYXRjaFRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlQm9uZCh7XG4gICAgICB2YWx1ZTogdmFsdWVTdHJpbmcsXG4gICAgICBwYXllZTogbm9ybWFsaXplZFBheWVlLFxuICAgIH0pO1xuXG4gICAgaWYgKHZhbGlkYXRpb25SZXN1bHQuZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBib25kIGFyZ3M6ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBub21pbmF0ZSBhcmd1bWVudHNcbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGVOb21pbmF0ZUFyZ3MoYXJnczogTm9taW5hdGVBcmdzKTogdm9pZCB7XG4gICAgLy8gSGFuZGxlIGJvdGggc3RyaW5nIGFuZCBvYmplY3QgZm9ybWF0cyBmb3IgdGFyZ2V0c1xuICAgIGNvbnN0IHRhcmdldEFkZHJlc3NlcyA9IGFyZ3MudGFyZ2V0cy5tYXAoKHRhcmdldCkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiB0YXJnZXQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgICB9IGVsc2UgaWYgKHRhcmdldCAmJiB0eXBlb2YgdGFyZ2V0ID09PSAnb2JqZWN0JyAmJiAnaWQnIGluIHRhcmdldCkge1xuICAgICAgICByZXR1cm4gKHRhcmdldCBhcyB7IGlkOiBzdHJpbmcgfSkuaWQ7XG4gICAgICB9XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgdGFyZ2V0IGZvcm1hdDogJHtKU09OLnN0cmluZ2lmeSh0YXJnZXQpfWApO1xuICAgIH0pO1xuXG4gICAgY29uc3QgdmFsaWRhdGlvblJlc3VsdCA9IFY4QmF0Y2hUcmFuc2FjdGlvblNjaGVtYS52YWxpZGF0ZU5vbWluYXRlKHtcbiAgICAgIHZhbGlkYXRvcnM6IHRhcmdldEFkZHJlc3NlcyxcbiAgICB9KTtcblxuICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgbm9taW5hdGUgYXJnczogJHt2YWxpZGF0aW9uUmVzdWx0LmVycm9yLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eCA9IHN1cGVyLmZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbik7XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgdHJhbnNhY3Rpb24gaXMgYSBiYXRjaCB0cmFuc2FjdGlvblxuICAgIGlmICgodGhpcy5fbWV0aG9kPy5uYW1lIGFzIHN0cmluZykgIT09ICdiYXRjaEFsbCcpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBUcmFuc2FjdGlvbiBUeXBlOiAke3RoaXMuX21ldGhvZD8ubmFtZX0uIEV4cGVjdGVkIGJhdGNoQWxsYCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX21ldGhvZCkge1xuICAgICAgY29uc3QgdHhNZXRob2QgPSB0aGlzLl9tZXRob2QuYXJncyBhcyB1bmtub3duIGFzIEJhdGNoQXJncztcblxuICAgICAgZm9yIChjb25zdCBjYWxsIG9mIHR4TWV0aG9kLmNhbGxzKSB7XG4gICAgICAgIGNvbnN0IGNhbGxNZXRob2QgPSB1dGlscy5kZWNvZGVNZXRob2ROYW1lKGNhbGwsIHRoaXMuX3JlZ2lzdHJ5KTtcbiAgICAgICAgaWYgKGNhbGxNZXRob2QgPT09ICdib25kJykge1xuICAgICAgICAgIGNvbnN0IGJvbmRBcmdzID0gY2FsbC5hcmdzIGFzIHVua25vd24gYXMgVjhCb25kQXJncztcbiAgICAgICAgICAvLyBIYW5kbGUgYm90aCBzdHJpbmcgYW5kIG51bWJlciBmb3JtYXRzIGZvciB2YWx1ZVxuICAgICAgICAgIGNvbnN0IGFtb3VudFZhbHVlID0gYm9uZEFyZ3MudmFsdWUgYXMgQW1vdW50VmFsdWU7XG4gICAgICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB0eXBlb2YgYW1vdW50VmFsdWUgPT09ICdzdHJpbmcnID8gYW1vdW50VmFsdWUgOiBhbW91bnRWYWx1ZS50b1N0cmluZygpO1xuICAgICAgICAgIHRoaXMuYW1vdW50KHZhbHVlU3RyaW5nKTtcblxuICAgICAgICAgIC8vIEhhbmRsZSBkaWZmZXJlbnQgcGF5ZWUgZm9ybWF0c1xuICAgICAgICAgIHRoaXMucGF5ZWUodGhpcy5ub3JtYWxpemVQYXllZShib25kQXJncy5wYXllZSBhcyBQYXllZVZhbHVlKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoY2FsbE1ldGhvZCA9PT0gJ25vbWluYXRlJykge1xuICAgICAgICAgIGNvbnN0IG5vbWluYXRlQXJncyA9IGNhbGwuYXJncyBhcyB1bmtub3duIGFzIE5vbWluYXRlQXJncztcblxuICAgICAgICAgIC8vIEhhbmRsZSBib3RoIHN0cmluZyBhbmQgb2JqZWN0IGZvcm1hdHMgZm9yIHRhcmdldHNcbiAgICAgICAgICBjb25zdCB0YXJnZXRBZGRyZXNzZXMgPSBub21pbmF0ZUFyZ3MudGFyZ2V0cy5tYXAoKHRhcmdldCkgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB0YXJnZXQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRhcmdldCAmJiB0eXBlb2YgdGFyZ2V0ID09PSAnb2JqZWN0JyAmJiAnaWQnIGluIHRhcmdldCkge1xuICAgICAgICAgICAgICByZXR1cm4gKHRhcmdldCBhcyB7IGlkOiBzdHJpbmcgfSkuaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgdGFyZ2V0IGZvcm1hdDogJHtKU09OLnN0cmluZ2lmeSh0YXJnZXQpfWApO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMudmFsaWRhdG9ycyh0YXJnZXRBZGRyZXNzZXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHR4O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHZhbGlkYXRlVHJhbnNhY3Rpb24odHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIudmFsaWRhdGVUcmFuc2FjdGlvbih0eCk7XG4gICAgdGhpcy52YWxpZGF0ZUZpZWxkcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIHRoZSBidWlsZGVyIGZpZWxkc1xuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZUZpZWxkcygpOiB2b2lkIHtcbiAgICAvLyBFbnN1cmUgYm90aCBib25kIGFuZCBub21pbmF0ZSBvcGVyYXRpb25zIGFyZSBpbmNsdWRlZFxuICAgIGlmICghdGhpcy5fYW1vdW50IHx8IHRoaXMuX3ZhbGlkYXRvcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0JhdGNoIHRyYW5zYWN0aW9uIG11c3QgaW5jbHVkZSBib3RoIGJvbmQgYW5kIG5vbWluYXRlIG9wZXJhdGlvbnMnKTtcbiAgICB9XG5cbiAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gVjhCYXRjaFRyYW5zYWN0aW9uU2NoZW1hLnZhbGlkYXRlKHtcbiAgICAgIGFtb3VudDogdGhpcy5fYW1vdW50LFxuICAgICAgcGF5ZWU6IHRoaXMuX3BheWVlLFxuICAgICAgdmFsaWRhdG9yczogdGhpcy5fdmFsaWRhdG9ycyxcbiAgICB9KTtcblxuICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0LmVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoYEludmFsaWQgdHJhbnNhY3Rpb246ICR7dmFsaWRhdGlvblJlc3VsdC5lcnJvci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIHRlc3RWYWxpZGF0ZUZpZWxkcygpOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkYXRlRmllbGRzKCk7XG4gIH1cblxuICBwdWJsaWMgdGVzdFZhbGlkYXRlQm9uZEFyZ3MoYXJnczogVjhCb25kQXJncyk6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQm9uZEFyZ3MoYXJncyk7XG4gIH1cblxuICBwdWJsaWMgdGVzdFZhbGlkYXRlTm9taW5hdGVBcmdzKGFyZ3M6IE5vbWluYXRlQXJncyk6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLnZhbGlkYXRlTm9taW5hdGVBcmdzKGFyZ3MpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
+
import { BatchUnstakingBuilder } from './batchUnstakingBuilder';
|
|
3
|
+
/**
|
|
4
|
+
* Builds a `utility.batchAll([chill, unbond])` unstaking transaction against Polymesh v8 chain
|
|
5
|
+
* metadata. chill/unbond are unchanged between v7 and v8; only the material (specVersion /
|
|
6
|
+
* txVersion) differs from {@link BatchUnstakingBuilder}.
|
|
7
|
+
*/
|
|
8
|
+
export declare class V8BatchUnstakingBuilder extends BatchUnstakingBuilder {
|
|
9
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=v8BatchUnstakingBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v8BatchUnstakingBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/v8BatchUnstakingBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,qBAAqB;gBACpD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;CAI9C"}
|
|
@@ -0,0 +1,21 @@
|
|
|
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.V8BatchUnstakingBuilder = void 0;
|
|
7
|
+
const batchUnstakingBuilder_1 = require("./batchUnstakingBuilder");
|
|
8
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
9
|
+
/**
|
|
10
|
+
* Builds a `utility.batchAll([chill, unbond])` unstaking transaction against Polymesh v8 chain
|
|
11
|
+
* metadata. chill/unbond are unchanged between v7 and v8; only the material (specVersion /
|
|
12
|
+
* txVersion) differs from {@link BatchUnstakingBuilder}.
|
|
13
|
+
*/
|
|
14
|
+
class V8BatchUnstakingBuilder extends batchUnstakingBuilder_1.BatchUnstakingBuilder {
|
|
15
|
+
constructor(_coinConfig) {
|
|
16
|
+
super(_coinConfig);
|
|
17
|
+
this.material(utils_1.default.getV8Material(_coinConfig.network.type));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.V8BatchUnstakingBuilder = V8BatchUnstakingBuilder;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjhCYXRjaFVuc3Rha2luZ0J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Y4QmF0Y2hVbnN0YWtpbmdCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLG1FQUFnRTtBQUNoRSxvREFBNEI7QUFFNUI7Ozs7R0FJRztBQUNILE1BQWEsdUJBQXdCLFNBQVEsNkNBQXFCO0lBQ2hFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBSyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNGO0FBTEQsMERBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgQmF0Y2hVbnN0YWtpbmdCdWlsZGVyIH0gZnJvbSAnLi9iYXRjaFVuc3Rha2luZ0J1aWxkZXInO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG4vKipcbiAqIEJ1aWxkcyBhIGB1dGlsaXR5LmJhdGNoQWxsKFtjaGlsbCwgdW5ib25kXSlgIHVuc3Rha2luZyB0cmFuc2FjdGlvbiBhZ2FpbnN0IFBvbHltZXNoIHY4IGNoYWluXG4gKiBtZXRhZGF0YS4gY2hpbGwvdW5ib25kIGFyZSB1bmNoYW5nZWQgYmV0d2VlbiB2NyBhbmQgdjg7IG9ubHkgdGhlIG1hdGVyaWFsIChzcGVjVmVyc2lvbiAvXG4gKiB0eFZlcnNpb24pIGRpZmZlcnMgZnJvbSB7QGxpbmsgQmF0Y2hVbnN0YWtpbmdCdWlsZGVyfS5cbiAqL1xuZXhwb3J0IGNsYXNzIFY4QmF0Y2hVbnN0YWtpbmdCdWlsZGVyIGV4dGVuZHMgQmF0Y2hVbnN0YWtpbmdCdWlsZGVyIHtcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMubWF0ZXJpYWwodXRpbHMuZ2V0VjhNYXRlcmlhbChfY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUpKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
+
import { BondExtraBuilder } from './bondExtraBuilder';
|
|
3
|
+
/**
|
|
4
|
+
* Builds a staking.bondExtra transaction against Polymesh v8 chain metadata. bondExtra is
|
|
5
|
+
* unchanged between v7 and v8 (`bondExtra(maxAdditional)`); only the material (specVersion /
|
|
6
|
+
* txVersion) differs from {@link BondExtraBuilder}.
|
|
7
|
+
*/
|
|
8
|
+
export declare class V8BondExtraBuilder extends BondExtraBuilder {
|
|
9
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=v8BondExtraBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v8BondExtraBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/v8BondExtraBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,gBAAgB;gBAC1C,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;CAI9C"}
|
|
@@ -0,0 +1,21 @@
|
|
|
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.V8BondExtraBuilder = void 0;
|
|
7
|
+
const bondExtraBuilder_1 = require("./bondExtraBuilder");
|
|
8
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
9
|
+
/**
|
|
10
|
+
* Builds a staking.bondExtra transaction against Polymesh v8 chain metadata. bondExtra is
|
|
11
|
+
* unchanged between v7 and v8 (`bondExtra(maxAdditional)`); only the material (specVersion /
|
|
12
|
+
* txVersion) differs from {@link BondExtraBuilder}.
|
|
13
|
+
*/
|
|
14
|
+
class V8BondExtraBuilder extends bondExtraBuilder_1.BondExtraBuilder {
|
|
15
|
+
constructor(_coinConfig) {
|
|
16
|
+
super(_coinConfig);
|
|
17
|
+
this.material(utils_1.default.getV8Material(_coinConfig.network.type));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.V8BondExtraBuilder = V8BondExtraBuilder;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjhCb25kRXh0cmFCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi92OEJvbmRFeHRyYUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EseURBQXNEO0FBQ3RELG9EQUE0QjtBQUU1Qjs7OztHQUlHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSxtQ0FBZ0I7SUFDdEQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFLLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0Y7QUFMRCxnREFLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBCb25kRXh0cmFCdWlsZGVyIH0gZnJvbSAnLi9ib25kRXh0cmFCdWlsZGVyJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuLyoqXG4gKiBCdWlsZHMgYSBzdGFraW5nLmJvbmRFeHRyYSB0cmFuc2FjdGlvbiBhZ2FpbnN0IFBvbHltZXNoIHY4IGNoYWluIG1ldGFkYXRhLiBib25kRXh0cmEgaXNcbiAqIHVuY2hhbmdlZCBiZXR3ZWVuIHY3IGFuZCB2OCAoYGJvbmRFeHRyYShtYXhBZGRpdGlvbmFsKWApOyBvbmx5IHRoZSBtYXRlcmlhbCAoc3BlY1ZlcnNpb24gL1xuICogdHhWZXJzaW9uKSBkaWZmZXJzIGZyb20ge0BsaW5rIEJvbmRFeHRyYUJ1aWxkZXJ9LlxuICovXG5leHBvcnQgY2xhc3MgVjhCb25kRXh0cmFCdWlsZGVyIGV4dGVuZHMgQm9uZEV4dHJhQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLm1hdGVyaWFsKHV0aWxzLmdldFY4TWF0ZXJpYWwoX2NvaW5Db25maWcubmV0d29yay50eXBlKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
+
import { V8TokenTransferBuilder } from './v8TokenTransferBuilder';
|
|
3
|
+
/**
|
|
4
|
+
* Builds a Polymesh settlement.addAndAffirmWithMediators transaction using the NEW
|
|
5
|
+
* (hex) memo encoding against Polymesh v8 chain metadata, with AssetHolder-wrapped
|
|
6
|
+
* legs/holderSet (see V8TokenTransferBuilder). Identical to V8TokenTransferBuilder;
|
|
7
|
+
* only the memo encoding differs.
|
|
8
|
+
*/
|
|
9
|
+
export declare class V8HexTokenTransferBuilder extends V8TokenTransferBuilder {
|
|
10
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
11
|
+
/**
|
|
12
|
+
* Encode memo using the NEW Polymesh format.
|
|
13
|
+
*
|
|
14
|
+
* If the value is already a 0x-prefixed 32-byte hex string (e.g. when decoding an
|
|
15
|
+
* existing NEW-encoded transaction via fromImplementation), it is stored as-is.
|
|
16
|
+
* Otherwise the text is converted to UTF-8 hex and right-padded with 0x00 to 32 bytes.
|
|
17
|
+
*/
|
|
18
|
+
memo(memo: string): this;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=v8HexTokenTransferBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v8HexTokenTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/v8HexTokenTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAIlE;;;;;GAKG;AACH,qBAAa,yBAA0B,SAAQ,sBAAsB;gBACvD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C;;;;;;OAMG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAWzB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
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.V8HexTokenTransferBuilder = void 0;
|
|
7
|
+
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
8
|
+
const v8TokenTransferBuilder_1 = require("./v8TokenTransferBuilder");
|
|
9
|
+
const constants_1 = require("./constants");
|
|
10
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
11
|
+
/**
|
|
12
|
+
* Builds a Polymesh settlement.addAndAffirmWithMediators transaction using the NEW
|
|
13
|
+
* (hex) memo encoding against Polymesh v8 chain metadata, with AssetHolder-wrapped
|
|
14
|
+
* legs/holderSet (see V8TokenTransferBuilder). Identical to V8TokenTransferBuilder;
|
|
15
|
+
* only the memo encoding differs.
|
|
16
|
+
*/
|
|
17
|
+
class V8HexTokenTransferBuilder extends v8TokenTransferBuilder_1.V8TokenTransferBuilder {
|
|
18
|
+
constructor(_coinConfig) {
|
|
19
|
+
super(_coinConfig);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Encode memo using the NEW Polymesh format.
|
|
23
|
+
*
|
|
24
|
+
* If the value is already a 0x-prefixed 32-byte hex string (e.g. when decoding an
|
|
25
|
+
* existing NEW-encoded transaction via fromImplementation), it is stored as-is.
|
|
26
|
+
* Otherwise the text is converted to UTF-8 hex and right-padded with 0x00 to 32 bytes.
|
|
27
|
+
*/
|
|
28
|
+
memo(memo) {
|
|
29
|
+
if (memo.startsWith('0x') && memo.length === 66) {
|
|
30
|
+
if (!constants_1.MEMO_HEX_REGEX.test(memo)) {
|
|
31
|
+
throw new sdk_core_1.InvalidTransactionError(`Invalid memo hex encoding: ${memo}`);
|
|
32
|
+
}
|
|
33
|
+
this._memo = memo;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this._memo = utils_1.default.encodeMemoNew(memo);
|
|
37
|
+
}
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.V8HexTokenTransferBuilder = V8HexTokenTransferBuilder;
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjhIZXhUb2tlblRyYW5zZmVyQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdjhIZXhUb2tlblRyYW5zZmVyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSw4Q0FBMEQ7QUFDMUQscUVBQWtFO0FBQ2xFLDJDQUE2QztBQUM3QyxvREFBNEI7QUFFNUI7Ozs7O0dBS0c7QUFDSCxNQUFhLHlCQUEwQixTQUFRLCtDQUFzQjtJQUNuRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsSUFBSSxDQUFDLElBQVk7UUFDZixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsMEJBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDL0IsTUFBTSxJQUFJLGtDQUF1QixDQUFDLDhCQUE4QixJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzFFLENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNwQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsZUFBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUF2QkQsOERBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IEludmFsaWRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IFY4VG9rZW5UcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3Y4VG9rZW5UcmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgTUVNT19IRVhfUkVHRVggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQnVpbGRzIGEgUG9seW1lc2ggc2V0dGxlbWVudC5hZGRBbmRBZmZpcm1XaXRoTWVkaWF0b3JzIHRyYW5zYWN0aW9uIHVzaW5nIHRoZSBORVdcbiAqIChoZXgpIG1lbW8gZW5jb2RpbmcgYWdhaW5zdCBQb2x5bWVzaCB2OCBjaGFpbiBtZXRhZGF0YSwgd2l0aCBBc3NldEhvbGRlci13cmFwcGVkXG4gKiBsZWdzL2hvbGRlclNldCAoc2VlIFY4VG9rZW5UcmFuc2ZlckJ1aWxkZXIpLiBJZGVudGljYWwgdG8gVjhUb2tlblRyYW5zZmVyQnVpbGRlcjtcbiAqIG9ubHkgdGhlIG1lbW8gZW5jb2RpbmcgZGlmZmVycy5cbiAqL1xuZXhwb3J0IGNsYXNzIFY4SGV4VG9rZW5UcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBWOFRva2VuVHJhbnNmZXJCdWlsZGVyIHtcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuY29kZSBtZW1vIHVzaW5nIHRoZSBORVcgUG9seW1lc2ggZm9ybWF0LlxuICAgKlxuICAgKiBJZiB0aGUgdmFsdWUgaXMgYWxyZWFkeSBhIDB4LXByZWZpeGVkIDMyLWJ5dGUgaGV4IHN0cmluZyAoZS5nLiB3aGVuIGRlY29kaW5nIGFuXG4gICAqIGV4aXN0aW5nIE5FVy1lbmNvZGVkIHRyYW5zYWN0aW9uIHZpYSBmcm9tSW1wbGVtZW50YXRpb24pLCBpdCBpcyBzdG9yZWQgYXMtaXMuXG4gICAqIE90aGVyd2lzZSB0aGUgdGV4dCBpcyBjb252ZXJ0ZWQgdG8gVVRGLTggaGV4IGFuZCByaWdodC1wYWRkZWQgd2l0aCAweDAwIHRvIDMyIGJ5dGVzLlxuICAgKi9cbiAgbWVtbyhtZW1vOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAobWVtby5zdGFydHNXaXRoKCcweCcpICYmIG1lbW8ubGVuZ3RoID09PSA2Nikge1xuICAgICAgaWYgKCFNRU1PX0hFWF9SRUdFWC50ZXN0KG1lbW8pKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgSW52YWxpZCBtZW1vIGhleCBlbmNvZGluZzogJHttZW1vfWApO1xuICAgICAgfVxuICAgICAgdGhpcy5fbWVtbyA9IG1lbW87XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX21lbW8gPSB1dGlscy5lbmNvZGVNZW1vTmV3KG1lbW8pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
+
import { HexTransferBuilder } from './hexTransferBuilder';
|
|
3
|
+
/**
|
|
4
|
+
* Builds a POLYX balances.transferWithMemo transaction using the hex
|
|
5
|
+
* (NEW) memo encoding against Polymesh v8 chain metadata. Identical
|
|
6
|
+
* behaviour to HexTransferBuilder; only the material differs.
|
|
7
|
+
*/
|
|
8
|
+
export declare class V8HexTransferBuilder extends HexTransferBuilder {
|
|
9
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=v8HexTransferBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v8HexTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/v8HexTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,kBAAkB;gBAC9C,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;CAI9C"}
|
|
@@ -0,0 +1,21 @@
|
|
|
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.V8HexTransferBuilder = void 0;
|
|
7
|
+
const hexTransferBuilder_1 = require("./hexTransferBuilder");
|
|
8
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
9
|
+
/**
|
|
10
|
+
* Builds a POLYX balances.transferWithMemo transaction using the hex
|
|
11
|
+
* (NEW) memo encoding against Polymesh v8 chain metadata. Identical
|
|
12
|
+
* behaviour to HexTransferBuilder; only the material differs.
|
|
13
|
+
*/
|
|
14
|
+
class V8HexTransferBuilder extends hexTransferBuilder_1.HexTransferBuilder {
|
|
15
|
+
constructor(_coinConfig) {
|
|
16
|
+
super(_coinConfig);
|
|
17
|
+
this.material(utils_1.default.getV8Material(_coinConfig.network.type));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.V8HexTransferBuilder = V8HexTransferBuilder;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjhIZXhUcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Y4SGV4VHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLDZEQUEwRDtBQUMxRCxvREFBNEI7QUFFNUI7Ozs7R0FJRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsdUNBQWtCO0lBQzFELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBSyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNGO0FBTEQsb0RBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgSGV4VHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi9oZXhUcmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG4vKipcbiAqIEJ1aWxkcyBhIFBPTFlYIGJhbGFuY2VzLnRyYW5zZmVyV2l0aE1lbW8gdHJhbnNhY3Rpb24gdXNpbmcgdGhlIGhleFxuICogKE5FVykgbWVtbyBlbmNvZGluZyBhZ2FpbnN0IFBvbHltZXNoIHY4IGNoYWluIG1ldGFkYXRhLiBJZGVudGljYWxcbiAqIGJlaGF2aW91ciB0byBIZXhUcmFuc2ZlckJ1aWxkZXI7IG9ubHkgdGhlIG1hdGVyaWFsIGRpZmZlcnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBWOEhleFRyYW5zZmVyQnVpbGRlciBleHRlbmRzIEhleFRyYW5zZmVyQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLm1hdGVyaWFsKHV0aWxzLmdldFY4TWF0ZXJpYWwoX2NvaW5Db25maWcubmV0d29yay50eXBlKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
+
import { NominateBuilder } from './nominateBuilder';
|
|
3
|
+
/**
|
|
4
|
+
* Builds a staking.nominate transaction against Polymesh v8 chain metadata. nominate is unchanged
|
|
5
|
+
* between v7 and v8 (`nominate(targets)`); only the material (specVersion / txVersion) differs from
|
|
6
|
+
* {@link NominateBuilder}.
|
|
7
|
+
*/
|
|
8
|
+
export declare class V8NominateBuilder extends NominateBuilder {
|
|
9
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=v8NominateBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v8NominateBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/v8NominateBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;gBACxC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;CAI9C"}
|
|
@@ -0,0 +1,21 @@
|
|
|
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.V8NominateBuilder = void 0;
|
|
7
|
+
const nominateBuilder_1 = require("./nominateBuilder");
|
|
8
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
9
|
+
/**
|
|
10
|
+
* Builds a staking.nominate transaction against Polymesh v8 chain metadata. nominate is unchanged
|
|
11
|
+
* between v7 and v8 (`nominate(targets)`); only the material (specVersion / txVersion) differs from
|
|
12
|
+
* {@link NominateBuilder}.
|
|
13
|
+
*/
|
|
14
|
+
class V8NominateBuilder extends nominateBuilder_1.NominateBuilder {
|
|
15
|
+
constructor(_coinConfig) {
|
|
16
|
+
super(_coinConfig);
|
|
17
|
+
this.material(utils_1.default.getV8Material(_coinConfig.network.type));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.V8NominateBuilder = V8NominateBuilder;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjhOb21pbmF0ZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Y4Tm9taW5hdGVCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLHVEQUFvRDtBQUNwRCxvREFBNEI7QUFFNUI7Ozs7R0FJRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsaUNBQWU7SUFDcEQsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFLLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0Y7QUFMRCw4Q0FLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBOb21pbmF0ZUJ1aWxkZXIgfSBmcm9tICcuL25vbWluYXRlQnVpbGRlcic7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbi8qKlxuICogQnVpbGRzIGEgc3Rha2luZy5ub21pbmF0ZSB0cmFuc2FjdGlvbiBhZ2FpbnN0IFBvbHltZXNoIHY4IGNoYWluIG1ldGFkYXRhLiBub21pbmF0ZSBpcyB1bmNoYW5nZWRcbiAqIGJldHdlZW4gdjcgYW5kIHY4IChgbm9taW5hdGUodGFyZ2V0cylgKTsgb25seSB0aGUgbWF0ZXJpYWwgKHNwZWNWZXJzaW9uIC8gdHhWZXJzaW9uKSBkaWZmZXJzIGZyb21cbiAqIHtAbGluayBOb21pbmF0ZUJ1aWxkZXJ9LlxuICovXG5leHBvcnQgY2xhc3MgVjhOb21pbmF0ZUJ1aWxkZXIgZXh0ZW5kcyBOb21pbmF0ZUJ1aWxkZXIge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5tYXRlcmlhbCh1dGlscy5nZXRWOE1hdGVyaWFsKF9jb2luQ29uZmlnLm5ldHdvcmsudHlwZSkpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
+
import { PreApproveAssetBuilder } from './preApproveAssetBuilder';
|
|
3
|
+
/**
|
|
4
|
+
* Builds a Polymesh asset.preApproveAsset transaction against Polymesh v8
|
|
5
|
+
* chain metadata. Identical behaviour to PreApproveAssetBuilder; only the
|
|
6
|
+
* material differs.
|
|
7
|
+
*/
|
|
8
|
+
export declare class V8PreApproveAssetBuilder extends PreApproveAssetBuilder {
|
|
9
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=v8PreApproveAssetBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v8PreApproveAssetBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/v8PreApproveAssetBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,sBAAsB;gBACtD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;CAI9C"}
|
|
@@ -0,0 +1,21 @@
|
|
|
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.V8PreApproveAssetBuilder = void 0;
|
|
7
|
+
const preApproveAssetBuilder_1 = require("./preApproveAssetBuilder");
|
|
8
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
9
|
+
/**
|
|
10
|
+
* Builds a Polymesh asset.preApproveAsset transaction against Polymesh v8
|
|
11
|
+
* chain metadata. Identical behaviour to PreApproveAssetBuilder; only the
|
|
12
|
+
* material differs.
|
|
13
|
+
*/
|
|
14
|
+
class V8PreApproveAssetBuilder extends preApproveAssetBuilder_1.PreApproveAssetBuilder {
|
|
15
|
+
constructor(_coinConfig) {
|
|
16
|
+
super(_coinConfig);
|
|
17
|
+
this.material(utils_1.default.getV8Material(_coinConfig.network.type));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.V8PreApproveAssetBuilder = V8PreApproveAssetBuilder;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjhQcmVBcHByb3ZlQXNzZXRCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi92OFByZUFwcHJvdmVBc3NldEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EscUVBQWtFO0FBQ2xFLG9EQUE0QjtBQUU1Qjs7OztHQUlHO0FBQ0gsTUFBYSx3QkFBeUIsU0FBUSwrQ0FBc0I7SUFDbEUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFLLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0Y7QUFMRCw0REFLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBQcmVBcHByb3ZlQXNzZXRCdWlsZGVyIH0gZnJvbSAnLi9wcmVBcHByb3ZlQXNzZXRCdWlsZGVyJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuLyoqXG4gKiBCdWlsZHMgYSBQb2x5bWVzaCBhc3NldC5wcmVBcHByb3ZlQXNzZXQgdHJhbnNhY3Rpb24gYWdhaW5zdCBQb2x5bWVzaCB2OFxuICogY2hhaW4gbWV0YWRhdGEuIElkZW50aWNhbCBiZWhhdmlvdXIgdG8gUHJlQXBwcm92ZUFzc2V0QnVpbGRlcjsgb25seSB0aGVcbiAqIG1hdGVyaWFsIGRpZmZlcnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBWOFByZUFwcHJvdmVBc3NldEJ1aWxkZXIgZXh0ZW5kcyBQcmVBcHByb3ZlQXNzZXRCdWlsZGVyIHtcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMubWF0ZXJpYWwodXRpbHMuZ2V0VjhNYXRlcmlhbChfY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUpKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { PolyxBaseBuilder } from './baseBuilder';
|
|
2
|
+
import { DecodedSignedTx, DecodedSigningPayload, UnsignedTransaction } from '@substrate/txwrapper-core';
|
|
3
|
+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
4
|
+
import { TransactionType, BaseAddress } from '@bitgo/sdk-core';
|
|
5
|
+
import { TxMethod } from './iface';
|
|
6
|
+
import { Transaction } from './transaction';
|
|
7
|
+
/**
|
|
8
|
+
* Builds a Polymesh identity.registerDid transaction (0x0718) — the v8 DID Registrar path.
|
|
9
|
+
* BitGo acts as a DID Registrar and signs with the platform key, same operational model as
|
|
10
|
+
* the v7 identity.cddRegisterDidWithCdd path (RegisterDidWithCDDBuilder): same signer, same
|
|
11
|
+
* HSM flow, only the extrinsic name/call index and initialized metadata differ.
|
|
12
|
+
*
|
|
13
|
+
* Unlike the v7 CDD path, registerDid takes only `targetAccount` — verified against the real
|
|
14
|
+
* testnetV8Material metadata (its call fields are `[target_account]` only). The migration plan's
|
|
15
|
+
* dry-run note claiming an identical {targetAccount, secondaryKeys, expiry} shape does not hold.
|
|
16
|
+
*
|
|
17
|
+
* Pre-condition (open question, see migration plan §6.2): BitGo's platform key must be
|
|
18
|
+
* permissioned on-chain as a DID Registrar before identity.registerDid is accepted.
|
|
19
|
+
*/
|
|
20
|
+
export declare class V8RegisterDidBuilder extends PolyxBaseBuilder<TxMethod, Transaction> {
|
|
21
|
+
protected _to: string;
|
|
22
|
+
protected _method: TxMethod;
|
|
23
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
24
|
+
protected get transactionType(): TransactionType;
|
|
25
|
+
protected buildTransaction(): UnsignedTransaction;
|
|
26
|
+
/**
|
|
27
|
+
*
|
|
28
|
+
* The destination address for transfer transaction.
|
|
29
|
+
*
|
|
30
|
+
* @param {string} dest
|
|
31
|
+
* @returns {V8RegisterDidBuilder} This register-did builder.
|
|
32
|
+
*/
|
|
33
|
+
to({ address }: BaseAddress): this;
|
|
34
|
+
/** @inheritdoc */
|
|
35
|
+
protected fromImplementation(rawTransaction: string): Transaction;
|
|
36
|
+
/** @inheritdoc */
|
|
37
|
+
validateDecodedTransaction(decodedTxn: DecodedSigningPayload | DecodedSignedTx, rawTransaction?: string): void;
|
|
38
|
+
/**
|
|
39
|
+
* Construct a transaction to register a DID via the v8 DID Registrar path
|
|
40
|
+
*
|
|
41
|
+
* @param {RegisterDidArgs} args Arguments to be passed to the registerDid method
|
|
42
|
+
* @param {Interface.CreateBaseTxInfo} info Base txn info required to construct the DID registration txn
|
|
43
|
+
* @returns {UnsignedTransaction} an unsigned transaction for DID registration
|
|
44
|
+
*/
|
|
45
|
+
private registerDid;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=v8RegisterDidBuilder.d.ts.map
|