@ckb-ccc/core 1.11.2 → 1.11.3
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/CHANGELOG.md +7 -0
- package/dist/molecule/entity.d.ts.map +1 -1
- package/dist/signer/btc/verify.d.ts.map +1 -1
- package/dist/signer/btc/verify.js +3 -3
- package/dist/signer/ckb/verifyCkbSecp256k1.d.ts.map +1 -1
- package/dist/signer/ckb/verifyCkbSecp256k1.js +3 -1
- package/dist.commonjs/molecule/entity.d.ts.map +1 -1
- package/dist.commonjs/signer/btc/verify.d.ts.map +1 -1
- package/dist.commonjs/signer/btc/verify.js +4 -4
- package/dist.commonjs/signer/ckb/verifyCkbSecp256k1.d.ts.map +1 -1
- package/dist.commonjs/signer/ckb/verifyCkbSecp256k1.js +3 -1
- package/package.json +17 -21
- package/src/signer/btc/verify.ts +7 -3
- package/src/signer/ckb/verifyCkbSecp256k1.ts +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# @ckb-ccc/core
|
|
2
2
|
|
|
3
|
+
## 1.11.3
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
- [#282](https://github.com/ckb-devrel/ccc/pull/282) [`d4fb021`](https://github.com/ckb-devrel/ccc/commit/d4fb021472a83b7871fd44824e9bb786cc412252) Thanks [@dependabot](https://github.com/apps/dependabot)! - chore(deps): bump dependency version
|
|
9
|
+
|
|
3
10
|
## 1.11.2
|
|
4
11
|
### Patch Changes
|
|
5
12
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/molecule/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAW,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;GAGG;AACH,8BAAsB,MAAM;IAC1B;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,WAAW;QA6D1C;;;;WAIG;mBACQ,KAAK;QAMhB;;;;WAIG;iBACM,OAAO;QAMhB;;;;;WAKG;kBACO,WAAW,GAAG,OAAO;QAe/B;;;;WAIG;gBACK,GAAG;;QA3GX;;;;WAIG;qBACiB,MAAM;QAC1B;;;;;;;WAOG;kBACc,WAAW,GAAG,KAAK;QAKpC;;;;;;;WAOG;kBACc,SAAS,GAAG,OAAO;QAMpC;;;;;;;WAOG;0BACsB,SAAS,GAAG,OAAO;QAM5C;;;;;;;WAOG;gBACY,WAAW,GAAG,OAAO;;IA4DxC,QAAQ,CAAC,OAAO,IAAI,KAAK;IACzB,QAAQ,CAAC,IAAI,IAAI,GAAG;IACpB,QAAQ,CAAC,KAAK,IAAI,MAAM;CACzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CACnB,SAAS,EACT,QAAQ,SAAS,SAAS,EAC1B,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,MAAM,GAAG,QAAQ,EAC9B,eAAe,SAAS,WAAW,CAAC,IAAI,CAAC,GAAG;IAC1C,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,SAAS,EAAE,QAAQ,GAAG,KAAK,CAAC;IACnC,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,QAAQ,CAAC;IACvC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;CACnC,EACD,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/molecule/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAW,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;GAGG;AACH,8BAAsB,MAAM;IAC1B;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,WAAW;QA6D1C;;;;WAIG;mBACQ,KAAK;QAMhB;;;;WAIG;iBACM,OAAO;QAMhB;;;;;WAKG;kBACO,WAAW,GAAG,OAAO;QAe/B;;;;WAIG;gBACK,GAAG;;QA3GX;;;;WAIG;qBACiB,MAAM;QAC1B;;;;;;;WAOG;kBACc,WAAW,GAAG,KAAK;QAKpC;;;;;;;WAOG;kBACc,SAAS,GAAG,OAAO;QAMpC;;;;;;;WAOG;0BACsB,SAAS,GAAG,OAAO;QAM5C;;;;;;;WAOG;gBACY,WAAW,GAAG,OAAO;;IA4DxC,QAAQ,CAAC,OAAO,IAAI,KAAK;IACzB,QAAQ,CAAC,IAAI,IAAI,GAAG;IACpB,QAAQ,CAAC,KAAK,IAAI,MAAM;CACzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CACnB,SAAS,EACT,QAAQ,SAAS,SAAS,EAC1B,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,MAAM,GAAG,QAAQ,EAC9B,eAAe,SAAS,WAAW,CAAC,IAAI,CAAC,GAAG;IAC1C,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,SAAS,EAAE,QAAQ,GAAG,KAAK,CAAC;IACnC,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,QAAQ,CAAC;IACvC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;CACnC,EACD,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,IACf,aAAa,eAAe,qBAc9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/signer/btc/verify.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,SAAS,EAA0B,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,GAAG,EAAW,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,CAEjE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAEjE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/signer/btc/verify.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,SAAS,EAA0B,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,GAAG,EAAW,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,CAEjE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAEjE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAWT"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { secp256k1 } from "@noble/curves/secp256k1";
|
|
2
|
-
import { ripemd160 } from "@noble/hashes/
|
|
3
|
-
import { sha256 } from "@noble/hashes/
|
|
2
|
+
import { ripemd160 } from "@noble/hashes/legacy.js";
|
|
3
|
+
import { sha256 } from "@noble/hashes/sha2.js";
|
|
4
4
|
import { magicHash } from "bitcoinjs-message";
|
|
5
5
|
import bs58check from "bs58check";
|
|
6
6
|
import { bytesConcat, bytesFrom } from "../../bytes/index.js";
|
|
@@ -29,5 +29,5 @@ export function btcPublicKeyFromP2pkhAddress(address) {
|
|
|
29
29
|
export function verifyMessageBtcEcdsa(message, signature, publicKey) {
|
|
30
30
|
const challenge = typeof message === "string" ? message : hexFrom(message).slice(2);
|
|
31
31
|
const rawSign = bytesFrom(signature, "base64").slice(1);
|
|
32
|
-
return secp256k1.verify(bytesFrom(rawSign), magicHash(challenge), publicKey);
|
|
32
|
+
return secp256k1.verify(bytesFrom(rawSign), magicHash(challenge), bytesFrom(publicKey));
|
|
33
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyCkbSecp256k1.d.ts","sourceRoot":"","sources":["../../../src/signer/ckb/verifyCkbSecp256k1.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAa,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,GAAG,EAAW,MAAM,oBAAoB,CAAC;AAGlD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAIxE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,
|
|
1
|
+
{"version":3,"file":"verifyCkbSecp256k1.d.ts","sourceRoot":"","sources":["../../../src/signer/ckb/verifyCkbSecp256k1.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAa,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,GAAG,EAAW,MAAM,oBAAoB,CAAC;AAGlD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAIxE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAYT"}
|
|
@@ -16,5 +16,7 @@ export function messageHashCkbSecp256k1(message) {
|
|
|
16
16
|
*/
|
|
17
17
|
export function verifyMessageCkbSecp256k1(message, signature, publicKey) {
|
|
18
18
|
const signatureBytes = bytesFrom(signature);
|
|
19
|
-
return secp256k1.verify(new secp256k1.Signature(numFrom(signatureBytes.slice(0, 32)), numFrom(signatureBytes.slice(32, 64)))
|
|
19
|
+
return secp256k1.verify(new secp256k1.Signature(numFrom(signatureBytes.slice(0, 32)), numFrom(signatureBytes.slice(32, 64)))
|
|
20
|
+
.addRecoveryBit(Number(numFrom(signatureBytes.slice(64, 65))))
|
|
21
|
+
.toBytes(), bytesFrom(messageHashCkbSecp256k1(message)), bytesFrom(publicKey));
|
|
20
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/molecule/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAW,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;GAGG;AACH,8BAAsB,MAAM;IAC1B;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,WAAW;QA6D1C;;;;WAIG;mBACQ,KAAK;QAMhB;;;;WAIG;iBACM,OAAO;QAMhB;;;;;WAKG;kBACO,WAAW,GAAG,OAAO;QAe/B;;;;WAIG;gBACK,GAAG;;QA3GX;;;;WAIG;qBACiB,MAAM;QAC1B;;;;;;;WAOG;kBACc,WAAW,GAAG,KAAK;QAKpC;;;;;;;WAOG;kBACc,SAAS,GAAG,OAAO;QAMpC;;;;;;;WAOG;0BACsB,SAAS,GAAG,OAAO;QAM5C;;;;;;;WAOG;gBACY,WAAW,GAAG,OAAO;;IA4DxC,QAAQ,CAAC,OAAO,IAAI,KAAK;IACzB,QAAQ,CAAC,IAAI,IAAI,GAAG;IACpB,QAAQ,CAAC,KAAK,IAAI,MAAM;CACzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CACnB,SAAS,EACT,QAAQ,SAAS,SAAS,EAC1B,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,MAAM,GAAG,QAAQ,EAC9B,eAAe,SAAS,WAAW,CAAC,IAAI,CAAC,GAAG;IAC1C,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,SAAS,EAAE,QAAQ,GAAG,KAAK,CAAC;IACnC,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,QAAQ,CAAC;IACvC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;CACnC,EACD,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/molecule/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAW,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;GAGG;AACH,8BAAsB,MAAM;IAC1B;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,WAAW;QA6D1C;;;;WAIG;mBACQ,KAAK;QAMhB;;;;WAIG;iBACM,OAAO;QAMhB;;;;;WAKG;kBACO,WAAW,GAAG,OAAO;QAe/B;;;;WAIG;gBACK,GAAG;;QA3GX;;;;WAIG;qBACiB,MAAM;QAC1B;;;;;;;WAOG;kBACc,WAAW,GAAG,KAAK;QAKpC;;;;;;;WAOG;kBACc,SAAS,GAAG,OAAO;QAMpC;;;;;;;WAOG;0BACsB,SAAS,GAAG,OAAO;QAM5C;;;;;;;WAOG;gBACY,WAAW,GAAG,OAAO;;IA4DxC,QAAQ,CAAC,OAAO,IAAI,KAAK;IACzB,QAAQ,CAAC,IAAI,IAAI,GAAG;IACpB,QAAQ,CAAC,KAAK,IAAI,MAAM;CACzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CACnB,SAAS,EACT,QAAQ,SAAS,SAAS,EAC1B,OAAO,SAAS,QAAQ,EACxB,IAAI,SAAS,MAAM,GAAG,QAAQ,EAC9B,eAAe,SAAS,WAAW,CAAC,IAAI,CAAC,GAAG;IAC1C,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,SAAS,EAAE,QAAQ,GAAG,KAAK,CAAC;IACnC,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,QAAQ,CAAC;IACvC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;CACnC,EACD,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,IACf,aAAa,eAAe,qBAc9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/signer/btc/verify.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,SAAS,EAA0B,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,GAAG,EAAW,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,CAEjE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAEjE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/signer/btc/verify.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,SAAS,EAA0B,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,GAAG,EAAW,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,CAEjE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAEjE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAWT"}
|
|
@@ -8,8 +8,8 @@ exports.btcP2pkhAddressFromPublicKey = btcP2pkhAddressFromPublicKey;
|
|
|
8
8
|
exports.btcPublicKeyFromP2pkhAddress = btcPublicKeyFromP2pkhAddress;
|
|
9
9
|
exports.verifyMessageBtcEcdsa = verifyMessageBtcEcdsa;
|
|
10
10
|
const secp256k1_1 = require("@noble/curves/secp256k1");
|
|
11
|
-
const
|
|
12
|
-
const
|
|
11
|
+
const legacy_js_1 = require("@noble/hashes/legacy.js");
|
|
12
|
+
const sha2_js_1 = require("@noble/hashes/sha2.js");
|
|
13
13
|
const bitcoinjs_message_1 = require("bitcoinjs-message");
|
|
14
14
|
const bs58check_1 = __importDefault(require("bs58check"));
|
|
15
15
|
const index_js_1 = require("../../bytes/index.js");
|
|
@@ -18,7 +18,7 @@ const index_js_2 = require("../../hex/index.js");
|
|
|
18
18
|
* @public
|
|
19
19
|
*/
|
|
20
20
|
function btcEcdsaPublicKeyHash(publicKey) {
|
|
21
|
-
return (0,
|
|
21
|
+
return (0, legacy_js_1.ripemd160)((0, sha2_js_1.sha256)((0, index_js_1.bytesFrom)(publicKey)));
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* @public
|
|
@@ -38,5 +38,5 @@ function btcPublicKeyFromP2pkhAddress(address) {
|
|
|
38
38
|
function verifyMessageBtcEcdsa(message, signature, publicKey) {
|
|
39
39
|
const challenge = typeof message === "string" ? message : (0, index_js_2.hexFrom)(message).slice(2);
|
|
40
40
|
const rawSign = (0, index_js_1.bytesFrom)(signature, "base64").slice(1);
|
|
41
|
-
return secp256k1_1.secp256k1.verify((0, index_js_1.bytesFrom)(rawSign), (0, bitcoinjs_message_1.magicHash)(challenge), publicKey);
|
|
41
|
+
return secp256k1_1.secp256k1.verify((0, index_js_1.bytesFrom)(rawSign), (0, bitcoinjs_message_1.magicHash)(challenge), (0, index_js_1.bytesFrom)(publicKey));
|
|
42
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyCkbSecp256k1.d.ts","sourceRoot":"","sources":["../../../src/signer/ckb/verifyCkbSecp256k1.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAa,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,GAAG,EAAW,MAAM,oBAAoB,CAAC;AAGlD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAIxE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,
|
|
1
|
+
{"version":3,"file":"verifyCkbSecp256k1.d.ts","sourceRoot":"","sources":["../../../src/signer/ckb/verifyCkbSecp256k1.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAa,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,GAAG,EAAW,MAAM,oBAAoB,CAAC;AAGlD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAIxE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAYT"}
|
|
@@ -20,5 +20,7 @@ function messageHashCkbSecp256k1(message) {
|
|
|
20
20
|
*/
|
|
21
21
|
function verifyMessageCkbSecp256k1(message, signature, publicKey) {
|
|
22
22
|
const signatureBytes = (0, index_js_1.bytesFrom)(signature);
|
|
23
|
-
return secp256k1_1.secp256k1.verify(new secp256k1_1.secp256k1.Signature((0, index_js_4.numFrom)(signatureBytes.slice(0, 32)), (0, index_js_4.numFrom)(signatureBytes.slice(32, 64)))
|
|
23
|
+
return secp256k1_1.secp256k1.verify(new secp256k1_1.secp256k1.Signature((0, index_js_4.numFrom)(signatureBytes.slice(0, 32)), (0, index_js_4.numFrom)(signatureBytes.slice(32, 64)))
|
|
24
|
+
.addRecoveryBit(Number((0, index_js_4.numFrom)(signatureBytes.slice(64, 65))))
|
|
25
|
+
.toBytes(), (0, index_js_1.bytesFrom)(messageHashCkbSecp256k1(message)), (0, index_js_1.bytesFrom)(publicKey));
|
|
24
26
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ckb-ccc/core",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.3",
|
|
4
4
|
"description": "Core of CCC - CKBer's Codebase",
|
|
5
5
|
"author": "Hanssen0 <hanssen0@hanssen0.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -36,38 +36,34 @@
|
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@eslint/js": "^9.
|
|
40
|
-
"@types/
|
|
41
|
-
"@types/ws": "^8.5.12",
|
|
39
|
+
"@eslint/js": "^9.34.0",
|
|
40
|
+
"@types/ws": "^8.18.1",
|
|
42
41
|
"copyfiles": "^2.4.1",
|
|
43
|
-
"eslint": "^9.
|
|
44
|
-
"eslint-config-prettier": "^10.1.
|
|
45
|
-
"eslint-plugin-prettier": "^5.4
|
|
46
|
-
"prettier": "^3.
|
|
47
|
-
"prettier-plugin-organize-imports": "^4.
|
|
48
|
-
"rimraf": "^5.0.
|
|
49
|
-
"
|
|
50
|
-
"typescript": "^
|
|
51
|
-
"
|
|
52
|
-
"vitest": "^3.2.2"
|
|
42
|
+
"eslint": "^9.34.0",
|
|
43
|
+
"eslint-config-prettier": "^10.1.8",
|
|
44
|
+
"eslint-plugin-prettier": "^5.5.4",
|
|
45
|
+
"prettier": "^3.6.2",
|
|
46
|
+
"prettier-plugin-organize-imports": "^4.2.0",
|
|
47
|
+
"rimraf": "^5.0.10",
|
|
48
|
+
"typescript": "^5.9.2",
|
|
49
|
+
"typescript-eslint": "^7.18.0",
|
|
50
|
+
"vitest": "^3.2.4"
|
|
53
51
|
},
|
|
54
52
|
"publishConfig": {
|
|
55
53
|
"access": "public"
|
|
56
54
|
},
|
|
57
55
|
"dependencies": {
|
|
58
|
-
"@joyid/ckb": "^1.1.
|
|
56
|
+
"@joyid/ckb": "^1.1.2",
|
|
59
57
|
"@noble/ciphers": "^0.5.3",
|
|
60
|
-
"@noble/curves": "^1.
|
|
61
|
-
"@noble/hashes": "^1.
|
|
62
|
-
"abort-controller": "^3.0.0",
|
|
58
|
+
"@noble/curves": "^1.9.7",
|
|
59
|
+
"@noble/hashes": "^1.8.0",
|
|
63
60
|
"bech32": "^2.0.0",
|
|
64
61
|
"bitcoinjs-message": "^2.2.0",
|
|
65
62
|
"bs58check": "^4.0.0",
|
|
66
63
|
"buffer": "^6.0.3",
|
|
67
|
-
"
|
|
68
|
-
"ethers": "^6.13.1",
|
|
64
|
+
"ethers": "^6.15.0",
|
|
69
65
|
"isomorphic-ws": "^5.0.0",
|
|
70
|
-
"ws": "^8.18.
|
|
66
|
+
"ws": "^8.18.3"
|
|
71
67
|
},
|
|
72
68
|
"scripts": {
|
|
73
69
|
"test": "vitest",
|
package/src/signer/btc/verify.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { secp256k1 } from "@noble/curves/secp256k1";
|
|
2
|
-
import { ripemd160 } from "@noble/hashes/
|
|
3
|
-
import { sha256 } from "@noble/hashes/
|
|
2
|
+
import { ripemd160 } from "@noble/hashes/legacy.js";
|
|
3
|
+
import { sha256 } from "@noble/hashes/sha2.js";
|
|
4
4
|
import { magicHash } from "bitcoinjs-message";
|
|
5
5
|
import bs58check from "bs58check";
|
|
6
6
|
import { Bytes, BytesLike, bytesConcat, bytesFrom } from "../../bytes/index.js";
|
|
@@ -45,5 +45,9 @@ export function verifyMessageBtcEcdsa(
|
|
|
45
45
|
|
|
46
46
|
const rawSign = bytesFrom(signature, "base64").slice(1);
|
|
47
47
|
|
|
48
|
-
return secp256k1.verify(
|
|
48
|
+
return secp256k1.verify(
|
|
49
|
+
bytesFrom(rawSign),
|
|
50
|
+
magicHash(challenge),
|
|
51
|
+
bytesFrom(publicKey),
|
|
52
|
+
);
|
|
49
53
|
}
|
|
@@ -26,7 +26,9 @@ export function verifyMessageCkbSecp256k1(
|
|
|
26
26
|
new secp256k1.Signature(
|
|
27
27
|
numFrom(signatureBytes.slice(0, 32)),
|
|
28
28
|
numFrom(signatureBytes.slice(32, 64)),
|
|
29
|
-
)
|
|
29
|
+
)
|
|
30
|
+
.addRecoveryBit(Number(numFrom(signatureBytes.slice(64, 65))))
|
|
31
|
+
.toBytes(),
|
|
30
32
|
bytesFrom(messageHashCkbSecp256k1(message)),
|
|
31
33
|
bytesFrom(publicKey),
|
|
32
34
|
);
|