@ckb-ccc/core 0.0.5-alpha.8 → 0.0.6-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 (124) hide show
  1. package/dist/ckb/transaction.d.ts +17 -6
  2. package/dist/ckb/transaction.d.ts.map +1 -1
  3. package/dist/ckb/transaction.js +39 -15
  4. package/dist/client/client.d.ts +7 -6
  5. package/dist/client/client.d.ts.map +1 -1
  6. package/dist/client/client.js +9 -7
  7. package/dist/client/clientPublicMainnet.advanced.d.ts +1 -1
  8. package/dist/client/clientPublicMainnet.advanced.d.ts.map +1 -1
  9. package/dist/client/clientPublicMainnet.advanced.js +1 -0
  10. package/dist/client/clientPublicMainnet.d.ts.map +1 -1
  11. package/dist/client/clientPublicMainnet.js +5 -1
  12. package/dist/client/clientPublicTestnet.advanced.d.ts.map +1 -1
  13. package/dist/client/clientPublicTestnet.advanced.js +4 -0
  14. package/dist/signer/btc/signerBtc.d.ts.map +1 -1
  15. package/dist/signer/btc/signerBtc.js +4 -2
  16. package/dist/signer/btc/signerBtcPublicKeyReadonly.d.ts +0 -6
  17. package/dist/signer/btc/signerBtcPublicKeyReadonly.d.ts.map +1 -1
  18. package/dist/signer/btc/signerBtcPublicKeyReadonly.js +0 -8
  19. package/dist/signer/btc/verify.d.ts.map +1 -1
  20. package/dist/signer/btc/verify.js +5 -2
  21. package/dist/signer/ckb/signerCkbScriptReadonly.d.ts +0 -6
  22. package/dist/signer/ckb/signerCkbScriptReadonly.d.ts.map +1 -1
  23. package/dist/signer/ckb/signerCkbScriptReadonly.js +0 -8
  24. package/dist/signer/dummy/alwaysError.d.ts +0 -1
  25. package/dist/signer/dummy/alwaysError.d.ts.map +1 -1
  26. package/dist/signer/dummy/alwaysError.js +0 -3
  27. package/dist/signer/dummy/openLink.d.ts +0 -1
  28. package/dist/signer/dummy/openLink.d.ts.map +1 -1
  29. package/dist/signer/dummy/openLink.js +0 -3
  30. package/dist/signer/evm/signerEvm.d.ts.map +1 -1
  31. package/dist/signer/evm/signerEvm.js +3 -3
  32. package/dist/signer/evm/signerEvmAddressReadonly.d.ts +0 -6
  33. package/dist/signer/evm/signerEvmAddressReadonly.d.ts.map +1 -1
  34. package/dist/signer/evm/signerEvmAddressReadonly.js +0 -8
  35. package/dist/signer/index.d.ts +1 -0
  36. package/dist/signer/index.d.ts.map +1 -1
  37. package/dist/signer/index.js +1 -0
  38. package/dist/signer/nostr/index.d.ts +2 -0
  39. package/dist/signer/nostr/index.d.ts.map +1 -0
  40. package/dist/signer/nostr/index.js +1 -0
  41. package/dist/signer/nostr/signerNostr.d.ts +66 -0
  42. package/dist/signer/nostr/signerNostr.d.ts.map +1 -0
  43. package/dist/signer/nostr/signerNostr.js +84 -0
  44. package/dist/signer/nostr/verify.d.ts +5 -0
  45. package/dist/signer/nostr/verify.d.ts.map +1 -0
  46. package/dist/signer/nostr/verify.js +48 -0
  47. package/dist/signer/signer/index.d.ts +7 -12
  48. package/dist/signer/signer/index.d.ts.map +1 -1
  49. package/dist/signer/signer/index.js +11 -4
  50. package/dist/utils/index.d.ts +59 -0
  51. package/dist/utils/index.d.ts.map +1 -1
  52. package/dist/utils/index.js +17 -0
  53. package/dist.commonjs/ckb/transaction.d.ts +17 -6
  54. package/dist.commonjs/ckb/transaction.d.ts.map +1 -1
  55. package/dist.commonjs/ckb/transaction.js +39 -15
  56. package/dist.commonjs/client/client.d.ts +7 -6
  57. package/dist.commonjs/client/client.d.ts.map +1 -1
  58. package/dist.commonjs/client/client.js +9 -7
  59. package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts +1 -1
  60. package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts.map +1 -1
  61. package/dist.commonjs/client/clientPublicMainnet.advanced.js +1 -0
  62. package/dist.commonjs/client/clientPublicMainnet.d.ts.map +1 -1
  63. package/dist.commonjs/client/clientPublicMainnet.js +5 -1
  64. package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts.map +1 -1
  65. package/dist.commonjs/client/clientPublicTestnet.advanced.js +4 -0
  66. package/dist.commonjs/signer/btc/signerBtc.d.ts.map +1 -1
  67. package/dist.commonjs/signer/btc/signerBtc.js +4 -2
  68. package/dist.commonjs/signer/btc/signerBtcPublicKeyReadonly.d.ts +0 -6
  69. package/dist.commonjs/signer/btc/signerBtcPublicKeyReadonly.d.ts.map +1 -1
  70. package/dist.commonjs/signer/btc/signerBtcPublicKeyReadonly.js +0 -8
  71. package/dist.commonjs/signer/btc/verify.d.ts.map +1 -1
  72. package/dist.commonjs/signer/btc/verify.js +5 -2
  73. package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.d.ts +0 -6
  74. package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.d.ts.map +1 -1
  75. package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.js +0 -8
  76. package/dist.commonjs/signer/dummy/alwaysError.d.ts +0 -1
  77. package/dist.commonjs/signer/dummy/alwaysError.d.ts.map +1 -1
  78. package/dist.commonjs/signer/dummy/alwaysError.js +0 -3
  79. package/dist.commonjs/signer/dummy/openLink.d.ts +0 -1
  80. package/dist.commonjs/signer/dummy/openLink.d.ts.map +1 -1
  81. package/dist.commonjs/signer/dummy/openLink.js +0 -3
  82. package/dist.commonjs/signer/evm/signerEvm.d.ts.map +1 -1
  83. package/dist.commonjs/signer/evm/signerEvm.js +3 -3
  84. package/dist.commonjs/signer/evm/signerEvmAddressReadonly.d.ts +0 -6
  85. package/dist.commonjs/signer/evm/signerEvmAddressReadonly.d.ts.map +1 -1
  86. package/dist.commonjs/signer/evm/signerEvmAddressReadonly.js +0 -8
  87. package/dist.commonjs/signer/index.d.ts +1 -0
  88. package/dist.commonjs/signer/index.d.ts.map +1 -1
  89. package/dist.commonjs/signer/index.js +1 -0
  90. package/dist.commonjs/signer/nostr/index.d.ts +2 -0
  91. package/dist.commonjs/signer/nostr/index.d.ts.map +1 -0
  92. package/dist.commonjs/signer/nostr/index.js +17 -0
  93. package/dist.commonjs/signer/nostr/signerNostr.d.ts +66 -0
  94. package/dist.commonjs/signer/nostr/signerNostr.d.ts.map +1 -0
  95. package/dist.commonjs/signer/nostr/signerNostr.js +88 -0
  96. package/dist.commonjs/signer/nostr/verify.d.ts +5 -0
  97. package/dist.commonjs/signer/nostr/verify.d.ts.map +1 -0
  98. package/dist.commonjs/signer/nostr/verify.js +53 -0
  99. package/dist.commonjs/signer/signer/index.d.ts +7 -12
  100. package/dist.commonjs/signer/signer/index.d.ts.map +1 -1
  101. package/dist.commonjs/signer/signer/index.js +11 -4
  102. package/dist.commonjs/utils/index.d.ts +59 -0
  103. package/dist.commonjs/utils/index.d.ts.map +1 -1
  104. package/dist.commonjs/utils/index.js +19 -1
  105. package/package.json +4 -3
  106. package/src/ckb/transaction.ts +50 -18
  107. package/src/client/client.ts +12 -10
  108. package/src/client/clientPublicMainnet.advanced.ts +2 -1
  109. package/src/client/clientPublicMainnet.ts +7 -1
  110. package/src/client/clientPublicTestnet.advanced.ts +5 -0
  111. package/src/signer/btc/signerBtc.ts +4 -7
  112. package/src/signer/btc/signerBtcPublicKeyReadonly.ts +0 -9
  113. package/src/signer/btc/verify.ts +6 -3
  114. package/src/signer/ckb/signerCkbScriptReadonly.ts +0 -9
  115. package/src/signer/dummy/alwaysError.ts +0 -4
  116. package/src/signer/dummy/openLink.ts +0 -4
  117. package/src/signer/evm/signerEvm.ts +7 -9
  118. package/src/signer/evm/signerEvmAddressReadonly.ts +0 -9
  119. package/src/signer/index.ts +1 -0
  120. package/src/signer/nostr/index.ts +1 -0
  121. package/src/signer/nostr/signerNostr.ts +134 -0
  122. package/src/signer/nostr/verify.ts +63 -0
  123. package/src/signer/signer/index.ts +15 -11
  124. package/src/utils/index.ts +104 -0
