@ckb-ccc/core 1.9.0 → 1.10.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 (82) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/ckb/index.d.ts +1 -0
  3. package/dist/ckb/index.d.ts.map +1 -1
  4. package/dist/ckb/index.js +1 -0
  5. package/dist/ckb/script.d.ts +12 -0
  6. package/dist/ckb/script.d.ts.map +1 -1
  7. package/dist/ckb/script.js +17 -0
  8. package/dist/ckb/transaction.d.ts +147 -14
  9. package/dist/ckb/transaction.d.ts.map +1 -1
  10. package/dist/ckb/transaction.js +165 -28
  11. package/dist/ckb/transactionErrors.d.ts +15 -0
  12. package/dist/ckb/transactionErrors.d.ts.map +1 -0
  13. package/dist/ckb/transactionErrors.js +21 -0
  14. package/dist/client/cache/cache.d.ts +7 -0
  15. package/dist/client/cache/cache.d.ts.map +1 -1
  16. package/dist/client/cache/cache.js +11 -0
  17. package/dist/client/cache/memory.advanced.d.ts +36 -3
  18. package/dist/client/cache/memory.advanced.d.ts.map +1 -1
  19. package/dist/client/cache/memory.advanced.js +53 -25
  20. package/dist/client/cache/memory.d.ts +10 -1
  21. package/dist/client/cache/memory.d.ts.map +1 -1
  22. package/dist/client/cache/memory.js +13 -2
  23. package/dist/client/client.d.ts.map +1 -1
  24. package/dist/client/client.js +6 -9
  25. package/dist/client/clientPublicMainnet.advanced.d.ts.map +1 -1
  26. package/dist/client/clientPublicMainnet.advanced.js +60 -0
  27. package/dist/client/clientPublicTestnet.advanced.d.ts +23 -0
  28. package/dist/client/clientPublicTestnet.advanced.d.ts.map +1 -1
  29. package/dist/client/clientPublicTestnet.advanced.js +145 -1
  30. package/dist/client/clientTypes.advanced.d.ts +0 -1
  31. package/dist/client/clientTypes.advanced.d.ts.map +1 -1
  32. package/dist/client/clientTypes.advanced.js +0 -1
  33. package/dist/client/knownScript.d.ts +3 -1
  34. package/dist/client/knownScript.d.ts.map +1 -1
  35. package/dist/client/knownScript.js +4 -0
  36. package/dist.commonjs/ckb/index.d.ts +1 -0
  37. package/dist.commonjs/ckb/index.d.ts.map +1 -1
  38. package/dist.commonjs/ckb/index.js +1 -0
  39. package/dist.commonjs/ckb/script.d.ts +12 -0
  40. package/dist.commonjs/ckb/script.d.ts.map +1 -1
  41. package/dist.commonjs/ckb/script.js +17 -0
  42. package/dist.commonjs/ckb/transaction.d.ts +147 -14
  43. package/dist.commonjs/ckb/transaction.d.ts.map +1 -1
  44. package/dist.commonjs/ckb/transaction.js +164 -27
  45. package/dist.commonjs/ckb/transactionErrors.d.ts +15 -0
  46. package/dist.commonjs/ckb/transactionErrors.d.ts.map +1 -0
  47. package/dist.commonjs/ckb/transactionErrors.js +26 -0
  48. package/dist.commonjs/client/cache/cache.d.ts +7 -0
  49. package/dist.commonjs/client/cache/cache.d.ts.map +1 -1
  50. package/dist.commonjs/client/cache/cache.js +11 -0
  51. package/dist.commonjs/client/cache/memory.advanced.d.ts +36 -3
  52. package/dist.commonjs/client/cache/memory.advanced.d.ts.map +1 -1
  53. package/dist.commonjs/client/cache/memory.advanced.js +54 -26
  54. package/dist.commonjs/client/cache/memory.d.ts +10 -1
  55. package/dist.commonjs/client/cache/memory.d.ts.map +1 -1
  56. package/dist.commonjs/client/cache/memory.js +12 -1
  57. package/dist.commonjs/client/client.d.ts.map +1 -1
  58. package/dist.commonjs/client/client.js +5 -8
  59. package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts.map +1 -1
  60. package/dist.commonjs/client/clientPublicMainnet.advanced.js +60 -0
  61. package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts +23 -0
  62. package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts.map +1 -1
  63. package/dist.commonjs/client/clientPublicTestnet.advanced.js +146 -2
  64. package/dist.commonjs/client/clientTypes.advanced.d.ts +0 -1
  65. package/dist.commonjs/client/clientTypes.advanced.d.ts.map +1 -1
  66. package/dist.commonjs/client/clientTypes.advanced.js +1 -2
  67. package/dist.commonjs/client/knownScript.d.ts +3 -1
  68. package/dist.commonjs/client/knownScript.d.ts.map +1 -1
  69. package/dist.commonjs/client/knownScript.js +4 -0
  70. package/package.json +1 -1
  71. package/src/ckb/index.ts +1 -0
  72. package/src/ckb/script.ts +20 -0
  73. package/src/ckb/transaction.ts +210 -33
  74. package/src/ckb/transactionErrors.ts +36 -0
  75. package/src/client/cache/cache.ts +14 -1
  76. package/src/client/cache/memory.advanced.ts +57 -30
  77. package/src/client/cache/memory.ts +18 -1
  78. package/src/client/client.ts +5 -10
  79. package/src/client/clientPublicMainnet.advanced.ts +68 -0
  80. package/src/client/clientPublicTestnet.advanced.ts +164 -1
  81. package/src/client/clientTypes.advanced.ts +0 -1
  82. package/src/client/knownScript.ts +5 -0
