@ckb-firewall/cli 0.1.2 → 0.2.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.
Files changed (71) hide show
  1. package/README.md +23 -67
  2. package/dist/commands/add.d.ts.map +1 -1
  3. package/dist/commands/add.js +23 -15
  4. package/dist/commands/add.js.map +1 -1
  5. package/dist/commands/check.d.ts +9 -0
  6. package/dist/commands/check.d.ts.map +1 -0
  7. package/dist/commands/check.js +84 -0
  8. package/dist/commands/check.js.map +1 -0
  9. package/dist/commands/execute.d.ts.map +1 -1
  10. package/dist/commands/execute.js +112 -17
  11. package/dist/commands/execute.js.map +1 -1
  12. package/dist/commands/export.d.ts +6 -0
  13. package/dist/commands/export.d.ts.map +1 -0
  14. package/dist/commands/export.js +41 -0
  15. package/dist/commands/export.js.map +1 -0
  16. package/dist/commands/import.d.ts +6 -0
  17. package/dist/commands/import.d.ts.map +1 -0
  18. package/dist/commands/import.js +148 -0
  19. package/dist/commands/import.js.map +1 -0
  20. package/dist/commands/inspect.d.ts.map +1 -1
  21. package/dist/commands/inspect.js +30 -7
  22. package/dist/commands/inspect.js.map +1 -1
  23. package/dist/commands/propose.d.ts.map +1 -1
  24. package/dist/commands/propose.js +29 -4
  25. package/dist/commands/propose.js.map +1 -1
  26. package/dist/commands/remove.d.ts.map +1 -1
  27. package/dist/commands/remove.js +23 -15
  28. package/dist/commands/remove.js.map +1 -1
  29. package/dist/commands/sign.d.ts +1 -0
  30. package/dist/commands/sign.d.ts.map +1 -1
  31. package/dist/commands/sign.js +16 -22
  32. package/dist/commands/sign.js.map +1 -1
  33. package/dist/commands/vote.d.ts +1 -1
  34. package/dist/commands/vote.d.ts.map +1 -1
  35. package/dist/commands/vote.js +71 -15
  36. package/dist/commands/vote.js.map +1 -1
  37. package/dist/index.js +34 -34
  38. package/dist/index.js.map +1 -1
  39. package/dist/lib/blkl.d.ts +11 -1
  40. package/dist/lib/blkl.d.ts.map +1 -1
  41. package/dist/lib/blkl.js +95 -5
  42. package/dist/lib/blkl.js.map +1 -1
  43. package/dist/lib/defaults.d.ts +13 -2
  44. package/dist/lib/defaults.d.ts.map +1 -1
  45. package/dist/lib/defaults.js +29 -7
  46. package/dist/lib/defaults.js.map +1 -1
  47. package/dist/lib/placeholder-governance.d.ts +2 -0
  48. package/dist/lib/placeholder-governance.d.ts.map +1 -0
  49. package/dist/lib/placeholder-governance.js +8 -0
  50. package/dist/lib/placeholder-governance.js.map +1 -0
  51. package/dist/lib/proposals.d.ts +5 -1
  52. package/dist/lib/proposals.d.ts.map +1 -1
  53. package/dist/lib/proposals.js +37 -3
  54. package/dist/lib/proposals.js.map +1 -1
  55. package/dist/lib/registry.d.ts +5 -0
  56. package/dist/lib/registry.d.ts.map +1 -0
  57. package/dist/lib/registry.js +24 -0
  58. package/dist/lib/registry.js.map +1 -0
  59. package/dist/lib/rpc.d.ts +2 -2
  60. package/dist/lib/rpc.d.ts.map +1 -1
  61. package/dist/lib/rpc.js +60 -15
  62. package/dist/lib/rpc.js.map +1 -1
  63. package/dist/lib/validator-set.d.ts +7 -0
  64. package/dist/lib/validator-set.d.ts.map +1 -0
  65. package/dist/lib/validator-set.js +78 -0
  66. package/dist/lib/validator-set.js.map +1 -0
  67. package/dist/lib/witness.d.ts +6 -6
  68. package/dist/lib/witness.d.ts.map +1 -1
  69. package/dist/lib/witness.js +16 -10
  70. package/dist/lib/witness.js.map +1 -1
  71. package/package.json +3 -2
