@chainvue/verus-sdk 0.5.1 → 0.6.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
@@ -20,8 +20,9 @@ const { signedTx, txid, fee } = sdk.transfer({
20
20
  amount: 100_000_000n, // satoshis (bigint)
21
21
  utxos: [{ txid, outputIndex, satoshis: 500_000_000n, script }],
22
22
  changeAddress: "R…change",
23
+ expiryHeight: currentBlockHeight + 20, // required; 0 = never expires
23
24
  });
24
- // broadcast signedTx yourself, e.g. verus-rpc `sendrawtransaction`
25
+ // broadcast signedTx yourself, e.g. @chainvue/verus-rpc `sendrawtransaction`
25
26
  ```
26
27
 
27
28
  **Money is `bigint` satoshis end to end — never a float.** Convert at the edges:
@@ -52,8 +53,26 @@ selection or change bug throws; it never hands you a bad transaction.
52
53
  fork packages to install; the type surface for the bundled forks ships with the
53
54
  package.
54
55
  - **Signing only**: broadcasting, UTXO fetching, and confirmation tracking are
55
- yours (see [`verus-rpc`](https://www.npmjs.com/package/verus-rpc)).
56
- - Node ≥ 18. Wire format proven against a live VRSCTEST daemon — see
57
- [RISKS.md](./RISKS.md).
56
+ yours (see [`@chainvue/verus-rpc`](https://www.npmjs.com/package/@chainvue/verus-rpc)).
57
+ - Node ≥ 18. Wire format proven against a live VRSCTEST daemon.
58
+
59
+ ## Docs
60
+
61
+ Per-area guides, plus runnable offline examples in [`examples/`](./examples):
62
+
63
+ | Guide | What's in it |
64
+ |---|---|
65
+ | [amounts](./docs/amounts.md) | the money model — `bigint` satoshis, `parseSats`/`toCoins`, the one float64 boundary |
66
+ | [transfers](./docs/transfers.md) | `transfer` / `transferToken` / `convert` / `sendCurrency`, UTXOs, change, re-validation |
67
+ | [VerusID lifecycle](./docs/identity.md) | commit → register, update, lock/unlock, revoke/recover, sign/verify messages |
68
+ | [signing & wire format](./docs/signing-and-wire.md) | why the bytes are the daemon's, the self-contained bundle, the proof rings |
69
+ | [testing](./docs/testing.md) | the gate, the plain-`node` rule, the live-proof ring model |
70
+
71
+ ## Contributing
72
+
73
+ Issues and PRs welcome — start with [CONTRIBUTING.md](./CONTRIBUTING.md) for the
74
+ setup, the gate, and the two invariants that keep it trustworthy: amounts stay
75
+ `bigint`, and the wire bytes are proven against a real daemon. Security issues
76
+ (wrong bytes, amount precision, key handling): [SECURITY.md](./SECURITY.md).
58
77
 
59
78
  Apache-2.0 · see [NOTICE](./NOTICE) for the bundled forks.
package/dist/VerusSDK.js CHANGED
@@ -91,7 +91,7 @@ class VerusSDK {
91
91
  identityUtxo: params.identityUtxo,
92
92
  utxos: params.utxos,
93
93
  changeAddress: params.changeAddress,
94
- ...(params.expiryHeight !== undefined ? { expiryHeight: params.expiryHeight } : {}),
94
+ expiryHeight: params.expiryHeight,
95
95
  }, this.network, 'lock', { unlockAfter: params.unlockAfter });
96
96
  }
97
97
  /** Initiate identity unlock */
@@ -102,7 +102,7 @@ class VerusSDK {
102
102
  identityUtxo: params.identityUtxo,
103
103
  utxos: params.utxos,
104
104
  changeAddress: params.changeAddress,
105
- ...(params.expiryHeight !== undefined ? { expiryHeight: params.expiryHeight } : {}),
105
+ expiryHeight: params.expiryHeight,
106
106
  }, this.network, 'unlock');
107
107
  }
108
108
  /** Revoke an identity (requires revocation authority key) */
@@ -113,7 +113,7 @@ class VerusSDK {
113
113
  identityUtxo: params.identityUtxo,
114
114
  utxos: params.utxos,
115
115
  changeAddress: params.changeAddress,
116
- ...(params.expiryHeight !== undefined ? { expiryHeight: params.expiryHeight } : {}),
116
+ expiryHeight: params.expiryHeight,
117
117
  }, this.network, 'revoke');
118
118
  }
119
119
  /** Recover an identity (requires recovery authority key) */
@@ -127,7 +127,7 @@ class VerusSDK {
127
127
  ...(params.primaryAddresses !== undefined ? { primaryAddresses: params.primaryAddresses } : {}),
128
128
  ...(params.revocationAuthority !== undefined ? { revocationAuthority: params.revocationAuthority } : {}),
129
129
  ...(params.recoveryAuthority !== undefined ? { recoveryAuthority: params.recoveryAuthority } : {}),
130
- ...(params.expiryHeight !== undefined ? { expiryHeight: params.expiryHeight } : {}),
130
+ expiryHeight: params.expiryHeight,
131
131
  }, this.network, 'recover');
132
132
  }
133
133
  // ─── Currency ──────────────────────────────────────
@@ -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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"}