@@ -387,4 +387,72 @@ export const MAINNET_SCRIPTS: Record<KnownScript, ScriptInfoLike | undefined> =
387
387
  },
388
388
  ],
389
389
  },
390
+ [KnownScript.RgbppLock]: {
391
+ codeHash:
392
+ "0xbc6c568a1a0d0a09f6844dc9d74ddb4343c32143ff25f727c59edf4fb72d6936",
393
+ hashType: "type",
394
+ cellDeps: [
395
+ {
396
+ cellDep: {
397
+ outPoint: {
398
+ txHash:
399
+ "0x04c5c3e69f1aa6ee27fb9de3d15a81704e387ab3b453965adbe0b6ca343c6f41",
400
+ index: 0,
401
+ },
402
+ depType: "code",
403
+ },
404
+ type: {
405
+ codeHash:
406
+ "0x00000000000000000000000000000000000000000000000000545950455f4944",
407
+ hashType: "type",
408
+ args: "0x68ad3d9e0bb9ea841a5d1fcd600137bd3f45401e759e353121f26cd0d981452f",
409
+ },
410
+ },
411
+ // Rgbpp lock config cell dep
412
+ {
413
+ cellDep: {
414
+ outPoint: {
415
+ txHash:
416
+ "0x04c5c3e69f1aa6ee27fb9de3d15a81704e387ab3b453965adbe0b6ca343c6f41",
417
+ index: 1,
418
+ },
419
+ depType: "code",
420
+ },
421
+ },
422
+ ],
423
+ },
424
+ [KnownScript.BtcTimeLock]: {
425
+ codeHash:
426
+ "0x70d64497a075bd651e98ac030455ea200637ee325a12ad08aff03f1a117e5a62",
427
+ hashType: "type",
428
+ cellDeps: [
429
+ {
430
+ cellDep: {
431
+ outPoint: {
432
+ txHash:
433
+ "0x6257bf4297ee75fcebe2654d8c5f8d93bc9fc1b3dc62b8cef54ffe166162e996",
434
+ index: 0,
435
+ },
436
+ depType: "code",
437
+ },
438
+ type: {
439
+ codeHash:
440
+ "0x00000000000000000000000000000000000000000000000000545950455f4944",
441
+ hashType: "type",
442
+ args: "0x44b8253ae18e913a2845b0d548eaf6b3ba1099ed26835888932a754194028a8a",
443
+ },
444
+ },
445
+ // btc time lock config cell dep
446
+ {
447
+ cellDep: {
448
+ outPoint: {
449
+ txHash:
450
+ "0x6257bf4297ee75fcebe2654d8c5f8d93bc9fc1b3dc62b8cef54ffe166162e996",
451
+ index: 1,
452
+ },
453
+ depType: "code",
454
+ },
455
+ },
456
+ ],
457
+ },
390
458
  });
