ecash-lib 4.5.0 → 4.5.1

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
@@ -103,3 +103,4 @@ console.log(toHex(rawTx));
103
103
  - 4.3.3 - Modify payment.GenesisAction to support minting NFTs (SLP_TOKEN_TYPE_NFT1_CHILD genesis txs) [D18557](https://reviews.bitcoinabc.org/D18557)
104
104
  - 4.4.0 - Add `parse` methods to support parsing of OP_RETURN outputScript strings as returned by chronik-client [D18659](https://reviews.bitcoinabc.org/D18659)
105
105
  - 4.5.0 - Add `fromTx` method to support creating a `TxBuilder` from a `Tx`, useful for creating a `TxBuilder` from a serialized partially-signed `Tx` in order to add postage and broadcast [D18838](https://reviews.bitcoinabc.org/D18838)
106
+ - 4.5.1 - Add updated `testRunner` to support CI builds of monorepo apps that rely on this from the published version, e.g. `ecash-agora` [D18844](https://reviews.bitcoinabc.org/D18844)
@@ -14,6 +14,18 @@ export declare class TestRunner {
14
14
  setupCoins(numCoins: number, coinValue: bigint): Promise<void>;
15
15
  getOutpoint(): OutPoint;
16
16
  sendToScript(sats: bigint | bigint[], script: Script): Promise<string>;
17
+ /**
18
+ * Fund two addresses with sats
19
+ * Specifically for assigning sats to the maker and taker
20
+ * of an agora offer, it is not generalized for 'n' scripts
21
+ */
22
+ sendToTwoScripts(maker: {
23
+ script: Script;
24
+ sats: bigint;
25
+ }, taker: {
26
+ script: Script;
27
+ sats: bigint;
28
+ }): Promise<string>;
17
29
  generate(): void;
18
30
  stop(): void;
19
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"testRunner.d.ts","sourceRoot":"","sources":["../../src/test/testRunner.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMvD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAM,MAAM,UAAU,CAAC;AAWxC,qBAAa,UAAU;IACZ,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO;WAOa,KAAK,CACrB,WAAW,GAAE,MAAuC,GACrD,OAAO,CAAC,UAAU,CAAC;IAgFT,UAAU,CACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAgCT,WAAW,IAAI,QAAQ;IAUjB,YAAY,CACrB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EACvB,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;IA4BX,QAAQ;IAIR,IAAI;CAGd"}
1
+ {"version":3,"file":"testRunner.d.ts","sourceRoot":"","sources":["../../src/test/testRunner.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMvD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAM,MAAM,UAAU,CAAC;AAWxC,qBAAa,UAAU;IACZ,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO;WAOa,KAAK,CACrB,WAAW,GAAE,MAAuC,GACrD,OAAO,CAAC,UAAU,CAAC;IAgFT,UAAU,CACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAgCT,WAAW,IAAI,QAAQ;IAUjB,YAAY,CACrB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EACvB,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;IA4BlB;;;;OAIG;IACU,gBAAgB,CACzB,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EACvC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACxC,OAAO,CAAC,MAAM,CAAC;IA4BX,QAAQ;IAIR,IAAI;CAGd"}
@@ -172,6 +172,38 @@ class TestRunner {
172
172
  });
173
173
  return (await this.chronik.broadcastTx(setupTx.ser())).txid;
174
174
  }
175
+ /**
176
+ * Fund two addresses with sats
177
+ * Specifically for assigning sats to the maker and taker
178
+ * of an agora offer, it is not generalized for 'n' scripts
179
+ */
180
+ async sendToTwoScripts(maker, taker) {
181
+ const coinValue = this.coinValue;
182
+ const setupTxBuilder = new txBuilder_js_1.TxBuilder({
183
+ inputs: [
184
+ {
185
+ input: {
186
+ prevOut: this.getOutpoint(),
187
+ script: ANYONE_SCRIPT_SIG,
188
+ sequence: 0xffffffff,
189
+ signData: {
190
+ sats: coinValue,
191
+ },
192
+ },
193
+ },
194
+ ],
195
+ outputs: [
196
+ { sats: maker.sats, script: maker.script },
197
+ { sats: taker.sats, script: taker.script },
198
+ script_js_1.Script.fromOps([opcode_js_1.OP_RETURN]), // burn leftover
199
+ ],
200
+ });
201
+ const setupTx = setupTxBuilder.sign({
202
+ feePerKb: 1000n,
203
+ dustSats: 546n,
204
+ });
205
+ return (await this.chronik.broadcastTx(setupTx.ser())).txid;
206
+ }
175
207
  generate() {
176
208
  this.runner.send('generate');
177
209
  }
@@ -1 +1 @@
1
- {"version":3,"file":"testRunner.js","sourceRoot":"","sources":["../../src/test/testRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testRunner.js","sourceRoot":"","sources":["../../src/test/testRunner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ecash-lib",
3
- "version": "4.5.0",
3
+ "version": "4.5.1",
4
4
  "description": "Library for eCash transaction building",
5
5
  "main": "./dist/indexNodeJs.js",
6
6
  "browser": "./dist/indexBrowser.js",
@@ -193,6 +193,42 @@ export class TestRunner {
193
193
  return (await this.chronik.broadcastTx(setupTx.ser())).txid;
194
194
  }
195
195
 
196
+ /**
197
+ * Fund two addresses with sats
198
+ * Specifically for assigning sats to the maker and taker
199
+ * of an agora offer, it is not generalized for 'n' scripts
200
+ */
201
+ public async sendToTwoScripts(
202
+ maker: { script: Script; sats: bigint },
203
+ taker: { script: Script; sats: bigint },
204
+ ): Promise<string> {
205
+ const coinValue = this.coinValue!;
206
+ const setupTxBuilder = new TxBuilder({
207
+ inputs: [
208
+ {
209
+ input: {
210
+ prevOut: this.getOutpoint(),
211
+ script: ANYONE_SCRIPT_SIG,
212
+ sequence: 0xffffffff,
213
+ signData: {
214
+ sats: coinValue,
215
+ },
216
+ },
217
+ },
218
+ ],
219
+ outputs: [
220
+ { sats: maker.sats, script: maker.script },
221
+ { sats: taker.sats, script: taker.script },
222
+ Script.fromOps([OP_RETURN]), // burn leftover
223
+ ],
224
+ });
225
+ const setupTx = setupTxBuilder.sign({
226
+ feePerKb: 1000n,
227
+ dustSats: 546n,
228
+ });
229
+ return (await this.chronik.broadcastTx(setupTx.ser())).txid;
230
+ }
231
+
196
232
  public generate() {
197
233
  this.runner.send('generate');
198
234
  }