@ckb-firewall/cli 0.2.3 → 0.3.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.
Files changed (40) hide show
  1. package/dist/commands/check.d.ts.map +1 -1
  2. package/dist/commands/check.js +21 -8
  3. package/dist/commands/check.js.map +1 -1
  4. package/dist/commands/execute.d.ts.map +1 -1
  5. package/dist/commands/execute.js +82 -41
  6. package/dist/commands/execute.js.map +1 -1
  7. package/dist/commands/import.d.ts.map +1 -1
  8. package/dist/commands/import.js +27 -11
  9. package/dist/commands/import.js.map +1 -1
  10. package/dist/commands/sign.d.ts +5 -2
  11. package/dist/commands/sign.d.ts.map +1 -1
  12. package/dist/commands/sign.js +103 -41
  13. package/dist/commands/sign.js.map +1 -1
  14. package/dist/commands/vote.d.ts +4 -1
  15. package/dist/commands/vote.d.ts.map +1 -1
  16. package/dist/commands/vote.js +56 -29
  17. package/dist/commands/vote.js.map +1 -1
  18. package/dist/index.js +12 -6
  19. package/dist/index.js.map +1 -1
  20. package/dist/lib/blkl.d.ts.map +1 -1
  21. package/dist/lib/blkl.js +3 -0
  22. package/dist/lib/blkl.js.map +1 -1
  23. package/dist/lib/defaults.d.ts +6 -0
  24. package/dist/lib/defaults.d.ts.map +1 -1
  25. package/dist/lib/defaults.js +33 -12
  26. package/dist/lib/defaults.js.map +1 -1
  27. package/dist/lib/proposals.d.ts +1 -1
  28. package/dist/lib/proposals.d.ts.map +1 -1
  29. package/dist/lib/proposals.js +40 -9
  30. package/dist/lib/proposals.js.map +1 -1
  31. package/dist/lib/registry.js +1 -1
  32. package/dist/lib/registry.js.map +1 -1
  33. package/dist/lib/rpc.d.ts.map +1 -1
  34. package/dist/lib/rpc.js +11 -0
  35. package/dist/lib/rpc.js.map +1 -1
  36. package/dist/lib/witness.d.ts +4 -1
  37. package/dist/lib/witness.d.ts.map +1 -1
  38. package/dist/lib/witness.js +24 -8
  39. package/dist/lib/witness.js.map +1 -1
  40. package/package.json +2 -2
@@ -1,29 +1,30 @@
1
+ import { secp256k1 } from "@noble/curves/secp256k1.js";
1
2
  export const TESTNET_RPC_URL = "https://testnet.ckb.dev";
2
3
  // v2 registry spec: matches registry cell dep by type_id_value (bytes 34..66 of 66-byte v2 type args).
3
4
  // Survives governance-lock upgrades — update only typeIdValue if the registry cell is re-bootstrapped.
4
5
  export const TESTNET_REGISTRY_SPEC = {
5
- codeHash: "0xbbfbcf51b88c57c9c1d6414de4a7e4f9dae133625dfab71588c8bc5d05b71096",
6
+ codeHash: "0x5812b3f0f68ded4d61e8f12117caa011f295dbe88a29c07b86c9caec14bd6c55",
6
7
  hashType: "type",
7
- typeIdValue: "0xcd5d844661356e465c27b7d693e84f20e884da63153d2f6f40381ceb0807761c",
8
+ typeIdValue: "0xc70a072cdfb7d25a5e92d27a47f9c8a0f30513de683e56e16d55ae30775f3951",
8
9
  required: true,
9
10
  };
10
11
  // Live registry cell outpoint on testnet. Moves after each governance update.
11
12
  export const TESTNET_REGISTRY_CELL = {
12
- txHash: "0x0e96b7c0bd201654b854cf4d1937e1c51b9f9802e961d637d4ea61cd5b46efb3",
13
+ txHash: "0x685dc49bfe466a198a01abd94117f5fe7dd79f28570d6ceba744616d7aa51eb4",
13
14
  index: 0,
14
15
  };
