@chainvue/verus-sdk 0.14.1 → 0.16.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.
Files changed (64) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +15 -0
  3. package/dist/VerusSDK.d.ts +7 -0
  4. package/dist/VerusSDK.d.ts.map +1 -1
  5. package/dist/VerusSDK.js +11 -0
  6. package/dist/VerusSDK.js.map +1 -1
  7. package/dist/assemble/assembler.d.ts +2 -8
  8. package/dist/assemble/assembler.d.ts.map +1 -1
  9. package/dist/assemble/assembler.js +30 -20
  10. package/dist/assemble/assembler.js.map +1 -1
  11. package/dist/assemble/fundedIdentityUpdate.d.ts +0 -3
  12. package/dist/assemble/fundedIdentityUpdate.d.ts.map +1 -1
  13. package/dist/assemble/fundedIdentityUpdate.js +22 -14
  14. package/dist/assemble/fundedIdentityUpdate.js.map +1 -1
  15. package/dist/bundle.js +232 -159
  16. package/dist/constants/index.d.ts +8 -2
  17. package/dist/constants/index.d.ts.map +1 -1
  18. package/dist/constants/index.js +9 -3
  19. package/dist/constants/index.js.map +1 -1
  20. package/dist/currency/index.d.ts.map +1 -1
  21. package/dist/currency/index.js +0 -3
  22. package/dist/currency/index.js.map +1 -1
  23. package/dist/currency/launch.d.ts.map +1 -1
  24. package/dist/currency/launch.js +0 -2
  25. package/dist/currency/launch.js.map +1 -1
  26. package/dist/errors.d.ts +4 -0
  27. package/dist/errors.d.ts.map +1 -1
  28. package/dist/errors.js +9 -1
  29. package/dist/errors.js.map +1 -1
  30. package/dist/fee/index.d.ts +116 -0
  31. package/dist/fee/index.d.ts.map +1 -0
  32. package/dist/fee/index.js +228 -0
  33. package/dist/fee/index.js.map +1 -0
  34. package/dist/identity/index.d.ts.map +1 -1
  35. package/dist/identity/index.js +2 -16
  36. package/dist/identity/index.js.map +1 -1
  37. package/dist/identity/multisig.d.ts.map +1 -1
  38. package/dist/identity/multisig.js +23 -18
  39. package/dist/identity/multisig.js.map +1 -1
  40. package/dist/index.d.ts +4 -2
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +42 -33
  43. package/dist/index.js.map +1 -1
  44. package/dist/keys/index.d.ts +22 -0
  45. package/dist/keys/index.d.ts.map +1 -1
  46. package/dist/keys/index.js +91 -0
  47. package/dist/keys/index.js.map +1 -1
  48. package/dist/offers/identity.d.ts.map +1 -1
  49. package/dist/offers/identity.js +40 -32
  50. package/dist/offers/identity.js.map +1 -1
  51. package/dist/offers/reclaim.d.ts.map +1 -1
  52. package/dist/offers/reclaim.js +29 -21
  53. package/dist/offers/reclaim.js.map +1 -1
  54. package/dist/offers/taker.d.ts.map +1 -1
  55. package/dist/offers/taker.js +22 -17
  56. package/dist/offers/taker.js.map +1 -1
  57. package/dist/transfer/index.d.ts.map +1 -1
  58. package/dist/transfer/index.js +0 -2
  59. package/dist/transfer/index.js.map +1 -1
  60. package/dist/utxo/index.d.ts +11 -8
  61. package/dist/utxo/index.d.ts.map +1 -1
  62. package/dist/utxo/index.js +20 -37
  63. package/dist/utxo/index.js.map +1 -1
  64. package/package.json +1 -1
package/LICENSE CHANGED
@@ -187,7 +187,7 @@
187
187
  same "printed page" as the copyright notice for easier
188
188
  identification within third-party archives.
189
189
 
190
- Copyright [yyyy] [name of copyright owner]
190
+ Copyright 2026 Robert Lech
191
191
 
192
192
  Licensed under the Apache License, Version 2.0 (the "License");
193
193
  you may not use this file except in compliance with the License.
package/README.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # @chainvue/verus-sdk
2
2
 