@@ -256,12 +256,10 @@ export declare class CellInput {
256
256
  * @returns The completed instance.
257
257
  * @example
258
258
  * ```typescript
259
- * if (!cellInput.cellOutput) {
260
- * await cellInput.completeExtraInfos();
261
- * }
259
+ * await cellInput.completeExtraInfos();
262
260
  * ```
263
261
  */
264
- completeExtraInfos(client: Client): Promise<CellInput>;
262
+ completeExtraInfos(client: Client): Promise<void>;
265
263
  /**
266
264
  * Converts the CellInput instance to molecule data format.
267
265
  *
@@ -573,6 +571,19 @@ export declare class Transaction {
573
571
  * ```
574
572
  */
575
573
  findInputIndexByLock(scriptLike: ScriptLike, client: Client): Promise<number | undefined>;
574
+ /**
575
+ * Find the last occurrence of a input with the specified lock
576
+ *
577
+ * @param scriptLike - The script associated with the transaction, represented as a ScriptLike object.
578
+ * @param client - The client for complete extra infos in the transaction.
579
+ * @returns A promise that resolves to the prepared transaction
580
+ *
581
+ * @example
582
+ * ```typescript
583
+ * const index = await tx.findLastInputIndexByLock(scriptLike, client);
584
+ * ```
585
+ */
586
+ findLastInputIndexByLock(scriptLike: ScriptLike, client: Client): Promise<number | undefined>;
576
587
  /**
577
588
  * Get witness at index as WitnessArgs
578
589
  *
@@ -597,7 +608,7 @@ export declare class Transaction {
597
608
  * await tx.setWitnessArgsAt(0, witnessArgs);
598
609
  * ```
599
610
  */
600
- setWitnessArgsAt(index: number, witness: WitnessArgs): Transaction;
611
+ setWitnessArgsAt(index: number, witness: WitnessArgs): void;
601
612
  /**
602
613
  * Prepare dummy witness for sighash all method
603
614
  *
@@ -611,6 +622,6 @@ export declare class Transaction {
611
622
  * await tx.prepareSighashAllWitness(scriptLike, 85, client);
612
623
  * ```
613
624
  */
614
- prepareSighashAllWitness(scriptLike: ScriptLike, lockLen: number, client: Client): Promise<Transaction>;
625
+ prepareSighashAllWitness(scriptLike: ScriptLike, lockLen: number, client: Client): Promise<void>;
615
626
  }