@@ -126,7 +126,7 @@ export const TESTNET_SCRIPTS: Record<KnownScript, ScriptInfoLike> =
126
126
  cellDep: {
127
127
  outPoint: {
128
128
  txHash:
129
- "0x4dcf3f3b09efac8995d6cbee87c5345e812d310094651e0c3d9a730f32dc9263",
129
+ "0x759f281588c96979764cb21c196478cf8e13ea81fede7f4ba26d1ff29dbc6a81",
130
130
  index: 0,
131
131
  },
132
132
  depType: "depGroup",
@@ -399,4 +399,167 @@ export const TESTNET_SCRIPTS: Record<KnownScript, ScriptInfoLike> =
399
399
  },
400
400
  ],
401
401
  },
402
+ [KnownScript.RgbppLock]: {
403
+ codeHash:
404
+ "0x61ca7a4796a4eb19ca4f0d065cb9b10ddcf002f10f7cbb810c706cb6bb5c3248",
405
+ hashType: "type",
406
+ cellDeps: [
407
+ {
408
+ cellDep: {
409
+ outPoint: {
410
+ txHash:
411
+ "0xf1de59e973b85791ec32debbba08dff80c63197e895eb95d67fc1e9f6b413e00",
412
+ index: 0,
413
+ },
414
+ depType: "code",
415
+ },
416
+ type: {
417
+ codeHash:
418
+ "0x00000000000000000000000000000000000000000000000000545950455f4944",
419
+ hashType: "type",
420
+ args: "0xa3bc8441df149def76cfe15fec7b1e51d949548bc27fb7a75e9d4b3ef1c12c7f",
421
+ },
422
+ },
423
+ // Rgbpp lock config cell dep for Bitcoin Testnet3
424
+ {
425
+ cellDep: {
426
+ outPoint: {
427
+ txHash:
428
+ "0xf1de59e973b85791ec32debbba08dff80c63197e895eb95d67fc1e9f6b413e00",
429
+ index: 1,
430
+ },
431
+ depType: "code",
432
+ },
433
+ },
434
+ ],
435
+ },
436
+ [KnownScript.BtcTimeLock]: {
437
+ codeHash:
438
+ "0x00cdf8fab0f8ac638758ebf5ea5e4052b1d71e8a77b9f43139718621f6849326",
439
+ hashType: "type",
440
+ cellDeps: [
441
+ {
442
+ cellDep: {
443
+ outPoint: {
444
+ txHash:
445
+ "0xde0f87878a97500f549418e5d46d2f7704c565a262aa17036c9c1c13ad638529",
446
+ index: 0,
447
+ },
448
+ depType: "code",
449
+ },
450
+ type: {
451
+ codeHash:
452
+ "0x00000000000000000000000000000000000000000000000000545950455f4944",
453
+ hashType: "type",
454
+ args: "0xc9828585e6dd2afacb9e6e8ca7deb0975121aabee5c7983178a45509ffaec984",
455
+ },
456
+ },
457
+ // btc time lock config cell dep for Bitcoin Testnet3
458
+ {
459
+ cellDep: {
460
+ outPoint: {
461
+ txHash:
462
+ "0xde0f87878a97500f549418e5d46d2f7704c565a262aa17036c9c1c13ad638529",
463
+ index: 1,
464
+ },
465
+ depType: "code",
466
+ },
467
+ },
468
+ ],
469
+ },
402
470
  });
