@chainvue/verus-sdk 0.4.0 → 0.5.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/LICENSE +202 -21
- package/NOTICE +31 -0
- package/dist/VerusSDK.js +7 -7
- package/dist/VerusSDK.js.map +1 -1
- package/dist/bundle.js +1112 -1030
- package/dist/constants/index.d.ts +4 -4
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +4 -4
- package/dist/constants/index.js.map +1 -1
- package/dist/currency/classify.d.ts +1 -1
- package/dist/currency/classify.d.ts.map +1 -1
- package/dist/currency/index.d.ts.map +1 -1
- package/dist/currency/index.js +5 -4
- package/dist/currency/index.js.map +1 -1
- package/dist/errors.d.ts +8 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +12 -1
- package/dist/errors.js.map +1 -1
- package/dist/identity/index.d.ts +8 -8
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +29 -29
- package/dist/identity/index.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/keys/index.d.ts.map +1 -1
- package/dist/keys/index.js +4 -3
- package/dist/keys/index.js.map +1 -1
- package/dist/signing/index.d.ts +2 -2
- package/dist/signing/index.d.ts.map +1 -1
- package/dist/signing/index.js +12 -6
- package/dist/signing/index.js.map +1 -1
- package/dist/transfer/index.d.ts.map +1 -1
- package/dist/transfer/index.js +65 -39
- package/dist/transfer/index.js.map +1 -1
- package/dist/types/index.d.ts +26 -26
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/index.d.ts +24 -5
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +71 -11
- package/dist/utils/index.js.map +1 -1
- package/dist/utxo/index.d.ts +8 -2
- package/dist/utxo/index.d.ts.map +1 -1
- package/dist/utxo/index.js +58 -31
- package/dist/utxo/index.js.map +1 -1
- package/package.json +27 -24
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,cAAc;AACd,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;AAyCjB,kEAAkE;AAClE,sDAA+E;AAAtE,+GAAA,gBAAgB,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AAG9C,2DAA2D;AAC3D,+CAM4B;AAL1B,qGAAA,SAAS,OAAA;AACT,sGAAA,UAAU,OAAA;AACV,sGAAA,UAAU,OAAA;AACV,0GAAA,cAAc,OAAA;AACd,0GAAA,cAAc,OAAA;AAGhB,wDAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,cAAc;AACd,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;AAyCjB,kEAAkE;AAClE,sDAA+E;AAAtE,+GAAA,gBAAgB,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AAG9C,2DAA2D;AAC3D,+CAM4B;AAL1B,qGAAA,SAAS,OAAA;AACT,sGAAA,UAAU,OAAA;AACV,sGAAA,UAAU,OAAA;AACV,0GAAA,cAAc,OAAA;AACd,0GAAA,cAAc,OAAA;AAGhB,wDAAwD;AACxD,6CAO0B;AANxB,qGAAA,SAAS,OAAA;AACT,sGAAA,UAAU,OAAA;AACV,mGAAA,OAAO,OAAA;AACP,wGAAA,YAAY,OAAA;AACZ,yGAAA,aAAa,OAAA;AACb,2GAAA,eAAe,OAAA;AAGjB,eAAe;AACf,yCAQqB;AAPnB,uGAAA,UAAU,OAAA;AACV,mHAAA,sBAAsB,OAAA;AACtB,4GAAA,eAAe,OAAA;AACf,gHAAA,mBAAmB,OAAA;AACnB,6GAAA,gBAAgB,OAAA;AAChB,kHAAA,qBAAqB,OAAA;AACrB,+GAAA,kBAAkB,OAAA;AAGpB,YAAY;AACZ,iDAiB8B;AAhB5B,0GAAA,cAAc,OAAA;AACd,4GAAA,gBAAgB,OAAA;AAChB,+GAAA,mBAAmB,OAAA;AACnB,sGAAA,UAAU,OAAA;AACV,8GAAA,kBAAkB,OAAA;AAClB,0GAAA,cAAc,OAAA;AACd,oHAAA,wBAAwB,OAAA;AACxB,mHAAA,uBAAuB,OAAA;AACvB,gHAAA,oBAAoB,OAAA;AACpB,8GAAA,kBAAkB,OAAA;AAClB,8GAAA,kBAAkB,OAAA;AAClB,sGAAA,UAAU,OAAA;AACV,0GAAA,cAAc,OAAA;AACd,wHAAA,4BAA4B,OAAA;AAC5B,gHAAA,oBAAoB,OAAA;AACpB,uGAAA,WAAW,OAAA;AAIb,6BAA6B;AAC7B,8DAA8C;AAC9C,wDAAwC;AACxC,8DAA8C;AAC9C,wDAAwC;AACxC,gEAAgD;AAChD,gEAAgD;AAChD,8DAA8C;AAC9C,gEAAgD;AAChD,0DAA0C"}
|
package/dist/keys/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAiB3E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAWnD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,OAAc,GACzB,OAAO,CAAC,MAAM,CAAC,CAajB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG5C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAI5D;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAW/D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,GAAE,OAAc,GAAG,MAAM,CAQ9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAiBnF"}
|
package/dist/keys/index.js
CHANGED
|
@@ -54,6 +54,7 @@ const crypto = __importStar(require("crypto"));
|
|
|
54
54
|
const bs58check_1 = __importDefault(require("bs58check"));
|
|
55
55
|
const create_hash_1 = __importDefault(require("create-hash"));
|
|
56
56
|
const index_js_1 = require("../constants/index.js");
|
|
57
|
+
const errors_js_1 = require("../errors.js");
|
|
57
58
|
/**
|
|
58
59
|
* Validate a WIF private key
|
|
59
60
|
*/
|
|
@@ -101,11 +102,11 @@ function isCompressedWif(wif) {
|
|
|
101
102
|
async function privateKeyToPublicKey(privateKey, compressed = true) {
|
|
102
103
|
const secp256k1 = await Promise.resolve().then(() => __importStar(require('tiny-secp256k1')));
|
|
103
104
|
if (!secp256k1.isPrivate(privateKey)) {
|
|
104
|
-
throw new
|
|
105
|
+
throw new errors_js_1.InvalidWifError('Invalid private key');
|
|
105
106
|
}
|
|
106
107
|
const publicKey = secp256k1.pointFromScalar(privateKey, compressed);
|
|
107
108
|
if (!publicKey) {
|
|
108
|
-
throw new
|
|
109
|
+
throw new errors_js_1.InvalidWifError('Failed to derive public key');
|
|
109
110
|
}
|
|
110
111
|
return Buffer.from(publicKey);
|
|
111
112
|
}
|
|
@@ -130,7 +131,7 @@ function publicKeyToAddress(publicKey) {
|
|
|
130
131
|
async function wifToAddress(wif) {
|
|
131
132
|
const validation = validateWif(wif);
|
|
132
133
|
if (!validation.valid) {
|
|
133
|
-
throw new
|
|
134
|
+
throw new errors_js_1.InvalidWifError(validation.error);
|
|
134
135
|
}
|
|
135
136
|
const privateKey = wifToPrivateKey(wif);
|
|
136
137
|
const compressed = isCompressedWif(wif);
|
package/dist/keys/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWH,kCAiBC;AAKD,0CAWC;AAKD,0CAGC;AAKD,sDAgBC;AAKD,0BAGC;AAKD,gDAIC;AAKD,oCAWC;AAKD,kCAQC;AAKD,0CAiBC;AA3ID,+CAAiC;AACjC,0DAAkC;AAClC,8DAAqC;AACrC,oDAAuE;AACvE,4CAA+C;AAE/C;;GAEG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,mBAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEtC,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACnD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;QACvD,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,MAAM,KAAK,qBAAU,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAC7C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,MAAM,EAAE,EAAE,CAAC;QAClE,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAwB,KAAe,CAAC,OAAO,EAAE,EAAE,CAAC;IACpF,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,GAAW;IACzC,MAAM,OAAO,GAAG,mBAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAEtC,mDAAmD;IACnD,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC1B,oDAAoD;QACpD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,mCAAmC;QACnC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,GAAW;IACzC,MAAM,OAAO,GAAG,mBAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC,MAAM,KAAK,EAAE,IAAI,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;AACvD,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,qBAAqB,CACzC,UAAkB,EAClB,aAAsB,IAAI;IAE1B,MAAM,SAAS,GAAG,wDAAa,gBAAgB,GAAC,CAAC;IAEjD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,2BAAe,CAAC,qBAAqB,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACpE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,2BAAe,CAAC,6BAA6B,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAgB,OAAO,CAAC,IAAY;IAClC,MAAM,MAAM,GAAG,IAAA,qBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1D,OAAO,IAAA,qBAAU,EAAC,WAAW,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,SAAiB;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,6BAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACzE,OAAO,mBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,YAAY,CAAC,GAAW;IAC5C,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,2BAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEtE,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,aAAsB,IAAI;IACpD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAE1C,MAAM,OAAO,GAAG,UAAU;QACxB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAU,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IAE3D,OAAO,mBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,OAAe;IAC7C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,mBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE1C,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YAC1B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;QAC3D,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,MAAM,KAAK,6BAAkB,EAAE,CAAC;YAClC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,MAAM,EAAE,EAAE,CAAC;QACtE,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA4B,KAAe,CAAC,OAAO,EAAE,EAAE,CAAC;IACxF,CAAC;AACH,CAAC"}
|
package/dist/signing/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import { TransactionBuilder, networks } from '@bitgo/utxo-lib';
|
|
10
10
|
import type { Utxo } from '../types/index.js';
|
|
11
11
|
/** Network to use for signing */
|
|
12
|
-
export type VerusNetwork = typeof networks.verus
|
|
12
|
+
export type VerusNetwork = typeof networks.verus;
|
|
13
13
|
/**
|
|
14
14
|
* Get the Verus network config
|
|
15
15
|
*/
|
|
@@ -26,7 +26,7 @@ export declare function getNetwork(testnet?: boolean): VerusNetwork;
|
|
|
26
26
|
* the final vsize (signatures only grow a tx), so the guard still trips if
|
|
27
27
|
* the actual fee materially exceeds the declared one.
|
|
28
28
|
*/
|
|
29
|
-
export declare function signTransactionSmart(txHex: string, wif: string, utxos: Utxo[], network?: VerusNetwork, maxFeeSats?:
|
|
29
|
+
export declare function signTransactionSmart(txHex: string, wif: string, utxos: Utxo[], network?: VerusNetwork, maxFeeSats?: bigint): {
|
|
30
30
|
signedTx: string;
|
|
31
31
|
txid: string;
|
|
32
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAGL,kBAAkB,EAClB,QAAQ,EAET,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAGL,kBAAkB,EAClB,QAAQ,EAET,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAM9C,iCAAiC;AACjC,MAAM,MAAM,YAAY,GAAG,OAAO,QAAQ,CAAC,KAAK,CAAC;AAEjD;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,OAAe,GAAG,YAAY,CAEjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,GAAE,YAA6B,EACtC,UAAU,CAAC,EAAE,MAAM,GAClB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAwBpC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EAAE,EAAE,EAChB,KAAK,EAAE,IAAI,EAAE,EACb,OAAO,GAAE,YAA6B,GACrC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAoBpC;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,YAA6B,EACtC,YAAY,GAAE,MAAU,EACxB,OAAO,GAAE,MAAU,EACnB,cAAc,GAAE,MAAyB,GACxC,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAMzC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,IAAI,EAAE,GACf;IACD,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,CAiBA"}
|
package/dist/signing/index.js
CHANGED
|
@@ -15,6 +15,7 @@ exports.createTransactionBuilder = createTransactionBuilder;
|
|
|
15
15
|
exports.validateFundedTransaction = validateFundedTransaction;
|
|
16
16
|
const utxo_lib_1 = require("@bitgo/utxo-lib");
|
|
17
17
|
const index_js_1 = require("../constants/index.js");
|
|
18
|
+
const index_js_2 = require("../utils/index.js");
|
|
18
19
|
const { getFundedTxBuilder, validateFundedCurrencyTransfer } = utxo_lib_1.smarttxs;
|
|
19
20
|
/**
|
|
20
21
|
* Get the Verus network config
|
|
@@ -41,10 +42,13 @@ function signTransactionSmart(txHex, wif, utxos, network = utxo_lib_1.networks.v
|
|
|
41
42
|
if (maxFeeSats !== undefined) {
|
|
42
43
|
// The fork's .d.ts omits maximumFeeRate, but it exists at runtime
|
|
43
44
|
// (transaction_builder.js: `this.maximumFeeRate = maximumFeeRate || 2500`).
|
|
44
|
-
txb.maximumFeeRate = Math.ceil(maxFeeSats / (txHex.length / 2));
|
|
45
|
+
txb.maximumFeeRate = Math.ceil((0, index_js_2.toSafeNumber)(maxFeeSats) / (txHex.length / 2));
|
|
45
46
|
}
|
|
46
47
|
for (let i = 0; i < utxos.length; i++) {
|
|
47
|
-
|
|
48
|
+
const utxo = utxos[i];
|
|
49
|
+
if (!utxo)
|
|
50
|
+
continue;
|
|
51
|
+
txb.sign(i, keyPair, null, utxo_lib_1.Transaction.SIGHASH_ALL, (0, index_js_2.toSafeNumber)(utxo.satoshis));
|
|
48
52
|
}
|
|
49
53
|
const signedTx = txb.build();
|
|
50
54
|
return {
|
|
@@ -59,13 +63,15 @@ function signTransactionMultiKey(txHex, keys, utxos, network = utxo_lib_1.networ
|
|
|
59
63
|
const prevOutScripts = utxos.map((u) => Buffer.from(u.script, 'hex'));
|
|
60
64
|
const txb = getFundedTxBuilder(txHex, network, prevOutScripts);
|
|
61
65
|
for (let i = 0; i < keys.length; i++) {
|
|
62
|
-
|
|
66
|
+
const inputKeys = keys[i];
|
|
67
|
+
const utxo = utxos[i];
|
|
68
|
+
if (!inputKeys || inputKeys.length === 0 || !utxo)
|
|
63
69
|
continue;
|
|
64
|
-
for (const wif of
|
|
70
|
+
for (const wif of inputKeys) {
|
|
65
71
|
if (!wif)
|
|
66
72
|
continue;
|
|
67
73
|
const keyPair = utxo_lib_1.ECPair.fromWIF(wif, network);
|
|
68
|
-
txb.sign(i, keyPair, null, utxo_lib_1.Transaction.SIGHASH_ALL,
|
|
74
|
+
txb.sign(i, keyPair, null, utxo_lib_1.Transaction.SIGHASH_ALL, (0, index_js_2.toSafeNumber)(utxo.satoshis));
|
|
69
75
|
}
|
|
70
76
|
}
|
|
71
77
|
const signedTx = txb.build();
|
|
@@ -91,7 +97,7 @@ function validateFundedTransaction(systemId, fundedTxHex, unfundedTxHex, changeA
|
|
|
91
97
|
const result = validateFundedCurrencyTransfer(systemId, fundedTxHex, unfundedTxHex, changeAddress, network, utxoList.map((u) => ({
|
|
92
98
|
txid: u.txid,
|
|
93
99
|
outputIndex: u.outputIndex,
|
|
94
|
-
satoshis: u.satoshis,
|
|
100
|
+
satoshis: (0, index_js_2.toSafeNumber)(u.satoshis),
|
|
95
101
|
script: u.script,
|
|
96
102
|
height: u.height || 0,
|
|
97
103
|
})));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signing/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAQrD,OAAO,KAAK,EAEV,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAwE3B;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,OAAO,GACf,kBAAkB,CA2IpB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,OAAO,GACf,kBAAkB,CAepB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,OAAO,GACf,kBAAkB,CAcpB;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,OAAO,GACf,kBAAkB,CAgBpB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,OAAO,GACf,cAAc,CAwEhB"}
|
package/dist/transfer/index.js
CHANGED
|
@@ -44,10 +44,19 @@ function validateTransferInputs(wif, utxos) {
|
|
|
44
44
|
throw new errors_js_1.TransactionBuildError('At least one UTXO is required');
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
/** Validate amount is positive
|
|
47
|
+
/** Validate amount is a positive bigint */
|
|
48
48
|
function validateAmount(amount, label = 'amount') {
|
|
49
|
-
if (
|
|
50
|
-
throw new errors_js_1.TransactionBuildError(`Invalid ${label}: must be a positive
|
|
49
|
+
if (typeof amount !== 'bigint' || amount <= 0n) {
|
|
50
|
+
throw new errors_js_1.TransactionBuildError(`Invalid ${label}: must be a positive bigint satoshi amount (got ${amount})`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/** bs58check-decode an address, rethrowing as a typed InvalidAddressError */
|
|
54
|
+
function decodeBase58Address(address) {
|
|
55
|
+
try {
|
|
56
|
+
return Buffer.from(bs58check_1.default.decode(address));
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
throw new errors_js_1.InvalidAddressError(address, err.message);
|
|
51
60
|
}
|
|
52
61
|
}
|
|
53
62
|
/**
|
|
@@ -59,24 +68,25 @@ function parseAddress(address, addressType) {
|
|
|
59
68
|
switch (addressType) {
|
|
60
69
|
case 'PKH': {
|
|
61
70
|
type = verus_typescript_primitives_1.DEST_PKH;
|
|
62
|
-
|
|
63
|
-
destinationBytes = Buffer.from(decoded.slice(1));
|
|
71
|
+
destinationBytes = decodeBase58Address(address).slice(1);
|
|
64
72
|
break;
|
|
65
73
|
}
|
|
66
74
|
case 'ID': {
|
|
67
75
|
type = verus_typescript_primitives_1.DEST_ID;
|
|
68
|
-
|
|
69
|
-
destinationBytes = Buffer.from(decoded.slice(1));
|
|
76
|
+
destinationBytes = decodeBase58Address(address).slice(1);
|
|
70
77
|
break;
|
|
71
78
|
}
|
|
72
79
|
case 'ETH': {
|
|
73
80
|
type = verus_typescript_primitives_1.DEST_ETH;
|
|
74
81
|
const addr = address.startsWith('0x') ? address.substring(2) : address;
|
|
75
82
|
destinationBytes = Buffer.from(addr, 'hex');
|
|
83
|
+
if (destinationBytes.length !== 20) {
|
|
84
|
+
throw new errors_js_1.InvalidAddressError(address, 'ETH destination must be 20 bytes of hex');
|
|
85
|
+
}
|
|
76
86
|
break;
|
|
77
87
|
}
|
|
78
88
|
default:
|
|
79
|
-
throw new
|
|
89
|
+
throw new errors_js_1.InvalidAddressError(address, `Unsupported address type: ${addressType}`);
|
|
80
90
|
}
|
|
81
91
|
return new verus_typescript_primitives_1.TransferDestination({
|
|
82
92
|
type,
|
|
@@ -95,34 +105,42 @@ function sendCurrency(params, network) {
|
|
|
95
105
|
if (!params.outputs || params.outputs.length === 0) {
|
|
96
106
|
throw new errors_js_1.TransactionBuildError('At least one output is required');
|
|
97
107
|
}
|
|
108
|
+
for (const out of params.outputs) {
|
|
109
|
+
validateAmount(out.satoshis, `output satoshis (${out.currency})`);
|
|
110
|
+
if (out.feeSatoshis !== undefined && out.feeSatoshis < 0n) {
|
|
111
|
+
throw new errors_js_1.TransactionBuildError(`Invalid feeSatoshis: must be non-negative (got ${out.feeSatoshis})`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (!params.changeAddress || typeof params.changeAddress !== 'string') {
|
|
115
|
+
throw new errors_js_1.TransactionBuildError('changeAddress is required');
|
|
116
|
+
}
|
|
98
117
|
const networkConfig = index_js_1.NETWORK_CONFIG[network];
|
|
99
118
|
const verusNetwork = (0, index_js_2.getNetwork)(network === 'testnet');
|
|
100
119
|
const systemId = networkConfig.chainId;
|
|
101
120
|
const expiryHeight = params.expiryHeight || 0;
|
|
102
121
|
const txOutputs = params.outputs.map((out) => ({
|
|
103
122
|
currency: out.currency,
|
|
104
|
-
satoshis: out.satoshis,
|
|
123
|
+
satoshis: out.satoshis.toString(10),
|
|
105
124
|
address: parseAddress(out.address, out.addressType || 'PKH'),
|
|
106
|
-
convertto: out.convertTo,
|
|
107
|
-
exportto: out.exportTo,
|
|
108
|
-
via: out.via,
|
|
109
|
-
bridgeid: out.bridgeId,
|
|
110
|
-
feecurrency: out.feeCurrency,
|
|
111
|
-
feesatoshis: out.feeSatoshis,
|
|
112
|
-
preconvert: out.preconvert,
|
|
125
|
+
...(out.convertTo !== undefined ? { convertto: out.convertTo } : {}),
|
|
126
|
+
...(out.exportTo !== undefined ? { exportto: out.exportTo } : {}),
|
|
127
|
+
...(out.via !== undefined ? { via: out.via } : {}),
|
|
128
|
+
...(out.bridgeId !== undefined ? { bridgeid: out.bridgeId } : {}),
|
|
129
|
+
...(out.feeCurrency !== undefined ? { feecurrency: out.feeCurrency } : {}),
|
|
130
|
+
...(out.feeSatoshis !== undefined ? { feesatoshis: out.feeSatoshis.toString(10) } : {}),
|
|
131
|
+
...(out.preconvert !== undefined ? { preconvert: out.preconvert } : {}),
|
|
113
132
|
}));
|
|
114
133
|
const unfundedTxHex = createUnfundedCurrencyTransfer(systemId, txOutputs, verusNetwork, expiryHeight);
|
|
115
134
|
const unfundedTx = utxo_lib_1.Transaction.fromHex(unfundedTxHex, verusNetwork);
|
|
116
|
-
let requiredNative =
|
|
135
|
+
let requiredNative = 0n;
|
|
117
136
|
for (const out of unfundedTx.outs) {
|
|
118
|
-
requiredNative += out.value;
|
|
137
|
+
requiredNative += BigInt(out.value);
|
|
119
138
|
}
|
|
120
139
|
const hasSmartOutputs = params.outputs.some((o) => o.convertTo || o.exportTo || o.via || o.currency !== systemId);
|
|
121
140
|
const requiredCurrencies = new Map();
|
|
122
141
|
for (const out of params.outputs) {
|
|
123
142
|
if (out.currency !== systemId) {
|
|
124
|
-
|
|
125
|
-
requiredCurrencies.set(out.currency, (requiredCurrencies.get(out.currency) || 0) + amount);
|
|
143
|
+
requiredCurrencies.set(out.currency, (requiredCurrencies.get(out.currency) || 0n) + out.satoshis);
|
|
126
144
|
}
|
|
127
145
|
}
|
|
128
146
|
const selection = (0, index_js_3.selectUtxos)(params.utxos, requiredNative, requiredCurrencies, unfundedTx.outs.length, systemId, undefined, hasSmartOutputs);
|
|
@@ -138,17 +156,17 @@ function sendCurrency(params, network) {
|
|
|
138
156
|
}
|
|
139
157
|
if (selection.currencyChanges.size > 0) {
|
|
140
158
|
const tokenChange = (0, index_js_4.buildTokenChangeOutput)(params.changeAddress, selection.currencyChanges);
|
|
141
|
-
txb.addOutput(tokenChange.script, tokenChange.nativeValue);
|
|
159
|
+
txb.addOutput(tokenChange.script, (0, index_js_5.toSafeNumber)(tokenChange.nativeValue));
|
|
142
160
|
}
|
|
143
|
-
if (selection.nativeChange >
|
|
161
|
+
if (selection.nativeChange > 0n) {
|
|
144
162
|
// utxo-lib's addOutput only resolves base58 R-addresses; identity
|
|
145
163
|
// change (an i-address changeAddress) needs the explicit P2ID script —
|
|
146
164
|
// byte-identical to the chain's own pay-to-identity outputs.
|
|
147
165
|
if (params.changeAddress.startsWith('i')) {
|
|
148
|
-
txb.addOutput((0, index_js_4.identityPaymentScript)(params.changeAddress), selection.nativeChange);
|
|
166
|
+
txb.addOutput((0, index_js_4.identityPaymentScript)(params.changeAddress), (0, index_js_5.toSafeNumber)(selection.nativeChange));
|
|
149
167
|
}
|
|
150
168
|
else {
|
|
151
|
-
txb.addOutput(params.changeAddress, selection.nativeChange);
|
|
169
|
+
txb.addOutput(params.changeAddress, (0, index_js_5.toSafeNumber)(selection.nativeChange));
|
|
152
170
|
}
|
|
153
171
|
}
|
|
154
172
|
const unsignedTx = txb.buildIncomplete();
|
|
@@ -179,13 +197,13 @@ function transfer(params, network) {
|
|
|
179
197
|
wif: params.wif,
|
|
180
198
|
outputs: [{
|
|
181
199
|
currency: systemId,
|
|
182
|
-
satoshis: params.amount
|
|
200
|
+
satoshis: params.amount,
|
|
183
201
|
address: params.to,
|
|
184
202
|
addressType: 'PKH',
|
|
185
203
|
}],
|
|
186
204
|
utxos: params.utxos,
|
|
187
205
|
changeAddress: params.changeAddress,
|
|
188
|
-
expiryHeight: params.expiryHeight,
|
|
206
|
+
...(params.expiryHeight !== undefined ? { expiryHeight: params.expiryHeight } : {}),
|
|
189
207
|
}, network);
|
|
190
208
|
}
|
|
191
209
|
/**
|
|
@@ -197,13 +215,13 @@ function transferToken(params, network) {
|
|
|
197
215
|
wif: params.wif,
|
|
198
216
|
outputs: [{
|
|
199
217
|
currency: params.currency,
|
|
200
|
-
satoshis: params.amount
|
|
218
|
+
satoshis: params.amount,
|
|
201
219
|
address: params.to,
|
|
202
220
|
addressType: params.addressType || 'PKH',
|
|
203
221
|
}],
|
|
204
222
|
utxos: params.utxos,
|
|
205
223
|
changeAddress: params.changeAddress,
|
|
206
|
-
expiryHeight: params.expiryHeight,
|
|
224
|
+
...(params.expiryHeight !== undefined ? { expiryHeight: params.expiryHeight } : {}),
|
|
207
225
|
}, network);
|
|
208
226
|
}
|
|
209
227
|
/**
|
|
@@ -215,15 +233,15 @@ function convert(params, network) {
|
|
|
215
233
|
wif: params.wif,
|
|
216
234
|
outputs: [{
|
|
217
235
|
currency: params.currency,
|
|
218
|
-
satoshis: params.amount
|
|
236
|
+
satoshis: params.amount,
|
|
219
237
|
address: params.changeAddress, // Conversion output goes to self
|
|
220
238
|
addressType: 'PKH',
|
|
221
239
|
convertTo: params.convertTo,
|
|
222
|
-
via: params.via,
|
|
240
|
+
...(params.via !== undefined ? { via: params.via } : {}),
|
|
223
241
|
}],
|
|
224
242
|
utxos: params.utxos,
|
|
225
243
|
changeAddress: params.changeAddress,
|
|
226
|
-
expiryHeight: params.expiryHeight,
|
|
244
|
+
...(params.expiryHeight !== undefined ? { expiryHeight: params.expiryHeight } : {}),
|
|
227
245
|
}, network);
|
|
228
246
|
}
|
|
229
247
|
/**
|
|
@@ -244,14 +262,20 @@ function buildAndSign(params, network) {
|
|
|
244
262
|
throw new errors_js_1.TransactionBuildError('At least one output is required');
|
|
245
263
|
}
|
|
246
264
|
const verusNetwork = (0, index_js_2.getNetwork)(network === 'testnet');
|
|
247
|
-
const totalInput = params.inputs.reduce((sum, i) => sum + i.amount,
|
|
248
|
-
const totalOutput = params.outputs.reduce((sum, o) => sum + o.amount,
|
|
249
|
-
const
|
|
265
|
+
const totalInput = params.inputs.reduce((sum, i) => sum + i.amount, 0n);
|
|
266
|
+
const totalOutput = params.outputs.reduce((sum, o) => sum + o.amount, 0n);
|
|
267
|
+
const impliedFee = totalInput - totalOutput;
|
|
268
|
+
const fee = params.fee ?? impliedFee;
|
|
250
269
|
if (totalOutput + fee > totalInput) {
|
|
251
|
-
throw new
|
|
270
|
+
throw new errors_js_1.InsufficientFundsError(totalOutput + fee, totalInput);
|
|
252
271
|
}
|
|
253
|
-
//
|
|
254
|
-
|
|
272
|
+
// Value conservation: every input satoshi is either an output or the
|
|
273
|
+
// declared fee. A declared fee below the implied one means the difference
|
|
274
|
+
// would be burned silently as extra miner fee — refuse.
|
|
275
|
+
if (fee !== impliedFee) {
|
|
276
|
+
throw new errors_js_1.TransactionBuildError(`declared fee ${fee} does not match inputs minus outputs (${impliedFee}) — the difference would be burned`);
|
|
277
|
+
}
|
|
278
|
+
const txb = new utxo_lib_1.TransactionBuilder(verusNetwork);
|
|
255
279
|
txb.setVersion(4);
|
|
256
280
|
txb.setExpiryHeight(params.expiryHeight || 0);
|
|
257
281
|
txb.setVersionGroupId(index_js_1.VERSION_GROUP_ID);
|
|
@@ -260,7 +284,7 @@ function buildAndSign(params, network) {
|
|
|
260
284
|
}
|
|
261
285
|
for (const out of params.outputs) {
|
|
262
286
|
const script = (0, index_js_5.addressToScriptPubKey)(out.address);
|
|
263
|
-
txb.addOutput(script, out.amount);
|
|
287
|
+
txb.addOutput(script, (0, index_js_5.toSafeNumber)(out.amount));
|
|
264
288
|
}
|
|
265
289
|
const unsignedTx = txb.buildIncomplete();
|
|
266
290
|
const utxos = params.inputs.map((i) => ({
|
|
@@ -269,7 +293,9 @@ function buildAndSign(params, network) {
|
|
|
269
293
|
satoshis: i.amount,
|
|
270
294
|
script: i.scriptPubKey,
|
|
271
295
|
}));
|
|
272
|
-
|
|
296
|
+
// The absurd-fee check runs at signing time; bound it to the fee this
|
|
297
|
+
// transaction actually declares instead of disabling it.
|
|
298
|
+
const { signedTx, txid } = (0, index_js_2.signTransactionSmart)(unsignedTx.toHex(), params.wif, utxos, verusNetwork, fee > 0n ? fee : undefined);
|
|
273
299
|
return { signedTx, txid, fee };
|
|
274
300
|
}
|
|
275
301
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import type { Network } from '../constants/index.js';
|
|
|
6
6
|
export interface Utxo {
|
|
7
7
|
txid: string;
|
|
8
8
|
outputIndex: number;
|
|
9
|
-
satoshis:
|
|
9
|
+
satoshis: bigint;
|
|
10
10
|
script: string;
|
|
11
11
|
/** Height where this UTXO was created (0 = mempool) */
|
|
12
12
|
height?: number;
|
|
@@ -14,18 +14,18 @@ export interface Utxo {
|
|
|
14
14
|
/** Decoded currency values on a UTXO */
|
|
15
15
|
export interface DecodedUtxo extends Utxo {
|
|
16
16
|
/** Currency i-address → satoshi amount */
|
|
17
|
-
currencyValues: Map<string,
|
|
17
|
+
currencyValues: Map<string, bigint>;
|
|
18
18
|
}
|
|
19
19
|
/** Result of UTXO selection */
|
|
20
20
|
export interface SelectionResult {
|
|
21
21
|
/** Selected UTXOs */
|
|
22
22
|
selected: Utxo[];
|
|
23
23
|
/** Native (VRSC) change in satoshis */
|
|
24
|
-
nativeChange:
|
|
24
|
+
nativeChange: bigint;
|
|
25
25
|
/** Currency changes: i-address → satoshi amount */
|
|
26
|
-
currencyChanges: Map<string,
|
|
26
|
+
currencyChanges: Map<string, bigint>;
|
|
27
27
|
/** Estimated fee in satoshis */
|
|
28
|
-
fee:
|
|
28
|
+
fee: bigint;
|
|
29
29
|
}
|
|
30
30
|
/** SDK configuration */
|
|
31
31
|
export interface VerusSDKConfig {
|
|
@@ -35,7 +35,7 @@ export interface VerusSDKConfig {
|
|
|
35
35
|
export interface SignedTxResult {
|
|
36
36
|
signedTx: string;
|
|
37
37
|
txid: string;
|
|
38
|
-
fee:
|
|
38
|
+
fee: bigint;
|
|
39
39
|
}
|
|
40
40
|
/** Transfer parameters */
|
|
41
41
|
export interface TransferParams {
|
|
@@ -43,7 +43,7 @@ export interface TransferParams {
|
|
|
43
43
|
/** Recipient address (R-address) */
|
|
44
44
|
to: string;
|
|
45
45
|
/** Amount in satoshis */
|
|
46
|
-
amount:
|
|
46
|
+
amount: bigint;
|
|
47
47
|
utxos: Utxo[];
|
|
48
48
|
changeAddress: string;
|
|
49
49
|
expiryHeight?: number;
|
|
@@ -54,7 +54,7 @@ export interface TransferTokenParams {
|
|
|
54
54
|
/** Recipient address (R-address or i-address) */
|
|
55
55
|
to: string;
|
|
56
56
|
/** Amount in satoshis */
|
|
57
|
-
amount:
|
|
57
|
+
amount: bigint;
|
|
58
58
|
/** Currency i-address */
|
|
59
59
|
currency: string;
|
|
60
60
|
/** Address type: 'PKH' (R-address) or 'ID' (i-address) */
|
|
@@ -67,7 +67,7 @@ export interface TransferTokenParams {
|
|
|
67
67
|
export interface ConvertParams {
|
|
68
68
|
wif: string;
|
|
69
69
|
/** Amount in satoshis */
|
|
70
|
-
amount:
|
|
70
|
+
amount: bigint;
|
|
71
71
|
/** Source currency i-address */
|
|
72
72
|
currency: string;
|
|
73
73
|
/** Target currency i-address */
|
|
@@ -82,8 +82,8 @@ export interface ConvertParams {
|
|
|
82
82
|
export interface CurrencyOutput {
|
|
83
83
|
/** Currency i-address (use system ID for native VRSC) */
|
|
84
84
|
currency: string;
|
|
85
|
-
/** Amount in satoshis
|
|
86
|
-
satoshis:
|
|
85
|
+
/** Amount in satoshis */
|
|
86
|
+
satoshis: bigint;
|
|
87
87
|
/** Recipient address */
|
|
88
88
|
address: string;
|
|
89
89
|
/** Address type: 'PKH' (R-address), 'ID' (i-address), 'ETH' (Ethereum) */
|
|
@@ -99,7 +99,7 @@ export interface CurrencyOutput {
|
|
|
99
99
|
/** Fee currency i-address */
|
|
100
100
|
feeCurrency?: string;
|
|
101
101
|
/** Fee amount in satoshis */
|
|
102
|
-
feeSatoshis?:
|
|
102
|
+
feeSatoshis?: bigint;
|
|
103
103
|
/** Pre-conversion flag */
|
|
104
104
|
preconvert?: boolean;
|
|
105
105
|
}
|
|
@@ -114,7 +114,7 @@ export interface SendCurrencyParams {
|
|
|
114
114
|
/** Send currency result */
|
|
115
115
|
export interface SendCurrencyResult extends SignedTxResult {
|
|
116
116
|
inputsUsed: number;
|
|
117
|
-
nativeChange:
|
|
117
|
+
nativeChange: bigint;
|
|
118
118
|
}
|
|
119
119
|
/** Simple P2PKH build+sign parameters */
|
|
120
120
|
export interface BuildAndSignParams {
|
|
@@ -123,13 +123,13 @@ export interface BuildAndSignParams {
|
|
|
123
123
|
txid: string;
|
|
124
124
|
vout: number;
|
|
125
125
|
scriptPubKey: string;
|
|
126
|
-
amount:
|
|
126
|
+
amount: bigint;
|
|
127
127
|
}>;
|
|
128
128
|
outputs: Array<{
|
|
129
129
|
address: string;
|
|
130
|
-
amount:
|
|
130
|
+
amount: bigint;
|
|
131
131
|
}>;
|
|
132
|
-
fee?:
|
|
132
|
+
fee?: bigint;
|
|
133
133
|
expiryHeight?: number;
|
|
134
134
|
}
|
|
135
135
|
/** Commitment data returned from createCommitment */
|
|
@@ -169,12 +169,12 @@ export interface RegisterIdentityParams {
|
|
|
169
169
|
recoveryAuthority?: string;
|
|
170
170
|
/** Referral chain: i-addresses tracing referral levels (up to 3) */
|
|
171
171
|
referralChain?: string[];
|
|
172
|
-
/** Registration fee in VRSC satoshis (default:
|
|
173
|
-
registrationFee?:
|
|
172
|
+
/** Registration fee in VRSC satoshis (default: 10000000000n = 100 VRSC) */
|
|
173
|
+
registrationFee?: bigint;
|
|
174
174
|
/** Registration fee in parent currency satoshis (for sub-IDs) */
|
|
175
|
-
registrationFeeAmount?:
|
|
175
|
+
registrationFeeAmount?: bigint;
|
|
176
176
|
/** Native import fee in VRSC satoshis (for sub-IDs on fractional currencies) */
|
|
177
|
-
nativeImportFee?:
|
|
177
|
+
nativeImportFee?: bigint;
|
|
178
178
|
/** Number of referral levels (default: 3) */
|
|
179
179
|
referralLevels?: number;
|
|
180
180
|
expiryHeight?: number;
|
|
@@ -182,11 +182,11 @@ export interface RegisterIdentityParams {
|
|
|
182
182
|
/** Register identity result */
|
|
183
183
|
export interface RegisterIdentityResult extends SignedTxResult {
|
|
184
184
|
identityAddress: string;
|
|
185
|
-
registrationFee:
|
|
185
|
+
registrationFee: bigint;
|
|
186
186
|
referralPayments: number;
|
|
187
|
-
referralAmountEach:
|
|
187
|
+
referralAmountEach: bigint;
|
|
188
188
|
inputsUsed: number;
|
|
189
|
-
nativeChange:
|
|
189
|
+
nativeChange: bigint;
|
|
190
190
|
}
|
|
191
191
|
/** Update identity parameters */
|
|
192
192
|
export interface UpdateIdentityParams {
|
|
@@ -208,7 +208,7 @@ export interface UpdateIdentityResult extends SignedTxResult {
|
|
|
208
208
|
identityAddress: string;
|
|
209
209
|
operation: string;
|
|
210
210
|
inputsUsed: number;
|
|
211
|
-
nativeChange:
|
|
211
|
+
nativeChange: bigint;
|
|
212
212
|
}
|
|
213
213
|
/** Lock identity parameters */
|
|
214
214
|
export interface LockIdentityParams {
|
|
@@ -256,7 +256,7 @@ export interface DefineCurrencyParams {
|
|
|
256
256
|
identityHex: string;
|
|
257
257
|
identityUtxo: Utxo;
|
|
258
258
|
currencyDefScript: string;
|
|
259
|
-
currencyDefValue?:
|
|
259
|
+
currencyDefValue?: bigint;
|
|
260
260
|
utxos: Utxo[];
|
|
261
261
|
changeAddress: string;
|
|
262
262
|
expiryHeight?: number;
|
|
@@ -265,7 +265,7 @@ export interface DefineCurrencyParams {
|
|
|
265
265
|
export interface DefineCurrencyResult extends SignedTxResult {
|
|
266
266
|
identityAddress: string;
|
|
267
267
|
inputsUsed: number;
|
|
268
|
-
nativeChange:
|
|
268
|
+
nativeChange: bigint;
|
|
269
269
|
}
|
|
270
270
|
/** Sign message parameters */
|
|
271
271
|
export interface SignMessageParams {
|