@chainvue/verus-sdk 0.15.0 → 0.17.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/README.md +9 -0
- package/dist/assemble/assembler.d.ts +2 -8
- package/dist/assemble/assembler.d.ts.map +1 -1
- package/dist/assemble/assembler.js +30 -20
- package/dist/assemble/assembler.js.map +1 -1
- package/dist/assemble/fundedIdentityUpdate.d.ts +0 -3
- package/dist/assemble/fundedIdentityUpdate.d.ts.map +1 -1
- package/dist/assemble/fundedIdentityUpdate.js +22 -14
- package/dist/assemble/fundedIdentityUpdate.js.map +1 -1
- package/dist/bundle.js +179 -160
- package/dist/constants/index.d.ts +31 -3
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +32 -4
- package/dist/constants/index.js.map +1 -1
- package/dist/currency/index.d.ts.map +1 -1
- package/dist/currency/index.js +0 -3
- package/dist/currency/index.js.map +1 -1
- package/dist/currency/launch.d.ts.map +1 -1
- package/dist/currency/launch.js +0 -2
- package/dist/currency/launch.js.map +1 -1
- package/dist/fee/index.d.ts +116 -0
- package/dist/fee/index.d.ts.map +1 -0
- package/dist/fee/index.js +228 -0
- package/dist/fee/index.js.map +1 -0
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +2 -16
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/multisig.d.ts.map +1 -1
- package/dist/identity/multisig.js +23 -18
- package/dist/identity/multisig.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +41 -33
- package/dist/index.js.map +1 -1
- package/dist/offers/identity.d.ts.map +1 -1
- package/dist/offers/identity.js +40 -32
- package/dist/offers/identity.js.map +1 -1
- package/dist/offers/reclaim.d.ts.map +1 -1
- package/dist/offers/reclaim.js +29 -21
- package/dist/offers/reclaim.js.map +1 -1
- package/dist/offers/taker.d.ts.map +1 -1
- package/dist/offers/taker.js +22 -17
- package/dist/offers/taker.js.map +1 -1
- package/dist/transfer/index.d.ts.map +1 -1
- package/dist/transfer/index.js +26 -3
- package/dist/transfer/index.js.map +1 -1
- package/dist/types/index.d.ts +12 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utxo/index.d.ts +11 -8
- package/dist/utxo/index.d.ts.map +1 -1
- package/dist/utxo/index.js +20 -37
- package/dist/utxo/index.js.map +1 -1
- package/package.json +1 -1
package/dist/offers/identity.js
CHANGED
|
@@ -36,19 +36,20 @@ exports.completeSwapIdentityOffer = completeSwapIdentityOffer;
|
|
|
36
36
|
*/
|
|
37
37
|
const boundary_js_1 = require("../fork/boundary.js");
|
|
38
38
|
const index_js_1 = require("../utxo/index.js");
|
|
39
|
-
const index_js_2 = require("../
|
|
40
|
-
const index_js_3 = require("../
|
|
39
|
+
const index_js_2 = require("../fee/index.js");
|
|
40
|
+
const index_js_3 = require("../signing/index.js");
|
|
41
|
+
const index_js_4 = require("../identity/index.js");
|
|
41
42
|
const sign_js_1 = require("./sign.js");
|
|
42
43
|
const maker_js_1 = require("./maker.js");
|
|
43
|
-
const
|
|
44
|
+
const index_js_5 = require("../utils/index.js");
|
|
44
45
|
const brands_js_1 = require("../core/brands.js");
|
|
45
|
-
const
|
|
46
|
+
const index_js_6 = require("../constants/index.js");
|
|
46
47
|
const errors_js_1 = require("../errors.js");
|
|
47
48
|
/** A native payment script to an R-address (P2PKH) or i-address (pay-to-identity). */
|
|
48
49
|
function nativePaymentScript(address) {
|
|
49
50
|
return address.startsWith('i')
|
|
50
|
-
? (0,
|
|
51
|
-
: (0,
|
|
51
|
+
? (0, index_js_4.identityPaymentScript)((0, brands_js_1.parseIAddress)(address, 'address'))
|
|
52
|
+
: (0, index_js_5.addressToScriptPubKey)(address);
|
|
52
53
|
}
|
|
53
54
|
/**
|
|
54
55
|
* Build the TRANSFERRED identity output: the given identity with its primary
|
|
@@ -58,7 +59,7 @@ function nativePaymentScript(address) {
|
|
|
58
59
|
function buildTransferredIdentity(identityJson, newPrimaryAddresses) {
|
|
59
60
|
const identity = boundary_js_1.Identity.fromJson(identityJson);
|
|
60
61
|
identity.setPrimaryAddresses(newPrimaryAddresses);
|
|
61
|
-
return (0,
|
|
62
|
+
return (0, index_js_4.buildIdentityScript)(identity);
|
|
62
63
|
}
|
|
63
64
|
/** An offer MUST expire at a real future height; the daemon rejects 0 as expired. */
|
|
64
65
|
function assertExpiryHeight(expiryHeight) {
|
|
@@ -81,9 +82,13 @@ function assertExpiryHeight(expiryHeight) {
|
|
|
81
82
|
* offered amount for a native buy offer, else 0).
|
|
82
83
|
*/
|
|
83
84
|
function fundFeeAndSignIdentityTaker(args) {
|
|
84
|
-
const systemId =
|
|
85
|
-
const verusNetwork = (0,
|
|
86
|
-
|
|
85
|
+
const systemId = index_js_6.NETWORK_CONFIG[args.network].chainId;
|
|
86
|
+
const verusNetwork = (0, index_js_3.getNetwork)(args.network === 'testnet');
|
|
87
|
+
// Every non-change output of the completed swap is already on `args.tx` (the
|
|
88
|
+
// maker's output 0 plus the one this completion added), so the daemon's
|
|
89
|
+
// per-output fee — identity factors included — is exactly computable here.
|
|
90
|
+
const minerFee = (0, index_js_2.estimateMinerFee)(args.tx.outs.map((o) => o.script));
|
|
91
|
+
const selection = (0, index_js_1.selectUtxos)(args.takerUtxos, 0n, new Map(), minerFee, systemId);
|
|
87
92
|
// Fee UTXOs must carry only the native coin: no reserve change output is built
|
|
88
93
|
// here, so a selected token-bearing UTXO would lose its reserve value.
|
|
89
94
|
if (selection.currencyChanges.size > 0) {
|
|
@@ -94,7 +99,7 @@ function fundFeeAndSignIdentityTaker(args) {
|
|
|
94
99
|
// verified offline — fails closed with a typed error instead of a doomed,
|
|
95
100
|
// daemon-rejected tx. (The identity CC input is a caller-supplied priorInput,
|
|
96
101
|
// not a selected fee UTXO, and is signed by the key that controls it.)
|
|
97
|
-
const expectedScript = (0,
|
|
102
|
+
const expectedScript = (0, index_js_5.addressToScriptPubKey)(boundary_js_1.ECPair.fromWIF(args.wif, verusNetwork).getAddress()).toString('hex');
|
|
98
103
|
const takerInputs = [...args.priorInputs];
|
|
99
104
|
for (const u of selection.selected) {
|
|
100
105
|
if (u.script !== expectedScript) {
|
|
@@ -105,10 +110,11 @@ function fundFeeAndSignIdentityTaker(args) {
|
|
|
105
110
|
}
|
|
106
111
|
// Native change, if any (no currency moves through the fee inputs).
|
|
107
112
|
if (selection.nativeChange > 0n) {
|
|
108
|
-
args.tx.addOutput(nativePaymentScript(args.changeAddress), (0,
|
|
113
|
+
args.tx.addOutput(nativePaymentScript(args.changeAddress), (0, index_js_5.toSafeNumber)(selection.nativeChange));
|
|
109
114
|
}
|
|
110
115
|
const feeNativeIn = selection.selected.reduce((s, u) => s + u.satoshis, 0n);
|
|
111
|
-
(0,
|
|
116
|
+
(0, index_js_3.assertNativeConservation)([{ satoshis: args.extraInputNative + feeNativeIn }], args.tx.outs, selection.fee, args.label);
|
|
117
|
+
(0, index_js_2.assertFeeMeetsRelayMinimum)(selection.fee, args.tx.outs.map((o) => o.script), args.label);
|
|
112
118
|
const { signedTx, txid } = (0, sign_js_1.signTakerInputs)(args.tx.toHex(), takerInputs, args.wif, args.network);
|
|
113
119
|
return { swapTx: signedTx, txid };
|
|
114
120
|
}
|
|
@@ -131,8 +137,8 @@ function buildSellIdentityOffer(params, network) {
|
|
|
131
137
|
* (transferred to `newPrimaryAddresses`), and sign the taker's side.
|
|
132
138
|
*/
|
|
133
139
|
function completeSellIdentityOffer(params, network) {
|
|
134
|
-
const verusNetwork = (0,
|
|
135
|
-
const systemId =
|
|
140
|
+
const verusNetwork = (0, index_js_3.getNetwork)(network === 'testnet');
|
|
141
|
+
const systemId = index_js_6.NETWORK_CONFIG[network].chainId;
|
|
136
142
|
const wantingNative = params.want.currency === systemId;
|
|
137
143
|
if (params.want.amount <= 0n) {
|
|
138
144
|
throw new errors_js_1.TransactionBuildError('completeSellIdentityOffer: want.amount must be positive');
|
|
@@ -153,7 +159,10 @@ function completeSellIdentityOffer(params, network) {
|
|
|
153
159
|
? new Map()
|
|
154
160
|
: new Map([[params.want.currency, params.want.amount]]);
|
|
155
161
|
const requiredNative = wantingNative ? params.want.amount : 0n;
|
|
156
|
-
|
|
162
|
+
// Both non-change outputs (the maker's wanted output 0 and the transferred
|
|
163
|
+
// identity added above) are on `tx` already, so the fee is exact.
|
|
164
|
+
const minerFee = (0, index_js_2.estimateMinerFee)(tx.outs.map((o) => o.script));
|
|
165
|
+
const selection = (0, index_js_1.selectUtxos)(params.takerUtxos, requiredNative, wantedTokenReq, minerFee, systemId);
|
|
157
166
|
const takerInputs = [];
|
|
158
167
|
for (const u of selection.selected) {
|
|
159
168
|
const idx = tx.addInput(Buffer.from(u.txid, 'hex').reverse(), u.outputIndex, 0xffffffff);
|
|
@@ -163,11 +172,11 @@ function completeSellIdentityOffer(params, network) {
|
|
|
163
172
|
const hasTokenChange = selection.currencyChanges.size > 0;
|
|
164
173
|
if (hasTokenChange || selection.nativeChange > 0n) {
|
|
165
174
|
if (hasTokenChange) {
|
|
166
|
-
const change = (0,
|
|
167
|
-
tx.addOutput(change.script, (0,
|
|
175
|
+
const change = (0, index_js_4.buildTokenChangeOutput)((0, brands_js_1.parseAddress)(params.changeAddress, 'changeAddress'), selection.currencyChanges);
|
|
176
|
+
tx.addOutput(change.script, (0, index_js_5.toSafeNumber)(selection.nativeChange));
|
|
168
177
|
}
|
|
169
178
|
else {
|
|
170
|
-
tx.addOutput(nativePaymentScript(params.changeAddress), (0,
|
|
179
|
+
tx.addOutput(nativePaymentScript(params.changeAddress), (0, index_js_5.toSafeNumber)(selection.nativeChange));
|
|
171
180
|
}
|
|
172
181
|
}
|
|
173
182
|
// Token conservation over the taker's own inputs (wanted token → output 0 + change).
|
|
@@ -175,7 +184,8 @@ function completeSellIdentityOffer(params, network) {
|
|
|
175
184
|
// Native conservation: the identity input carries 0 native, so the taker's
|
|
176
185
|
// native inputs must equal the wanted-native output (if any) + change + fee.
|
|
177
186
|
const takerNativeIn = selection.selected.reduce((s, u) => s + u.satoshis, 0n);
|
|
178
|
-
(0,
|
|
187
|
+
(0, index_js_3.assertNativeConservation)([{ satoshis: takerNativeIn }], tx.outs, selection.fee, 'takeSellIdentityOffer');
|
|
188
|
+
(0, index_js_2.assertFeeMeetsRelayMinimum)(selection.fee, tx.outs.map((o) => o.script), 'takeSellIdentityOffer');
|
|
179
189
|
const { signedTx, txid } = (0, sign_js_1.signTakerInputs)(tx.toHex(), takerInputs, params.wif, network);
|
|
180
190
|
return { swapTx: signedTx, txid };
|
|
181
191
|
}
|
|
@@ -190,13 +200,13 @@ function buildBuyIdentityOffer(params, network) {
|
|
|
190
200
|
if (params.buyerPrimaryAddresses.length === 0) {
|
|
191
201
|
throw new errors_js_1.TransactionBuildError('buildBuyIdentityOffer: buyerPrimaryAddresses must not be empty');
|
|
192
202
|
}
|
|
193
|
-
const verusNetwork = (0,
|
|
203
|
+
const verusNetwork = (0, index_js_3.getNetwork)(network === 'testnet');
|
|
194
204
|
// The single wanted output: the identity transferred to the buyer.
|
|
195
205
|
const wantedScript = buildTransferredIdentity(params.identityJson, params.buyerPrimaryAddresses);
|
|
196
206
|
const txb = new boundary_js_1.TransactionBuilder(verusNetwork);
|
|
197
207
|
txb.setVersion(4);
|
|
198
|
-
txb.setExpiryHeight((0,
|
|
199
|
-
txb.setVersionGroupId(
|
|
208
|
+
txb.setExpiryHeight((0, index_js_3.resolveExpiryHeight)(params.expiryHeight));
|
|
209
|
+
txb.setVersionGroupId(index_js_6.VERSION_GROUP_ID);
|
|
200
210
|
txb.addInput(Buffer.from(params.commitment.txid, 'hex').reverse(), params.commitment.vout, 0xffffffff, Buffer.from(params.commitment.script, 'hex'));
|
|
201
211
|
txb.addOutput(wantedScript, 0);
|
|
202
212
|
const { signedTx, txid } = (0, sign_js_1.signOfferInput)(txb.buildIncomplete().toHex(), 0, Buffer.from(params.commitment.script, 'hex'), params.commitment.value, params.wif, network);
|
|
@@ -209,8 +219,8 @@ function buildBuyIdentityOffer(params, network) {
|
|
|
209
219
|
* identity input, the currency-to-seller output, native for the fee, and change.
|
|
210
220
|
*/
|
|
211
221
|
function completeBuyIdentityOffer(params, network) {
|
|
212
|
-
const verusNetwork = (0,
|
|
213
|
-
const systemId =
|
|
222
|
+
const verusNetwork = (0, index_js_3.getNetwork)(network === 'testnet');
|
|
223
|
+
const systemId = index_js_6.NETWORK_CONFIG[network].chainId;
|
|
214
224
|
const offeringNative = params.offered.currency === systemId;
|
|
215
225
|
if (params.offered.amount <= 0n) {
|
|
216
226
|
throw new errors_js_1.TransactionBuildError('completeBuyIdentityOffer: offered.amount must be positive');
|
|
@@ -230,10 +240,10 @@ function completeBuyIdentityOffer(params, network) {
|
|
|
230
240
|
// Output 1: the offered currency paid to the seller — plain payment for the
|
|
231
241
|
// native coin, a reserve output for a token.
|
|
232
242
|
if (offeringNative) {
|
|
233
|
-
tx.addOutput(nativePaymentScript(params.sellerReceiveAddress), (0,
|
|
243
|
+
tx.addOutput(nativePaymentScript(params.sellerReceiveAddress), (0, index_js_5.toSafeNumber)(params.offered.amount));
|
|
234
244
|
}
|
|
235
245
|
else {
|
|
236
|
-
const out = (0,
|
|
246
|
+
const out = (0, index_js_4.buildTokenChangeOutput)((0, brands_js_1.parseAddress)(params.sellerReceiveAddress, 'sellerReceiveAddress'), new Map([[params.offered.currency, params.offered.amount]]));
|
|
237
247
|
tx.addOutput(out.script, 0);
|
|
238
248
|
}
|
|
239
249
|
// The seller funds only the miner fee (native): select native-only UTXOs owned
|
|
@@ -247,7 +257,6 @@ function completeBuyIdentityOffer(params, network) {
|
|
|
247
257
|
wif: params.wif,
|
|
248
258
|
network,
|
|
249
259
|
label: 'takeBuyIdentityOffer',
|
|
250
|
-
extraOutputBytes: 300,
|
|
251
260
|
});
|
|
252
261
|
}
|
|
253
262
|
/**
|
|
@@ -284,7 +293,7 @@ function buildSwapIdentityOffer(params, network) {
|
|
|
284
293
|
* No currency moves — the taker funds only the miner fee.
|
|
285
294
|
*/
|
|
286
295
|
function completeSwapIdentityOffer(params, network) {
|
|
287
|
-
const verusNetwork = (0,
|
|
296
|
+
const verusNetwork = (0, index_js_3.getNetwork)(network === 'testnet');
|
|
288
297
|
if (params.takerPrimaryAddresses.length === 0) {
|
|
289
298
|
throw new errors_js_1.TransactionBuildError('completeSwapIdentityOffer: takerPrimaryAddresses must not be empty');
|
|
290
299
|
}
|
|
@@ -300,8 +309,8 @@ function completeSwapIdentityOffer(params, network) {
|
|
|
300
309
|
{ index: idIdx, prevOutScript: Buffer.from(params.wantedIdentityOutput.script, 'hex'), value: 0n },
|
|
301
310
|
];
|
|
302
311
|
// The taker funds only the miner fee (native): both identity inputs carry 0
|
|
303
|
-
// native.
|
|
304
|
-
//
|
|
312
|
+
// native. Both identity outputs are already on `tx`, so the fee helper prices
|
|
313
|
+
// them (and their identityFeeFactors) directly.
|
|
305
314
|
return fundFeeAndSignIdentityTaker({
|
|
306
315
|
tx,
|
|
307
316
|
priorInputs: takerInputs,
|
|
@@ -311,7 +320,6 @@ function completeSwapIdentityOffer(params, network) {
|
|
|
311
320
|
wif: params.wif,
|
|
312
321
|
network,
|
|
313
322
|
label: 'takeSwapIdentityOffer',
|
|
314
|
-
extraOutputBytes: 500,
|
|
315
323
|
});
|
|
316
324
|
}
|
|
317
325
|
//# sourceMappingURL=identity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/offers/identity.ts"],"names":[],"mappings":";;AAiKA,wDAWC;AA0BD,8DAoEC;AAsBD,sDAkCC;AA4BD,4DAwDC;AA4BD,wDAwBC;AA4BD,8DA0CC;AAhhBD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qDAAkH;AAClH,+CAAwE;AACxE,kDAAgG;AAChG,mDAA0G;AAC1G,uCAA6E;AAC7E,yCAAoF;AACpF,gDAAwE;AACxE,iDAAgE;AAChE,oDAAyE;AACzE,4CAAqD;AAIrD,sFAAsF;AACtF,SAAS,mBAAmB,CAAC,OAAe;IAC1C,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAC5B,CAAC,CAAC,IAAA,gCAAqB,EAAC,IAAA,yBAAa,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC,CAAC,IAAA,gCAAqB,EAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,SAAS,wBAAwB,CAAC,YAAiC,EAAE,mBAA6B;IAChG,MAAM,QAAQ,GAAG,sBAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACjD,QAAQ,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IAClD,OAAO,IAAA,8BAAmB,EAAC,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,qFAAqF;AACrF,SAAS,kBAAkB,CAAC,YAAoB;IAC9C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,iCAAqB,CAC7B,iIAAiI,CAClI,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,2BAA2B,CAAC,IAUpC;IACC,MAAM,QAAQ,GAAG,yBAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;IACtD,MAAM,YAAY,GAAG,IAAA,qBAAU,EAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,IAAA,sBAAW,EAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAEnH,+EAA+E;IAC/E,uEAAuE;IACvE,IAAI,SAAS,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,iCAAqB,CAC7B,GAAG,IAAI,CAAC,KAAK,yHAAyH,CACvI,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,4EAA4E;IAC5E,0EAA0E;IAC1E,8EAA8E;IAC9E,uEAAuE;IACvE,MAAM,cAAc,GAAG,IAAA,gCAAqB,EACzC,oBAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAA8B,CAAC,UAAU,EAAE,CAClF,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElB,MAAM,WAAW,GAAiB,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACxD,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YAChC,MAAM,IAAI,iCAAqB,CAC7B,GAAG,IAAI,CAAC,KAAK,cAAc,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,gEAAgE,CACnH,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC9F,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,oEAAoE;IACpE,IAAI,SAAS,CAAC,YAAY,GAAG,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,IAAA,uBAAY,EAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IACnG,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC5E,IAAA,mCAAwB,EACtB,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,gBAAgB,GAAG,WAAW,EAAE,CAAC,EACnD,IAAI,CAAC,EAAE,CAAC,IAAI,EACZ,SAAS,CAAC,GAAG,EACb,IAAI,CAAC,KAAK,CACX,CAAC;IAEF,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAA,yBAAe,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACpC,CAAC;AAgBD;;;;GAIG;AACH,SAAgB,sBAAsB,CACpC,MAAoC,EACpC,OAAgB;IAEhB,MAAM,UAAU,GAAmB;QACjC,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI;QAChC,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI;QAChC,KAAK,EAAE,EAAE,EAAE,8CAA8C;QACzD,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM;KACrC,CAAC;IACF,OAAO,IAAA,qBAAU,EAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;AACpH,CAAC;AAsBD;;;GAGG;AACH,SAAgB,yBAAyB,CACvC,MAAuC,EACvC,OAAgB;IAEhB,MAAM,YAAY,GAAG,IAAA,qBAAU,EAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,yBAAc,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;IACjD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;IAExD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,iCAAqB,CAAC,yDAAyD,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,MAAM,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,iCAAqB,CAAC,kEAAkE,CAAC,CAAC;IACtG,CAAC;IAED,MAAM,EAAE,GAAG,yBAAW,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC7D,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,iCAAqB,CAAC,+EAA+E,CAAC,CAAC;IACnH,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,+EAA+E;IAC/E,EAAE,CAAC,SAAS,CAAC,wBAAwB,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3F,+EAA+E;IAC/E,MAAM,cAAc,GAAG,aAAa;QAClC,CAAC,CAAC,IAAI,GAAG,EAAkB;QAC3B,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,SAAS,GAAG,IAAA,sBAAW,EAC3B,MAAM,CAAC,UAAU,EACjB,cAAc,EACd,cAAc,EACd,CAAC,EACD,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,GAAG,CACJ,CAAC;IAEF,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACzF,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,iFAAiF;IACjF,MAAM,cAAc,GAAG,SAAS,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC;IAC1D,IAAI,cAAc,IAAI,SAAS,CAAC,YAAY,GAAG,EAAE,EAAE,CAAC;QAClD,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,IAAA,iCAAsB,EAAC,IAAA,wBAAY,EAAC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;YACtH,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAA,uBAAY,EAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,IAAA,uBAAY,EAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IAED,qFAAqF;IACrF,IAAA,kCAAuB,EAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,CAAC,eAAe,EAAE,QAAQ,EAAE,uBAAuB,CAAC,CAAC;IAE1H,2EAA2E;IAC3E,6EAA6E;IAC7E,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC9E,IAAA,mCAAwB,EAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;IAEzG,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAA,yBAAe,EAAC,EAAE,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACzF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACpC,CAAC;AAgBD;;;;;GAKG;AACH,SAAgB,qBAAqB,CACnC,MAAmC,EACnC,OAAgB;IAEhB,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,MAAM,CAAC,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,iCAAqB,CAAC,gEAAgE,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,YAAY,GAAG,IAAA,qBAAU,EAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IAEvD,mEAAmE;IACnE,MAAM,YAAY,GAAG,wBAAwB,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAEjG,MAAM,GAAG,GAAG,IAAI,gCAAkB,CAAC,YAAY,CAAC,CAAC;IACjD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClB,GAAG,CAAC,eAAe,CAAC,IAAA,8BAAmB,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9D,GAAG,CAAC,iBAAiB,CAAC,2BAAgB,CAAC,CAAC;IACxC,GAAG,CAAC,QAAQ,CACV,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EACpD,MAAM,CAAC,UAAU,CAAC,IAAI,EACtB,UAAU,EACV,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAC7C,CAAC;IACF,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IAE/B,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAA,wBAAc,EACvC,GAAG,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAC7B,CAAC,EACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,EAC5C,MAAM,CAAC,UAAU,CAAC,KAAK,EACvB,MAAM,CAAC,GAAG,EACV,OAAO,CACR,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACrC,CAAC;AAsBD;;;;;GAKG;AACH,SAAgB,wBAAwB,CACtC,MAAsC,EACtC,OAAgB;IAEhB,MAAM,YAAY,GAAG,IAAA,qBAAU,EAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,yBAAc,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;IACjD,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;IAE5D,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,iCAAqB,CAAC,2DAA2D,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,EAAE,GAAG,yBAAW,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC7D,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,iCAAqB,CAAC,8EAA8E,CAAC,CAAC;IAClH,CAAC;IAED,6EAA6E;IAC7E,kEAAkE;IAClE,MAAM,gBAAgB,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAErE,iFAAiF;IACjF,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CACvB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EACxD,MAAM,CAAC,cAAc,CAAC,IAAI,EAC1B,UAAU,CACX,CAAC;IACF,MAAM,WAAW,GAAiB;QAChC,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;KAC7F,CAAC;IAEF,4EAA4E;IAC5E,6CAA6C;IAC7C,IAAI,cAAc,EAAE,CAAC;QACnB,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,IAAA,uBAAY,EAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACtG,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,IAAA,iCAAsB,EAChC,IAAA,wBAAY,EAAC,MAAM,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,EACjE,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAC5D,CAAC;QACF,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,+EAA+E;IAC/E,kFAAkF;IAClF,OAAO,2BAA2B,CAAC;QACjC,EAAE;QACF,WAAW,EAAE,WAAW;QACxB,gBAAgB,EAAE,gBAAgB;QAClC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,OAAO;QACP,KAAK,EAAE,sBAAsB;QAC7B,gBAAgB,EAAE,GAAG;KACtB,CAAC,CAAC;AACL,CAAC;AAoBD;;;;;;;GAOG;AACH,SAAgB,sBAAsB,CACpC,MAAoC,EACpC,OAAgB;IAEhB,kFAAkF;IAClF,8EAA8E;IAC9E,IAAI,MAAM,CAAC,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,iCAAqB,CAAC,iEAAiE,CAAC,CAAC;IACrG,CAAC;IACD,OAAO,qBAAqB,CAC1B;QACE,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,UAAU,EAAE;YACV,IAAI,EAAE,MAAM,CAAC,qBAAqB,CAAC,IAAI;YACvC,IAAI,EAAE,MAAM,CAAC,qBAAqB,CAAC,IAAI;YACvC,KAAK,EAAE,EAAE,EAAE,8CAA8C;YACzD,MAAM,EAAE,MAAM,CAAC,qBAAqB,CAAC,MAAM;SAC5C;QACD,YAAY,EAAE,MAAM,CAAC,kBAAkB;QACvC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,EACD,OAAO,CACR,CAAC;AACJ,CAAC;AAsBD;;;;;GAKG;AACH,SAAgB,yBAAyB,CACvC,MAAuC,EACvC,OAAgB;IAEhB,MAAM,YAAY,GAAG,IAAA,qBAAU,EAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IAEvD,IAAI,MAAM,CAAC,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,iCAAqB,CAAC,oEAAoE,CAAC,CAAC;IACxG,CAAC;IAED,MAAM,EAAE,GAAG,yBAAW,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC7D,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,iCAAqB,CAAC,+EAA+E,CAAC,CAAC;IACnH,CAAC;IAED,2DAA2D;IAC3D,EAAE,CAAC,SAAS,CAAC,wBAAwB,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpG,qFAAqF;IACrF,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CACvB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EAC9D,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAChC,UAAU,CACX,CAAC;IACF,MAAM,WAAW,GAAiB;QAChC,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;KACnG,CAAC;IAEF,4EAA4E;IAC5E,yEAAyE;IACzE,2EAA2E;IAC3E,OAAO,2BAA2B,CAAC;QACjC,EAAE;QACF,WAAW,EAAE,WAAW;QACxB,gBAAgB,EAAE,EAAE;QACpB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,OAAO;QACP,KAAK,EAAE,uBAAuB;QAC9B,gBAAgB,EAAE,GAAG;KACtB,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/offers/identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reclaim.d.ts","sourceRoot":"","sources":["../../src/offers/reclaim.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reclaim.d.ts","sourceRoot":"","sources":["../../src/offers/reclaim.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAKjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,mFAAmF;IACnF,UAAU,EAAE,cAAc,CAAC;IAC3B;;;;;OAKG;IACH,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,6EAA6E;IAC7E,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IAClB,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AASD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,GAAG,kBAAkB,CAyGlG"}
|
package/dist/offers/reclaim.js
CHANGED
|
@@ -23,26 +23,27 @@ exports.buildReclaimOffer = buildReclaimOffer;
|
|
|
23
23
|
*/
|
|
24
24
|
const boundary_js_1 = require("../fork/boundary.js");
|
|
25
25
|
const index_js_1 = require("../utxo/index.js");
|
|
26
|
-
const index_js_2 = require("../
|
|
27
|
-
const index_js_3 = require("../
|
|
26
|
+
const index_js_2 = require("../fee/index.js");
|
|
27
|
+
const index_js_3 = require("../signing/index.js");
|
|
28
|
+
const index_js_4 = require("../identity/index.js");
|
|
28
29
|
const sign_js_1 = require("./sign.js");
|
|
29
|
-
const
|
|
30
|
+
const index_js_5 = require("../utils/index.js");
|
|
30
31
|
const brands_js_1 = require("../core/brands.js");
|
|
31
|
-
const
|
|
32
|
+
const index_js_6 = require("../constants/index.js");
|
|
32
33
|
const errors_js_1 = require("../errors.js");
|
|
33
34
|
/** A native payment script to an R-address (P2PKH) or i-address (pay-to-identity). */
|
|
34
35
|
function nativePaymentScript(address) {
|
|
35
36
|
return address.startsWith('i')
|
|
36
|
-
? (0,
|
|
37
|
-
: (0,
|
|
37
|
+
? (0, index_js_4.identityPaymentScript)((0, brands_js_1.parseIAddress)(address, 'address'))
|
|
38
|
+
: (0, index_js_5.addressToScriptPubKey)(address);
|
|
38
39
|
}
|
|
39
40
|
/**
|
|
40
41
|
* Reclaim (cancel) an unaccepted offer: spend the funding commitment back to the
|
|
41
42
|
* maker, signed SIGHASH_ALL. Returns the signed transaction to broadcast.
|
|
42
43
|
*/
|
|
43
44
|
function buildReclaimOffer(params, network) {
|
|
44
|
-
const verusNetwork = (0,
|
|
45
|
-
const systemId =
|
|
45
|
+
const verusNetwork = (0, index_js_3.getNetwork)(network === 'testnet');
|
|
46
|
+
const systemId = index_js_6.NETWORK_CONFIG[network].chainId;
|
|
46
47
|
const offeringNative = params.offered.currency === systemId;
|
|
47
48
|
if (params.offered.amount <= 0n) {
|
|
48
49
|
throw new errors_js_1.TransactionBuildError('buildReclaimOffer: offered.amount must be positive');
|
|
@@ -53,22 +54,26 @@ function buildReclaimOffer(params, network) {
|
|
|
53
54
|
const commitmentScript = Buffer.from(params.commitment.script, 'hex');
|
|
54
55
|
const txb = new boundary_js_1.TransactionBuilder(verusNetwork);
|
|
55
56
|
txb.setVersion(4);
|
|
56
|
-
txb.setExpiryHeight((0,
|
|
57
|
-
txb.setVersionGroupId(
|
|
57
|
+
txb.setExpiryHeight((0, index_js_3.resolveExpiryHeight)(params.expiryHeight));
|
|
58
|
+
txb.setVersionGroupId(index_js_6.VERSION_GROUP_ID);
|
|
58
59
|
txb.addInput(Buffer.from(params.commitment.txid, 'hex').reverse(), params.commitment.vout, 0xffffffff, commitmentScript);
|
|
59
60
|
if (offeringNative) {
|
|
60
|
-
// The fee comes out of the reclaimed native value; one
|
|
61
|
-
|
|
61
|
+
// The fee comes out of the reclaimed native value; one output, so one
|
|
62
|
+
// DEFAULT_TRANSACTION_FEE. (The old estimate passed 100 extra bytes here,
|
|
63
|
+
// which the 10000-sat floor swallowed — it was always exactly 10000 too.)
|
|
64
|
+
const payScript = nativePaymentScript(params.makerAddress);
|
|
65
|
+
const fee = (0, index_js_2.estimateMinerFee)([payScript]);
|
|
62
66
|
const outAmount = params.offered.amount - fee;
|
|
63
|
-
if (outAmount <=
|
|
67
|
+
if (outAmount <= index_js_6.DUST_THRESHOLD) {
|
|
64
68
|
throw new errors_js_1.TransactionBuildError(`buildReclaimOffer: reclaimed native value ${params.offered.amount} is too small to cover the fee ${fee} above dust`);
|
|
65
69
|
}
|
|
66
|
-
txb.addOutput(
|
|
70
|
+
txb.addOutput(payScript, (0, index_js_5.toSafeNumber)(outAmount));
|
|
67
71
|
const tx = boundary_js_1.Transaction.fromHex(txb.buildIncomplete().toHex(), verusNetwork);
|
|
68
72
|
const takerInputs = [
|
|
69
73
|
{ index: 0, prevOutScript: commitmentScript, value: params.commitment.value },
|
|
70
74
|
];
|
|
71
|
-
(0,
|
|
75
|
+
(0, index_js_3.assertNativeConservation)([{ satoshis: params.commitment.value }], tx.outs, fee, 'reclaimOffer');
|
|
76
|
+
(0, index_js_2.assertFeeMeetsRelayMinimum)(fee, tx.outs.map((o) => o.script), 'reclaimOffer');
|
|
72
77
|
const { signedTx, txid } = (0, sign_js_1.signTakerInputs)(tx.toHex(), takerInputs, params.wif, network);
|
|
73
78
|
return { reclaimTx: signedTx, txid };
|
|
74
79
|
}
|
|
@@ -79,21 +84,23 @@ function buildReclaimOffer(params, network) {
|
|
|
79
84
|
throw new errors_js_1.TransactionBuildError('buildReclaimOffer: reclaiming a token requires feeUtxos (native UTXOs) — the token commitment carries no native coin for the fee');
|
|
80
85
|
}
|
|
81
86
|
// Output 0: the offered token returned to the maker (a reserve output, 0 native).
|
|
82
|
-
const tokenOut = (0,
|
|
87
|
+
const tokenOut = (0, index_js_4.buildTokenChangeOutput)((0, brands_js_1.parseAddress)(params.makerAddress, 'makerAddress'), new Map([[params.offered.currency, params.offered.amount]]));
|
|
83
88
|
txb.addOutput(tokenOut.script, 0);
|
|
84
89
|
const tx = boundary_js_1.Transaction.fromHex(txb.buildIncomplete().toHex(), verusNetwork);
|
|
85
90
|
const takerInputs = [
|
|
86
91
|
{ index: 0, prevOutScript: commitmentScript, value: 0n },
|
|
87
92
|
];
|
|
88
|
-
// Select native-only fee UTXOs
|
|
89
|
-
|
|
93
|
+
// Select native-only fee UTXOs. The token output is the only declared output;
|
|
94
|
+
// native change is priced by the daemon as change, i.e. free.
|
|
95
|
+
const minerFee = (0, index_js_2.estimateMinerFee)([tokenOut.script]);
|
|
96
|
+
const selection = (0, index_js_1.selectUtxos)(feeUtxos, 0n, new Map(), minerFee, systemId);
|
|
90
97
|
if (selection.currencyChanges.size > 0) {
|
|
91
98
|
throw new errors_js_1.TransactionBuildError('buildReclaimOffer: feeUtxos must carry only the native coin; a token-bearing UTXO was selected and its reserve value would be lost.');
|
|
92
99
|
}
|
|
93
100
|
// Fee UTXOs must be native P2PKH controlled by `wif`. Rejecting anything else
|
|
94
101
|
// (including CryptoCondition outputs, whose control can't be verified offline)
|
|
95
102
|
// fails closed with a typed error instead of a doomed, daemon-rejected tx.
|
|
96
|
-
const expectedFeeScript = (0,
|
|
103
|
+
const expectedFeeScript = (0, index_js_5.addressToScriptPubKey)(boundary_js_1.ECPair.fromWIF(params.wif, verusNetwork).getAddress()).toString('hex');
|
|
97
104
|
for (const u of selection.selected) {
|
|
98
105
|
if (u.script !== expectedFeeScript) {
|
|
99
106
|
throw new errors_js_1.TransactionBuildError(`buildReclaimOffer: fee UTXO ${u.txid}:${u.outputIndex} must be a native P2PKH output controlled by the provided wif.`);
|
|
@@ -102,10 +109,11 @@ function buildReclaimOffer(params, network) {
|
|
|
102
109
|
takerInputs.push({ index: idx, prevOutScript: Buffer.from(u.script, 'hex'), value: u.satoshis });
|
|
103
110
|
}
|
|
104
111
|
if (selection.nativeChange > 0n) {
|
|
105
|
-
tx.addOutput(nativePaymentScript(params.changeAddress ?? params.makerAddress), (0,
|
|
112
|
+
tx.addOutput(nativePaymentScript(params.changeAddress ?? params.makerAddress), (0, index_js_5.toSafeNumber)(selection.nativeChange));
|
|
106
113
|
}
|
|
107
114
|
const feeNativeIn = selection.selected.reduce((s, u) => s + u.satoshis, 0n);
|
|
108
|
-
(0,
|
|
115
|
+
(0, index_js_3.assertNativeConservation)([{ satoshis: feeNativeIn }], tx.outs, selection.fee, 'reclaimOffer');
|
|
116
|
+
(0, index_js_2.assertFeeMeetsRelayMinimum)(selection.fee, tx.outs.map((o) => o.script), 'reclaimOffer');
|
|
109
117
|
const { signedTx, txid } = (0, sign_js_1.signTakerInputs)(tx.toHex(), takerInputs, params.wif, network);
|
|
110
118
|
return { reclaimTx: signedTx, txid };
|
|
111
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reclaim.js","sourceRoot":"","sources":["../../src/offers/reclaim.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"reclaim.js","sourceRoot":"","sources":["../../src/offers/reclaim.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taker.d.ts","sourceRoot":"","sources":["../../src/offers/taker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"taker.d.ts","sourceRoot":"","sources":["../../src/offers/taker.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,WAAW,mBAAmB;IAClC,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,8EAA8E;IAC9E,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,8EAA8E;IAC9E,UAAU,EAAE,IAAI,EAAE,CAAC;IACnB,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AASD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,GAAG,mBAAmB,CAuFhG"}
|
package/dist/offers/taker.js
CHANGED
|
@@ -25,18 +25,19 @@ exports.completeOffer = completeOffer;
|
|
|
25
25
|
*/
|
|
26
26
|
const boundary_js_1 = require("../fork/boundary.js");
|
|
27
27
|
const index_js_1 = require("../utxo/index.js");
|
|
28
|
-
const index_js_2 = require("../
|
|
29
|
-
const index_js_3 = require("../
|
|
28
|
+
const index_js_2 = require("../fee/index.js");
|
|
29
|
+
const index_js_3 = require("../signing/index.js");
|
|
30
|
+
const index_js_4 = require("../identity/index.js");
|
|
30
31
|
const sign_js_1 = require("./sign.js");
|
|
31
|
-
const
|
|
32
|
+
const index_js_5 = require("../utils/index.js");
|
|
32
33
|
const brands_js_1 = require("../core/brands.js");
|
|
33
|
-
const
|
|
34
|
+
const index_js_6 = require("../constants/index.js");
|
|
34
35
|
const errors_js_1 = require("../errors.js");
|
|
35
36
|
/** A native payment script to an R-address (P2PKH) or i-address (pay-to-identity). */
|
|
36
37
|
function nativePaymentScript(address) {
|
|
37
38
|
return address.startsWith('i')
|
|
38
|
-
? (0,
|
|
39
|
-
: (0,
|
|
39
|
+
? (0, index_js_4.identityPaymentScript)((0, brands_js_1.parseIAddress)(address, 'address'))
|
|
40
|
+
: (0, index_js_5.addressToScriptPubKey)(address);
|
|
40
41
|
}
|
|
41
42
|
/**
|
|
42
43
|
* Complete an offer: take the maker's half-signed offer, pay the wanted asset,
|
|
@@ -44,8 +45,8 @@ function nativePaymentScript(address) {
|
|
|
44
45
|
* assets may each be the native coin or a token (all four combinations).
|
|
45
46
|
*/
|
|
46
47
|
function completeOffer(params, network) {
|
|
47
|
-
const verusNetwork = (0,
|
|
48
|
-
const systemId =
|
|
48
|
+
const verusNetwork = (0, index_js_3.getNetwork)(network === 'testnet');
|
|
49
|
+
const systemId = index_js_6.NETWORK_CONFIG[network].chainId;
|
|
49
50
|
const offeringNative = params.offered.currency === systemId;
|
|
50
51
|
const wantingNative = params.want.currency === systemId;
|
|
51
52
|
if (params.offered.amount <= 0n || params.want.amount <= 0n) {
|
|
@@ -62,21 +63,24 @@ function completeOffer(params, network) {
|
|
|
62
63
|
// native coin, a reserve output (0 native) for a token. The offered asset
|
|
63
64
|
// flows from input 0 to here, self-contained.
|
|
64
65
|
if (offeringNative) {
|
|
65
|
-
tx.addOutput(nativePaymentScript(params.takerAddress), (0,
|
|
66
|
+
tx.addOutput(nativePaymentScript(params.takerAddress), (0, index_js_5.toSafeNumber)(params.offered.amount));
|
|
66
67
|
}
|
|
67
68
|
else {
|
|
68
|
-
const offeredOut = (0,
|
|
69
|
+
const offeredOut = (0, index_js_4.buildTokenChangeOutput)((0, brands_js_1.parseAddress)(params.takerAddress, 'takerAddress'), new Map([[params.offered.currency, params.offered.amount]]));
|
|
69
70
|
tx.addOutput(offeredOut.script, 0);
|
|
70
71
|
}
|
|
71
72
|
// The taker's own UTXOs fund only the WANTED asset (paid to output 0) plus the
|
|
72
73
|
// miner fee. When the wanted asset is a token it is a required currency; when
|
|
73
|
-
// native it is required native on top of the fee.
|
|
74
|
-
//
|
|
74
|
+
// native it is required native on top of the fee. Both non-change outputs (the
|
|
75
|
+
// maker's wanted output 0 and the offered output 1 added above) are on `tx`, so
|
|
76
|
+
// the daemon's per-output fee is exact — no byte allowance for the maker's
|
|
77
|
+
// invisible input, because the daemon charges nothing for inputs.
|
|
75
78
|
const wantedTokenReq = wantingNative
|
|
76
79
|
? new Map()
|
|
77
80
|
: new Map([[params.want.currency, params.want.amount]]);
|
|
78
81
|
const requiredNative = wantingNative ? params.want.amount : 0n;
|
|
79
|
-
const
|
|
82
|
+
const minerFee = (0, index_js_2.estimateMinerFee)(tx.outs.map((o) => o.script));
|
|
83
|
+
const selection = (0, index_js_1.selectUtxos)(params.takerUtxos, requiredNative, wantedTokenReq, minerFee, systemId);
|
|
80
84
|
const takerInputs = [];
|
|
81
85
|
for (const u of selection.selected) {
|
|
82
86
|
const idx = tx.addInput(Buffer.from(u.txid, 'hex').reverse(), u.outputIndex, 0xffffffff);
|
|
@@ -87,11 +91,11 @@ function completeOffer(params, network) {
|
|
|
87
91
|
const hasTokenChange = selection.currencyChanges.size > 0;
|
|
88
92
|
if (hasTokenChange || selection.nativeChange > 0n) {
|
|
89
93
|
if (hasTokenChange) {
|
|
90
|
-
const change = (0,
|
|
91
|
-
tx.addOutput(change.script, (0,
|
|
94
|
+
const change = (0, index_js_4.buildTokenChangeOutput)((0, brands_js_1.parseAddress)(params.changeAddress, 'changeAddress'), selection.currencyChanges);
|
|
95
|
+
tx.addOutput(change.script, (0, index_js_5.toSafeNumber)(selection.nativeChange));
|
|
92
96
|
}
|
|
93
97
|
else {
|
|
94
|
-
tx.addOutput(nativePaymentScript(params.changeAddress), (0,
|
|
98
|
+
tx.addOutput(nativePaymentScript(params.changeAddress), (0, index_js_5.toSafeNumber)(selection.nativeChange));
|
|
95
99
|
}
|
|
96
100
|
}
|
|
97
101
|
// Token conservation over the taker's own inputs: they provide the wanted token
|
|
@@ -106,7 +110,8 @@ function completeOffer(params, network) {
|
|
|
106
110
|
// combination.
|
|
107
111
|
const takerNativeIn = selection.selected.reduce((s, u) => s + u.satoshis, 0n);
|
|
108
112
|
const allInputsNative = commitmentNative + takerNativeIn;
|
|
109
|
-
(0,
|
|
113
|
+
(0, index_js_3.assertNativeConservation)([{ satoshis: allInputsNative }], tx.outs, selection.fee, 'takeOffer');
|
|
114
|
+
(0, index_js_2.assertFeeMeetsRelayMinimum)(selection.fee, tx.outs.map((o) => o.script), 'takeOffer');
|
|
110
115
|
const { signedTx, txid } = (0, sign_js_1.signTakerInputs)(tx.toHex(), takerInputs, params.wif, network);
|
|
111
116
|
return { swapTx: signedTx, txid };
|
|
112
117
|
}
|
package/dist/offers/taker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taker.js","sourceRoot":"","sources":["../../src/offers/taker.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"taker.js","sourceRoot":"","sources":["../../src/offers/taker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAOrD,OAAO,KAAK,EAEV,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAkG3B;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,OAAO,GACf,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAOrD,OAAO,KAAK,EAEV,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAkG3B;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,OAAO,GACf,kBAAkB,CAkKpB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,OAAO,GACf,kBAAkB,CAepB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,OAAO,GACf,kBAAkB,CAcpB;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,OAAO,GACf,kBAAkB,CAgBpB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,OAAO,GACf,cAAc,CAwEhB"}
|
package/dist/transfer/index.js
CHANGED
|
@@ -152,6 +152,16 @@ function sendCurrency(params, network) {
|
|
|
152
152
|
if (out.feeCurrency !== undefined && out.feeCurrency !== systemId && out.feeSatoshis === undefined) {
|
|
153
153
|
throw new errors_js_1.TransactionBuildError('feeSatoshis is required when feeCurrency is a non-native token (the exact fee is conversion-dependent — query the node and pass it explicitly)');
|
|
154
154
|
}
|
|
155
|
+
// A cross-chain export needs an explicit feeSatoshis too. Its fee is not the
|
|
156
|
+
// same-chain CalculateTransferFee: the destination system charges its own
|
|
157
|
+
// import fee (GetTransactionImportFee(), on the order of 1,000,000 sat for
|
|
158
|
+
// the ETH gateway), which is route- and chain-state-dependent and this
|
|
159
|
+
// offline SDK cannot read it. Both defaults available here — the fork's
|
|
160
|
+
// 300000 placeholder and the 20,000 same-chain floor — are *under*payments
|
|
161
|
+
// the daemon rejects, so fail closed instead of guessing.
|
|
162
|
+
if (out.exportTo !== undefined && out.feeSatoshis === undefined) {
|
|
163
|
+
throw new errors_js_1.TransactionBuildError('feeSatoshis is required when exportTo is set (the cross-chain import fee is set by the destination system — query the node and pass it explicitly)');
|
|
164
|
+
}
|
|
155
165
|
}
|
|
156
166
|
const txOutputs = params.outputs.map((out) => {
|
|
157
167
|
// mint/burn must be carried by a reserve transfer, but the fork only builds one
|
|
@@ -160,6 +170,21 @@ function sendCurrency(params, network) {
|
|
|
160
170
|
// native fee currency when the caller didn't set one.
|
|
161
171
|
const forcesReserveTransfer = out.mintnew || out.burn || out.burnweight;
|
|
162
172
|
const feecurrency = out.feeCurrency ?? (forcesReserveTransfer ? systemId : undefined);
|
|
173
|
+
// The fork decides reserve-transfer vs. plain output from the raw fields it
|
|
174
|
+
// is handed — feecurrency, feesatoshis, convertto, exportto, via — so a
|
|
175
|
+
// blanket feesatoshis default would silently promote an ordinary send into a
|
|
176
|
+
// reserve transfer. Only outputs already on that path get a fee.
|
|
177
|
+
const isReserveTransfer = feecurrency !== undefined ||
|
|
178
|
+
out.convertTo !== undefined ||
|
|
179
|
+
out.exportTo !== undefined ||
|
|
180
|
+
out.via !== undefined;
|
|
181
|
+
// Left unset, the fork stamps a 300000 placeholder that matches no daemon
|
|
182
|
+
// constant and is funded from the sender's own native inputs. The daemon's
|
|
183
|
+
// CReserveTransfer::CalculateTransferFee (src/pbaas/reserves.cpp:24-31) is
|
|
184
|
+
// (10000 << 1) + (10000 << 1) * (destSize / 128); every destination this SDK
|
|
185
|
+
// builds is 20 bytes, so the size term is 0 and the fee is RESERVE_TRANSFER_FEE.
|
|
186
|
+
// Cross-chain is excluded — the guard above already forced an explicit value.
|
|
187
|
+
const feesatoshis = out.feeSatoshis ?? (isReserveTransfer ? index_js_1.RESERVE_TRANSFER_FEE : undefined);
|
|
163
188
|
return {
|
|
164
189
|
currency: out.currency,
|
|
165
190
|
satoshis: out.satoshis.toString(10),
|
|
@@ -169,7 +194,7 @@ function sendCurrency(params, network) {
|
|
|
169
194
|
...(out.via !== undefined ? { via: out.via } : {}),
|
|
170
195
|
...(out.bridgeId !== undefined ? { bridgeid: out.bridgeId } : {}),
|
|
171
196
|
...(feecurrency !== undefined ? { feecurrency } : {}),
|
|
172
|
-
...(
|
|
197
|
+
...(feesatoshis !== undefined ? { feesatoshis: feesatoshis.toString(10) } : {}),
|
|
173
198
|
...(out.preconvert !== undefined ? { preconvert: out.preconvert } : {}),
|
|
174
199
|
...(out.mintnew !== undefined ? { mintnew: out.mintnew } : {}),
|
|
175
200
|
...(out.burn !== undefined ? { burn: out.burn } : {}),
|
|
@@ -178,7 +203,6 @@ function sendCurrency(params, network) {
|
|
|
178
203
|
});
|
|
179
204
|
const unfundedTxHex = createUnfundedCurrencyTransfer(systemId, txOutputs, verusNetwork, expiryHeight);
|
|
180
205
|
const unfundedTx = boundary_js_1.Transaction.fromHex(unfundedTxHex, verusNetwork);
|
|
181
|
-
const hasSmartOutputs = params.outputs.some((o) => o.convertTo || o.exportTo || o.via || o.mintnew || o.burn || o.burnweight || o.currency !== systemId);
|
|
182
206
|
const requiredCurrencies = new Map();
|
|
183
207
|
for (const out of params.outputs) {
|
|
184
208
|
// A `mintnew` output CREATES new supply of a centralized currency; it is not
|
|
@@ -208,7 +232,6 @@ function sendCurrency(params, network) {
|
|
|
208
232
|
funding: params.utxos,
|
|
209
233
|
outputs: unfundedTx.outs.map((o) => ({ script: o.script, nativeSat: BigInt(o.value) })),
|
|
210
234
|
changeAddress: params.changeAddress,
|
|
211
|
-
hasSmartOutputs,
|
|
212
235
|
requiredCurrencies,
|
|
213
236
|
changeStrategy: 'separate',
|
|
214
237
|
fee: { policy: 'estimate' },
|