ecash-lib 4.5.0 → 4.5.2

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.
@@ -1,5 +1,6 @@
1
1
  import { GenesisInfo, TokenType } from '../token/common.js';
2
2
  import { PaymentOutput } from './output.js';
3
+ import { OutPoint } from '../tx.js';
3
4
  /**
4
5
  * Action
5
6
  *
@@ -29,10 +30,47 @@ export interface Action {
29
30
  * blank output, i.e. {sats: 0n}, at index 0 of Action.outputs[]
30
31
  */
31
32
  tokenActions?: TokenAction[];
33
+ /**
34
+ * A user may optionally specify any utxos that wish to be included in the action by
35
+ * passing their OutPoint(s)
36
+ *
37
+ * Use cases
38
+ * - Apps that support 0-conf and want to make sure a return tx includes the payment utxo,
39
+ * so that if the payment is doublespent, both txs are invalidated
40
+ * - Users looking to build a chained tx, where the change of 1 tx provides the input for
41
+ * the next tx in the chain
42
+ * - Unknown future use cases where some tx or app actions may require specific utxos
43
+ * for a spec not yet supported by ecash-wallet or ecash-lib
44
+ *
45
+ * If requiredUtxos is specified, the Action will include every ScriptUtxo specified in the
46
+ * first tx of the built action. If it is unable to do so due to fee or size constraints,
47
+ * it will throw an error rather than partially exclude specified inputs
48
+ *
49
+ * We specify these utxos by OutPoint which uniquely identifies them. ecash-wallet still must
50
+ * check that these utxos are actually available in the wallet.
51
+ */
52
+ requiredUtxos?: OutPoint[];
53
+ /**
54
+ * If true, the Action will not include any change outputs in the built txs
55
+ * For power users who want to exactly specify the inputs and outputs of a tx,
56
+ * and to support building deterministic chained txs
57
+ *
58
+ * If unspecified, ecash-wallet will always automatically include change
59
+ *
60
+ * Note that if noChange is specified as true, unless the outputs specify reasonable change or
61
+ * just so happen to about correspond with input + fee, we are likely to get an
62
+ * error on build or broadcast from the fee being too crazy
63
+ *
64
+ * TODO extend this to also block token change when we add support for chained
65
+ * token send txs, as we also want these to be deterministic
66
+ */
67
+ noChange?: boolean;
32
68
  /** Dust sats associated with this tx, defaults to DEFAULT_DUST_SATS */
33
69
  dustSats?: bigint;
34
70
  /** Fee per kb to be used for tx(s) of this action, defaults to DEFAULT_FEE_SATS_PER_KB */
35
71
  feePerKb?: bigint;
72
+ /** Maximum tx sersize to be used for tx(s) of this action, defaults to MAX_TX_SERSIZE */
73
+ maxTxSersize?: number;
36
74
  }
