ecash-agora 2.6.16 → 3.0.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 CHANGED
@@ -291,3 +291,14 @@ Running from `bitcoin-abc/modules/ecash-agora` if your build dir is `bitcoin-abc
291
291
  ### 2.6.16
292
292
 
293
293
  - Publish to catch updead `ecash-wallet` breaking change `4.0.0` [D19476](https://reviews.bitcoinabc.org/D19476)
294
+
295
+ ### 2.7.0 [D19491](https://reviews.bitcoinabc.org/D19491)
296
+
297
+ - Add a `list()` method to `AgoraOneShot` for building and broadcasting SLP NFT listings with an `ecash-wallet` `Wallet`
298
+ - Add a `list()` method to `AgoraPartial` for building and broadcasting SLP and ALP listings with an `ecash-wallet` `Wallet`
299
+
300
+ ### 3.0.0 [D19497](https://reviews.bitcoinabc.org/D19497)
301
+
302
+ **BREAKING CHANGE**
303
+
304
+ - Default to 64-bit ints for all created offers
package/dist/agora.js CHANGED
@@ -720,7 +720,7 @@ class Agora {
720
720
  * This looks at the blockchain to avoid creating an identical offer, by
721
721
  * tweaking the enforcedLockTime.
722
722
  */
723
- async selectParams(params, scriptIntegerBits = 32n) {
723
+ async selectParams(params, scriptIntegerBits = 64n) {
724
724
  // Assumes MTP is not more than 14 days in the past
725
725
  const maxLockTime = new Date().getTime() / 1000 - 14 * 24 * 3600;
726
726
  const minLockTime = 500000000;
package/dist/inputs.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { Script, TxBuilderOutput, Signatory } from 'ecash-lib';
1
2
  import { ScriptUtxo } from 'chronik-client';
2
3
  import { AgoraOffer } from './agora';
3
4
  export declare const DUMMY_KEYPAIR: {
@@ -19,4 +20,9 @@ export declare const getAgoraOneshotAcceptFuelInputs: <T extends ScriptUtxo>(ago
19
20
  * Determine input utxos to cancel an Agora offer (Partial or ONESHOT)
20
21
  */
21
22
  export declare const getAgoraCancelFuelInputs: <T extends ScriptUtxo>(agoraOffer: AgoraOffer, utxos: T[], feePerKb?: bigint) => T[];
23
+ /**
24
+ * Calculate the fee required for an offer transaction that spends an ad script output.
25
+ * This is used to determine how much fuel needs to be included in the ad setup transaction.
26
+ */
27
+ export declare const getAgoraAdFuelSats: (redeemScript: Script, signatory: Signatory, offerOutputs: TxBuilderOutput[], satsPerKb: bigint) => bigint;
22
28
  //# sourceMappingURL=inputs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../src/inputs.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAOrC,eAAO,MAAM,aAAa;;;CAKzB,CAAC;AAiBF;;GAEG;AACH,eAAO,MAAM,+BAA+B,GAAI,CAAC,SAAS,UAAU,EAChE,YAAY,UAAU,EACtB,OAAO,CAAC,EAAE,EACV,eAAe,MAAM,EACrB,iBAAkC,KACnC,CAAC,EA6BH,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,GAAI,CAAC,SAAS,UAAU,EAChE,YAAY,UAAU,EACtB,OAAO,CAAC,EAAE,EACV,iBAAkC,KACnC,CAAC,EA4BH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,UAAU,EACzD,YAAY,UAAU,EACtB,OAAO,CAAC,EAAE,EACV,iBAAkC,KACnC,CAAC,EA2BH,CAAC"}
1
+ {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../src/inputs.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,MAAM,EAMN,eAAe,EAEf,SAAS,EACZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAOrC,eAAO,MAAM,aAAa;;;CAKzB,CAAC;AAiBF;;GAEG;AACH,eAAO,MAAM,+BAA+B,GAAI,CAAC,SAAS,UAAU,EAChE,YAAY,UAAU,EACtB,OAAO,CAAC,EAAE,EACV,eAAe,MAAM,EACrB,iBAAkC,KACnC,CAAC,EA6BH,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,GAAI,CAAC,SAAS,UAAU,EAChE,YAAY,UAAU,EACtB,OAAO,CAAC,EAAE,EACV,iBAAkC,KACnC,CAAC,EA4BH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,UAAU,EACzD,YAAY,UAAU,EACtB,OAAO,CAAC,EAAE,EACV,iBAAkC,KACnC,CAAC,EA2BH,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAC3B,cAAc,MAAM,EACpB,WAAW,SAAS,EACpB,cAAc,eAAe,EAAE,EAC/B,WAAW,MAAM,KAClB,MA8BF,CAAC"}
package/dist/inputs.js CHANGED
@@ -3,7 +3,7 @@
3
3
  // Distributed under the MIT software license, see the accompanying
4
4
  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getAgoraCancelFuelInputs = exports.getAgoraOneshotAcceptFuelInputs = exports.getAgoraPartialAcceptFuelInputs = exports.DUMMY_KEYPAIR = void 0;
6
+ exports.getAgoraAdFuelSats = exports.getAgoraCancelFuelInputs = exports.getAgoraOneshotAcceptFuelInputs = exports.getAgoraPartialAcceptFuelInputs = exports.DUMMY_KEYPAIR = void 0;
7
7
  const ecash_lib_1 = require("ecash-lib");
8
8
  const DUMMY_TXID = '1111111111111111111111111111111111111111111111111111111111111111';
9
9
  const DUMMY_WALLET_HASH = (0, ecash_lib_1.fromHex)('12'.repeat(20));
@@ -119,4 +119,36 @@ const getAgoraCancelFuelInputs = (agoraOffer, utxos, feePerKb = ecash_lib_1.DEFA
119
119
  throw new Error('Insufficient utxos to cancel this offer');
120
120
  };
121
121
  exports.getAgoraCancelFuelInputs = getAgoraCancelFuelInputs;
122
+ /**
123
+ * Calculate the fee required for an offer transaction that spends an ad script output.
124
+ * This is used to determine how much fuel needs to be included in the ad setup transaction.
125
+ */
126
+ const getAgoraAdFuelSats = (redeemScript, signatory, offerOutputs, satsPerKb) => {
127
+ // Build a dummy offer tx to measure its size
128
+ const dummyOfferTx = new ecash_lib_1.TxBuilder({
129
+ inputs: [
130
+ {
131
+ input: {
132
+ prevOut: {
133
+ // Use a placeholder 32-byte txid
134
+ txid: DUMMY_TXID,
135
+ // The outIdx will always be 1 in practice
136
+ outIdx: 1,
137
+ },
138
+ signData: {
139
+ // Arbitrary value that we know will cover the fee for this tx
140
+ sats: 100000n,
141
+ redeemScript,
142
+ },
143
+ },
144
+ signatory,
145
+ },
146
+ ],
147
+ outputs: offerOutputs,
148
+ });
149
+ const measureTx = dummyOfferTx.sign({ ecc: new ecash_lib_1.EccDummy() });
150
+ const dummyOfferTxSats = BigInt(Math.ceil((measureTx.serSize() * Number(satsPerKb)) / 1000));
151
+ return dummyOfferTxSats;
152
+ };
153
+ exports.getAgoraAdFuelSats = getAgoraAdFuelSats;
122
154
  //# sourceMappingURL=inputs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inputs.js","sourceRoot":"","sources":["../src/inputs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inputs.js","sourceRoot":"","sources":["../src/inputs.ts"],"names":[],"mappings":"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"}
package/dist/oneshot.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { Ecc, Script, TxOutput, UnsignedTxInput } from 'ecash-lib';
1
+ import { Ecc, Script, SLP_TOKEN_TYPE_NFT1_CHILD, TxOutput, UnsignedTxInput } from 'ecash-lib';
2
+ import { Wallet } from 'ecash-wallet';
2
3
  /**
3
4
  * Agora offer that has to be accepted in "one shot", i.e. all or nothing.
4
5
  * This is useful for offers that offer exactly 1 token, especially NFTs.
@@ -27,6 +28,42 @@ export declare class AgoraOneshot {
27
28
  static fromRedeemScript(redeemScript: Script, opreturnScript: Script): AgoraOneshot;
28
29
  adScript(): Script;
29
30
  askedSats(): bigint;
31
+ /**
32
+ * Build and broadcast a chained transaction to list an SLP NFT token.
33
+ * This creates an "ad prep" transaction followed by the actual offer transaction.
34
+ *
35
+ * @param params - Parameters for listing the NFT
36
+ * @returns Promise resolving to broadcast result
37
+ * @throws Error if token type is not SLP NFT
38
+ */
39
+ list(params: {
40
+ /**
41
+ * An initialized Wallet from ecash-wallet.
42
+ * This wallet must hold the NFT token to be listed.
43
+ */
44
+ wallet: Wallet;
45
+ /**
46
+ * Token ID of the NFT to list (in big-endian hex).
47
+ */
48
+ tokenId: string;
49
+ /**
50
+ * Token type - must be SLP_TOKEN_TYPE_NFT1_CHILD.
51
+ */
52
+ tokenType: typeof SLP_TOKEN_TYPE_NFT1_CHILD;
53
+ /**
54
+ * Dust amount to use for the token output.
55
+ */
56
+ dustSats?: bigint;
57
+ /**
58
+ * Fee per kB to use when building the tx.
59
+ */
60
+ feePerKb?: bigint;
61
+ }): Promise<{
62
+ success: boolean;
63
+ broadcasted: string[];
64
+ unbroadcasted?: string[];
65
+ errors?: string[];
66
+ }>;
30
67
  }
31
68
  export declare const AgoraOneshotSignatory: (covenantSk: Uint8Array, covenantPk: Uint8Array, numEnforcedOutputs: number) => (ecc: Ecc, input: UnsignedTxInput) => Script;
32
69
  export declare const AgoraOneshotCancelSignatory: (cancelSk: Uint8Array) => (ecc: Ecc, input: UnsignedTxInput) => Script;
@@ -1 +1 @@
1
- {"version":3,"file":"oneshot.d.ts","sourceRoot":"","sources":["../src/oneshot.ts"],"names":[],"mappings":"AAIA,OAAO,EAIH,GAAG,EAwBH,MAAM,EACN,QAAQ,EACR,eAAe,EAWlB,MAAM,WAAW,CAAC;AAGnB;;;;;;;;;;;;;;IAcI;AACJ,qBAAa,YAAY;IACrB,OAAc,gBAAgB,SAAa;IAEpC,eAAe,EAAE,QAAQ,EAAE,CAAC;IAC5B,QAAQ,EAAE,UAAU,CAAC;gBAEhB,EACR,eAAe,EACf,QAAQ,GACX,EAAE;QACC,eAAe,EAAE,QAAQ,EAAE,CAAC;QAC5B,QAAQ,EAAE,UAAU,CAAC;KACxB;IAKD,2DAA2D;IACpD,MAAM,IAAI,MAAM;WAkET,gBAAgB,CAC1B,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACvB,YAAY;IA8CR,QAAQ,IAAI,MAAM;IAwBlB,SAAS,IAAI,MAAM;CAM7B;AAED,eAAO,MAAM,qBAAqB,GAC9B,YAAY,UAAU,EACtB,YAAY,UAAU,EACtB,oBAAoB,MAAM,MAElB,KAAK,GAAG,EAAE,OAAO,eAAe,KAAG,MA0B9C,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,UAAU,UAAU,MACpD,KAAK,GAAG,EAAE,OAAO,eAAe,KAAG,MAa9C,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,UAAU,UAAU,MAChD,KAAK,GAAG,EAAE,OAAO,eAAe,KAAG,MAc9C,CAAC"}
1
+ {"version":3,"file":"oneshot.d.ts","sourceRoot":"","sources":["../src/oneshot.ts"],"names":[],"mappings":"AAIA,OAAO,EAMH,GAAG,EAwBH,MAAM,EAIN,yBAAyB,EAIzB,QAAQ,EACR,eAAe,EAYlB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAe,MAAM,EAAE,MAAM,cAAc,CAAC;AAInD;;;;;;;;;;;;;;IAcI;AACJ,qBAAa,YAAY;IACrB,OAAc,gBAAgB,SAAa;IAEpC,eAAe,EAAE,QAAQ,EAAE,CAAC;IAC5B,QAAQ,EAAE,UAAU,CAAC;gBAEhB,EACR,eAAe,EACf,QAAQ,GACX,EAAE;QACC,eAAe,EAAE,QAAQ,EAAE,CAAC;QAC5B,QAAQ,EAAE,UAAU,CAAC;KACxB;IAKD,2DAA2D;IACpD,MAAM,IAAI,MAAM;WAkET,gBAAgB,CAC1B,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACvB,YAAY;IA8CR,QAAQ,IAAI,MAAM;IAwBlB,SAAS,IAAI,MAAM;IAO1B;;;;;;;OAOG;IACU,IAAI,CAAC,MAAM,EAAE;QACtB;;;WAGG;QACH,MAAM,EAAE,MAAM,CAAC;QACf;;WAEG;QACH,OAAO,EAAE,MAAM,CAAC;QAChB;;WAEG;QACH,SAAS,EAAE,OAAO,yBAAyB,CAAC;QAC5C;;WAEG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB;;WAEG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC;QACR,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CAkJL;AAED,eAAO,MAAM,qBAAqB,GAC9B,YAAY,UAAU,EACtB,YAAY,UAAU,EACtB,oBAAoB,MAAM,MAElB,KAAK,GAAG,EAAE,OAAO,eAAe,KAAG,MA0B9C,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,UAAU,UAAU,MACpD,KAAK,GAAG,EAAE,OAAO,eAAe,KAAG,MAa9C,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,UAAU,UAAU,MAChD,KAAK,GAAG,EAAE,OAAO,eAAe,KAAG,MAc9C,CAAC"}
package/dist/oneshot.js CHANGED
@@ -5,7 +5,9 @@
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AgoraOneshotAdSignatory = exports.AgoraOneshotCancelSignatory = exports.AgoraOneshotSignatory = exports.AgoraOneshot = void 0;
7
7
  const ecash_lib_1 = require("ecash-lib");
8
+ const ecash_wallet_1 = require("ecash-wallet");
8
9
  const consts_js_1 = require("./consts.js");
10
+ const inputs_js_1 = require("./inputs.js");
9
11
  /**
10
12
  * Agora offer that has to be accepted in "one shot", i.e. all or nothing.
11
13
  * This is useful for offers that offer exactly 1 token, especially NFTs.
@@ -152,6 +154,139 @@ class AgoraOneshot {
152
154
  askedSats() {
153
155
  return this.enforcedOutputs.reduce((prev, output) => prev + output.sats, 0n);
154
156
  }
157
+ /**
158
+ * Build and broadcast a chained transaction to list an SLP NFT token.
159
+ * This creates an "ad prep" transaction followed by the actual offer transaction.
160
+ *
161
+ * @param params - Parameters for listing the NFT
162
+ * @returns Promise resolving to broadcast result
163
+ * @throws Error if token type is not SLP NFT
164
+ */
165
+ async list(params) {
166
+ // Validate token type - only SLP NFT is supported
167
+ if (params.tokenType.type !== 'SLP_TOKEN_TYPE_NFT1_CHILD') {
168
+ throw new Error('AgoraOneshot.list() only supports SLP NFT tokens (SLP_TOKEN_TYPE_NFT1_CHILD)');
169
+ }
170
+ const dustSats = params.dustSats ?? ecash_lib_1.DEFAULT_DUST_SATS;
171
+ const feePerKb = params.feePerKb ?? ecash_lib_1.DEFAULT_FEE_SATS_PER_KB;
172
+ // Build the ad script and P2SH address
173
+ const agoraAdScript = this.adScript();
174
+ const agoraAdP2sh = ecash_lib_1.Script.p2sh((0, ecash_lib_1.shaRmd160)(agoraAdScript.bytecode));
175
+ // Determine the offer tx parameters before building txs, so we can
176
+ // accurately calculate its fee
177
+ const agoraScript = this.script();
178
+ const agoraP2sh = ecash_lib_1.Script.p2sh((0, ecash_lib_1.shaRmd160)(agoraScript.bytecode));
179
+ const offerTargetOutputs = [
180
+ {
181
+ sats: 0n,
182
+ script: (0, ecash_lib_1.slpSend)(params.tokenId, ecash_lib_1.SLP_NFT1_CHILD, [1n]),
183
+ },
184
+ { sats: dustSats, script: agoraP2sh },
185
+ ];
186
+ const offerTxFuelSats = (0, inputs_js_1.getAgoraAdFuelSats)(agoraAdScript, (0, exports.AgoraOneshotAdSignatory)(params.wallet.sk), offerTargetOutputs, feePerKb);
187
+ // The ad prep tx must include an output with fuel that covers this fee
188
+ // This will be dust + fee
189
+ const adFuelOutputSats = dustSats + offerTxFuelSats;
190
+ // Build the ad setup tx using ecash-wallet (without broadcasting)
191
+ let adSetupTx;
192
+ let adSetupTxid;
193
+ try {
194
+ // Build payment.Action for ad setup transaction
195
+ // This sends the NFT to the P2SH address with fuel for the offer tx
196
+ // Output 0: OP_RETURN (ecash-wallet will build the script from tokenActions)
197
+ // Output 1: P2SH output with NFT (for the offer tx)
198
+ // ecash-wallet will automatically select the NFT UTXO based on the token send action
199
+ const adSetupOutputs = [
200
+ { sats: 0n }, // OP_RETURN - ecash-wallet will build the script
201
+ {
202
+ sats: adFuelOutputSats,
203
+ script: agoraAdP2sh,
204
+ tokenId: params.tokenId,
205
+ atoms: 1n, // NFT quantity is always 1
206
+ },
207
+ ];
208
+ const adSetupAction = {
209
+ outputs: adSetupOutputs,
210
+ tokenActions: [
211
+ {
212
+ type: 'SEND',
213
+ tokenId: params.tokenId,
214
+ tokenType: params.tokenType,
215
+ },
216
+ ],
217
+ feePerKb,
218
+ };
219
+ // Build without broadcasting to get the txid
220
+ const builtAdSetupAction = params.wallet
221
+ .action(adSetupAction)
222
+ .build();
223
+ adSetupTx = builtAdSetupAction.txs[0];
224
+ adSetupTxid = builtAdSetupAction.builtTxs[0].txid;
225
+ }
226
+ catch (err) {
227
+ console.error(`Error building NFT listing ad tx`, err);
228
+ return {
229
+ success: false,
230
+ broadcasted: [],
231
+ unbroadcasted: [],
232
+ errors: [`Error building NFT listing ad tx: ${err}`],
233
+ };
234
+ }
235
+ // Build the offer transaction
236
+ // This uses a P2SH input with custom signatory, so we build it manually with TxBuilder
237
+ let offerTx;
238
+ try {
239
+ const offerInputs = [
240
+ {
241
+ input: {
242
+ prevOut: {
243
+ // Use the txid from the built (but not yet broadcast) ad tx
244
+ txid: adSetupTxid,
245
+ outIdx: 1,
246
+ },
247
+ signData: {
248
+ sats: adFuelOutputSats,
249
+ redeemScript: agoraAdScript,
250
+ },
251
+ },
252
+ signatory: (0, exports.AgoraOneshotAdSignatory)(params.wallet.sk),
253
+ },
254
+ ];
255
+ // Build the offer transaction using TxBuilder
256
+ const offerTxBuilder = new ecash_lib_1.TxBuilder({
257
+ inputs: offerInputs,
258
+ outputs: offerTargetOutputs,
259
+ });
260
+ offerTx = offerTxBuilder.sign({
261
+ feePerKb,
262
+ dustSats,
263
+ });
264
+ }
265
+ catch (err) {
266
+ console.error(`Error building NFT listing offer tx`, err);
267
+ return {
268
+ success: false,
269
+ broadcasted: [],
270
+ unbroadcasted: [],
271
+ errors: [`Error building NFT listing offer tx: ${err}`],
272
+ };
273
+ }
274
+ // Broadcast both transactions together
275
+ try {
276
+ const builtAction = new ecash_wallet_1.BuiltAction(params.wallet, [adSetupTx, offerTx], feePerKb);
277
+ const broadcastResult = await builtAction.broadcast();
278
+ return broadcastResult;
279
+ }
280
+ catch (err) {
281
+ console.error(`Error broadcasting NFT listing txs`, err);
282
+ return {
283
+ success: false,
284
+ broadcasted: [],
285
+ unbroadcasted: [],
286
+ errors: [`Error broadcasting NFT listing txs: ${err}`],
287
+ };
288
+ }
289
+ }
155
290
  }
156
291
  exports.AgoraOneshot = AgoraOneshot;
157
292
  AgoraOneshot.COVENANT_VARIANT = 'ONESHOT';
@@ -1 +1 @@
1
- {"version":3,"file":"oneshot.js","sourceRoot":"","sources":["../src/oneshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oneshot.js","sourceRoot":"","sources":["../src/oneshot.ts"],"names":[],"mappings":"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"}
package/dist/partial.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { Ecc, Script, Signatory, UnsignedTxInput } from 'ecash-lib';
2
+ import { Wallet } from 'ecash-wallet';
2
3
  /**
3
4
  * "Human viable" parameters for partial Agora offers, can serve as a basis to
4
5
  * approximate the actual Script parameters via AgoraPartial.approximateParams.
@@ -214,9 +215,8 @@ export declare class AgoraPartial {
214
215
  * @param params Offer params to approximate, see AgoraPartialParams for
215
216
  * details.
216
217
  * @param scriptIntegerBits How many bits Script integers have on the
217
- * network. On XEC, this must be 32, but if it is raised in the
218
- * future to e.g. 64-bit integers, this can be set to 64 to greatly
219
- * increase accuracy.
218
+ * network. Defaults to 64-bit for better accuracy. Can be set to
219
+ * 32 for compatibility with older networks.
220
220
  **/
221
221
  static approximateParams(params: AgoraPartialParams, scriptIntegerBits?: bigint): AgoraPartial;
222
222
  updateScriptLen(): void;
@@ -278,6 +278,35 @@ export declare class AgoraPartial {
278
278
  * and only the maker can spend it.
279
279
  **/
280
280
  adScript(): Script;
281
+ /**
282
+ * Build and broadcast a transaction to list tokens.
283
+ * For ALP tokens, this creates a single transaction.
284
+ * For SLP tokens (non-NFT), this creates a chained transaction with an "advertising" tx followed by the offer tx.
285
+ *
286
+ * @param params - Parameters for listing the tokens
287
+ * @returns Promise resolving to broadcast result
288
+ * @throws Error if token type is SLP NFT
289
+ */
290
+ list(params: {
291
+ /**
292
+ * An initialized Wallet from ecash-wallet.
293
+ * This wallet must hold the tokens to be listed.
294
+ */
295
+ wallet: Wallet;
296
+ /**
297
+ * Dust amount to use for the token output.
298
+ */
299
+ dustSats?: bigint;
300
+ /**
301
+ * Fee per kB to use when building the tx.
302
+ */
303
+ feePerKb?: bigint;
304
+ }): Promise<{
305
+ success: boolean;
306
+ broadcasted: string[];
307
+ unbroadcasted?: string[];
308
+ errors?: string[];
309
+ }>;
281
310
  }
282
311
  export declare const AgoraPartialSignatory: (params: AgoraPartial, acceptedTruncAtoms: bigint, covenantSk: Uint8Array, covenantPk: Uint8Array) => Signatory;
283
312
  export declare const AgoraPartialCancelSignatory: (makerSk: Uint8Array, tokenProtocol: "SLP" | "ALP") => Signatory;
@@ -1 +1 @@
1
- {"version":3,"file":"partial.d.ts","sourceRoot":"","sources":["../src/partial.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"partial.d.ts","sourceRoot":"","sources":["../src/partial.ts"],"names":[],"mappings":"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"}