3
+ [![npm](https://img.shields.io/npm/v/%40chainvue%2Fverus-sdk)](https://www.npmjs.com/package/@chainvue/verus-sdk)
4
+ [![CI](https://github.com/chainvue/verus-sdk/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/chainvue/verus-sdk/actions/workflows/ci.yml)
5
+ [![license](https://img.shields.io/npm/l/%40chainvue%2Fverus-sdk)](./LICENSE)
6
+ [![node](https://img.shields.io/node/v/%40chainvue%2Fverus-sdk)](https://nodejs.org)
7
+
3
8
  Offline Verus transaction signing. Bring UTXOs and a WIF; get back signed
4
9
  transaction hex — no daemon, no network. Native transfers, token/currency
5
10
  transfers, conversions, currency creation (token / basket / NFT), and the full
@@ -62,6 +67,14 @@ Every built transfer is re-validated against its intent — per-currency value
62
67
  conservation, change to the declared address — before the hex is returned. A
63
68
  selection or change bug throws; it never hands you a bad transaction.
64
69
 
70
+ **Fees follow the daemon's rule, not a byte estimate.** Verus charges **10,000
71
+ satoshis per non-change output** — plus 10,000 for each output script over 2,000
72
+ bytes, and 10,000 per 128 serialized bytes of an identity's `contentMultiMap`.
73
+ Transaction size and input count cost nothing. So a one-recipient send pays
74
+ 10,000 and a three-recipient send pays 30,000, whatever their byte counts.
75
+ `estimateMinerFee(outputScripts)` quotes it before you build, and every builder
76
+ asserts offline that the fee it chose clears the daemon's acceptance floor.
77
+
65
78
  ## Good to know
66
79
 
67
80
  - **Self-contained bundle**: the VerusCoin forks (utxo-lib, primitives,
@@ -80,6 +93,7 @@ Per-area guides, plus runnable offline examples in [`examples/`](./examples):
80
93
 
81
94
  | Guide | What's in it |
82
95
  |---|---|
96
+ | [seed phrases](./docs/seeds.md) | using a Verus Mobile / Verus Desktop seed phrase — the exact derivation, why Verus is not HD, and the security caveat |
83
97
  | [amounts](./docs/amounts.md) | the money model — `bigint` satoshis, `parseSats`/`toCoins`, the one float64 boundary |
84
98
  | [transfers](./docs/transfers.md) | `transfer` / `transferToken` / `convert` / `sendCurrency`, conversions, pre-convert, mint / burn, UTXOs, change, re-validation |
85
99
  | [VerusID lifecycle](./docs/identity.md) | commit → register, update, lock/unlock, revoke/recover, sign/verify messages |
@@ -87,6 +101,7 @@ Per-area guides, plus runnable offline examples in [`examples/`](./examples):
87
101
  | [currencies](./docs/currency.md) | define + launch a currency offline (token / fractional basket / NFT), the full seven-output launch transaction, and pre-converting into a launching currency |
88
102
  | [signing & wire format](./docs/signing-and-wire.md) | why the bytes are the daemon's, the self-contained bundle, the proof rings |
89
103
  | [architecture](./docs/architecture.md) | the fork boundary, the two assemblers, what's unrepresentable vs checked, the differential harness |
104
+ | [fees](./docs/fees.md) | the daemon's output-count fee rule, what it charges for, and what it does not |
90
105
  | [testing](./docs/testing.md) | the gate, the plain-`node` rule, the live-proof ring model |
91
106
 
92
107
  ## Contributing
@@ -124,6 +124,13 @@ export declare class VerusSDK {
124
124
  static deriveIdentityAddress(name: string, parentIAddress?: string): string;
125
125
  /** Generate a new random WIF private key */
126
126
  static generateWif(): string;
127
+ /**
128
+ * Derive the WIF a Verus Mobile / Verus Desktop seed phrase maps to.
129
+ * One seed = one key: Verus wallets are not HD. See docs/seeds.md.
130
+ */
131
+ static seedToWif(seed: string): string;
132
+ /** Derive the R-address a Verus Mobile / Verus Desktop seed phrase maps to */
133
+ static deriveAddressFromSeed(seed: string): Promise<string>;
127
134
  /** Validate a Verus R-address */
128
135
  static validateAddress(address: string): {
129
136
  valid: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"VerusSDK.d.ts","sourceRoot":"","sources":["../src/VerusSDK.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VerusSDK.d.ts","sourceRoot":"","sources":["../src/VerusSDK.ts"],"names":[],"mappings":"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"}
package/dist/VerusSDK.js CHANGED
@@ -266,6 +266,17 @@ class VerusSDK {
266
266
  static generateWif() {
267
267
  return keysModule.generateWif();
268
268
  }
269
+ /**
270
+ * Derive the WIF a Verus Mobile / Verus Desktop seed phrase maps to.
271
+ * One seed = one key: Verus wallets are not HD. See docs/seeds.md.
272
+ */
273
+ static seedToWif(seed) {
274
+ return keysModule.seedToWif(seed);
275
+ }
276
+ /** Derive the R-address a Verus Mobile / Verus Desktop seed phrase maps to */
277
+ static async deriveAddressFromSeed(seed) {
278
+ return keysModule.seedToAddress(seed);
279
+ }
269
280
  /** Validate a Verus R-address */
270
281
  static validateAddress(address) {
271
282
  return keysModule.validateAddress(address);
@@ -1 +1 @@
1
- {"version":3,"file":"VerusSDK.js","sourceRoot":"","sources":["../src/VerusSDK.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VerusSDK.js","sourceRoot":"","sources":["../src/VerusSDK.ts"],"names":[],"mappings":"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"}
@@ -22,13 +22,6 @@ export interface TxIntent {
22
22
  /** Declared outputs, emitted in order before change. */
23
23
  outputs: IntentOutput[];
24
24
  changeAddress: string;
25
- /** Whether the outputs are CryptoCondition (smart) outputs — drives fee sizing. */
26
- hasSmartOutputs?: boolean;
27
- /** Extra bytes for fee sizing when a pre-built output dwarfs the fixed estimate. */
28
- extraOutputBytes?: number;
29
- /** Output count fed to the fee estimator; defaults to the declared outputs.
30
- * Override only to reproduce a legacy per-path estimate byte-for-byte. */
31
- feeOutputCount?: number;
32
25
  /** Token funding requirement, when the outputs are pre-built by the fork
33
26
  * (createUnfundedCurrencyTransfer) and their carried token value can't be read
34
27
  * back off the opaque scripts. When set, it REPLACES the per-output `carries`
@@ -39,7 +32,8 @@ export interface TxIntent {
39
32
  * emits the token change with only its structural native value plus a distinct
40
33
  * native-change output (the fork's currency-transfer convention). */
41
34
  changeStrategy?: 'bundled' | 'separate';
42
- /** `estimate` sizes the fee from the tx. `declared` names an intentional
35
+ /** `estimate` prices the miner fee from the declared outputs by the daemon's
36
+ * own per-output rule (src/fee/index.ts). `declared` names an intentional
43
37
  * implicit burn — native that leaves BEYOND the outputs and the miner fee
44
38
  * (e.g. the registration fee): it is added to the funding requirement and
45
39
  * bounds the signing-time fee-rate cap, so it can never be an accident. */
@@ -1 +1 @@
1
- {"version":3,"file":"assembler.d.ts","sourceRoot":"","sources":["../../src/assemble/assembler.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,sCAAsC;AACtC,MAAM,WAAW,YAAY;IAC3B,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB;oFACgF;IAChF,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,IAAI,EAAE,CAAC;IAChB;sEACkE;IAClE,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IACvB,wDAAwD;IACxD,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;+EAC2E;IAC3E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;8EAG0E;IAC1E,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC;;;0EAGsE;IACtE,cAAc,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACxC;;;gFAG4E;IAC5E,GAAG,EAAE;QAAE,MAAM,EAAE,UAAU,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACtF,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,GAAG,WAAW,CAsJ7D"}
1
+ {"version":3,"file":"assembler.d.ts","sourceRoot":"","sources":["../../src/assemble/assembler.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,sCAAsC;AACtC,MAAM,WAAW,YAAY;IAC3B,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB;oFACgF;IAChF,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,IAAI,EAAE,CAAC;IAChB;sEACkE;IAClE,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IACvB,wDAAwD;IACxD,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB;;;8EAG0E;IAC1E,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC;;;0EAGsE;IACtE,cAAc,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACxC;;;;gFAI4E;IAC5E,GAAG,EAAE;QAAE,MAAM,EAAE,UAAU,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACtF,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,GAAG,WAAW,CA4J7D"}
@@ -11,22 +11,24 @@ exports.assembleAndSign = assembleAndSign;
11
11
  * conservation on the assembled transaction BY CONSTRUCTION. A path can no
12
12
  * longer forget a conservation assert, drop token change, or hand-roll a
13
13
  * change-emission block that drifts from the others — those were whole classes
14
- * of bug. Fees are either estimated (selectUtxos) or DECLARED with an intent
15
- * (registration's implicit burn); an unnamed implicit fee is unrepresentable.
14
+ * of bug. The miner fee is priced from the declared outputs by the daemon's own
15
+ * rule (src/fee/index.ts); a registration's implicit burn must instead be DECLARED
16
+ * on the intent, so an unnamed implicit fee is unrepresentable.
16
17
  *
17
18
  * Ported flows must stay byte-identical to the Phase-0 golden snapshots.
18
19
  */
19
20
  const boundary_js_1 = require("../fork/boundary.js");
20
21
  const index_js_1 = require("../utxo/index.js");
21
- const index_js_2 = require("../signing/index.js");
22
- const index_js_3 = require("../utils/index.js");
23
- const index_js_4 = require("../constants/index.js");
24
- const index_js_5 = require("../identity/index.js");
22
+ const index_js_2 = require("../fee/index.js");
23
+ const index_js_3 = require("../signing/index.js");
24
+ const index_js_4 = require("../utils/index.js");
25
+ const index_js_5 = require("../constants/index.js");
26
+ const index_js_6 = require("../identity/index.js");
25
27
  const brands_js_1 = require("../core/brands.js");
26
28
  const errors_js_1 = require("../errors.js");
27
29
  function assembleAndSign(intent) {
28
- const verusNetwork = (0, index_js_2.getNetwork)(intent.network === 'testnet');
29
- const systemId = index_js_4.NETWORK_CONFIG[intent.network].chainId;
30
+ const verusNetwork = (0, index_js_3.getNetwork)(intent.network === 'testnet');
31
+ const systemId = index_js_5.NETWORK_CONFIG[intent.network].chainId;
30
32
  // Leading inputs sit OUTSIDE the token-conservation check below (which only
31
33
  // sees the funding selection), so a leading input carrying token value would be
32
34
  // silently burned. Fail closed. Today the only leading input is the SDK-built
@@ -74,18 +76,22 @@ function assembleAndSign(intent) {
74
76
  requiredCurrencies.set(c, (requiredCurrencies.get(c) ?? 0n) + v);
75
77
  }
76
78
  }
77
- const selection = (0, index_js_1.selectUtxos)(intent.funding, requiredNative, requiredCurrencies, intent.feeOutputCount ?? intent.outputs.length, systemId, undefined, intent.hasSmartOutputs ?? true, intent.extraOutputBytes ?? 0);
79
+ // The miner fee is priced from the DECLARED outputs alone the daemon charges
80
+ // per output, not per byte or per input (src/fee/index.ts). Change is excluded,
81
+ // exactly as the daemon's own builder excludes it (wallet.cpp:6955-6965).
82
+ const minerFee = (0, index_js_2.estimateMinerFee)(intent.outputs.map((o) => o.script));
83
+ const selection = (0, index_js_1.selectUtxos)(intent.funding, requiredNative, requiredCurrencies, minerFee, systemId);
78
84
  const txb = new boundary_js_1.TransactionBuilder(verusNetwork);
79
85
  txb.setVersion(4);
80
- txb.setExpiryHeight((0, index_js_2.resolveExpiryHeight)(intent.expiryHeight));
81
- txb.setVersionGroupId(index_js_4.VERSION_GROUP_ID);
86
+ txb.setExpiryHeight((0, index_js_3.resolveExpiryHeight)(intent.expiryHeight));
87
+ txb.setVersionGroupId(index_js_5.VERSION_GROUP_ID);
82
88
  const leading = intent.leadingInputs ?? [];
83
89
  const allUtxos = [...leading, ...selection.selected];
84
90
  for (const utxo of allUtxos) {
85
91
  txb.addInput(Buffer.from(utxo.txid, 'hex').reverse(), utxo.outputIndex, 0xffffffff, Buffer.from(utxo.script, 'hex'));
86
92
  }
87
93
  for (const o of intent.outputs) {
88
- txb.addOutput(o.script, (0, index_js_3.toSafeNumber)(o.nativeSat));
94
+ txb.addOutput(o.script, (0, index_js_4.toSafeNumber)(o.nativeSat));
89
95
  }
90
96
  // Change, emitted in one place — bundled onto the reserve output or as a
91
97
  // separate native output (per changeStrategy). utxo-lib's addOutput only
@@ -94,18 +100,18 @@ function assembleAndSign(intent) {
94
100
  const hasTokenChange = selection.currencyChanges.size > 0;
95
101
  const emitNativeChange = (value) => {
96
102
  if (intent.changeAddress.startsWith('i')) {
97
- txb.addOutput((0, index_js_5.identityPaymentScript)((0, brands_js_1.parseIAddress)(intent.changeAddress, 'changeAddress')), (0, index_js_3.toSafeNumber)(value));
103
+ txb.addOutput((0, index_js_6.identityPaymentScript)((0, brands_js_1.parseIAddress)(intent.changeAddress, 'changeAddress')), (0, index_js_4.toSafeNumber)(value));
98
104
  }
99
105
  else {
100
- txb.addOutput(intent.changeAddress, (0, index_js_3.toSafeNumber)(value));
106
+ txb.addOutput(intent.changeAddress, (0, index_js_4.toSafeNumber)(value));
101
107
  }
102
108
  };
103
109
  if ((intent.changeStrategy ?? 'bundled') === 'separate') {
104
110
  // Token change carries only its own structural native value; the native change
105
111
  // is a distinct output (the fork's currency-transfer convention).
106
112
  if (hasTokenChange) {
107
- const tokenChange = (0, index_js_5.buildTokenChangeOutput)((0, brands_js_1.parseAddress)(intent.changeAddress, 'changeAddress'), selection.currencyChanges);
108
- txb.addOutput(tokenChange.script, (0, index_js_3.toSafeNumber)(tokenChange.nativeValue));
113
+ const tokenChange = (0, index_js_6.buildTokenChangeOutput)((0, brands_js_1.parseAddress)(intent.changeAddress, 'changeAddress'), selection.currencyChanges);
114
+ txb.addOutput(tokenChange.script, (0, index_js_4.toSafeNumber)(tokenChange.nativeValue));
109
115
  }
110
116
  if (selection.nativeChange > 0n)
111
117
  emitNativeChange(selection.nativeChange);
@@ -113,8 +119,8 @@ function assembleAndSign(intent) {
113
119
  else if (hasTokenChange || selection.nativeChange > 0n) {
114
120
  // Bundled: the native change rides on the token-change reserve output.
115
121
  if (hasTokenChange) {
116
- const tokenChange = (0, index_js_5.buildTokenChangeOutput)((0, brands_js_1.parseAddress)(intent.changeAddress, 'changeAddress'), selection.currencyChanges);
117
- txb.addOutput(tokenChange.script, (0, index_js_3.toSafeNumber)(selection.nativeChange));
122
+ const tokenChange = (0, index_js_6.buildTokenChangeOutput)((0, brands_js_1.parseAddress)(intent.changeAddress, 'changeAddress'), selection.currencyChanges);
123
+ txb.addOutput(tokenChange.script, (0, index_js_4.toSafeNumber)(selection.nativeChange));
118
124
  }
119
125
  else {
120
126
  emitNativeChange(selection.nativeChange);
@@ -137,11 +143,15 @@ function assembleAndSign(intent) {
137
143
  // native above, so their term is 0; it stays explicit as honest accounting.
138
144
  const leadingNative = leading.reduce((sum, u) => sum + u.satoshis, 0n);
139
145
  const expectedFee = selection.fee + burnSat + leadingNative;
140
- (0, index_js_2.assertNativeConservation)(allUtxos, unsignedTx.outs, expectedFee, intent.label);
146
+ (0, index_js_3.assertNativeConservation)(allUtxos, unsignedTx.outs, expectedFee, intent.label);
147
+ // And the fee we chose must clear the daemon's own acceptance floor for the
148
+ // transaction we actually built — change outputs included, since only now are
149
+ // they known. Asserted on the miner fee alone (a declared burn is on top).
150
+ (0, index_js_2.assertFeeMeetsRelayMinimum)(selection.fee, unsignedTx.outs.map((o) => o.script), intent.label);
141
151
  // A declared burn tells the fork's absurd-fee-rate cap the intended absolute
142
152
  // fee, or build() rejects the (legitimately large) registration burn.
143
153
  const maxFeeSats = intent.fee.policy === 'declared' ? expectedFee : undefined;
144
- const { signedTx, txid } = (0, index_js_2.signTransactionSmart)(unsignedTx.toHex(), intent.wif, allUtxos, verusNetwork, maxFeeSats);
154
+ const { signedTx, txid } = (0, index_js_3.signTransactionSmart)(unsignedTx.toHex(), intent.wif, allUtxos, verusNetwork, maxFeeSats);
145
155
  return {
146
156
  signedTx,
147
157
  txid,
@@ -1 +1 @@
1
- {"version":3,"file":"assembler.js","sourceRoot":"","sources":["../../src/assemble/assembler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assembler.js","sourceRoot":"","sources":["../../src/assemble/assembler.ts"],"names":[],"mappings":"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"}
@@ -17,9 +17,6 @@ export interface FundedIdentityUpdateIntent {
17
17
  * definition), emitted before change. Native funding is derived from them. */
18
18
  outputs: FundedUpdateOutput[];
19
19
  changeAddress: string;
20
- /** Extra output bytes for fee sizing — the identity/definition scripts are
21
- * large, so the caller passes their real byte length. */
22
- extraOutputBytes: number;
23
20
  /** Label used in conservation error messages. */
24
21
  label: string;
25
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fundedIdentityUpdate.d.ts","sourceRoot":"","sources":["../../src/assemble/fundedIdentityUpdate.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAI9C,iDAAiD;AACjD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,IAAI,EAAE,CAAC;IAChB;sFACkF;IAClF,YAAY,EAAE,IAAI,CAAC;IACnB;mFAC+E;IAC/E,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB;8DAC0D;IAC1D,gBAAgB,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,0BAA0B,GACjC,0BAA0B,CAqH5B"}
1
+ {"version":3,"file":"fundedIdentityUpdate.d.ts","sourceRoot":"","sources":["../../src/assemble/fundedIdentityUpdate.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAI9C,iDAAiD;AACjD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,IAAI,EAAE,CAAC;IAChB;sFACkF;IAClF,YAAY,EAAE,IAAI,CAAC;IACnB;mFAC+E;IAC/E,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,0BAA0B,GACjC,0BAA0B,CA+G5B"}
@@ -24,40 +24,45 @@ exports.assembleFundedIdentityUpdate = assembleFundedIdentityUpdate;
24
24
  */
25
25
  const boundary_js_1 = require("../fork/boundary.js");
26
26
  const index_js_1 = require("../utxo/index.js");
27
- const index_js_2 = require("../signing/index.js");
28
- const index_js_3 = require("../utils/index.js");
29
- const index_js_4 = require("../constants/index.js");
30
- const index_js_5 = require("../identity/index.js");
27
+ const index_js_2 = require("../fee/index.js");
28
+ const index_js_3 = require("../signing/index.js");
29
+ const index_js_4 = require("../utils/index.js");
30
+ const index_js_5 = require("../constants/index.js");
31
+ const index_js_6 = require("../identity/index.js");
31
32
  const brands_js_1 = require("../core/brands.js");
32
33
  const errors_js_1 = require("../errors.js");
33
34
  const { completeFundedIdentityUpdate } = boundary_js_1.smarttxs;
34
35
  function assembleFundedIdentityUpdate(intent) {
35
- const verusNetwork = (0, index_js_2.getNetwork)(intent.network === 'testnet');
36
- const systemId = index_js_4.NETWORK_CONFIG[intent.network].chainId;
36
+ const verusNetwork = (0, index_js_3.getNetwork)(intent.network === 'testnet');
37
+ const systemId = index_js_5.NETWORK_CONFIG[intent.network].chainId;
37
38
  const requiredNative = intent.outputs.reduce((sum, o) => sum + o.nativeSat, 0n);
38
- const selection = (0, index_js_1.selectUtxos)(intent.funding, requiredNative, new Map(), intent.outputs.length, systemId, undefined, true, intent.extraOutputBytes);
39
+ // Priced from the declared outputs by the daemon's rule including the
40
+ // identity output's own identityFeeFactor, which is what a large contentMultiMap
41
+ // actually costs (src/fee/index.ts).
42
+ const minerFee = (0, index_js_2.estimateMinerFee)(intent.outputs.map((o) => o.script));
43
+ const selection = (0, index_js_1.selectUtxos)(intent.funding, requiredNative, new Map(), minerFee, systemId);
39
44
  // These paths emit no token-change output, so a token-bearing funding UTXO
40
45
  // would be silently dropped; fail closed if one entered (both maps empty ⇒
41
46
  // assert no token value is present).
42
47
  (0, index_js_1.assertTokenConservation)(selection.selected, new Map(), new Map(), systemId, intent.label);
43
48
  const txb = new boundary_js_1.TransactionBuilder(verusNetwork);
44
49
  txb.setVersion(4);
45
- txb.setExpiryHeight((0, index_js_2.resolveExpiryHeight)(intent.expiryHeight));
46
- txb.setVersionGroupId(index_js_4.VERSION_GROUP_ID);
50
+ txb.setExpiryHeight((0, index_js_3.resolveExpiryHeight)(intent.expiryHeight));
51
+ txb.setVersionGroupId(index_js_5.VERSION_GROUP_ID);
47
52
  for (const utxo of selection.selected) {
48
53
  txb.addInput(Buffer.from(utxo.txid, 'hex').reverse(), utxo.outputIndex, 0xffffffff, Buffer.from(utxo.script, 'hex'));
49
54
  }
50
55
  for (const o of intent.outputs) {
51
- txb.addOutput(o.script, (0, index_js_3.toSafeNumber)(o.nativeSat));
56
+ txb.addOutput(o.script, (0, index_js_4.toSafeNumber)(o.nativeSat));
52
57
  }
53
58
  if (selection.nativeChange > 0n) {
54
59
  // utxo-lib's addOutput only resolves base58 R-addresses; an i-address
55
60
  // changeAddress needs the explicit P2ID script or it throws "no matching Script".
56
61
  if (intent.changeAddress.startsWith('i')) {
57
- txb.addOutput((0, index_js_5.identityPaymentScript)((0, brands_js_1.parseIAddress)(intent.changeAddress, 'changeAddress')), (0, index_js_3.toSafeNumber)(selection.nativeChange));
62
+ txb.addOutput((0, index_js_6.identityPaymentScript)((0, brands_js_1.parseIAddress)(intent.changeAddress, 'changeAddress')), (0, index_js_4.toSafeNumber)(selection.nativeChange));
58
63
  }
59
64
  else {
60
- txb.addOutput(intent.changeAddress, (0, index_js_3.toSafeNumber)(selection.nativeChange));
65
+ txb.addOutput(intent.changeAddress, (0, index_js_4.toSafeNumber)(selection.nativeChange));
61
66
  }
62
67
  }
63
68
  const fundedHex = txb.buildIncomplete().toHex();
@@ -98,10 +103,13 @@ function assembleFundedIdentityUpdate(intent) {
98
103
  script: Buffer.from(idUtxo.script, 'hex'),
99
104
  });
100
105
  const allUtxos = [...selection.selected, idUtxo];
106
+ const completedOuts = boundary_js_1.Transaction.fromHex(completedHex, verusNetwork).outs;
101
107
  // The identity input and its recreated output are both value 0, so the
102
108
  // assembled native fee must equal selection.fee. Fail loudly on any slip.
103
- (0, index_js_2.assertNativeConservation)(allUtxos, boundary_js_1.Transaction.fromHex(completedHex, verusNetwork).outs, selection.fee, intent.label);
104
- const { signedTx, txid } = (0, index_js_2.signTransactionSmart)(completedHex, intent.wif, allUtxos, verusNetwork);
109
+ (0, index_js_3.assertNativeConservation)(allUtxos, completedOuts, selection.fee, intent.label);
110
+ // …and that fee must clear the daemon's acceptance floor for the final vout set.
111
+ (0, index_js_2.assertFeeMeetsRelayMinimum)(selection.fee, completedOuts.map((o) => o.script), intent.label);
112
+ const { signedTx, txid } = (0, index_js_3.signTransactionSmart)(completedHex, intent.wif, allUtxos, verusNetwork);
105
113
  return {
106
114
  signedTx,
107
115
  txid,
@@ -1 +1 @@
1
- {"version":3,"file":"fundedIdentityUpdate.js","sourceRoot":"","sources":["../../src/assemble/fundedIdentityUpdate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundedIdentityUpdate.js","sourceRoot":"","sources":["../../src/assemble/fundedIdentityUpdate.ts"],"names":[],"mappings":"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"}