37
75
  /**
38
76
  * Instructions for token actions within a given Action
@@ -1 +1 @@
1
- {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/payment/action.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,MAAM;IACnB;;;;OAIG;IACH,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GACjB,aAAa,GACb,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,CAAC;AAEjB;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,iCAAiC,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CACpB"}
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/payment/action.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC;;;;;;;;;;GAUG;AACH,MAAM,WAAW,MAAM;IACnB;;;;OAIG;IACH,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B;;;;;;;;;;;;;;;;;;OAkBG;IACH,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC3B;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GACjB,aAAa,GACb,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,CAAC;AAEjB;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,iCAAiC,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CACpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/payment/action.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;;;AAoDtE;;;;GAIG;AACU,QAAA,4BAA4B,GAAG,8BAA8B,CAAC"}
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/payment/action.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;;;AA0FtE;;;;GAIG;AACU,QAAA,4BAA4B,GAAG,8BAA8B,CAAC"}
@@ -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":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;;;;;;;;;;;;;;;;;;;;;;;;;;AAKtE,wCAAuC;AACvC,yCAA8C;AAC9C,oCAAuC;AACvC,4CAA+C;AAC/C,4CAAsC;AACtC,oCAAwC;AACxC,kDAA4C;AAE5C,MAAM,cAAc,GAAG,kBAAM,CAAC,OAAO,CAAC,CAAC,gBAAI,CAAC,CAAC,CAAC;AAC9C,MAAM,kBAAkB,GAAG,kBAAM,CAAC,OAAO,CAAC;IACtC,IAAA,mBAAW,EAAC,cAAc,CAAC,QAAQ,CAAC;CACvC,CAAC,CAAC;AACH,yDAAyD;AACzD,MAAM,aAAa,GAAG,kBAAM,CAAC,OAAO,CAAC,CAAC,IAAA,mBAAW,EAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,MAAM,iBAAiB,GAAG,kBAAM,CAAC,OAAO,CAAC,CAAC,IAAA,mBAAW,EAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEhF,MAAa,UAAU;IAOnB,YAAoB,MAAoB,EAAE,OAAsB;QAC5D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;IAC5B,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,KAAK,CACrB,cAAsB,8BAA8B;QAEpD,MAAM,EAAE,aAAa,EAAE,GAAG,wDAAa,gBAAgB,GAAC,CAAC;QACzD,MAAM,EAAE,KAAK,EAAE,GAAG,wDAAa,oBAAoB,GAAC,CAAC;QACrD,MAAM,MAAM,GAAG,wDAAa,aAAa,GAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QAE9C,MAAM,MAAM,GAAG,KAAK,CAChB,SAAS,EACT;YACI,gCAAgC;YAChC,qCAAqC;YACrC,WAAW;SACd,EACD;YACI,KAAK,EAAE,CAAC,KAAK,CAAC;YACd,kDAAkD;YAClD,8BAA8B;YAC9B,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG;SACpC,CACJ,CAAC;QAEF,kEAAkE;QAClE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEpC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK;YAC9B,OAAO,CAAC,GAAG,CAAC,+BAA+B,GAAG,KAAK,CAAC,CAAC;YACrD,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,MAAM;YACpC,2DAA2D;YAC3D,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,kCAAkC,GAAG,IAAI,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;YAED,kEAAkE;YAClE,QAAQ;YACR,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;YAED,4DAA4D;YAC5D,WAAW;QACf,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE;YACf,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,GAA8B,SAAS,CAAC;QACnD,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,WAAW,OAAY;YAC7C,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBAC5D,OAAO,CAAC,GAAG,CACP,yBAAyB,EACzB,OAAO,CAAC,SAAS,CAAC,OAAO,CAC5B,CAAC;gBACF,OAAO,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC3D,CAAC;YAED,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC5B,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACvC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,oCAAoC;QACpC,MAAO,MAAc,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEjD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAEM,KAAK,CAAC,UAAU,CACnB,QAAgB,EAChB,SAAiB;QAEjB,MAAM,gBAAgB,GAAG,IAAA,mBAAS,EAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,CACV,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAA,cAAK,EAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,EAAE,CACrE,CAAC,KAAK,CAAC;QACR,MAAM,gBAAgB,GAAG,IAAA,mBAAS,EAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,kBAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACjD,MAAM,EAAE,GAAG,IAAI,UAAE,CAAC;YACd,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,MAAM,EAAE,kBAAkB;gBAC1B,QAAQ,EAAE,UAAU;aACvB,CAAC,CAAC;SACN,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC;YAChC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,UAAU;aACrB,CAAC,CAAC;QACP,CAAC;QACD,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,kBAAM,CAAC,OAAO,CAAC,CAAC,qBAAS,CAAC,CAAC;SACtC,CAAC,CAAC;QACH,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI;YAClC,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAErE,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAEM,WAAW;QACd,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvE,CAAC;QACD,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,4BAA4B;SAC9D,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,YAAY,CACrB,IAAuB,EACvB,MAAc;QAEd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAU,CAAC;QAClC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,IAAI,wBAAS,CAAC;YACjC,MAAM,EAAE;gBACJ;oBACI,KAAK,EAAE;wBACH,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;wBAC3B,MAAM,EAAE,iBAAiB;wBACzB,QAAQ,EAAE,UAAU;wBACpB,QAAQ,EAAE;4BACN,IAAI,EAAE,SAAS;yBAClB;qBACJ;iBACJ;aACJ;YACD,OAAO,EAAE;gBACL,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC1C,kBAAM,CAAC,OAAO,CAAC,CAAC,qBAAS,CAAC,CAAC,EAAE,gBAAgB;aAChD;SACJ,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC;YAChC,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gBAAgB,CACzB,KAAuC,EACvC,KAAuC;QAEvC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAU,CAAC;QAClC,MAAM,cAAc,GAAG,IAAI,wBAAS,CAAC;YACjC,MAAM,EAAE;gBACJ;oBACI,KAAK,EAAE;wBACH,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;wBAC3B,MAAM,EAAE,iBAAiB;wBACzB,QAAQ,EAAE,UAAU;wBACpB,QAAQ,EAAE;4BACN,IAAI,EAAE,SAAS;yBAClB;qBACJ;iBACJ;aACJ;YACD,OAAO,EAAE;gBACL,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;gBAC1C,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;gBAC1C,kBAAM,CAAC,OAAO,CAAC,CAAC,qBAAS,CAAC,CAAC,EAAE,gBAAgB;aAChD;SACJ,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC;YAChC,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC;IAEM,QAAQ;QACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAEM,IAAI;QACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;CACJ;AAvND,gCAuNC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ecash-lib",
3
- "version": "4.5.0",
3
+ "version": "4.5.2",
4
4
  "description": "Library for eCash transaction building",
5
5
  "main": "./dist/indexNodeJs.js",
6
6
  "browser": "./dist/indexBrowser.js",
package/src/consts.ts CHANGED
@@ -30,3 +30,12 @@ export const COINBASE_MATURITY = 100;
30
30
  * for this limit in ALP token action validation.
31
31
  */
32
32
  export const OP_RETURN_MAX_BYTES = 223;
33
+
34
+ /**
35
+ * The node will throw an error on broadcasting a tx
36
+ * with serSize() greater than this value in bytes
37
+ */
38
+ export const MAX_TX_SERSIZE = 100_000;
39
+
40
+ // The size in bytes of a p2pkh output
41
+ export const P2PKH_OUTPUT_SIZE = 34;