@chainvue/verus-sdk 0.7.0 → 0.9.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/dist/VerusSDK.d.ts +4 -1
- package/dist/VerusSDK.d.ts.map +1 -1
- package/dist/VerusSDK.js +6 -2
- package/dist/VerusSDK.js.map +1 -1
- package/dist/bundle.js +495 -273
- package/dist/core/brands.d.ts +31 -0
- package/dist/core/brands.d.ts.map +1 -0
- package/dist/core/brands.js +82 -0
- package/dist/core/brands.js.map +1 -0
- package/dist/currency/index.d.ts.map +1 -1
- package/dist/currency/index.js +6 -1
- package/dist/currency/index.js.map +1 -1
- package/dist/identity/index.d.ts +46 -28
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +253 -78
- package/dist/identity/index.js.map +1 -1
- package/dist/keys/index.d.ts.map +1 -1
- package/dist/keys/index.js +9 -0
- package/dist/keys/index.js.map +1 -1
- package/dist/signing/index.d.ts +12 -3
- package/dist/signing/index.d.ts.map +1 -1
- package/dist/signing/index.js +17 -4
- package/dist/signing/index.js.map +1 -1
- package/dist/transfer/index.d.ts.map +1 -1
- package/dist/transfer/index.js +9 -2
- package/dist/transfer/index.js.map +1 -1
- package/dist/types/index.d.ts +26 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utxo/index.d.ts +14 -0
- package/dist/utxo/index.d.ts.map +1 -1
- package/dist/utxo/index.js +49 -0
- package/dist/utxo/index.js.map +1 -1
- package/package.json +1 -1
package/dist/utxo/index.js
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
11
|
exports.decodeUtxo = decodeUtxo;
|
|
12
|
+
exports.assertTokenConservation = assertTokenConservation;
|
|
12
13
|
exports.estimateFee = estimateFee;
|
|
13
14
|
exports.selectUtxos = selectUtxos;
|
|
14
15
|
const utxo_lib_1 = require("@bitgo/utxo-lib");
|
|
@@ -71,6 +72,46 @@ function decodeUtxo(utxo, systemId) {
|
|
|
71
72
|
}
|
|
72
73
|
return { ...utxo, currencyValues };
|
|
73
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Assert per-currency token conservation for a selection: for every non-native
|
|
77
|
+
* currency, the token value carried by the selected inputs must exactly equal
|
|
78
|
+
* what is paid out to non-change outputs (`spentToOutputs`) plus what is
|
|
79
|
+
* returned as change (`currencyChanges`).
|
|
80
|
+
*
|
|
81
|
+
* This is the token-side companion to `assertNativeConservation`. The
|
|
82
|
+
* identity/currency/sub-ID paths otherwise rely on `selectUtxos` computing
|
|
83
|
+
* `currencyChanges` correctly by construction; this guard fails closed if that
|
|
84
|
+
* accounting ever drifts, so parent-currency value can't be silently dropped
|
|
85
|
+
* or conjured. Inputs are re-decoded here (they decoded cleanly during
|
|
86
|
+
* selection, so this never throws on a structural output).
|
|
87
|
+
*/
|
|
88
|
+
function assertTokenConservation(selected, spentToOutputs, currencyChanges, systemId, label) {
|
|
89
|
+
const inSums = new Map();
|
|
90
|
+
for (const u of selected) {
|
|
91
|
+
const decoded = decodeUtxo(u, systemId);
|
|
92
|
+
for (const [currency, amount] of decoded.currencyValues) {
|
|
93
|
+
if (currency === systemId)
|
|
94
|
+
continue;
|
|
95
|
+
inSums.set(currency, (inSums.get(currency) || 0n) + amount);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
const currencies = new Set();
|
|
99
|
+
for (const c of inSums.keys())
|
|
100
|
+
currencies.add(c);
|
|
101
|
+
for (const c of spentToOutputs.keys())
|
|
102
|
+
if (c !== systemId)
|
|
103
|
+
currencies.add(c);
|
|
104
|
+
for (const c of currencyChanges.keys())
|
|
105
|
+
if (c !== systemId)
|
|
106
|
+
currencies.add(c);
|
|
107
|
+
for (const currency of currencies) {
|
|
108
|
+
const totalIn = inSums.get(currency) || 0n;
|
|
109
|
+
const totalOut = (spentToOutputs.get(currency) || 0n) + (currencyChanges.get(currency) || 0n);
|
|
110
|
+
if (totalIn !== totalOut) {
|
|
111
|
+
throw new errors_js_1.TransactionBuildError(`${label} token conservation failed for ${currency}: selected inputs ${totalIn} != fee+change ${totalOut}`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
74
115
|
/**
|
|
75
116
|
* Estimate transaction fee based on input/output counts
|
|
76
117
|
*/
|
|
@@ -101,6 +142,14 @@ function selectUtxos(utxos, requiredNative, requiredCurrencies = new Map(), numO
|
|
|
101
142
|
}
|
|
102
143
|
seenOutpoints.add(outpoint);
|
|
103
144
|
}
|
|
145
|
+
// The native currency must be requested via `requiredNative`, not as a
|
|
146
|
+
// requiredCurrencies entry keyed by systemId — Phase 1 skips systemId
|
|
147
|
+
// everywhere, so such an entry is silently dropped and the caller gets an
|
|
148
|
+
// underfunded transaction rejected at broadcast instead of a typed error here.
|
|
149
|
+
if (requiredCurrencies.has(systemId)) {
|
|
150
|
+
throw new errors_js_1.TransactionBuildError(`requiredCurrencies must not contain the native currency (systemId ${systemId}); ` +
|
|
151
|
+
`pass the native amount as requiredNative instead.`);
|
|
152
|
+
}
|
|
104
153
|
const decoded = utxos.map((u) => decodeUtxo(u, systemId));
|
|
105
154
|
const remaining = new Map(requiredCurrencies);
|
|
106
155
|
let remainingNative = requiredNative;
|
package/dist/utxo/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utxo/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AA+CH,gCA2BC;AAKD,kCAeC;AAKD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utxo/index.ts"],"names":[],"mappings":"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"}
|