15
- // Deployed contract binary cells (2026-05-20 deployment).
16
+ // Deployed contract binary cells (2026-05-26 deployment).
16
17
  export const TESTNET_CONTRACT_OUTPOINTS = {
17
18
  firewallLock: {
18
19
  txHash: "0x128193cc2d547b224ccf10a6e299cb0749c633c5f9354ff5a9a5fd3e894318d2",
19
20
  index: 0,
20
21
  },
21
22
  blacklistRegistry: {
22
- txHash: "0x128193cc2d547b224ccf10a6e299cb0749c633c5f9354ff5a9a5fd3e894318d2",
23
+ txHash: "0x410864a6815cec51cbc3a86dfe5cf7c1ff62f1c56648ea0a0bdb2feeb6831973",
23
24
  index: 1,
24
25
  },
25
26
  governanceLock: {
26
- txHash: "0xe2129b256b7dd73606a33945000dcd7f1111bb9d1f8d58a21e4b8277d1187f8e",
27
+ txHash: "0x410864a6815cec51cbc3a86dfe5cf7c1ff62f1c56648ea0a0bdb2feeb6831973",
27
28
  index: 0,
28
29
  },
29
30
  spawnAwareSecp256k1: {
@@ -37,14 +38,34 @@ export const SECP256K1_DEP_GROUP = {
37
38
  index: 0,
38
39
  };
39
40
  // Governance committee — 5 compressed secp256k1 pubkeys (33 bytes each).
40
- // Corresponding private keys are [0x01*32] through [0x05*32].
41
+ // WARNING: These are TESTNET-ONLY keys. NEVER use them for mainnet or any
42
+ // deployment with real value.
41
43
  export const TESTNET_GOVERNANCE_PUBKEYS = [
42
- new Uint8Array([0x03, 0x1b, 0x84, 0xc5, 0x56, 0x7b, 0x12, 0x64, 0x40, 0x99, 0x5d, 0x3e, 0xd5, 0xaa, 0xba, 0x05, 0x65, 0xd7, 0x1e, 0x18, 0x34, 0x60, 0x48, 0x19, 0xff, 0x9c, 0x17, 0xf5, 0xe9, 0xd5, 0xdd, 0x07, 0x8f]),
43
- new Uint8Array([0x02, 0x4d, 0x4b, 0x6c, 0xd1, 0x36, 0x10, 0x32, 0xca, 0x9b, 0xd2, 0xae, 0xb9, 0xd9, 0x00, 0xaa, 0x4d, 0x45, 0xd9, 0xea, 0xd8, 0x0a, 0xc9, 0x42, 0x33, 0x74, 0xc4, 0x51, 0xa7, 0x25, 0x4d, 0x07, 0x66]),
44
- new Uint8Array([0x02, 0x53, 0x1f, 0xe6, 0x06, 0x81, 0x34, 0x50, 0x3d, 0x27, 0x23, 0x13, 0x32, 0x27, 0xc8, 0x67, 0xac, 0x8f, 0xa6, 0xc8, 0x3c, 0x53, 0x7e, 0x9a, 0x44, 0xc3, 0xc5, 0xbd, 0xbd, 0xcb, 0x1f, 0xe3, 0x37]),
45
- new Uint8Array([0x03, 0x46, 0x27, 0x79, 0xad, 0x4a, 0xad, 0x39, 0x51, 0x46, 0x14, 0x75, 0x1a, 0x71, 0x08, 0x5f, 0x2f, 0x10, 0xe1, 0xc7, 0xa5, 0x93, 0xe4, 0xe0, 0x30, 0xef, 0xb5, 0xb8, 0x72, 0x1c, 0xe5, 0x5b, 0x0b]),
46
- new Uint8Array([0x03, 0x62, 0xc0, 0xa0, 0x46, 0xda, 0xcc, 0xe8, 0x6d, 0xdd, 0x03, 0x43, 0xc6, 0xd3, 0xc7, 0xc7, 0x9c, 0x22, 0x08, 0xba, 0x0d, 0x9c, 0x9c, 0xf2, 0x4a, 0x6d, 0x04, 0x6d, 0x21, 0xd2, 0x1f, 0x90, 0xf7]),
44
+ new Uint8Array([0x03, 0xc6, 0x0a, 0xaf, 0x53, 0x51, 0x94, 0xf8, 0x0f, 0x45, 0xdc, 0x59, 0xe8, 0xe9, 0xd0, 0xc4, 0x37, 0x35, 0xc6, 0xa1, 0xf2, 0xa3, 0x59, 0xeb, 0x9e, 0x42, 0xcf, 0xcf, 0x95, 0xab, 0x76, 0x3d, 0xaf]),
45
+ new Uint8Array([0x03, 0xdd, 0xee, 0xa1, 0x9e, 0xe4, 0x52, 0xac, 0xae, 0xc2, 0xfe, 0x23, 0xbe, 0x86, 0xdf, 0xef, 0x14, 0x8e, 0xb0, 0x06, 0x15, 0x70, 0x2b, 0xbd, 0x4f, 0x28, 0x7d, 0xa6, 0x6a, 0x19, 0x54, 0x24, 0x38]),
46
+ new Uint8Array([0x03, 0x8f, 0x5f, 0xf1, 0xcb, 0xbb, 0x8e, 0x14, 0x00, 0x68, 0xf4, 0x9f, 0x67, 0x18, 0x3d, 0xb9, 0x5e, 0x06, 0xba, 0xa2, 0x1c, 0xcf, 0x06, 0x97, 0x59, 0x89, 0x35, 0x0b, 0x8d, 0x4f, 0xa9, 0xf2, 0xa0]),
47
+ new Uint8Array([0x03, 0x99, 0x2a, 0xc4, 0xc9, 0x37, 0xd1, 0xe8, 0x80, 0xcb, 0x47, 0x9b, 0x55, 0x39, 0x15, 0x85, 0xf2, 0xad, 0x88, 0x83, 0x5a, 0xa9, 0xac, 0xc7, 0xcd, 0x82, 0x2f, 0x91, 0x25, 0x62, 0xd1, 0x63, 0x22]),
48
+ new Uint8Array([0x02, 0x42, 0x93, 0x3e, 0xbb, 0x42, 0x76, 0xe5, 0x82, 0x0c, 0xab, 0xd2, 0xc0, 0x68, 0x45, 0xa5, 0x8a, 0xcb, 0x8f, 0x98, 0x1f, 0xcd, 0x79, 0xa2, 0x78, 0x39, 0x86, 0xe5, 0x51, 0x34, 0xc3, 0xfa, 0xc2]),
47
49
  ];
48
50
  export const TESTNET_GOVERNANCE_THRESHOLD = 3;
49
51
  export const TESTNET_GOVERNANCE_VALIDATOR_COUNT = 5;
52
+ // Known trivial private keys (0x01*32 through 0x05*32) used for testnet bootstrapping.
53
+ // Any deployment using these keys is insecure — anyone can read this source and take control.
54
+ const TRIVIAL_TEST_PRIVKEYS = Array.from({ length: 5 }, (_, i) => new Uint8Array(32).fill(i + 1));
55
+ /**
56
+ * Emits a CRITICAL warning to stderr if any of the configured governance pubkeys
57
+ * correspond to known trivial test private keys (0x01*32 … 0x05*32).
58
+ * Call this before any governance write operation.
59
+ */
60
+ export function warnIfTrivialTestKeys(pubkeys) {
61
+ const trivialPubkeys = TRIVIAL_TEST_PRIVKEYS.map((priv) => secp256k1.getPublicKey(priv, true));
62
+ const hasTrivial = pubkeys.some((pub) => trivialPubkeys.some((tp) => tp.length === pub.length && tp.every((b, i) => b === pub[i])));
63
+ if (hasTrivial) {
64
+ process.stderr.write("\n⚠️ CRITICAL SECURITY WARNING ⚠️\n" +
65
+ "The governance committee contains keys derived from trivial test private keys.\n" +
66
+ "Any attacker who reads this repository's source code can sign governance proposals.\n" +
67
+ "DO NOT use this deployment for any real-value or production purpose.\n" +
68
+ "Rotate to freshly generated keys before any non-test use.\n\n");
69
+ }
70
+ }
50
71
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/lib/defaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/lib/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGvD,MAAM,CAAC,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAEzD,uGAAuG;AACvG,uGAAuG;AACvG,MAAM,CAAC,MAAM,qBAAqB,GAAqB;IACrD,QAAQ,EACN,oEAAoE;IACtE,QAAQ,EAAE,MAAM;IAChB,WAAW,EACT,oEAAoE;IACtE,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM,EACJ,oEAAoE;IACtE,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,0DAA0D;AAC1D,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,YAAY,EAAE;QACZ,MAAM,EACJ,oEAAoE;QACtE,KAAK,EAAE,CAAC;KACT;IACD,iBAAiB,EAAE;QACjB,MAAM,EACJ,oEAAoE;QACtE,KAAK,EAAE,CAAC;KACT;IACD,cAAc,EAAE;QACd,MAAM,EACJ,oEAAoE;QACtE,KAAK,EAAE,CAAC;KACT;IACD,mBAAmB,EAAE;QACnB,MAAM,EACJ,oEAAoE;QACtE,KAAK,EAAE,CAAC;KACT;CACF,CAAC;AAEF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,EACJ,oEAAoE;IACtE,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,yEAAyE;AACzE,0EAA0E;AAC1E,8BAA8B;AAC9B,MAAM,CAAC,MAAM,0BAA0B,GAAiB;IACtD,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtN,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtN,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtN,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtN,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;CACvN,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAC9C,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC;AAEpD,uFAAuF;AACvF,8FAA8F;AAC9F,MAAM,qBAAqB,GAAiB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC7E,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAC/B,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAqB;IACzD,MAAM,cAAc,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACxD,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CACnC,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CACtC,cAAc,CAAC,IAAI,CACjB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CACrE,CACF,CAAC;IACF,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sCAAsC;YACtC,kFAAkF;YAClF,uFAAuF;YACvF,wEAAwE;YACxE,+DAA+D,CAChE,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -60,6 +60,6 @@ export declare function countYes(votes: ProposalVote[]): number;
60
60
  export declare function isReviewWindowPassed(proposal: Proposal): boolean;
61
61
  export declare function isVoteApproved(proposal: Proposal): boolean;
62
62
  export declare function isReadyToExecute(proposal: Proposal): boolean;
63
- export declare function signingMessage(proposal: Proposal): Uint8Array;
63
+ export declare function signingMessage(proposal: Proposal, oldRoot: Uint8Array, newRoot: Uint8Array, reviewWindowEndMs: bigint): Uint8Array;
64
64
  export {};
65
65
  //# sourceMappingURL=proposals.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proposals.d.ts","sourceRoot":"","sources":["../../src/lib/proposals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proposals.d.ts","sourceRoot":"","sources":["../../src/lib/proposals.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,13 @@ export function getProposalsDir() {
13
13
  return dir;
14
14
  }
15
15
  function proposalPath(dir, proposalIdHash) {
16
- return join(dir, `${proposalIdHash.slice(2, 14)}.json`);
16
+ const short = proposalIdHash.startsWith("0x")
17
+ ? proposalIdHash.slice(2, 14)
18
+ : proposalIdHash.slice(0, 12);
19
+ if (!/^[0-9a-f]{12}$/i.test(short)) {
20
+ throw new Error(`Invalid proposalIdHash format: "${proposalIdHash}" — expected 0x-prefixed hex.`);
21
+ }
22
+ return join(dir, `${short}.json`);
17
23
  }
18
24
  export function saveProposal(proposal) {
19
25
  const dir = getProposalsDir();
@@ -54,10 +60,23 @@ export function loadProposal(id) {
54
60
  }
55
61
  export function listProposals() {
56
62
  const dir = getProposalsDir();
57
- return readdirSync(dir)
58
- .filter((f) => f.endsWith(".json"))
59
- .map((f) => JSON.parse(readFileSync(join(dir, f), "utf8")))
60
- .sort((a, b) => a.submittedAt.localeCompare(b.submittedAt));
63
+ const results = [];
64
+ for (const f of readdirSync(dir).filter((f) => f.endsWith(".json"))) {
65
+ try {
66
+ const p = validateProposalSchema(JSON.parse(readFileSync(join(dir, f), "utf8")));
67
+ // Auto-reject proposals whose review window has passed without reaching the vote threshold.
68
+ if ((p.status === "pending-review" || p.status === "voting") &&
69
+ isReviewWindowPassed(p) && !isVoteApproved(p)) {
70
+ p.status = "rejected";
71
+ saveProposal(p);
72
+ }
73
+ results.push(p);
74
+ }
75
+ catch {
76
+ process.stderr.write(`Warning: skipping malformed proposal file: ${f}\n`);
77
+ }
78
+ }
79
+ return results.sort((a, b) => a.submittedAt.localeCompare(b.submittedAt));
61
80
  }
62
81
  // Canonical representation used as input to proposalIdHash.
63
82
  function proposalCanonical(fields) {
@@ -111,13 +130,25 @@ export function isReadyToExecute(proposal) {
111
130
  isVoteApproved(proposal) &&
112
131
  proposal.signatures.length >= SIG_THRESHOLD);
113
132
  }
114
- // The message each governance signer signs (domain-separated, 64 bytes input).
115
- export function signingMessage(proposal) {
133
+ // The message each governance signer signs (GOV1 v3, 136-byte preimage).
134
+ // proposal_id_hash(32) || vote_digest_hash(32) || old_root(32) || new_root(32) || review_window_end_ms(8 LE u64)
135
+ export function signingMessage(proposal, oldRoot, newRoot, reviewWindowEndMs) {
136
+ if (oldRoot.length !== 32)
137
+ throw new Error(`oldRoot must be 32 bytes, got ${oldRoot.length}`);
138
+ if (newRoot.length !== 32)
139
+ throw new Error(`newRoot must be 32 bytes, got ${newRoot.length}`);
116
140
  const proposalBytes = hexToBytes(proposal.proposalIdHash);
117
141
  const voteBytes = hexToBytes(proposal.voteDigestHash);
118
- const combined = new Uint8Array(proposalBytes.length + voteBytes.length);
142
+ const combined = new Uint8Array(136);
119
143
  combined.set(proposalBytes, 0);
120
- combined.set(voteBytes, proposalBytes.length);
144
+ combined.set(voteBytes, 32);
145
+ combined.set(oldRoot, 64);
146
+ combined.set(newRoot, 96);
147
+ let ms = reviewWindowEndMs;
148
+ for (let i = 0; i < 8; i++) {
149
+ combined[128 + i] = Number(ms & 0xffn);
150
+ ms >>= 8n;
151
+ }
121
152
  return ckbBlake2b(combined);
122
153
  }
123
154
  //# sourceMappingURL=proposals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proposals.js","sourceRoot":"","sources":["../../src/lib/proposals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1F,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAqDnD,oFAAoF;AACpF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;AAEhE,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;IAC1D,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,GAAW,EAAE,cAAsB;IACvD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAkB;IAC7C,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;IAC9B,aAAa,CACX,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC1C,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EACxC,MAAM,CACP,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAa;IAC3C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,CAAC,GAAG,IAA+B,CAAC;IAC1C,MAAM,eAAe,GAAuB;QAC1C,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW;QACzD,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU;QACjE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,gBAAgB;KAChE,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,mDAAmD,GAAG,GAAG,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,IAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;IAC9B,gDAAgD;IAChD,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,wBAAwB,EAAE,wCAAwC,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,kBAAkB,GAAG,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;IAC9B,OAAO,WAAW,CAAC,GAAG,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAa,CAAC;SACtE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,4DAA4D;AAC5D,SAAS,iBAAiB,CAAC,MAU1B;IACC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE;QACvC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC,CAAC;IACH,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAA+C;IACnF,MAAM,IAAI,GAAG,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,kBAAkB,CAChC,cAAsB,EACtB,IAAgB,EAChB,SAAiB,EACjB,MAAc;IAEd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,MAAM,EAAE,mBAAmB;QAC3B,cAAc;QACd,IAAI;QACJ,SAAS;QACT,MAAM;KACP,CAAC,CAAC;IACH,OAAO,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAqB;IACzD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CACxB,KAAK;SACF,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAChD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CACpG,CAAC;IACF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAqB;IAC5C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAkB;IACrD,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAkB;IAC/C,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAkB;IACjD,OAAO,CACL,oBAAoB,CAAC,QAAQ,CAAC;QAC9B,cAAc,CAAC,QAAQ,CAAC;QACxB,QAAQ,CAAC,UAAU,CAAC,MAAM,IAAI,aAAa,CAC5C,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAAC,QAAkB;IAC/C,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACzE,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAC/B,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"proposals.js","sourceRoot":"","sources":["../../src/lib/proposals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1F,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAqDnD,oFAAoF;AACpF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;AAEhE,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;IAC1D,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,GAAW,EAAE,cAAsB;IACvD,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC;QAC3C,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7B,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,cAAc,+BAA+B,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAkB;IAC7C,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;IAC9B,aAAa,CACX,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC1C,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EACxC,MAAM,CACP,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAa;IAC3C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,CAAC,GAAG,IAA+B,CAAC;IAC1C,MAAM,eAAe,GAAuB;QAC1C,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW;QACzD,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU;QACjE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,gBAAgB;KAChE,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,mDAAmD,GAAG,GAAG,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,IAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;IAC9B,gDAAgD;IAChD,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,wBAAwB,EAAE,wCAAwC,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,kBAAkB,GAAG,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACpE,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YACjF,4FAA4F;YAC5F,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,gBAAgB,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;gBACxD,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClD,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC;gBACtB,YAAY,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,IAAI,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,4DAA4D;AAC5D,SAAS,iBAAiB,CAAC,MAU1B;IACC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE;QACvC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC,CAAC;IACH,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAA+C;IACnF,MAAM,IAAI,GAAG,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,kBAAkB,CAChC,cAAsB,EACtB,IAAgB,EAChB,SAAiB,EACjB,MAAc;IAEd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,MAAM,EAAE,mBAAmB;QAC3B,cAAc;QACd,IAAI;QACJ,SAAS;QACT,MAAM;KACP,CAAC,CAAC;IACH,OAAO,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAqB;IACzD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CACxB,KAAK;SACF,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAChD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CACpG,CAAC;IACF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAqB;IAC5C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAkB;IACrD,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAkB;IAC/C,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAkB;IACjD,OAAO,CACL,oBAAoB,CAAC,QAAQ,CAAC;QAC9B,cAAc,CAAC,QAAQ,CAAC;QACxB,QAAQ,CAAC,UAAU,CAAC,MAAM,IAAI,aAAa,CAC5C,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,iHAAiH;AACjH,MAAM,UAAU,cAAc,CAC5B,QAAkB,EAClB,OAAmB,EACnB,OAAmB,EACnB,iBAAyB;IAEzB,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9F,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9F,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IACrC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAC/B,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC5B,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1B,IAAI,EAAE,GAAG,iBAAiB,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;QACvC,EAAE,KAAK,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC"}
@@ -10,7 +10,7 @@ import { findLiveRegistryCell } from "./rpc.js";
10
10
  // For custom registries, callers always pass an explicit --registry-tx and this falls through
11
11
  // to the configured outpoint immediately.
12
12
  export async function resolveRegistryOutpoint(rpcUrl, registryTx, registryIndex) {
13
- if (rpcUrl === TESTNET_RPC_URL && registryTx === TESTNET_REGISTRY_CELL.txHash) {
13
+ if (rpcUrl.replace(/\/$/, "") === TESTNET_RPC_URL && registryTx === TESTNET_REGISTRY_CELL.txHash) {
14
14
  try {
15
15
  const found = await findLiveRegistryCell(rpcUrl, TESTNET_REGISTRY_SPEC);
16
16
  return { txHash: found.txHash, index: found.index };
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/lib/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,oDAAoD;AACpD,EAAE;AACF,6FAA6F;AAC7F,+FAA+F;AAC/F,2FAA2F;AAC3F,8DAA8D;AAC9D,EAAE;AACF,8FAA8F;AAC9F,0CAA0C;AAC1C,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAc,EACd,UAAkB,EAClB,aAAqB;IAErB,IAAI,MAAM,KAAK,eAAe,IAAI,UAAU,KAAK,qBAAqB,CAAC,MAAM,EAAE,CAAC;QAC9E,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;YACxE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;QAC1E,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/lib/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,oDAAoD;AACpD,EAAE;AACF,6FAA6F;AAC7F,+FAA+F;AAC/F,2FAA2F;AAC3F,8DAA8D;AAC9D,EAAE;AACF,8FAA8F;AAC9F,0CAA0C;AAC1C,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAc,EACd,UAAkB,EAClB,aAAqB;IAErB,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,eAAe,IAAI,UAAU,KAAK,qBAAqB,CAAC,MAAM,EAAE,CAAC;QACjG,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;YACxE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;QAC1E,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;AACtD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/lib/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AA2D1D,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACrE;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,QAAQ,CAAC,CA+BnB;AAOD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CA2C1D"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/lib/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AA2E1D,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACrE;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,QAAQ,CAAC,CA+BnB;AAOD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CA2C1D"}
package/dist/lib/rpc.js CHANGED
@@ -6,7 +6,18 @@ function rpcTimeoutMs() {
6
6
  const parsed = Number.parseInt(raw, 10);
7
7
  return Number.isFinite(parsed) && parsed > 0 ? parsed : DEFAULT_RPC_TIMEOUT_MS;
8
8
  }
9
+ function assertHttps(url, method) {
10
+ if (!url.startsWith("https://") &&
11
+ !url.startsWith("http://localhost") &&
12
+ !url.startsWith("http://127.0.0.1") &&
13
+ !url.startsWith("http://[::1]")) {
14
+ throw new Error(`RPC ${method} requires HTTPS for remote URLs (got: ${url}). ` +
15
+ "Registry data integrity cannot be guaranteed over plaintext HTTP. " +
16
+ "Use an https:// URL or a local node (localhost / 127.0.0.1 / [::1]).");
17
+ }
18
+ }
9
19
  async function call(url, method, params) {
20
+ assertHttps(url, method);
10
21
  const timeoutMs = rpcTimeoutMs();
11
22
  const controller = new AbortController();
12
23
  const timeout = setTimeout(() => controller.abort(), timeoutMs);
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/lib/rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/lib/rpc.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,10 @@ export interface Gov1BindingParams {
5
5
  oldRoot: Uint8Array;
6
6
  newRoot: Uint8Array;
7
7
  }
8
- export declare function buildGov1WitnessV2(params: Gov1BindingParams): Uint8Array;
8
+ export declare function buildGov1WitnessV3(params: Gov1BindingParams & {
9
+ reviewWindowEndMs: bigint;
10
+ }): Uint8Array;
11
+ export declare function encodeAbsoluteTimestampSince(timestampMs: bigint): string;
9
12
  export declare function buildGovernanceSigWitness(signers: Array<{
10
13
  index: number;
11
14
  sig: Uint8Array;
@@ -1 +1 @@
1
- {"version":3,"file":"witness.d.ts","sourceRoot":"","sources":["../../src/lib/witness.ts"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAEvD;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,UAAU,CAAC;IAC3B,cAAc,EAAE,UAAU,CAAC;IAC3B,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,UAAU,CAAC;CACrB;AAID,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,UAAU,CAmBxE;AAID,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,UAAU,CAAA;CAAE,CAAC,GAAG,UAAU,CAiBxG;AAmBD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,GAAG,UAAU,CAqBb;AAID,wBAAgB,kBAAkB,CAAC,KAAK,GAAE,CAAC,GAAG,CAAC,GAAG,CAAK,GAAG,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,UAAU,CAAA;CAAE,CAAC,CAUlG"}
1
+ {"version":3,"file":"witness.d.ts","sourceRoot":"","sources":["../../src/lib/witness.ts"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAEvD;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,UAAU,CAAC;IAC3B,cAAc,EAAE,UAAU,CAAC;IAC3B,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,UAAU,CAAC;CACrB;AAKD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,iBAAiB,GAAG;IAAE,iBAAiB,EAAE,MAAM,CAAA;CAAE,GACxD,UAAU,CAyBZ;AAID,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAKxE;AAID,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,UAAU,CAAA;CAAE,CAAC,GAAG,UAAU,CAiBxG;AAmBD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,GAAG,UAAU,CAqBb;AAKD,wBAAgB,kBAAkB,CAAC,KAAK,GAAE,CAAC,GAAG,CAAC,GAAG,CAAK,GAAG,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,UAAU,CAAA;CAAE,CAAC,CAUlG"}
@@ -3,9 +3,10 @@ const CKB_PERSONALIZATION = new TextEncoder().encode("ckb-default-hash");
3
3
  export function ckbBlake2b(data) {
4
4
  return blake2b(data, { personalization: CKB_PERSONALIZATION, dkLen: 32 });
5
5
  }
6
- // GOV1 v2binding commitment only, no signers (133 bytes).
7
- // Signers go in WitnessArgs.lock as a separate governance-sig-witness.
8
- export function buildGov1WitnessV2(params) {
6
+ // GOV1 v3141 bytes. governance-lock verifies that the input's `since` field encodes an
7
+ // absolute median-time-past timestamp >= reviewWindowEndMs, enforcing the review window at
8
+ // consensus level. reviewWindowEndMs is included in the signing preimage to prevent tampering.
9
+ export function buildGov1WitnessV3(params) {
9
10
  for (const [name, val] of [
10
11
  ["proposalIdHash", params.proposalIdHash],
11
12
  ["voteDigestHash", params.voteDigestHash],
@@ -15,14 +16,14 @@ export function buildGov1WitnessV2(params) {
15
16
  if (val.length !== 32)
16
17
  throw new Error(`${name} must be exactly 32 bytes, got ${val.length}`);
17
18
  }
18
- // 4 magic + 1 version + 32*4 hashes = 133 bytes
19
- const buf = new Uint8Array(133);
19
+ // 4 magic + 1 version + 32*4 hashes + 8 reviewWindowEndMs = 141 bytes
20
+ const buf = new Uint8Array(141);
20
21
  let off = 0;
21
22
  buf[off++] = 0x47;
22
23
  buf[off++] = 0x4f;
23
24
  buf[off++] = 0x56;
24
25
  buf[off++] = 0x31; // GOV1
25
- buf[off++] = 0x02; // version 2
26
+ buf[off++] = 0x03; // version 3
26
27
  buf.set(params.proposalIdHash, off);
27
28
  off += 32;
28
29
  buf.set(params.voteDigestHash, off);
@@ -31,8 +32,22 @@ export function buildGov1WitnessV2(params) {
31
32
  off += 32;
32
33
  buf.set(params.newRoot, off);
33
34
  off += 32;
35
+ // reviewWindowEndMs as LE u64
36
+ let ms = params.reviewWindowEndMs;
37
+ for (let i = 0; i < 8; i++) {
38
+ buf[off++] = Number(ms & 0xffn);
39
+ ms >>= 8n;
40
+ }
34
41
  return buf;
35
42
  }
43
+ // Encodes a Unix timestamp (milliseconds) as a CKB absolute median-time-past `since` value.
44
+ // Format: bit62=1 (timestamp metric), bit63=0 (absolute), bits55-0 = timestamp_ms.
45
+ export function encodeAbsoluteTimestampSince(timestampMs) {
46
+ const TIMESTAMP_FLAG = 0x4000000000000000n;
47
+ const VALUE_MASK = 0x00ffffffffffffffn;
48
+ const since = TIMESTAMP_FLAG | (timestampMs & VALUE_MASK);
49
+ return `0x${since.toString(16).padStart(16, "0")}`;
50
+ }
36
51
  // Builds the WitnessArgs.lock content for governance transactions (v2).
37
52
  // Format: signer_count(1) | [signer_index(1) + r+s+v(65)] * N
38
53
  export function buildGovernanceSigWitness(signers) {
@@ -90,8 +105,9 @@ export function buildWitnessArgs(params) {
90
105
  buf.set(outputTypeOpt, offOutputType);
91
106
  return buf;
92
107
  }
93
- // Placeholder signatures (3-of-5) for testnet where on-chain sig verification is off.
94
- // Replace with real governance signatures for production use.
108
+ // FOR UNIT TESTING ONLY generates structurally-valid but cryptographically fake signatures.
109
+ // governance-lock verifies secp256k1 signatures on-chain for GOV1 v3; these WILL be rejected by the chain.
110
+ // Never use in a real governance transaction. Only valid in test environments that mock the contract.
95
111
  export function placeholderSigners(count = 3) {
96
112
  return Array.from({ length: count }, (_, i) => ({
97
113
  index: i,
@@ -1 +1 @@
1
- {"version":3,"file":"witness.js","sourceRoot":"","sources":["../../src/lib/witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,MAAM,mBAAmB,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAEzE,MAAM,UAAU,UAAU,CAAC,IAAgB;IACzC,OAAO,OAAO,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5E,CAAC;AASD,6DAA6D;AAC7D,uEAAuE;AACvE,MAAM,UAAU,kBAAkB,CAAC,MAAyB;IAC1D,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI;QACxB,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC;QACzC,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC;QACzC,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC;QAC3B,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC;KACnB,EAAE,CAAC;QACX,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,kCAAkC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,gDAAgD;IAChD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO;IACnF,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,YAAY;IAC/B,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAAC,GAAG,IAAI,EAAE,CAAC;IAC/C,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAAC,GAAG,IAAI,EAAE,CAAC;IAC/C,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAAC,GAAG,IAAI,EAAE,CAAC;IACxC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAAC,GAAG,IAAI,EAAE,CAAC;IACxC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,wEAAwE;AACxE,8DAA8D;AAC9D,MAAM,UAAU,yBAAyB,CAAC,OAAkD;IAC1F,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACvF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACpD,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACxB,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACrB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,GAAG,IAAI,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,GAAe,EAAE,MAAc,EAAE,KAAa;IAChE,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IACtC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACvC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;AACzC,CAAC;AAED,SAAS,QAAQ,CAAC,IAA4B;IAC5C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,wEAAwE;AACxE,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,MAIhC;IACC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,+BAA+B;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC;IACvB,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9C,MAAM,aAAa,GAAG,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;IACzD,MAAM,SAAS,GAAG,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC;IAEvD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9B,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5B,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;IACjC,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;IACnC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1B,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACpC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAEtC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,sFAAsF;AACtF,8DAA8D;AAC9D,MAAM,UAAU,kBAAkB,CAAC,QAAmB,CAAC;IACrD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,KAAK,EAAE,CAAC;QACR,GAAG,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,4DAA4D;KACjG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACZ,+CAA+C;QAC/C,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAClC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QACf,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"witness.js","sourceRoot":"","sources":["../../src/lib/witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,MAAM,mBAAmB,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAEzE,MAAM,UAAU,UAAU,CAAC,IAAgB;IACzC,OAAO,OAAO,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5E,CAAC;AASD,0FAA0F;AAC1F,2FAA2F;AAC3F,+FAA+F;AAC/F,MAAM,UAAU,kBAAkB,CAChC,MAAyD;IAEzD,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI;QACxB,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC;QACzC,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC;QACzC,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC;QAC3B,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC;KACnB,EAAE,CAAC;QACX,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,kCAAkC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,sEAAsE;IACtE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO;IACnF,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,YAAY;IAC/B,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAAC,GAAG,IAAI,EAAE,CAAC;IAC/C,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAAC,GAAG,IAAI,EAAE,CAAC;IAC/C,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAAC,GAAG,IAAI,EAAE,CAAC;IACxC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAAC,GAAG,IAAI,EAAE,CAAC;IACxC,8BAA8B;IAC9B,IAAI,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;QAChC,EAAE,KAAK,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,4FAA4F;AAC5F,mFAAmF;AACnF,MAAM,UAAU,4BAA4B,CAAC,WAAmB;IAC9D,MAAM,cAAc,GAAG,mBAAsB,CAAC;IAC9C,MAAM,UAAU,GAAG,mBAAsB,CAAC;IAC1C,MAAM,KAAK,GAAG,cAAc,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;IAC1D,OAAO,KAAK,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,wEAAwE;AACxE,8DAA8D;AAC9D,MAAM,UAAU,yBAAyB,CAAC,OAAkD;IAC1F,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACvF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACpD,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACxB,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACrB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpB,GAAG,IAAI,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,GAAe,EAAE,MAAc,EAAE,KAAa;IAChE,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IACtC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACvC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;AACzC,CAAC;AAED,SAAS,QAAQ,CAAC,IAA4B;IAC5C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,wEAAwE;AACxE,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,MAIhC;IACC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,+BAA+B;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC;IACvB,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9C,MAAM,aAAa,GAAG,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;IACzD,MAAM,SAAS,GAAG,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC;IAEvD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9B,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5B,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;IACjC,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;IACnC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1B,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACpC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAEtC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8FAA8F;AAC9F,2GAA2G;AAC3G,sGAAsG;AACtG,MAAM,UAAU,kBAAkB,CAAC,QAAmB,CAAC;IACrD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,KAAK,EAAE,CAAC;QACR,GAAG,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,4DAA4D;KACjG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACZ,+CAA+C;QAC/C,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAClC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QACf,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckb-firewall/cli",
3
- "version": "0.2.3",
3
+ "version": "0.3.0",
4
4
  "description": "CLI for managing the CKB Transaction Firewall blacklist registry",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -22,7 +22,7 @@
22
22
  "dev": "tsc --watch -p tsconfig.build.json"
23
23
  },
24
24
  "dependencies": {
25
- "@ckb-firewall/sdk": "^0.3.2",
25
+ "@ckb-firewall/sdk": "^0.3.3",
26
26
  "@noble/curves": "^2.2.0",
27
27
  "@noble/hashes": "^1.5.0",
28
28
  "cfonts": "^3.3.0",