ecash-lib 2.0.0 → 3.0.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/README.md +5 -3
- package/dist/consts.d.ts +2 -2
- package/dist/consts.d.ts.map +1 -1
- package/dist/consts.js +3 -3
- package/dist/consts.js.map +1 -1
- package/dist/ecc.d.ts +6 -0
- package/dist/ecc.d.ts.map +1 -1
- package/dist/ecc.js +12 -0
- package/dist/ecc.js.map +1 -1
- package/dist/ffi/ecash_lib_wasm_bg_browser.js +1647 -1511
- package/dist/ffi/ecash_lib_wasm_bg_browser.wasm +0 -0
- package/dist/ffi/ecash_lib_wasm_bg_browser.wasm.d.ts +2 -0
- package/dist/ffi/ecash_lib_wasm_bg_nodejs.wasm +0 -0
- package/dist/ffi/ecash_lib_wasm_bg_nodejs.wasm.d.ts +2 -0
- package/dist/ffi/ecash_lib_wasm_browser.d.ts +24 -0
- package/dist/ffi/ecash_lib_wasm_browser.js +64 -0
- package/dist/ffi/ecash_lib_wasm_nodejs.d.ts +22 -0
- package/dist/ffi/ecash_lib_wasm_nodejs.js +64 -0
- package/dist/test/testRunner.d.ts +2 -2
- package/dist/test/testRunner.d.ts.map +1 -1
- package/dist/test/testRunner.js +13 -10
- package/dist/test/testRunner.js.map +1 -1
- package/dist/token/alp.d.ts +6 -6
- package/dist/token/alp.d.ts.map +1 -1
- package/dist/token/alp.js +13 -13
- package/dist/token/alp.js.map +1 -1
- package/dist/token/common.d.ts +0 -1
- package/dist/token/common.d.ts.map +1 -1
- package/dist/token/common.js.map +1 -1
- package/dist/token/slp.d.ts +7 -7
- package/dist/token/slp.d.ts.map +1 -1
- package/dist/token/slp.js +25 -25
- package/dist/token/slp.js.map +1 -1
- package/dist/tx.d.ts +2 -2
- package/dist/tx.d.ts.map +1 -1
- package/dist/tx.js +5 -5
- package/dist/tx.js.map +1 -1
- package/dist/txBuilder.d.ts +3 -3
- package/dist/txBuilder.d.ts.map +1 -1
- package/dist/txBuilder.js +12 -12
- package/dist/txBuilder.js.map +1 -1
- package/dist/unsignedTx.js +2 -2
- package/dist/unsignedTx.js.map +1 -1
- package/package.json +2 -2
- package/src/consts.ts +2 -2
- package/src/ecc.ts +22 -0
- package/src/ffi/ecash_lib_wasm_bg_browser.js +1647 -1511
- package/src/ffi/ecash_lib_wasm_bg_browser.wasm +0 -0
- package/src/ffi/ecash_lib_wasm_bg_browser.wasm.d.ts +2 -0
- package/src/ffi/ecash_lib_wasm_bg_nodejs.wasm +0 -0
- package/src/ffi/ecash_lib_wasm_bg_nodejs.wasm.d.ts +2 -0
- package/src/ffi/ecash_lib_wasm_browser.d.ts +24 -0
- package/src/ffi/ecash_lib_wasm_browser.js +64 -0
- package/src/ffi/ecash_lib_wasm_nodejs.d.ts +22 -0
- package/src/ffi/ecash_lib_wasm_nodejs.js +64 -0
- package/src/test/testRunner.ts +15 -13
- package/src/token/alp.ts +17 -17
- package/src/token/common.ts +0 -2
- package/src/token/slp.ts +27 -27
- package/src/tx.ts +7 -7
- package/src/txBuilder.ts +15 -15
- package/src/unsignedTx.ts +2 -2
package/README.md
CHANGED
|
@@ -52,7 +52,7 @@ const txBuild = new TxBuilder({
|
|
|
52
52
|
input: {
|
|
53
53
|
prevOut: walletUtxo,
|
|
54
54
|
signData: {
|
|
55
|
-
|
|
55
|
+
sats: 1000n,
|
|
56
56
|
outputScript: walletP2pkh,
|
|
57
57
|
},
|
|
58
58
|
},
|
|
@@ -61,13 +61,13 @@ const txBuild = new TxBuilder({
|
|
|
61
61
|
],
|
|
62
62
|
outputs: [
|
|
63
63
|
{
|
|
64
|
-
|
|
64
|
+
sats: 0n,
|
|
65
65
|
script: new Script(fromHex('6a68656c6c6f')),
|
|
66
66
|
},
|
|
67
67
|
walletP2pkh,
|
|
68
68
|
],
|
|
69
69
|
});
|
|
70
|
-
const tx = txBuild.sign({ feePerKb:
|
|
70
|
+
const tx = txBuild.sign({ feePerKb: 1000n, dustSats: 546n });
|
|
71
71
|
const rawTx = tx.ser();
|
|
72
72
|
console.log(toHex(rawTx));
|
|
73
73
|
```
|
|
@@ -90,3 +90,5 @@ console.log(toHex(rawTx));
|
|
|
90
90
|
- 1.5.0 - Support custom WASM URL and module [D17622](https://reviews.bitcoinabc.org/D17622)
|
|
91
91
|
- 1.5.1 - `Address.withPrefix()` returns same prefix if unchanged (instead of throwing an error) [D17623](https://reviews.bitcoinabc.org/D17623)
|
|
92
92
|
- 2.0.0 - Remove `initWasm`, auto-load the WebAssembly instead. Remove unneeded `ecc` parameters, esp. in `TxBuilder.sign` and `HdNode.fromSeed` [D17639](https://reviews.bitcoinabc.org/D17639) [D17640](https://reviews.bitcoinabc.org/D17640)
|
|
93
|
+
- 2.1.0 - Add `signRecoverable` and `recoverSig` to `Ecc` [D17667](https://reviews.bitcoinabc.org/D17667)
|
|
94
|
+
- 3.0.0 - Improve types and shapes in line with chronik proto updates [D17650](https://reviews.bitcoinabc.org/D17650)
|
package/dist/consts.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Default dust limit on the eCash network. */
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const DEFAULT_DUST_SATS = 546n;
|
|
3
3
|
/** Default fee per kB on the eCash network. */
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const DEFAULT_FEE_SATS_PER_KB = 1000n;
|
|
5
5
|
//# sourceMappingURL=consts.d.ts.map
|
package/dist/consts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAIA,+CAA+C;AAC/C,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAIA,+CAA+C;AAC/C,eAAO,MAAM,iBAAiB,OAAO,CAAC;AACtC,+CAA+C;AAC/C,eAAO,MAAM,uBAAuB,QAAQ,CAAC"}
|
package/dist/consts.js
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
// Distributed under the MIT software license, see the accompanying
|
|
4
4
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.DEFAULT_FEE_SATS_PER_KB = exports.DEFAULT_DUST_SATS = void 0;
|
|
7
7
|
/** Default dust limit on the eCash network. */
|
|
8
|
-
exports.
|
|
8
|
+
exports.DEFAULT_DUST_SATS = 546n;
|
|
9
9
|
/** Default fee per kB on the eCash network. */
|
|
10
|
-
exports.
|
|
10
|
+
exports.DEFAULT_FEE_SATS_PER_KB = 1000n;
|
|
11
11
|
//# sourceMappingURL=consts.js.map
|
package/dist/consts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;;;AAEtE,+CAA+C;AAClC,QAAA,
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;;;AAEtE,+CAA+C;AAClC,QAAA,iBAAiB,GAAG,IAAI,CAAC;AACtC,+CAA+C;AAClC,QAAA,uBAAuB,GAAG,KAAK,CAAC"}
|
package/dist/ecc.d.ts
CHANGED
|
@@ -15,6 +15,10 @@ export interface Ecc {
|
|
|
15
15
|
seckeyAdd(a: Uint8Array, b: Uint8Array): Uint8Array;
|
|
16
16
|
/** Add a scalar to a public key (adding G*b) */
|
|
17
17
|
pubkeyAdd(a: Uint8Array, b: Uint8Array): Uint8Array;
|
|
18
|
+
/** Sign a ECDSA recoverable signature, includes the recovery ID */
|
|
19
|
+
signRecoverable(seckey: Uint8Array, msg: Uint8Array): Uint8Array;
|
|
20
|
+
/** Recover the public key of an ECDSA signed signature (with recovery ID) */
|
|
21
|
+
recoverSig(sig: Uint8Array, msg: Uint8Array): Uint8Array;
|
|
18
22
|
}
|
|
19
23
|
/** Dummy Ecc impl that always returns 0, useful for measuring tx size */
|
|
20
24
|
export declare class EccDummy implements Ecc {
|
|
@@ -24,6 +28,8 @@ export declare class EccDummy implements Ecc {
|
|
|
24
28
|
isValidSeckey(_seckey: Uint8Array): boolean;
|
|
25
29
|
seckeyAdd(_a: Uint8Array, _b: Uint8Array): Uint8Array;
|
|
26
30
|
pubkeyAdd(_a: Uint8Array, _b: Uint8Array): Uint8Array;
|
|
31
|
+
signRecoverable(_seckey: Uint8Array, _msg: Uint8Array): Uint8Array;
|
|
32
|
+
recoverSig(_sig: Uint8Array, _msg: Uint8Array): Uint8Array;
|
|
27
33
|
}
|
|
28
34
|
export declare function __setEcc(ecc: Ecc): void;
|
|
29
35
|
export declare class Ecc implements Ecc {
|
package/dist/ecc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecc.d.ts","sourceRoot":"","sources":["../src/ecc.ts"],"names":[],"mappings":"AAIA,6DAA6D;AAC7D,MAAM,WAAW,GAAG;IAChB,2CAA2C;IAC3C,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;IAE7C,8DAA8D;IAC9D,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CAAC;IAE3D,+DAA+D;IAC/D,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CAAC;IAE7D;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;IAE3C,mCAAmC;IACnC,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAEpD,gDAAgD;IAChD,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ecc.d.ts","sourceRoot":"","sources":["../src/ecc.ts"],"names":[],"mappings":"AAIA,6DAA6D;AAC7D,MAAM,WAAW,GAAG;IAChB,2CAA2C;IAC3C,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;IAE7C,8DAA8D;IAC9D,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CAAC;IAE3D,+DAA+D;IAC/D,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CAAC;IAE7D;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;IAE3C,mCAAmC;IACnC,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAEpD,gDAAgD;IAChD,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAEpD,mEAAmE;IACnE,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CAAC;IAEjE,6EAA6E;IAC7E,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,UAAU,CAAC;CAC5D;AAED,yEAAyE;AACzE,qBAAa,QAAS,YAAW,GAAG;IAChC,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU;IAI7C,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU;IAI5D,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU;IAI9D,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO;IAI3C,SAAS,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,GAAG,UAAU;IAIrD,SAAS,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,GAAG,UAAU;IAIrD,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU;IAIlE,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU;CAG7D;AAID,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,QAEhC;AAED,qBAAa,GAAI,YAAW,GAAG;CAyC9B"}
|
package/dist/ecc.js
CHANGED
|
@@ -24,6 +24,12 @@ class EccDummy {
|
|
|
24
24
|
pubkeyAdd(_a, _b) {
|
|
25
25
|
return new Uint8Array(32);
|
|
26
26
|
}
|
|
27
|
+
signRecoverable(_seckey, _msg) {
|
|
28
|
+
return new Uint8Array(65);
|
|
29
|
+
}
|
|
30
|
+
recoverSig(_sig, _msg) {
|
|
31
|
+
return new Uint8Array(33);
|
|
32
|
+
}
|
|
27
33
|
}
|
|
28
34
|
exports.EccDummy = EccDummy;
|
|
29
35
|
const ECC = {};
|
|
@@ -59,6 +65,12 @@ class Ecc {
|
|
|
59
65
|
pubkeyAdd(a, b) {
|
|
60
66
|
return ECC.ecc.pubkeyAdd(a, b);
|
|
61
67
|
}
|
|
68
|
+
signRecoverable(seckey, msg) {
|
|
69
|
+
return ECC.ecc.signRecoverable(seckey, msg);
|
|
70
|
+
}
|
|
71
|
+
recoverSig(sig, msg) {
|
|
72
|
+
return ECC.ecc.recoverSig(sig, msg);
|
|
73
|
+
}
|
|
62
74
|
}
|
|
63
75
|
exports.Ecc = Ecc;
|
|
64
76
|
//# sourceMappingURL=ecc.js.map
|
package/dist/ecc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecc.js","sourceRoot":"","sources":["../src/ecc.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;;;
|
|
1
|
+
{"version":3,"file":"ecc.js","sourceRoot":"","sources":["../src/ecc.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;;;AAgCtE,yEAAyE;AACzE,MAAa,QAAQ;IACjB,YAAY,CAAC,OAAmB;QAC5B,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,OAAmB,EAAE,IAAgB;QAC3C,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,WAAW,CAAC,OAAmB,EAAE,IAAgB;QAC7C,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,aAAa,CAAC,OAAmB;QAC7B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,SAAS,CAAC,EAAc,EAAE,EAAc;QACpC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,EAAc,EAAE,EAAc;QACpC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,eAAe,CAAC,OAAmB,EAAE,IAAgB;QACjD,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,UAAU,CAAC,IAAgB,EAAE,IAAgB;QACzC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AAhCD,4BAgCC;AAED,MAAM,GAAG,GAAkB,EAAE,CAAC;AAE9B,SAAgB,QAAQ,CAAC,GAAQ;IAC7B,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;AAClB,CAAC;AAFD,4BAEC;AAED,MAAa,GAAG;IACZ,2CAA2C;IAC3C,YAAY,CAAC,MAAkB;QAC3B,OAAO,GAAG,CAAC,GAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,8DAA8D;IAC9D,SAAS,CAAC,MAAkB,EAAE,GAAe;QACzC,OAAO,GAAG,CAAC,GAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,+DAA+D;IAC/D,WAAW,CAAC,MAAkB,EAAE,GAAe;QAC3C,OAAO,GAAG,CAAC,GAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,MAAkB;QAC5B,OAAO,GAAG,CAAC,GAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,mCAAmC;IACnC,SAAS,CAAC,CAAa,EAAE,CAAa;QAClC,OAAO,GAAG,CAAC,GAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,gDAAgD;IAChD,SAAS,CAAC,CAAa,EAAE,CAAa;QAClC,OAAO,GAAG,CAAC,GAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,eAAe,CAAC,MAAkB,EAAE,GAAe;QAC/C,OAAO,GAAG,CAAC,GAAI,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,GAAe;QACvC,OAAO,GAAG,CAAC,GAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;CACJ;AAzCD,kBAyCC"}
|