From c859d4af2afd973974ea766f37295d974ec89daf Mon Sep 17 00:00:00 2001 From: homura Date: Mon, 22 Jul 2024 18:49:58 +0900 Subject: [PATCH 1/2] use the ckb2021 address format --- package.json | 2 +- src/Ckb.js | 25 +++++++++++++++++++------ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 2b1a036..f11ae2e 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "license": "Apache-2.0", "dependencies": { "@ledgerhq/hw-transport": "^5.9.0", - "bech32": "1.1.4", + "bech32": "2.0.0", "bip32-path": "0.4.2", "blake2b-wasm": "2.1.0" }, diff --git a/src/Ckb.js b/src/Ckb.js index 81c4c7a..36203b4 100644 --- a/src/Ckb.js +++ b/src/Ckb.js @@ -4,7 +4,7 @@ import type Transport from "@ledgerhq/hw-transport"; import BIPPath from "bip32-path"; import * as blockchain from "./annotated"; import Blake2b from "blake2b-wasm"; -import * as bech32 from "bech32"; +import { bech32m } from "bech32"; /** * Nervos API @@ -71,12 +71,25 @@ export default class Ckb { .subarray(0, 20) ); - const addr_contents = Buffer.alloc(22); - addr_contents.fill("0100", 0, 2, "hex"); - addr_contents.fill(lockArg, 2, 22); - const addr = bech32.encode( + const addr_contents: number[] = [ + // CKB 2021 address full format prefix + ...0x00, + // SECP256K1_BLAKE160 code hash + ...[ + 155, 215, 224, 111, 62, 207, 75, + 224, 242, 252, 210, 24, 139, 35, + 241, 185, 252, 200, 142, 93, 75, + 101, 168, 99, 123, 23, 114, 59, + 189, 163, 204, 232 + ], + // SECP256K1_BLAKE160 hash type + 0b0000000_1, + // lock args + ...lockArg + ]; + const addr = bech32m.encode( testnet ? "ckt" : "ckb", - bech32.toWords(addr_contents) + bech32m.toWords(addr_contents) ); return { From 03ee4d3bae8f7ab05795d47711d496aa9a5956fa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Jul 2024 09:53:20 +0000 Subject: [PATCH 2/2] Bump semver from 5.7.1 to 5.7.2 Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md) - [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2) --- updated-dependencies: - dependency-name: semver dependency-type: indirect ... Signed-off-by: dependabot[bot] --- yarn.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/yarn.lock b/yarn.lock index acff8d4..3e0efc8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1168,10 +1168,10 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" -bech32@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" - integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== +bech32@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-2.0.0.tgz#078d3686535075c8c79709f054b1b226a133b355" + integrity sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg== before-after-hook@^2.0.0: version "2.1.0" @@ -3187,9 +3187,9 @@ safe-regex@^1.1.0: ret "~0.1.10" semver@^5.3.0, semver@^5.5.0, semver@^5.5.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== set-blocking@^2.0.0: version "2.0.0"