@exodus/bip322-js 1.1.0-exodus.0 → 1.1.0-exodus.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 +3 -1
- package/dist/Signer.d.ts +2 -2
- package/dist/Signer.js +3 -3
- package/dist/Signer.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
A Javascript library that provides utility functions related to the BIP-322 signature scheme.
|
|
7
7
|
**This is a fork of https://github.com/ACken2/bip322-js with dependencies change in order to reduce audit load.**
|
|
8
|
-
No API changes present at the moment.
|
|
8
|
+
No breaking API changes present at the moment.
|
|
9
9
|
|
|
10
10
|
## Current status
|
|
11
11
|
|
|
@@ -13,6 +13,8 @@ No API changes present at the moment.
|
|
|
13
13
|
- We decided to keep using `bitcoinjs-lib` and take an audit from scratch. ~~Update `@exodus/bitcoinjs-lib` so that the skipped tests in `Verifier.test.js` work.
|
|
14
14
|
A description of the existing challenges available in https://exodusio.slack.com/archives/C05DQN4DW4D/p1695295752637329.~~
|
|
15
15
|
- Replace `@bitcoinerlab/secp256k1` with an audited library.
|
|
16
|
+
- (Breaking API): Export only functions to sign a message and ignore the validation tools to
|
|
17
|
+
reduce the package itself.
|
|
16
18
|
|
|
17
19
|
## Limitations
|
|
18
20
|
|
package/dist/Signer.d.ts
CHANGED
|
@@ -7,13 +7,13 @@ import * as bitcoin from 'bitcoinjs-lib';
|
|
|
7
7
|
declare class Signer {
|
|
8
8
|
/**
|
|
9
9
|
* Sign a BIP-322 signature from P2WPKH, P2SH-P2WPKH, and single-key-spend P2TR address and its corresponding private key.
|
|
10
|
-
* @param
|
|
10
|
+
* @param privateKeyOrWIF
|
|
11
11
|
* @param address Address to be signing the message
|
|
12
12
|
* @param message message_challenge to be signed by the address
|
|
13
13
|
* @param network Network that the address is located, defaults to the Bitcoin mainnet
|
|
14
14
|
* @returns BIP-322 simple signature, encoded in base-64
|
|
15
15
|
*/
|
|
16
|
-
static sign(
|
|
16
|
+
static sign(privateKeyOrWIF: string | Buffer, address: string, message: string, network?: bitcoin.Network): string | Buffer;
|
|
17
17
|
/**
|
|
18
18
|
* Check if a given public key is the public key for a claimed address.
|
|
19
19
|
* @param publicKey Public key to be tested
|
package/dist/Signer.js
CHANGED
|
@@ -40,16 +40,16 @@ const bitcoinMessage = __importStar(require("bitcoinjs-message"));
|
|
|
40
40
|
class Signer {
|
|
41
41
|
/**
|
|
42
42
|
* Sign a BIP-322 signature from P2WPKH, P2SH-P2WPKH, and single-key-spend P2TR address and its corresponding private key.
|
|
43
|
-
* @param
|
|
43
|
+
* @param privateKeyOrWIF
|
|
44
44
|
* @param address Address to be signing the message
|
|
45
45
|
* @param message message_challenge to be signed by the address
|
|
46
46
|
* @param network Network that the address is located, defaults to the Bitcoin mainnet
|
|
47
47
|
* @returns BIP-322 simple signature, encoded in base-64
|
|
48
48
|
*/
|
|
49
|
-
static sign(
|
|
49
|
+
static sign(privateKeyOrWIF, address, message, network = bitcoin.networks.bitcoin) {
|
|
50
50
|
// Initialize private key used to sign the transaction
|
|
51
51
|
const ECPair = (0, ecpair_1.default)(secp256k1_1.default);
|
|
52
|
-
let signer = ECPair.fromWIF(
|
|
52
|
+
let signer = Buffer.isBuffer(privateKeyOrWIF) ? ECPair.fromPrivateKey(privateKeyOrWIF) : ECPair.fromWIF(privateKeyOrWIF, network);
|
|
53
53
|
// Check if the private key can sign message for the given address
|
|
54
54
|
if (!this.checkPubKeyCorrespondToAddress(signer.publicKey, address)) {
|
|
55
55
|
throw new Error(`Invalid private key provided for signing message for ${address}.`);
|
package/dist/Signer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Signer.js","sourceRoot":"","sources":["../src/Signer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sBAAsB;AACtB,sDAA8B;AAC9B,oDAAmC;AACnC,uCAAoC;AACpC,uDAAyC;AACzC,wEAA0C;AAC1C,kEAAoD;AAEpD;;;GAGG;AACH,MAAM,MAAM;IAER;;;;;;;OAOG;IACI,MAAM,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"Signer.js","sourceRoot":"","sources":["../src/Signer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED