@ckb-ccc/core 0.0.8-alpha.3 → 0.0.9-alpha.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 (143) hide show
  1. package/dist/ckb/script.js +2 -2
  2. package/dist/ckb/transaction.js +2 -2
  3. package/dist/client/client.d.ts +1 -0
  4. package/dist/client/client.d.ts.map +1 -1
  5. package/dist/client/client.js +1 -0
  6. package/dist/client/clientPublicMainnet.advanced.d.ts.map +1 -1
  7. package/dist/client/clientPublicMainnet.advanced.js +35 -1
  8. package/dist/client/clientPublicTestnet.advanced.d.ts.map +1 -1
  9. package/dist/client/clientPublicTestnet.advanced.js +20 -0
  10. package/dist/hasher/index.d.ts +17 -2
  11. package/dist/hasher/index.d.ts.map +1 -1
  12. package/dist/hasher/index.js +19 -2
  13. package/dist/signer/nostr/signerNostr.js +2 -2
  14. package/dist/signer/signer/index.d.ts +12 -0
  15. package/dist/signer/signer/index.d.ts.map +1 -1
  16. package/dist/signer/signer/index.js +18 -0
  17. package/dist.commonjs/address/address.advanced.d.ts +24 -29
  18. package/dist.commonjs/address/address.advanced.js +89 -115
  19. package/dist.commonjs/address/advanced.d.ts +1 -1
  20. package/dist.commonjs/address/advanced.js +14 -30
  21. package/dist.commonjs/address/index.d.ts +44 -51
  22. package/dist.commonjs/address/index.js +65 -84
  23. package/dist.commonjs/advanced.d.ts +1 -1
  24. package/dist.commonjs/advanced.js +22 -47
  25. package/dist.commonjs/advancedBarrel.d.ts +1 -1
  26. package/dist.commonjs/advancedBarrel.js +14 -30
  27. package/dist.commonjs/barrel.d.ts +1 -1
  28. package/dist.commonjs/barrel.js +14 -30
  29. package/dist.commonjs/bytes/advanced.d.ts +2 -11
  30. package/dist.commonjs/bytes/index.d.ts +3 -9
  31. package/dist.commonjs/bytes/index.js +26 -28
  32. package/dist.commonjs/ckb/advanced.d.ts +1 -1
  33. package/dist.commonjs/ckb/advanced.js +22 -47
  34. package/dist.commonjs/ckb/index.d.ts +1 -1
  35. package/dist.commonjs/ckb/index.js +14 -30
  36. package/dist.commonjs/ckb/molecule.advanced/generated.d.ts +260 -420
  37. package/dist.commonjs/ckb/molecule.advanced/generated.js +1332 -1536
  38. package/dist.commonjs/ckb/molecule.advanced/index.d.ts +3 -3
  39. package/dist.commonjs/ckb/molecule.advanced/index.js +18 -34
  40. package/dist.commonjs/ckb/script.advanced.d.ts +1 -1
  41. package/dist.commonjs/ckb/script.advanced.js +9 -12
  42. package/dist.commonjs/ckb/script.d.ts +117 -121
  43. package/dist.commonjs/ckb/script.js +176 -220
  44. package/dist.commonjs/ckb/transaction.advanced.d.ts +1 -1
  45. package/dist.commonjs/ckb/transaction.advanced.js +4 -4
  46. package/dist.commonjs/ckb/transaction.d.ts +717 -792
  47. package/dist.commonjs/ckb/transaction.js +1155 -1383
  48. package/dist.commonjs/client/advanced.d.ts +1 -1
  49. package/dist.commonjs/client/advanced.js +14 -30
  50. package/dist.commonjs/client/client.advanced.d.ts +6 -23
  51. package/dist.commonjs/client/client.advanced.js +61 -89
  52. package/dist.commonjs/client/client.d.ts +54 -113
  53. package/dist.commonjs/client/client.d.ts.map +1 -1
  54. package/dist.commonjs/client/client.js +182 -214
  55. package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts +4 -8
  56. package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts.map +1 -1
  57. package/dist.commonjs/client/clientPublicMainnet.advanced.js +161 -144
  58. package/dist.commonjs/client/clientPublicMainnet.d.ts +6 -8
  59. package/dist.commonjs/client/clientPublicMainnet.js +15 -17
  60. package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts +3 -6
  61. package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts.map +1 -1
  62. package/dist.commonjs/client/clientPublicTestnet.advanced.js +199 -204
  63. package/dist.commonjs/client/clientPublicTestnet.d.ts +6 -8
  64. package/dist.commonjs/client/clientPublicTestnet.js +13 -13
  65. package/dist.commonjs/client/clientTypes.advanced.d.ts +14 -14
  66. package/dist.commonjs/client/clientTypes.advanced.js +1 -1
  67. package/dist.commonjs/client/clientTypes.d.ts +26 -51
  68. package/dist.commonjs/client/clientTypes.js +22 -56
  69. package/dist.commonjs/client/index.d.ts +1 -1
  70. package/dist.commonjs/client/index.js +14 -30
  71. package/dist.commonjs/client/jsonRpc/advanced.d.ts +1 -1
  72. package/dist.commonjs/client/jsonRpc/advanced.js +14 -30
  73. package/dist.commonjs/client/jsonRpc/index.d.ts +75 -94
  74. package/dist.commonjs/client/jsonRpc/index.js +108 -135
  75. package/dist.commonjs/client/jsonRpc/transformers.d.ts +36 -76
  76. package/dist.commonjs/client/jsonRpc/transformers.js +152 -174
  77. package/dist.commonjs/client/jsonRpc/types.d.ts +38 -38
  78. package/dist.commonjs/fixedPoint/index.d.ts +3 -9
  79. package/dist.commonjs/fixedPoint/index.js +20 -26
  80. package/dist.commonjs/fixedPoint/index.test.d.ts +1 -1
  81. package/dist.commonjs/fixedPoint/index.test.js +36 -42
  82. package/dist.commonjs/hasher/advanced.d.ts +1 -1
  83. package/dist.commonjs/hasher/index.d.ts +53 -38
  84. package/dist.commonjs/hasher/index.d.ts.map +1 -1
  85. package/dist.commonjs/hasher/index.js +69 -58
  86. package/dist.commonjs/hex/index.d.ts +1 -1
  87. package/dist.commonjs/hex/index.js +1 -1
  88. package/dist.commonjs/index.d.ts +1 -1
  89. package/dist.commonjs/index.js +22 -47
  90. package/dist.commonjs/num/index.d.ts +1 -1
  91. package/dist.commonjs/num/index.js +27 -39
  92. package/dist.commonjs/signer/btc/index.d.ts +1 -1
  93. package/dist.commonjs/signer/btc/index.js +14 -30
  94. package/dist.commonjs/signer/btc/signerBtc.d.ts +47 -47
  95. package/dist.commonjs/signer/btc/signerBtc.js +66 -89
  96. package/dist.commonjs/signer/btc/signerBtcPublicKeyReadonly.d.ts +45 -45
  97. package/dist.commonjs/signer/btc/signerBtcPublicKeyReadonly.js +52 -52
  98. package/dist.commonjs/signer/btc/verify.d.ts +2 -6
  99. package/dist.commonjs/signer/btc/verify.js +3 -10
  100. package/dist.commonjs/signer/ckb/index.d.ts +1 -1
  101. package/dist.commonjs/signer/ckb/index.js +14 -30
  102. package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.d.ts +45 -45
  103. package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.js +56 -56
  104. package/dist.commonjs/signer/ckb/verifyJoyId.d.ts +2 -6
  105. package/dist.commonjs/signer/ckb/verifyJoyId.js +8 -11
  106. package/dist.commonjs/signer/dummy/alwaysError.d.ts +4 -4
  107. package/dist.commonjs/signer/dummy/alwaysError.js +7 -7
  108. package/dist.commonjs/signer/dummy/dummy.d.ts +7 -7
  109. package/dist.commonjs/signer/dummy/dummy.js +16 -16
  110. package/dist.commonjs/signer/dummy/index.d.ts +1 -1
  111. package/dist.commonjs/signer/dummy/index.js +14 -30
  112. package/dist.commonjs/signer/dummy/openLink.d.ts +4 -4
  113. package/dist.commonjs/signer/dummy/openLink.js +7 -7
  114. package/dist.commonjs/signer/evm/index.d.ts +1 -1
  115. package/dist.commonjs/signer/evm/index.js +14 -30
  116. package/dist.commonjs/signer/evm/signerEvm.d.ts +38 -42
  117. package/dist.commonjs/signer/evm/signerEvm.js +70 -105
  118. package/dist.commonjs/signer/evm/signerEvmAddressReadonly.d.ts +37 -37
  119. package/dist.commonjs/signer/evm/signerEvmAddressReadonly.js +42 -42
  120. package/dist.commonjs/signer/evm/verify.d.ts +2 -6
  121. package/dist.commonjs/signer/evm/verify.js +2 -7
  122. package/dist.commonjs/signer/index.d.ts +1 -1
  123. package/dist.commonjs/signer/index.js +14 -30
  124. package/dist.commonjs/signer/nostr/index.d.ts +1 -1
  125. package/dist.commonjs/signer/nostr/index.js +14 -30
  126. package/dist.commonjs/signer/nostr/signerNostr.d.ts +57 -57
  127. package/dist.commonjs/signer/nostr/signerNostr.js +71 -100
  128. package/dist.commonjs/signer/nostr/verify.d.ts +3 -9
  129. package/dist.commonjs/signer/nostr/verify.js +39 -50
  130. package/dist.commonjs/signer/signer/index.d.ts +162 -156
  131. package/dist.commonjs/signer/signer/index.d.ts.map +1 -1
  132. package/dist.commonjs/signer/signer/index.js +199 -208
  133. package/dist.commonjs/utils/index.d.ts +8 -38
  134. package/dist.commonjs/utils/index.js +12 -18
  135. package/package.json +3 -3
  136. package/src/ckb/script.ts +2 -2
  137. package/src/ckb/transaction.ts +2 -2
  138. package/src/client/client.ts +1 -0
  139. package/src/client/clientPublicMainnet.advanced.ts +40 -1
  140. package/src/client/clientPublicTestnet.advanced.ts +23 -0
  141. package/src/hasher/index.ts +27 -2
  142. package/src/signer/nostr/signerNostr.ts +2 -2
  143. package/src/signer/signer/index.ts +45 -0
@@ -1,5 +1,5 @@
1
1
  import { bytesFrom } from "../bytes";
2
- import { ckbHash } from "../hasher";
2
+ import { hashCkb } from "../hasher";
3
3
  import { hexFrom } from "../hex";
4
4
  import * as mol from "./molecule.advanced";
5
5
  import { HASH_TYPES, HASH_TYPE_TO_NUM, NUM_TO_HASH_TYPE, } from "./script.advanced";
@@ -172,7 +172,7 @@ export class Script {
172
172
  * ```
173
173
  */
174
174
  hash() {
175
- return ckbHash(this.toBytes());
175
+ return hashCkb(this.toBytes());
176
176
  }
177
177
  /**
178
178
  * Creates a Script instance from a byte-like value or molecule Script.
@@ -1,6 +1,6 @@
1
1
  import { bytesFrom } from "../bytes";
2
2
  import { Zero, fixedPointFrom } from "../fixedPoint";
3
- import { Hasher, ckbHash } from "../hasher";
3
+ import { Hasher, hashCkb } from "../hasher";
4
4
  import { hexFrom } from "../hex";
5
5
  import { numFrom, numFromBytes, numToBytes, numToHex, } from "../num";
6
6
  import { apply, reduceAsync } from "../utils";
@@ -792,7 +792,7 @@ export class Transaction {
792
792
  * ```
793
793
  */
794
794
  hash() {
795
- return ckbHash(this.rawToBytes());
795
+ return hashCkb(this.rawToBytes());
796
796
  }
797
797
  /**
798
798
  * Hashes a witness and updates the hasher.
@@ -13,6 +13,7 @@ export declare enum KnownScript {
13
13
  COTA = "COTA",
14
14
  OmniLock = "OmniLock",
15
15
  NostrLock = "NostrLock",
16
+ UniqueType = "UniqueType",
16
17
  SingleUseLock = "SingleUseLock",
17
18
  OutputTypeProxyLock = "OutputTypeProxyLock"
18
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export var KnownScript;
16
16
  KnownScript["COTA"] = "COTA";
17
17
  KnownScript["OmniLock"] = "OmniLock";
18
18
  KnownScript["NostrLock"] = "NostrLock";
19
+ KnownScript["UniqueType"] = "UniqueType";
19
20
  KnownScript["SingleUseLock"] = "SingleUseLock";
20
21
  KnownScript["OutputTypeProxyLock"] = "OutputTypeProxyLock";
21
22
  })(KnownScript || (KnownScript = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"clientPublicMainnet.advanced.d.ts","sourceRoot":"","sources":["../../src/client/clientPublicMainnet.advanced.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAExD,eAAO,MAAM,eAAe,EAAE,MAAM,CAClC,WAAW,EACT,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,GAAG;IAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC,GACzE,SAAS,CAkJZ,CAAC"}
1
+ {"version":3,"file":"clientPublicMainnet.advanced.d.ts","sourceRoot":"","sources":["../../src/client/clientPublicMainnet.advanced.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAExD,eAAO,MAAM,eAAe,EAAE,MAAM,CAClC,WAAW,EACT,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,GAAG;IAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC,GACzE,SAAS,CAyLZ,CAAC"}
@@ -124,7 +124,41 @@ export const MAINNET_SCRIPTS = {
124
124
  },
125
125
  ],
126
126
  },
127
- [KnownScript.NostrLock]: undefined,
127
+ [KnownScript.NostrLock]: {
128
+ codeHash: "0x641a89ad2f77721b803cd50d01351c1f308444072d5fa20088567196c0574c68",
129
+ hashType: "type",
130
+ cellDeps: [
131
+ {
132
+ cellDep: {
133
+ outPoint: {
134
+ txHash: "0x1911208b136957d5f7c1708a8835edfe8ae1d02700d5cb2c3a6aacf4d5906306",
135
+ index: 0,
136
+ },
137
+ depType: "code",
138
+ },
139
+ type: {
140
+ codeHash: "0x00000000000000000000000000000000000000000000000000545950455f4944",
141
+ hashType: "type",
142
+ args: "0xfad8cb75eb0bb01718e2336002064568bc05887af107f74ed5dd501829e192f8",
143
+ },
144
+ },
145
+ ],
146
+ },
147
+ [KnownScript.UniqueType]: {
148
+ codeHash: "0x2c8c11c985da60b0a330c61a85507416d6382c130ba67f0c47ab071e00aec628",
149
+ hashType: "data1",
150
+ cellDeps: [
151
+ {
152
+ cellDep: {
153
+ outPoint: {
154
+ txHash: "0x67524c01c0cb5492e499c7c7e406f2f9d823e162d6b0cf432eacde0c9808c2ad",
155
+ index: 0,
156
+ },
157
+ depType: "code",
158
+ },
159
+ },
160
+ ],
161
+ },
128
162
  [KnownScript.SingleUseLock]: undefined,
129
163
  [KnownScript.OutputTypeProxyLock]: undefined,
130
164
  };
@@ -1 +1 @@
1
- {"version":3,"file":"clientPublicTestnet.advanced.d.ts","sourceRoot":"","sources":["../../src/client/clientPublicTestnet.advanced.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAExD,eAAO,MAAM,eAAe,EAAE,MAAM,CAClC,WAAW,EACX,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,GAAG;IAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;CAAE,CA8MxE,CAAC"}
1
+ {"version":3,"file":"clientPublicTestnet.advanced.d.ts","sourceRoot":"","sources":["../../src/client/clientPublicTestnet.advanced.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAExD,eAAO,MAAM,eAAe,EAAE,MAAM,CAClC,WAAW,EACX,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,GAAG;IAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;CAAE,CAqOxE,CAAC"}
@@ -149,6 +149,26 @@ export const TESTNET_SCRIPTS = {
149
149
  },
150
150
  ],
151
151
  },
152
+ [KnownScript.UniqueType]: {
153
+ codeHash: "0x8e341bcfec6393dcd41e635733ff2dca00a6af546949f70c57a706c0f344df8b",
154
+ hashType: "type",
155
+ cellDeps: [
156
+ {
157
+ cellDep: {
158
+ outPoint: {
159
+ txHash: "0xff91b063c78ed06f10a1ed436122bd7d671f9a72ef5f5fa28d05252c17cf4cef",
160
+ index: 0,
161
+ },
162
+ depType: "code",
163
+ },
164
+ type: {
165
+ codeHash: "0x00000000000000000000000000000000000000000000000000545950455f4944",
166
+ hashType: "type",
167
+ args: "0xe04976b67600fd25ac50305f77b33aee2c12e3c18e63ece9119e5b32117884b5",
168
+ },
169
+ },
170
+ ],
171
+ },
152
172
  [KnownScript.SingleUseLock]: {
153
173
  codeHash: "0x8290467a512e5b9a6b816469b0edabba1f4ac474e28ffdd604c2a7c76446bbaf",
154
174
  hashType: "data1",
@@ -1,5 +1,7 @@
1
1
  import { BytesLike } from "../bytes";
2
+ import { CellInputLike } from "../ckb";
2
3
  import { Hex } from "../hex";
4
+ import { NumLike } from "../num";
3
5
  export declare class Hasher {
4
6
  private readonly hasher;
5
7
  /**
@@ -45,8 +47,21 @@ export declare class Hasher {
45
47
  *
46
48
  * @example
47
49
  * ```typescript
48
- * const hash = ckbHash("some data"); // Outputs something like "0x..."
50
+ * const hash = hashCkb("some data"); // Outputs something like "0x..."
49
51
  * ```
50
52
  */
51
- export declare function ckbHash(...data: BytesLike[]): Hex;
53
+ export declare function hashCkb(...data: BytesLike[]): Hex;
54
+ /**
55
+ * Computes the Type ID hash of the given data.
56
+ *
57
+ * @param cellInput - The first cell input of the transaction.
58
+ * @param outputIndex - The output index of the Type ID cell.
59
+ * @returns The hexadecimal string representation of the hash.
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * const hash = hashTypeId(cellInput, outputIndex); // Outputs something like "0x..."
64
+ * ```
65
+ */
66
+ export declare function hashTypeId(cellInputLike: CellInputLike, outputIndex: NumLike): Hex;
52
67
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hasher/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAa,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAG7B,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IAEjC;;;;;OAKG;gBAES,SAAS,SAAK,EAAE,QAAQ,SAAuB;IAS3D;;;;;;;;;;;;OAYG;IAEH,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;IAK/B;;;;;;;;;;;OAWG;IAEH,MAAM,IAAI,GAAG;CAGd;AAED;;;;;;;;;;GAUG;AAEH,wBAAgB,OAAO,CAAC,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG,CAIjD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hasher/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAa,MAAM,UAAU,CAAC;AAChD,OAAO,EAAa,aAAa,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAgB,MAAM,QAAQ,CAAC;AAG/C,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IAEjC;;;;;OAKG;gBAES,SAAS,SAAK,EAAE,QAAQ,SAAuB;IAS3D;;;;;;;;;;;;OAYG;IAEH,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;IAK/B;;;;;;;;;;;OAWG;IAEH,MAAM,IAAI,GAAG;CAGd;AAED;;;;;;;;;;GAUG;AAEH,wBAAgB,OAAO,CAAC,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG,CAIjD;AAED;;;;;;;;;;;GAWG;AAEH,wBAAgB,UAAU,CACxB,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,OAAO,GACnB,GAAG,CAKL"}
@@ -1,5 +1,7 @@
1
1
  import blake2b from "blake2b";
2
2
  import { bytesFrom } from "../bytes";
3
+ import { CellInput } from "../ckb";
4
+ import { numLeToBytes } from "../num";
3
5
  import { CKB_BLAKE2B_PERSONAL } from "./advanced";
4
6
  export class Hasher {
5
7
  /**
@@ -52,11 +54,26 @@ export class Hasher {
52
54
  *
53
55
  * @example
54
56
  * ```typescript
55
- * const hash = ckbHash("some data"); // Outputs something like "0x..."
57
+ * const hash = hashCkb("some data"); // Outputs something like "0x..."
56
58
  * ```
57
59
  */
58
- export function ckbHash(...data) {
60
+ export function hashCkb(...data) {
59
61
  const hasher = new Hasher();
60
62
  data.forEach((d) => hasher.update(d));
61
63
  return hasher.digest();
62
64
  }
65
+ /**
66
+ * Computes the Type ID hash of the given data.
67
+ *
68
+ * @param cellInput - The first cell input of the transaction.
69
+ * @param outputIndex - The output index of the Type ID cell.
70
+ * @returns The hexadecimal string representation of the hash.
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * const hash = hashTypeId(cellInput, outputIndex); // Outputs something like "0x..."
75
+ * ```
76
+ */
77
+ export function hashTypeId(cellInputLike, outputIndex) {
78
+ return hashCkb(CellInput.from(cellInputLike).toBytes(), numLeToBytes(outputIndex, 8));
79
+ }
@@ -3,7 +3,7 @@ import { Address } from "../../address";
3
3
  import { bytesConcat, bytesFrom } from "../../bytes";
4
4
  import { Transaction, WitnessArgs } from "../../ckb";
5
5
  import { KnownScript } from "../../client";
6
- import { ckbHash } from "../../hasher";
6
+ import { hashCkb } from "../../hasher";
7
7
  import { hexFrom } from "../../hex";
8
8
  import { Signer, SignerSignType, SignerType } from "../signer";
9
9
  import { buildNostrEventFromMessage } from "./verify";
@@ -38,7 +38,7 @@ export class SignerNostr extends Signer {
38
38
  async getAddressObjs() {
39
39
  const publicKey = await this.getNostrPublicKey();
40
40
  return [
41
- await Address.fromKnownScript(this.client, KnownScript.NostrLock, hexFrom(bytesConcat([0x00], ckbHash(publicKey).slice(0, 42)))),
41
+ await Address.fromKnownScript(this.client, KnownScript.NostrLock, hexFrom(bytesConcat([0x00], hashCkb(publicKey).slice(0, 42)))),
42
42
  ];
43
43
  }
44
44
  /**
@@ -20,6 +20,11 @@ export declare enum SignerType {
20
20
  CKB = "CKB",
21
21
  Nostr = "Nostr"
22
22
  }
23
+ export type NetworkPreference = {
24
+ addressPrefix: string;
25
+ signerType: SignerType;
26
+ network: string;
27
+ };
23
28
  export declare class Signature {
24
29
  signature: string;
25
30
  identity: string;
@@ -36,6 +41,7 @@ export declare abstract class Signer {
36
41
  abstract get type(): SignerType;
37
42
  abstract get signType(): SignerSignType;
38
43
  get client(): Client;
44
+ matchNetworkPreference(preferences: NetworkPreference[], currentNetwork: string): NetworkPreference | undefined;
39
45
  static verifyMessage(message: string | BytesLike, signature: Signature): Promise<boolean>;
40
46
  /**
41
47
  * Replace the current client.
@@ -48,6 +54,12 @@ export declare abstract class Signer {
48
54
  * @returns A promise that resolves when the connection is complete.
49
55
  */
50
56
  abstract connect(): Promise<void>;
57
+ /**
58
+ * Disconnects to the signer.
59
+ *
60
+ * @returns A promise that resolves when the signer is disconnected.
61
+ */
62
+ disconnect(): Promise<void>;
51
63
  /**
52
64
  * Check if the signer is connected.
53
65
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/signer/signer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/signer/signer/index.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,18 @@ export class Signer {
38
38
  get client() {
39
39
  return this.client_;
40
40
  }
41
+ // Returns the preference if we need to switch network
42
+ // undefined otherwise
43
+ matchNetworkPreference(preferences, currentNetwork) {
44
+ if (preferences.some(({ signerType, addressPrefix, network }) => {
45
+ signerType === this.type &&
46
+ addressPrefix === this.client.addressPrefix &&
47
+ network === currentNetwork;
48
+ })) {
49
+ return;
50
+ }
51
+ return preferences.find(({ signerType, addressPrefix }) => signerType === this.type && addressPrefix === this.client.addressPrefix);
52
+ }
41
53
  static async verifyMessage(message, signature) {
42
54
  switch (signature.signType) {
43
55
  case SignerSignType.EvmPersonal:
@@ -60,6 +72,12 @@ export class Signer {
60
72
  this.client_ = client;
61
73
  return true;
62
74
  }
75
+ /**
76
+ * Disconnects to the signer.
77
+ *
78
+ * @returns A promise that resolves when the signer is disconnected.
79
+ */
80
+ async disconnect() { }
63
81
  /**
64
82
  * Gets the identity for verifying signature, usually it's address
65
83
  *
@@ -17,9 +17,9 @@ import { type AddressLike } from "./index";
17
17
  * ```
18
18
  */
19
19
  export declare function addressPayloadFromString(address: string): {
20
- prefix: string;
21
- format: AddressFormat;
22
- payload: number[];
20
+ prefix: string;
21
+ format: AddressFormat;
22
+ payload: number[];
23
23
  };
24
24
  /**
25
25
  * Converts an address payload into an address-like object.
@@ -39,32 +39,27 @@ export declare function addressPayloadFromString(address: string): {
39
39
  * console.log(address.prefix); // Outputs the address prefix
40
40
  * ```
41
41
  */
42
- export declare function addressFromPayload(
43
- prefix: string,
44
- format: AddressFormat,
45
- payload: number[],
46
- client: Client,
47
- ): Promise<AddressLike>;
42
+ export declare function addressFromPayload(prefix: string, format: AddressFormat, payload: number[], client: Client): Promise<AddressLike>;
48
43
  export declare enum AddressFormat {
49
- /**
50
- * full version identifies the hashType
51
- */
52
- Full = 0,
53
- /**
54
- * @deprecated
55
- * short version for locks with Known codeHash, deprecated
56
- */
57
- Short = 1,
58
- /**
59
- * @deprecated
60
- * full version with hashType = "Data", deprecated
61
- */
62
- FullData = 2,
63
- /**
64
- * @deprecated
65
- * full version with hashType = "Type", deprecated
66
- */
67
- FullType = 4,
44
+ /**
45
+ * full version identifies the hashType
46
+ */
47
+ Full = 0,
48
+ /**
49
+ * @deprecated
50
+ * short version for locks with Known codeHash, deprecated
51
+ */
52
+ Short = 1,
53
+ /**
54
+ * @deprecated
55
+ * full version with hashType = "Data", deprecated
56
+ */
57
+ FullData = 2,
58
+ /**
59
+ * @deprecated
60
+ * full version with hashType = "Type", deprecated
61
+ */
62
+ FullType = 4
68
63
  }
69
64
  export declare const ADDRESS_BECH32_LIMIT = 1023;
70
- //# sourceMappingURL=address.advanced.d.ts.map
65
+ //# sourceMappingURL=address.advanced.d.ts.map
@@ -1,10 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ADDRESS_BECH32_LIMIT =
4
- exports.AddressFormat =
5
- exports.addressFromPayload =
6
- exports.addressPayloadFromString =
7
- void 0;
3
+ exports.ADDRESS_BECH32_LIMIT = exports.AddressFormat = exports.addressFromPayload = exports.addressPayloadFromString = void 0;
8
4
  const bech32_1 = require("bech32");
9
5
  const ckb_1 = require("../ckb");
10
6
  const client_1 = require("../client");
@@ -26,35 +22,27 @@ const hex_1 = require("../hex");
26
22
  * ```
27
23
  */
28
24
  function addressPayloadFromString(address) {
29
- // Try parse full format address
30
- {
31
- const { words, prefix } = bech32_1.bech32m.decode(
32
- address,
33
- exports.ADDRESS_BECH32_LIMIT,
34
- );
35
- const [formatType, ...payload] = bech32_1.bech32m.fromWords(words);
36
- if (formatType === AddressFormat.Full) {
37
- return { prefix, format: AddressFormat.Full, payload };
25
+ // Try parse full format address
26
+ {
27
+ const { words, prefix } = bech32_1.bech32m.decode(address, exports.ADDRESS_BECH32_LIMIT);
28
+ const [formatType, ...payload] = bech32_1.bech32m.fromWords(words);
29
+ if (formatType === AddressFormat.Full) {
30
+ return { prefix, format: AddressFormat.Full, payload };
31
+ }
38
32
  }
39
- }
40
- // Try parse legacy 2019 format address
41
- {
42
- const { prefix, words } = bech32_1.bech32.decode(
43
- address,
44
- exports.ADDRESS_BECH32_LIMIT,
45
- );
46
- const [formatType, ...payload] = bech32_1.bech32.fromWords(words);
47
- if (
48
- [
49
- AddressFormat.FullData,
50
- AddressFormat.FullType,
51
- AddressFormat.Short,
52
- ].includes(formatType)
53
- ) {
54
- return { prefix, format: formatType, payload };
33
+ // Try parse legacy 2019 format address
34
+ {
35
+ const { prefix, words } = bech32_1.bech32.decode(address, exports.ADDRESS_BECH32_LIMIT);
36
+ const [formatType, ...payload] = bech32_1.bech32.fromWords(words);
37
+ if ([
38
+ AddressFormat.FullData,
39
+ AddressFormat.FullType,
40
+ AddressFormat.Short,
41
+ ].includes(formatType)) {
42
+ return { prefix, format: formatType, payload };
43
+ }
55
44
  }
56
- }
57
- throw Error(`Unknown address format ${address}`);
45
+ throw Error(`Unknown address format ${address}`);
58
46
  }
59
47
  exports.addressPayloadFromString = addressPayloadFromString;
60
48
  /**
@@ -76,97 +64,83 @@ exports.addressPayloadFromString = addressPayloadFromString;
76
64
  * ```
77
65
  */
78
66
  async function addressFromPayload(prefix, format, payload, client) {
79
- if (format === AddressFormat.Full) {
80
- if (payload.length < 32 + 1) {
81
- throw new Error(
82
- `Invalid full address without enough payload ${(0, hex_1.hexFrom)(payload)}`,
83
- );
67
+ if (format === AddressFormat.Full) {
68
+ if (payload.length < 32 + 1) {
69
+ throw new Error(`Invalid full address without enough payload ${(0, hex_1.hexFrom)(payload)}`);
70
+ }
71
+ return {
72
+ script: {
73
+ codeHash: payload.slice(0, 32),
74
+ hashType: (0, ckb_1.hashTypeFromBytes)(payload.slice(32, 33)),
75
+ args: payload.slice(33),
76
+ },
77
+ prefix,
78
+ };
84
79
  }
85
- return {
86
- script: {
87
- codeHash: payload.slice(0, 32),
88
- hashType: (0, ckb_1.hashTypeFromBytes)(payload.slice(32, 33)),
89
- args: payload.slice(33),
90
- },
91
- prefix,
92
- };
93
- }
94
- if (format === AddressFormat.FullData) {
95
- if (payload.length < 32) {
96
- throw new Error(
97
- `Invalid full data address without enough payload ${(0, hex_1.hexFrom)(payload)}`,
98
- );
80
+ if (format === AddressFormat.FullData) {
81
+ if (payload.length < 32) {
82
+ throw new Error(`Invalid full data address without enough payload ${(0, hex_1.hexFrom)(payload)}`);
83
+ }
84
+ return {
85
+ script: {
86
+ codeHash: payload.slice(0, 32),
87
+ hashType: "data",
88
+ args: payload.slice(32),
89
+ },
90
+ prefix,
91
+ };
99
92
  }
100
- return {
101
- script: {
102
- codeHash: payload.slice(0, 32),
103
- hashType: "data",
104
- args: payload.slice(32),
105
- },
106
- prefix,
107
- };
108
- }
109
- if (format === AddressFormat.FullType) {
110
- if (payload.length < 32) {
111
- throw new Error(
112
- `Invalid full type address without enough payload ${(0, hex_1.hexFrom)(payload)}`,
113
- );
93
+ if (format === AddressFormat.FullType) {
94
+ if (payload.length < 32) {
95
+ throw new Error(`Invalid full type address without enough payload ${(0, hex_1.hexFrom)(payload)}`);
96
+ }
97
+ return {
98
+ script: {
99
+ codeHash: payload.slice(0, 32),
100
+ hashType: "type",
101
+ args: payload.slice(32),
102
+ },
103
+ prefix,
104
+ };
105
+ }
106
+ // format === AddressFormat.Short
107
+ if (payload.length !== 21) {
108
+ throw new Error(`Invalid short address without enough payload ${(0, hex_1.hexFrom)(payload)}`);
109
+ }
110
+ const script = [
111
+ client_1.KnownScript.Secp256k1Blake160,
112
+ client_1.KnownScript.Secp256k1Multisig,
113
+ client_1.KnownScript.AnyoneCanPay,
114
+ ][payload[0]];
115
+ if (script === undefined) {
116
+ throw new Error(`Invalid short address with unknown script ${(0, hex_1.hexFrom)(payload)}`);
114
117
  }
115
118
  return {
116
- script: {
117
- codeHash: payload.slice(0, 32),
118
- hashType: "type",
119
- args: payload.slice(32),
120
- },
121
- prefix,
119
+ script: await ckb_1.Script.fromKnownScript(client, script, payload.slice(1)),
120
+ prefix,
122
121
  };
123
- }
124
- // format === AddressFormat.Short
125
- if (payload.length !== 21) {
126
- throw new Error(
127
- `Invalid short address without enough payload ${(0, hex_1.hexFrom)(payload)}`,
128
- );
129
- }
130
- const script = [
131
- client_1.KnownScript.Secp256k1Blake160,
132
- client_1.KnownScript.Secp256k1Multisig,
133
- client_1.KnownScript.AnyoneCanPay,
134
- ][payload[0]];
135
- if (script === undefined) {
136
- throw new Error(
137
- `Invalid short address with unknown script ${(0, hex_1.hexFrom)(payload)}`,
138
- );
139
- }
140
- return {
141
- script: await ckb_1.Script.fromKnownScript(
142
- client,
143
- script,
144
- payload.slice(1),
145
- ),
146
- prefix,
147
- };
148
122
  }
149
123
  exports.addressFromPayload = addressFromPayload;
150
124
  var AddressFormat;
151
125
  (function (AddressFormat) {
152
- /**
153
- * full version identifies the hashType
154
- */
155
- AddressFormat[(AddressFormat["Full"] = 0)] = "Full";
156
- /**
157
- * @deprecated
158
- * short version for locks with Known codeHash, deprecated
159
- */
160
- AddressFormat[(AddressFormat["Short"] = 1)] = "Short";
161
- /**
162
- * @deprecated
163
- * full version with hashType = "Data", deprecated
164
- */
165
- AddressFormat[(AddressFormat["FullData"] = 2)] = "FullData";
166
- /**
167
- * @deprecated
168
- * full version with hashType = "Type", deprecated
169
- */
170
- AddressFormat[(AddressFormat["FullType"] = 4)] = "FullType";
126
+ /**
127
+ * full version identifies the hashType
128
+ */
129
+ AddressFormat[AddressFormat["Full"] = 0] = "Full";
130
+ /**
131
+ * @deprecated
132
+ * short version for locks with Known codeHash, deprecated
133
+ */
134
+ AddressFormat[AddressFormat["Short"] = 1] = "Short";
135
+ /**
136
+ * @deprecated
137
+ * full version with hashType = "Data", deprecated
138
+ */
139
+ AddressFormat[AddressFormat["FullData"] = 2] = "FullData";
140
+ /**
141
+ * @deprecated
142
+ * full version with hashType = "Type", deprecated
143
+ */
144
+ AddressFormat[AddressFormat["FullType"] = 4] = "FullType";
171
145
  })(AddressFormat || (exports.AddressFormat = AddressFormat = {}));
172
146
  exports.ADDRESS_BECH32_LIMIT = 1023;
@@ -1,2 +1,2 @@
1
1
  export * from "./address.advanced";
2
- //# sourceMappingURL=advanced.d.ts.map
2
+ //# sourceMappingURL=advanced.d.ts.map