@@ -3,18 +3,17 @@ 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
- export function buildGov1Witness(params) {
7
- const signerCount = params.signers.length;
8
- // 4 magic + 1 version + 32*4 hashes + 1 count + signerCount * (1 index + 65 sig)
9
- const size = 4 + 1 + 32 + 32 + 32 + 32 + 1 + signerCount * 66;
10
- const buf = new Uint8Array(size);
6
+ // GOV1 v2 — binding commitment only, no signers (133 bytes).
7
+ // Signers go in WitnessArgs.lock as a separate governance-sig-witness.
8
+ export function buildGov1WitnessV2(params) {
9
+ // 4 magic + 1 version + 32*4 hashes = 133 bytes
10
+ const buf = new Uint8Array(133);
11
11
  let off = 0;
12
- // "GOV1"
13
12
  buf[off++] = 0x47;
14
13
  buf[off++] = 0x4f;
15
14
  buf[off++] = 0x56;
16
- buf[off++] = 0x31;
17
- buf[off++] = 0x01; // version
15
+ buf[off++] = 0x31; // GOV1
16
+ buf[off++] = 0x02; // version 2
18
17
  buf.set(params.proposalIdHash, off);
19
18
  off += 32;
20
19
  buf.set(params.voteDigestHash, off);
@@ -23,8 +22,15 @@ export function buildGov1Witness(params) {
23
22
  off += 32;
24
23
  buf.set(params.newRoot, off);
25
24
  off += 32;
26
- buf[off++] = signerCount;
27
- for (const s of params.signers) {
25
+ return buf;
26
+ }
27
+ // Builds the WitnessArgs.lock content for governance transactions (v2).
28
+ // Format: signer_count(1) | [signer_index(1) + r+s+v(65)] * N
29
+ export function buildGovernanceSigWitness(signers) {
30
+ const buf = new Uint8Array(1 + signers.length * 66);
31
+ buf[0] = signers.length;
32
+ let off = 1;
33
+ for (const s of signers) {
28
34
  buf[off++] = s.index;
29
35
  buf.set(s.sig, off);
30
36
  off += 65;
@@ -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;AAWD,MAAM,UAAU,gBAAgB,CAAC,MAAkB;IACjD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;IAC1C,iFAAiF;IACjF,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,WAAW,GAAG,EAAE,CAAC;IAC9D,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,GAAG,GAAG,CAAC,CAAC;IAEZ,SAAS;IACT,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IAClB,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU;IAE7B,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACpC,GAAG,IAAI,EAAE,CAAC;IACV,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACpC,GAAG,IAAI,EAAE,CAAC;IACV,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7B,GAAG,IAAI,EAAE,CAAC;IACV,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7B,GAAG,IAAI,EAAE,CAAC;IAEV,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,WAAW,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,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;IAED,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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckb-firewall/cli",
3
- "version": "0.1.2",
3
+ "version": "0.2.1",
4
4
  "description": "CLI for managing the CKB Transaction Firewall blacklist registry",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -17,11 +17,12 @@
17
17
  "build": "tsc -p tsconfig.build.json",
18
18
  "postbuild": "node -e \"require('fs').chmodSync('dist/index.js', 0o755)\"",
19
19
  "prepack": "npm run build",
20
+ "test": "npm run build && node --test test/*.test.mjs",
20
21
  "typecheck": "tsc --noEmit",
21
22
  "dev": "tsc --watch -p tsconfig.build.json"
22
23
  },
23
24
  "dependencies": {
24
- "@ckb-firewall/sdk": "^0.2.5",
25
+ "@ckb-firewall/sdk": "^0.3.1",
25
26
  "@noble/curves": "^2.2.0",
26
27
  "@noble/hashes": "^1.5.0",
27
28
  "cfonts": "^3.3.0",