616
627
  //# sourceMappingURL=transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/ckb/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/ckb/transaction.ts"],"names":[],"mappings":"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"}
@@ -284,22 +284,20 @@ export class CellInput {
284
284
  * @returns The completed instance.
285
285
  * @example
286
286
  * ```typescript
287
- * if (!cellInput.cellOutput) {
288
- * await cellInput.completeExtraInfos();
289
- * }
287
+ * await cellInput.completeExtraInfos();
290
288
  * ```
291
289
  */
292
290
  async completeExtraInfos(client) {
293
291
  if (this.cellOutput && this.outputData && this.blockNumber) {
294
- return this;
292
+ return;
295
293
  }
296
294
  const cell = await client.getCell(this.previousOutput);
297
- if (cell) {
298
- this.cellOutput = cell.cellOutput;
299
- this.outputData = cell.outputData;
300
- this.blockNumber = cell.blockNumber;
295
+ if (!cell) {
296
+ return;
301
297
  }
302
- return this;
298
+ this.cellOutput = cell.cellOutput;
299
+ this.outputData = cell.outputData;
300
+ this.blockNumber = cell.blockNumber;
303
301
  }
304
302
  /**
305
303
  * Converts the CellInput instance to molecule data format.
@@ -664,8 +662,9 @@ export class Transaction {
664
662
  const hasher = new Hasher();
665
663
  hasher.update(this.hash());
666
664
  for (let i = 0; i < this.witnesses.length; i += 1) {
667
- if (this.inputs[i]) {
668
- const input = await this.inputs[i].completeExtraInfos(client);
665
+ const input = this.inputs[i];
666
+ if (input) {
667
+ await input.completeExtraInfos(client);
669
668
  if (!input.cellOutput) {
670
669
  throw Error("Unable to resolve inputs info");
671
670
  }
@@ -704,7 +703,33 @@ export class Transaction {
704
703
  async findInputIndexByLock(scriptLike, client) {
705
704
  const script = Script.from(scriptLike);
706
705
  for (let i = 0; i < this.inputs.length; i += 1) {
707
- const input = await this.inputs[i].completeExtraInfos(client);
706
+ const input = this.inputs[i];
707
+ await input.completeExtraInfos(client);
708
+ if (!input.cellOutput) {
709
+ throw Error("Unable to resolve inputs info");
710
+ }
711
+ if (script.eq(input.cellOutput.lock)) {
712
+ return i;
713
+ }
714
+ }
715
+ }
716
+ /**
717
+ * Find the last occurrence of a input with the specified lock
718
+ *
719
+ * @param scriptLike - The script associated with the transaction, represented as a ScriptLike object.
720
+ * @param client - The client for complete extra infos in the transaction.
721
+ * @returns A promise that resolves to the prepared transaction
722
+ *
723
+ * @example
724
+ * ```typescript
725
+ * const index = await tx.findLastInputIndexByLock(scriptLike, client);
726
+ * ```
727
+ */
728
+ async findLastInputIndexByLock(scriptLike, client) {
729
+ const script = Script.from(scriptLike);
730
+ for (let i = this.inputs.length - 1; i >= 0; i -= 1) {
731
+ const input = this.inputs[i];
732
+ await input.completeExtraInfos(client);
708
733
  if (!input.cellOutput) {
709
734
  throw Error("Unable to resolve inputs info");
710
735
  }
@@ -747,7 +772,6 @@ export class Transaction {
747
772
  this.witnesses.push(...Array.from(new Array(index - this.witnesses.length), () => "0x"));
748
773
  }
749
774
  this.witnesses[index] = hexFrom(witness.toBytes());
750
- return this;
751
775
  }
752
776
  /**
753
777
  * Prepare dummy witness for sighash all method
@@ -765,10 +789,10 @@ export class Transaction {
765
789
  async prepareSighashAllWitness(scriptLike, lockLen, client) {
766
790
  const position = await this.findInputIndexByLock(scriptLike, client);
767
791
  if (position === undefined) {
768
- return this;
792
+ return;
769
793
  }
770
794
  const witness = this.getWitnessArgsAt(position) ?? WitnessArgs.from({});
771
795
  witness.lock = hexFrom(Array.from(new Array(lockLen), () => 0));
772
- return this.setWitnessArgsAt(position, witness);
796
+ this.setWitnessArgsAt(position, witness);
773
797
  }
774
798
  }
@@ -3,12 +3,13 @@ import { Hex, HexLike } from "../hex";
3
3
  import { Num, NumLike } from "../num";
4
4
  import { ClientFindCellsResponse, ClientIndexerSearchKeyLike, ClientTransactionResponse, OutputsValidator } from "./clientTypes";
5
5
  export declare enum KnownScript {
6
- Secp256k1Blake160 = 0,
7
- Secp256k1Multisig = 1,
8
- AnyoneCanPay = 2,
9
- JoyId = 3,
10
- COTA = 4,
11
- OmniLock = 5
6
+ Secp256k1Blake160 = "Secp256k1Blake160",
7
+ Secp256k1Multisig = "Secp256k1Multisig",
8
+ AnyoneCanPay = "AnyoneCanPay",
9
+ JoyId = "JoyId",
10
+ COTA = "COTA",
11
+ OmniLock = "OmniLock",
12
+ NostrLock = "NostrLock"
12
13
  }
13
14
  export declare abstract class Client {
14
15
  abstract get url(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,UAAU,EACV,eAAe,EAChB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAW,MAAM,QAAQ,CAAC;AAC/C,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAEvB,oBAAY,WAAW;IACrB,iBAAiB,IAAA;IACjB,iBAAiB,IAAA;IACjB,YAAY,IAAA;IACZ,KAAK,IAAA;IACL,IAAI,IAAA;IACJ,QAAQ,IAAA;CACT;AAED,8BAAsB,MAAM;IAC1B,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAC;IAC3B,QAAQ,KAAK,aAAa,IAAI,MAAM,CAAC;IAErC,QAAQ,CAAC,cAAc,CACrB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC;IAEjD,QAAQ,CAAC,eAAe,CACtB,WAAW,EAAE,eAAe,EAC5B,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,GAAG,CAAC;IACf,QAAQ,CAAC,cAAc,CACrB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC;IAEtC,OAAO,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAmB3D,QAAQ,CAAC,cAAc,CACrB,GAAG,EAAE,0BAA0B,EAC/B,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,EACtB,KAAK,CAAC,EAAE,OAAO,EACf,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,uBAAuB,CAAC;IAE5B,SAAS,CACd,GAAG,EAAE,0BAA0B,EAC/B,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,EACtB,KAAK,SAAK,GACT,cAAc,CAAC,IAAI,CAAC;IAoBvB,sBAAsB,CACpB,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,UAAU,EAChB,QAAQ,UAAO,GACd,cAAc,CAAC,IAAI,CAAC;IAYvB,QAAQ,CAAC,gBAAgB,CAAC,GAAG,EAAE,0BAA0B,GAAG,OAAO,CAAC,GAAG,CAAC;IAElE,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAYhD,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;CAOpD"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,UAAU,EACV,eAAe,EAChB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAW,MAAM,QAAQ,CAAC;AAE/C,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAEvB,oBAAY,WAAW;IACrB,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,YAAY,iBAAiB;IAC7B,KAAK,UAAU;IACf,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,SAAS,cAAc;CACxB;AAED,8BAAsB,MAAM;IAC1B,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAC;IAC3B,QAAQ,KAAK,aAAa,IAAI,MAAM,CAAC;IAErC,QAAQ,CAAC,cAAc,CACrB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC;IAEjD,QAAQ,CAAC,eAAe,CACtB,WAAW,EAAE,eAAe,EAC5B,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,GAAG,CAAC;IACf,QAAQ,CAAC,cAAc,CACrB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC;IAEtC,OAAO,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAmB3D,QAAQ,CAAC,cAAc,CACrB,GAAG,EAAE,0BAA0B,EAC/B,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,EACtB,KAAK,CAAC,EAAE,OAAO,EACf,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,uBAAuB,CAAC;IAE5B,SAAS,CACd,GAAG,EAAE,0BAA0B,EAC/B,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,EACtB,KAAK,SAAK,GACT,cAAc,CAAC,IAAI,CAAC;IAoBvB,sBAAsB,CACpB,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,UAAU,EAChB,QAAQ,UAAO,GACd,cAAc,CAAC,IAAI,CAAC;IAYvB,QAAQ,CAAC,gBAAgB,CAAC,GAAG,EAAE,0BAA0B,GAAG,OAAO,CAAC,GAAG,CAAC;IAElE,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAYhD,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;CAOpD"}
@@ -1,14 +1,16 @@
1
1
  import { Cell, } from "../ckb";
2
2
  import { Zero } from "../fixedPoint";
3
3
  import { numFrom } from "../num";
4
+ import { reduceAsync } from "../utils";
4
5
  export var KnownScript;
5
6
  (function (KnownScript) {
6
- KnownScript[KnownScript["Secp256k1Blake160"] = 0] = "Secp256k1Blake160";
7
- KnownScript[KnownScript["Secp256k1Multisig"] = 1] = "Secp256k1Multisig";
8
- KnownScript[KnownScript["AnyoneCanPay"] = 2] = "AnyoneCanPay";
9
- KnownScript[KnownScript["JoyId"] = 3] = "JoyId";
10
- KnownScript[KnownScript["COTA"] = 4] = "COTA";
11
- KnownScript[KnownScript["OmniLock"] = 5] = "OmniLock";
7
+ KnownScript["Secp256k1Blake160"] = "Secp256k1Blake160";
8
+ KnownScript["Secp256k1Multisig"] = "Secp256k1Multisig";
9
+ KnownScript["AnyoneCanPay"] = "AnyoneCanPay";
10
+ KnownScript["JoyId"] = "JoyId";
11
+ KnownScript["COTA"] = "COTA";
12
+ KnownScript["OmniLock"] = "OmniLock";
13
+ KnownScript["NostrLock"] = "NostrLock";
12
14
  })(KnownScript || (KnownScript = {}));
13
15
  export class Client {
14
16
  async getCell(outPoint) {
@@ -63,6 +65,6 @@ export class Client {
63
65
  });
64
66
  }
65
67
  async getBalance(locks) {
66
- return locks.reduce((res, lock) => this.getBalanceSingle(lock).then((a) => res.then((b) => a + b)), Promise.resolve(Zero));
68
+ return reduceAsync(locks, async (acc, lock) => acc + (await this.getBalanceSingle(lock)), Zero);
67
69
  }
68
70
  }
@@ -1,4 +1,4 @@
1
1
  import { Script } from "../ckb";
2
2
  import { KnownScript } from "./client";
3
- export declare const MAINNET_SCRIPTS: Record<KnownScript, Pick<Script, "codeHash" | "hashType">>;
3
+ export declare const MAINNET_SCRIPTS: Record<KnownScript, Pick<Script, "codeHash" | "hashType"> | undefined>;
4
4
  //# sourceMappingURL=clientPublicMainnet.advanced.d.ts.map
@@ -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,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,eAAO,MAAM,eAAe,EAAE,MAAM,CAClC,WAAW,EACX,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,CAgCtC,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,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,eAAO,MAAM,eAAe,EAAE,MAAM,CAClC,WAAW,EACX,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,GAAG,SAAS,CAiClD,CAAC"}
@@ -24,4 +24,5 @@ export const MAINNET_SCRIPTS = {
24
24
  codeHash: "0x9b819793a64463aed77c615d6cb226eea5487ccfc0783043a587254cda2b6f26",
25
25
  hashType: "type",
26
26
  },
27
+ [KnownScript.NostrLock]: undefined,
27
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"clientPublicMainnet.d.ts","sourceRoot":"","sources":["../../src/client/clientPublicMainnet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,qBAAa,mBAAoB,SAAQ,aAAa;gBACxC,GAAG,SAAgC,EAAE,OAAO,CAAC,EAAE,MAAM;IAIjE,IAAI,aAAa,IAAI,MAAM,CAE1B;IAEK,cAAc,CAClB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC;CAGlD"}
1
+ {"version":3,"file":"clientPublicMainnet.d.ts","sourceRoot":"","sources":["../../src/client/clientPublicMainnet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,qBAAa,mBAAoB,SAAQ,aAAa;gBACxC,GAAG,SAAgC,EAAE,OAAO,CAAC,EAAE,MAAM;IAIjE,IAAI,aAAa,IAAI,MAAM,CAE1B;IAEK,cAAc,CAClB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC;CASlD"}
@@ -8,6 +8,10 @@ export class ClientPublicMainnet extends ClientJsonRpc {
8
8
  return "ckb";
9
9
  }
10
10
  async getKnownScript(script) {
11
- return { ...MAINNET_SCRIPTS[script] };
11
+ const found = MAINNET_SCRIPTS[script];
12
+ if (!found) {
13
+ throw new Error(`No script information was found for ${script} on ${this.addressPrefix}`);
14
+ }
15
+ return { ...found };
12
16
  }
13
17
  }
@@ -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,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,eAAO,MAAM,eAAe,EAAE,MAAM,CAClC,WAAW,EACX,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,CAgCtC,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,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,eAAO,MAAM,eAAe,EAAE,MAAM,CAClC,WAAW,EACX,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,CAqCtC,CAAC"}
@@ -24,4 +24,8 @@ export const TESTNET_SCRIPTS = {
24
24
  codeHash: "0xf329effd1c475a2978453c8600e1eaf0bc2087ee093c3ee64cc96ec6847752cb",
25
25
  hashType: "type",
26
26
  },
27
+ [KnownScript.NostrLock]: {
28
+ codeHash: "0x6ae5ee0cb887b2df5a9a18137315b9bdc55be8d52637b2de0624092d5f0c91d5",
29
+ hashType: "type",
30
+ },
27
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"signerBtc.d.ts","sourceRoot":"","sources":["../../../src/signer/btc/signerBtc.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAe,MAAM,WAAW,CAAC;AAEtE,OAAO,EAAE,OAAO,EAAW,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE/D;;;;GAIG;AACH,8BAAsB,SAAU,SAAQ,MAAM;IAC5C,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED;;;;OAIG;IACH,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAEzC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAE5C;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI3C;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAIpC;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAa1C;;;;;OAKG;IACG,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IASvE;;;;;OAKG;IACG,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CAgCzE"}
1
+ {"version":3,"file":"signerBtc.d.ts","sourceRoot":"","sources":["../../../src/signer/btc/signerBtc.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAe,MAAM,WAAW,CAAC;AAEtE,OAAO,EAAE,OAAO,EAAW,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE/D;;;;GAIG;AACH,8BAAsB,SAAU,SAAQ,MAAM;IAC5C,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED;;;;OAIG;IACH,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAEzC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAE5C;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI3C;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAIpC;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAa1C;;;;;OAKG;IACG,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAOvE;;;;;OAKG;IACG,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CA+BzE"}
@@ -54,8 +54,10 @@ export class SignerBtc extends Signer {
54
54
  * @returns A promise that resolves to the prepared Transaction object.
55
55
  */
56
56
  async prepareTransaction(txLike) {
57
+ const tx = Transaction.from(txLike);
57
58
  const { script } = await this.getRecommendedAddressObj();
58
- return Transaction.from(txLike).prepareSighashAllWitness(script, 85, this.client);
59
+ await tx.prepareSighashAllWitness(script, 85, this.client);
60
+ return tx;
59
61
  }
60
62
  /**
61
63
  * Signs a transaction without modifying it.
@@ -74,7 +76,7 @@ export class SignerBtc extends Signer {
74
76
  signature[0] = 31 + ((signature[0] - 27) % 4);
75
77
  const witness = WitnessArgs.fromBytes(tx.witnesses[info.position]);
76
78
  witness.lock = hexFrom(bytesConcat(numToBytes(5 * 4 + signature.length, 4), numToBytes(4 * 4, 4), numToBytes(5 * 4 + signature.length, 4), numToBytes(5 * 4 + signature.length, 4), numToBytes(signature.length, 4), signature));
77
- tx.witnesses[info.position] = hexFrom(witness.toBytes());
79
+ tx.setWitnessArgsAt(info.position, witness);
78
80
  return tx;
79
81
  }
80
82
  }
@@ -16,12 +16,6 @@ export declare class SignerBtcPublicKeyReadonly extends SignerBtc {
16
16
  * @param publicKey - The public key associated with the signer.
17
17
  */
18
18
  constructor(client: Client, account: string, publicKey: HexLike);
19
- /**
20
- * Construct a new signer with the client replaced.
21
- *
22
- * @returns A promise that resolves the new Signer.
23
- */
24
- replaceClient(client: Client): Promise<SignerBtcPublicKeyReadonly>;
25
19
  /**
26
20
  * Connects to the client. This implementation does nothing as the class is read-only.
27
21
  *
@@ -1 +1 @@
1
- {"version":3,"file":"signerBtcPublicKeyReadonly.d.ts","sourceRoot":"","sources":["../../../src/signer/btc/signerBtcPublicKeyReadonly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAW,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,SAAS;IAYrD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAX1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAM;IAEhC;;;;;;OAMG;gBAED,MAAM,EAAE,MAAM,EACG,OAAO,EAAE,MAAM,EAChC,SAAS,EAAE,OAAO;IAOpB;;;;OAIG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAIxE;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC;;;;;;;;;OASG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAItC;;;;;;;;;OASG;IACG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;CAGtC"}
1
+ {"version":3,"file":"signerBtcPublicKeyReadonly.d.ts","sourceRoot":"","sources":["../../../src/signer/btc/signerBtcPublicKeyReadonly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAW,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,SAAS;IAYrD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAX1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAM;IAEhC;;;;;;OAMG;gBAED,MAAM,EAAE,MAAM,EACG,OAAO,EAAE,MAAM,EAChC,SAAS,EAAE,OAAO;IAOpB;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC;;;;;;;;;OASG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAItC;;;;;;;;;OASG;IACG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;CAGtC"}
@@ -17,14 +17,6 @@ export class SignerBtcPublicKeyReadonly extends SignerBtc {
17
17
  this.account = account;
18
18
  this.publicKey = hexFrom(publicKey);
19
19
  }
20
- /**
21
- * Construct a new signer with the client replaced.
22
- *
23
- * @returns A promise that resolves the new Signer.
24
- */
25
- async replaceClient(client) {
26
- return new SignerBtcPublicKeyReadonly(client, this.account, this.publicKey);
27
- }
28
20
  /**
29
21
  * Connects to the client. This implementation does nothing as the class is read-only.
30
22
  *
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/signer/btc/verify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAKT"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/signer/btc/verify.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAa,MAAM,aAAa,CAAC;AAGnD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAOT"}
@@ -1,6 +1,9 @@
1
- import { verifyMessage } from "@unisat/wallet-utils";
1
+ import { secp256k1 } from "@noble/curves/secp256k1";
2
+ import { magicHash } from "bitcoinjs-message";
3
+ import { bytesFrom } from "../../bytes";
2
4
  import { hexFrom } from "../../hex";
3
5
  export function verifyMessageBtcEcdsa(message, signature, publicKey) {
4
6
  const challenge = typeof message === "string" ? message : hexFrom(message).slice(2);
5
- return verifyMessage(publicKey, challenge, signature);
7
+ const [_, ...rawSign] = bytesFrom(signature, "base64");
8
+ return secp256k1.verify(bytesFrom(rawSign), magicHash(challenge), publicKey);
6
9
  }
@@ -17,12 +17,6 @@ export declare class SignerCkbScriptReadonly extends Signer {
17
17
  * @param script - The script associated with the signer.
18
18
  */
19
19
  constructor(client: Client, script: ScriptLike);
20
- /**
21
- * Construct a new signer with the client replaced.
22
- *
23
- * @returns A promise that resolves the new Signer.
24
- */
25
- replaceClient(client: Client): Promise<SignerCkbScriptReadonly>;
26
20
  /**
27
21
  * Connects to the client. This implementation does nothing as the class is read-only.
28
22
  *
@@ -1 +1 @@
1
- {"version":3,"file":"signerCkbScriptReadonly.d.ts","sourceRoot":"","sources":["../../../src/signer/ckb/signerCkbScriptReadonly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAU,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE/D;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,MAAM;IACjD,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;;;;OAKG;gBACS,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;IAM9C;;;;OAIG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAIrE;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC;;;;;;;;;OASG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI3C;;;;;;;;;OASG;IAEG,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;CAG3C"}
1
+ {"version":3,"file":"signerCkbScriptReadonly.d.ts","sourceRoot":"","sources":["../../../src/signer/ckb/signerCkbScriptReadonly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAU,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE/D;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,MAAM;IACjD,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;;;;OAKG;gBACS,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;IAM9C;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC;;;;;;;;;OASG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI3C;;;;;;;;;OASG;IAEG,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;CAG3C"}
@@ -22,14 +22,6 @@ export class SignerCkbScriptReadonly extends Signer {
22
22
  super(client);
23
23
  this.script = Script.from(script);
24
24
  }
25
- /**
26
- * Construct a new signer with the client replaced.
27
- *
28
- * @returns A promise that resolves the new Signer.
29
- */
30
- async replaceClient(client) {
31
- return new SignerCkbScriptReadonly(client, this.script);
32
- }
33
25
  /**
34
26
  * Connects to the client. This implementation does nothing as the class is read-only.
35
27
  *
@@ -4,7 +4,6 @@ import { SignerDummy } from "./dummy";
4
4
  export declare class SignerAlwaysError extends SignerDummy {
5
5
  private readonly message;
6
6
  constructor(client: Client, type: SignerType, message: string);
7
- replaceClient(client: Client): Promise<SignerAlwaysError>;
8
7
  connect(): Promise<void>;
9
8
  }
10
9
  //# sourceMappingURL=alwaysError.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"alwaysError.d.ts","sourceRoot":"","sources":["../../../src/signer/dummy/alwaysError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,qBAAa,iBAAkB,SAAQ,WAAW;IAI9C,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAFxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,EACC,OAAO,EAAE,MAAM;IAK5B,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIzD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
1
+ {"version":3,"file":"alwaysError.d.ts","sourceRoot":"","sources":["../../../src/signer/dummy/alwaysError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,qBAAa,iBAAkB,SAAQ,WAAW;IAI9C,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAFxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,EACC,OAAO,EAAE,MAAM;IAK5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
@@ -4,9 +4,6 @@ export class SignerAlwaysError extends SignerDummy {
4
4
  super(client, type);
5
5
  this.message = message;
6
6
  }
7
- async replaceClient(client) {
8
- return new SignerAlwaysError(client, this.type, this.message);
9
- }
10
7
  async connect() {
11
8
  throw new Error(this.message);
12
9
  }
@@ -4,7 +4,6 @@ import { SignerDummy } from "./dummy";
4
4
  export declare class SignerOpenLink extends SignerDummy {
5
5
  private readonly link;
6
6
  constructor(client: Client, type: SignerType, link: string);
7
- replaceClient(client: Client): Promise<SignerOpenLink>;
8
7
  connect(): Promise<void>;
9
8
  }
10
9
  //# sourceMappingURL=openLink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openLink.d.ts","sourceRoot":"","sources":["../../../src/signer/dummy/openLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,qBAAa,cAAe,SAAQ,WAAW;IAI3C,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAFrB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,EACC,IAAI,EAAE,MAAM;IAKzB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAItD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
1
+ {"version":3,"file":"openLink.d.ts","sourceRoot":"","sources":["../../../src/signer/dummy/openLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,qBAAa,cAAe,SAAQ,WAAW;IAI3C,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAFrB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,EACC,IAAI,EAAE,MAAM;IAKzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
@@ -4,9 +4,6 @@ export class SignerOpenLink extends SignerDummy {
4
4
  super(client, type);
5
5
  this.link = link;
6
6
  }
7
- async replaceClient(client) {
8
- return new SignerOpenLink(client, this.type, this.link);
9
- }
10
7
  async connect() {
11
8
  window.open(this.link, "_blank")?.focus();
12
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"signerEvm.d.ts","sourceRoot":"","sources":["../../../src/signer/evm/signerEvm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAA0B,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAe,MAAM,WAAW,CAAC;AAI9E,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE/D;;;GAGG;AACH,8BAAsB,SAAU,SAAQ,MAAM;IAC5C,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED;;;;OAIG;IACH,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAEzC;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI3C;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAQpC,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ5D,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrE;;;;;OAKG;IACG,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAYvE;;;;;OAKG;IACG,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAsBlE,iCAAiC,CACrC,EAAE,EAAE,WAAW,EACf,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,GAC9C,OAAO,CAAC,WAAW,CAAC;CA6BxB"}
1
+ {"version":3,"file":"signerEvm.d.ts","sourceRoot":"","sources":["../../../src/signer/evm/signerEvm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAA0B,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAe,MAAM,WAAW,CAAC;AAK9E,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE/D;;;GAGG;AACH,8BAAsB,SAAU,SAAQ,MAAM;IAC5C,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED;;;;OAIG;IACH,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAEzC;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI3C;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAQpC,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ5D,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrE;;;;;OAKG;IACG,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IASvE;;;;;OAKG;IACG,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAsBlE,iCAAiC,CACrC,EAAE,EAAE,WAAW,EACf,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,GAC9C,OAAO,CAAC,WAAW,CAAC;CA6BxB"}
@@ -4,6 +4,7 @@ import { Transaction, WitnessArgs } from "../../ckb";
4
4
  import { KnownScript } from "../../client";
5
5
  import { hexFrom } from "../../hex";
6
6
  import { numToBytes } from "../../num";
7
+ import { reduceAsync } from "../../utils";
7
8
  import { Signer, SignerSignType, SignerType } from "../signer";
8
9
  /**
9
10
  * An abstract class extending Signer for Ethereum Virtual Machine (EVM) based signing operations.
@@ -49,8 +50,7 @@ export class SignerEvm extends Signer {
49
50
  * @returns A promise that resolves to the prepared Transaction object.
50
51
  */
51
52
  async prepareTransaction(txLike) {
52
- const addresses = await this.getAddressObjs();
53
- return addresses.reduce((txPromise, { script }) => txPromise.then((tx) => tx.prepareSighashAllWitness(script, 85, this.client)), Promise.resolve(Transaction.from(txLike)));
53
+ return reduceAsync(await this.getAddressObjs(), (tx, { script }) => tx.prepareSighashAllWitness(script, 85, this.client), Transaction.from(txLike));
54
54
  }
55
55
  /**
56
56
  * Signs a transaction without modifying it.
@@ -78,7 +78,7 @@ export class SignerEvm extends Signer {
78
78
  }
79
79
  const witness = WitnessArgs.fromBytes(tx.witnesses[info.position]);
80
80
  witness.lock = hexFrom(bytesConcat(numToBytes(5 * 4 + signature.length, 4), numToBytes(4 * 4, 4), numToBytes(5 * 4 + signature.length, 4), numToBytes(5 * 4 + signature.length, 4), numToBytes(signature.length, 4), signature));
81
- tx.witnesses[info.position] = hexFrom(witness.toBytes());
81
+ tx.setWitnessArgsAt(info.position, witness);
82
82
  return tx;
83
83
  }
84
84
  }
@@ -14,12 +14,6 @@ export declare class SignerEvmAddressReadonly extends SignerEvm {
14
14
  * @param address - The EVM address associated with the signer.
15
15
  */
16
16
  constructor(client: Client, address: HexLike);
17
- /**
18
- * Construct a new signer with the client replaced.
19
- *
20
- * @returns A promise that resolves the new Signer.
21
- */
22
- replaceClient(client: Client): Promise<SignerEvmAddressReadonly>;
23
17
  /**
24
18
  * Connects to the client. This implementation does nothing as the class is read-only.
25
19
  *
@@ -1 +1 @@
1
- {"version":3,"file":"signerEvmAddressReadonly.d.ts","sourceRoot":"","sources":["../../../src/signer/evm/signerEvmAddressReadonly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAO,OAAO,EAAW,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,SAAS;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAM;IAE9B;;;;;OAKG;gBACS,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAM5C;;;;OAIG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAItE;;;;;;;;;OASG;IAEG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC;;;;;;;;;OASG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAGvC"}
1
+ {"version":3,"file":"signerEvmAddressReadonly.d.ts","sourceRoot":"","sources":["../../../src/signer/evm/signerEvmAddressReadonly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAO,OAAO,EAAW,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,SAAS;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAM;IAE9B;;;;;OAKG;gBACS,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAM5C;;;;;;;;;OASG;IAEG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC;;;;;;;;;OASG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAGvC"}
@@ -15,14 +15,6 @@ export class SignerEvmAddressReadonly extends SignerEvm {
15
15
  super(client);
16
16
  this.address = hexFrom(address);
17
17
  }
18
- /**
19
- * Construct a new signer with the client replaced.
20
- *
21
- * @returns A promise that resolves the new Signer.
22
- */
23
- async replaceClient(client) {
24
- return new SignerEvmAddressReadonly(client, this.address);
25
- }
26
18
  /**
27
19
  * Connects to the client. This implementation does nothing as the class is read-only.
28
20
  *
@@ -2,5 +2,6 @@ export * from "./btc";
2
2
  export * from "./ckb";
3
3
  export * from "./dummy";
4
4
  export * from "./evm";
5
+ export * from "./nostr";
5
6
  export * from "./signer";
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signer/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signer/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
@@ -2,4 +2,5 @@ export * from "./btc";
2
2
  export * from "./ckb";
3
3
  export * from "./dummy";
4
4
  export * from "./evm";
5
+ export * from "./nostr";
5
6
  export * from "./signer";
@@ -0,0 +1,2 @@
1
+ export * from "./signerNostr";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/signer/nostr/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./signerNostr";