471
+
472
+ /**
473
+ * Bitcoin Signet specific script overrides for testnet
474
+ *
475
+ * Contains script configurations that differ when using Bitcoin Signet
476
+ * instead of Bitcoin Testnet3. Only RgbppLock and BtcTimeLock are affected.
477
+ *
478
+ * @example
479
+ * ```typescript
480
+ * import { ClientPublicTestnet } from "@ckb-ccc/core";
481
+ * import { TESTNET_SCRIPTS, TESTNET_SCRIPTS_BTC_SIGNET_OVERRIDES } from "@ckb-ccc/core/advanced";
482
+ *
483
+ * // Use Bitcoin Testnet3 scripts (default)
484
+ * const testnet3Client = new ClientPublicTestnet();
485
+ *
486
+ * // Use Bitcoin Signet scripts by merging overrides
487
+ * const signetClient = new ClientPublicTestnet({
488
+ * scripts: {
489
+ * ...TESTNET_SCRIPTS,
490
+ * ...TESTNET_SCRIPTS_BTC_SIGNET_OVERRIDES
491
+ * }
492
+ * });
493
+ */
494
+ export const TESTNET_SCRIPTS_BTC_SIGNET_OVERRIDES: Partial<
495
+ Record<KnownScript, ScriptInfoLike>
496
+ > = Object.freeze({
497
+ [KnownScript.RgbppLock]: {
498
+ codeHash:
499
+ "0xd07598deec7ce7b5665310386b4abd06a6d48843e953c5cc2112ad0d5a220364",
500
+ hashType: "type",
501
+ cellDeps: [
502
+ {
503
+ cellDep: {
504
+ outPoint: {
505
+ txHash:
506
+ "0x61efdeddbaa0bb4132c0eb174b3e8002ff5ec430f61ba46f30768d683c516eec",
507
+ index: 0,
508
+ },
509
+ depType: "code",
510
+ },
511
+ type: {
512
+ codeHash:
513
+ "0x00000000000000000000000000000000000000000000000000545950455f4944",
514
+ hashType: "type",
515
+ args: "0xb69fe766ce3b7014a2a78ad1fe688d82f1679325805371d2856c3b8d18ebfa5a",
516
+ },
517
+ },
518
+ // Rgbpp lock config cell dep for Bitcoin Signet
519
+ {
520
+ cellDep: {
521
+ outPoint: {
522
+ txHash:
523
+ "0x61efdeddbaa0bb4132c0eb174b3e8002ff5ec430f61ba46f30768d683c516eec",
524
+ index: 1,
525
+ },
526
+ depType: "code",
527
+ },
528
+ },
529
+ ],
530
+ },
531
+ [KnownScript.BtcTimeLock]: {
532
+ codeHash:
533
+ "0x80a09eca26d77cea1f5a69471c59481be7404febf40ee90f886c36a948385b55",
534
+ hashType: "type",
535
+ cellDeps: [
536
+ {
537
+ cellDep: {
538
+ outPoint: {
539
+ txHash:
540
+ "0x5364b3535965e9eac9a35dd7af8e9e45a61d30a16e115923c032f80b28783e21",
541
+ index: 0,
542
+ },
543
+ depType: "code",
544
+ },
545
+ type: {
546
+ codeHash:
547
+ "0x00000000000000000000000000000000000000000000000000545950455f4944",
548
+ hashType: "type",
549
+ args: "0x32fc8c70a6451a1439fd91e214bba093f9cdd9276bc4ab223430dab5940aff92",
550
+ },
551
+ },
552
+ // btc time lock config cell dep for Bitcoin Signet
553
+ {
554
+ cellDep: {
555
+ outPoint: {
556
+ txHash:
557
+ "0x5364b3535965e9eac9a35dd7af8e9e45a61d30a16e115923c032f80b28783e21",
558
+ index: 1,
559
+ },
560
+ depType: "code",
561
+ },
562
+ },
563
+ ],
564
+ },
565
+ });
@@ -2,7 +2,6 @@ import { ScriptLike } from "../ckb/index.js";
2
2
  import { HexLike } from "../hex/index.js";
3
3
  import { Num, numFrom, NumLike } from "../num/index.js";
4
4
 
5
- export const CONFIRMED_BLOCK_TIME = numFrom(1000 * 10 * 50); // 50 blocks * 10s
6
5
  export const DEFAULT_MAX_FEE_RATE = numFrom(10000000);
7
6
  export const DEFAULT_MIN_FEE_RATE = numFrom(1000);
8
7
 
@@ -25,4 +25,9 @@ export enum KnownScript {
25
25
  TypeBurnLock = "TypeBurnLock",
26
26
  EasyToDiscoverType = "EasyToDiscoverType",
27
27
  TimeLock = "TimeLock",
28
+
29
+ // RGB++ related scripts (default using Bitcoin Testnet3)
30
+ // For Bitcoin Signet, use TESTNET_SCRIPTS_BTC_SIGNET_OVERRIDES from @ckb-ccc/core/advanced
31
+ RgbppLock = "RgbppLock",
32
+ BtcTimeLock = "BtcTimeLock",
28
33
  }