@ckb-ccc/core 1.10.0 → 1.11.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.
- package/CHANGELOG.md +43 -4
- package/dist/ckb/hash.d.ts +18 -0
- package/dist/ckb/hash.d.ts.map +1 -0
- package/dist/ckb/hash.js +19 -0
- package/dist/ckb/index.d.ts +1 -0
- package/dist/ckb/index.d.ts.map +1 -1
- package/dist/ckb/index.js +1 -0
- package/dist/ckb/transaction.d.ts +179 -11
- package/dist/ckb/transaction.d.ts.map +1 -1
- package/dist/ckb/transaction.js +197 -59
- package/dist/client/clientPublicMainnet.advanced.d.ts.map +1 -1
- package/dist/client/clientPublicMainnet.advanced.js +63 -62
- package/dist/client/clientPublicTestnet.advanced.d.ts +0 -23
- package/dist/client/clientPublicTestnet.advanced.d.ts.map +1 -1
- package/dist/client/clientPublicTestnet.advanced.js +63 -146
- package/dist/client/knownScript.d.ts +1 -3
- package/dist/client/knownScript.d.ts.map +1 -1
- package/dist/client/knownScript.js +0 -4
- package/dist/hasher/hasherCkb.d.ts +0 -16
- package/dist/hasher/hasherCkb.d.ts.map +1 -1
- package/dist/hasher/hasherCkb.js +0 -18
- package/dist/molecule/codec.d.ts +30 -10
- package/dist/molecule/codec.d.ts.map +1 -1
- package/dist/molecule/codec.js +46 -13
- package/dist/signer/ckb/signerCkbScriptReadonly.d.ts +18 -6
- package/dist/signer/ckb/signerCkbScriptReadonly.d.ts.map +1 -1
- package/dist/signer/ckb/signerCkbScriptReadonly.js +18 -6
- package/dist/signer/signer/index.d.ts +11 -1
- package/dist/signer/signer/index.d.ts.map +1 -1
- package/dist/signer/signer/index.js +23 -0
- package/dist.commonjs/ckb/hash.d.ts +18 -0
- package/dist.commonjs/ckb/hash.d.ts.map +1 -0
- package/dist.commonjs/ckb/hash.js +22 -0
- package/dist.commonjs/ckb/index.d.ts +1 -0
- package/dist.commonjs/ckb/index.d.ts.map +1 -1
- package/dist.commonjs/ckb/index.js +1 -0
- package/dist.commonjs/ckb/transaction.d.ts +179 -11
- package/dist.commonjs/ckb/transaction.d.ts.map +1 -1
- package/dist.commonjs/ckb/transaction.js +197 -59
- package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts.map +1 -1
- package/dist.commonjs/client/clientPublicMainnet.advanced.js +63 -62
- package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts +0 -23
- package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts.map +1 -1
- package/dist.commonjs/client/clientPublicTestnet.advanced.js +64 -147
- package/dist.commonjs/client/knownScript.d.ts +1 -3
- package/dist.commonjs/client/knownScript.d.ts.map +1 -1
- package/dist.commonjs/client/knownScript.js +0 -4
- package/dist.commonjs/hasher/hasherCkb.d.ts +0 -16
- package/dist.commonjs/hasher/hasherCkb.d.ts.map +1 -1
- package/dist.commonjs/hasher/hasherCkb.js +2 -21
- package/dist.commonjs/molecule/codec.d.ts +30 -10
- package/dist.commonjs/molecule/codec.d.ts.map +1 -1
- package/dist.commonjs/molecule/codec.js +46 -13
- package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.d.ts +18 -6
- package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.d.ts.map +1 -1
- package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.js +18 -6
- package/dist.commonjs/signer/signer/index.d.ts +11 -1
- package/dist.commonjs/signer/signer/index.d.ts.map +1 -1
- package/dist.commonjs/signer/signer/index.js +23 -0
- package/package.json +1 -1
- package/prettier.config.mjs +1 -1
- package/src/ckb/hash.ts +28 -0
- package/src/ckb/index.ts +1 -0
- package/src/ckb/transaction.ts +231 -52
- package/src/client/clientPublicMainnet.advanced.ts +72 -70
- package/src/client/clientPublicTestnet.advanced.ts +72 -165
- package/src/client/knownScript.ts +0 -5
- package/src/hasher/hasherCkb.ts +0 -26
- package/src/molecule/codec.ts +50 -13
- package/src/signer/ckb/signerCkbScriptReadonly.ts +24 -8
- package/src/signer/signer/index.ts +34 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.TESTNET_SCRIPTS = void 0;
|
|
4
4
|
const knownScript_js_1 = require("./knownScript.js");
|
|
5
5
|
exports.TESTNET_SCRIPTS = Object.freeze({
|
|
6
6
|
[knownScript_js_1.KnownScript.NervosDao]: {
|
|
@@ -110,10 +110,71 @@ exports.TESTNET_SCRIPTS = Object.freeze({
|
|
|
110
110
|
{
|
|
111
111
|
cellDep: {
|
|
112
112
|
outPoint: {
|
|
113
|
-
txHash: "
|
|
113
|
+
txHash: "0x4a596d31dc35e88fb1591debbf680b04a44b4a434e3a94453c21ea8950ffb4d9",
|
|
114
114
|
index: 0,
|
|
115
115
|
},
|
|
116
|
-
depType: "
|
|
116
|
+
depType: "code",
|
|
117
|
+
},
|
|
118
|
+
type: {
|
|
119
|
+
codeHash: "0x00000000000000000000000000000000000000000000000000545950455f4944",
|
|
120
|
+
hashType: "type",
|
|
121
|
+
args: "0xd23761b364210735c19c60561d213fb3beae2fd6172743719eff6920e020baac",
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
cellDep: {
|
|
126
|
+
outPoint: {
|
|
127
|
+
txHash: "0x4a596d31dc35e88fb1591debbf680b04a44b4a434e3a94453c21ea8950ffb4d9",
|
|
128
|
+
index: 1,
|
|
129
|
+
},
|
|
130
|
+
depType: "code",
|
|
131
|
+
},
|
|
132
|
+
type: {
|
|
133
|
+
codeHash: "0x00000000000000000000000000000000000000000000000000545950455f4944",
|
|
134
|
+
hashType: "type",
|
|
135
|
+
args: "0x9a93803da5f8a3d11d47ca04b5a12109b840409febbf4a37c72aabb6a69c1bda",
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
cellDep: {
|
|
140
|
+
outPoint: {
|
|
141
|
+
txHash: "0xf2c9dbfe7438a8c622558da8fa912d36755271ea469d3a25cb8d3373d35c8638",
|
|
142
|
+
index: 1,
|
|
143
|
+
},
|
|
144
|
+
depType: "code",
|
|
145
|
+
},
|
|
146
|
+
type: {
|
|
147
|
+
codeHash: "0x00000000000000000000000000000000000000000000000000545950455f4944",
|
|
148
|
+
hashType: "type",
|
|
149
|
+
args: "0x13f8e9fe476346f10c0a85cd3817e3488313efaa40efcbe352e415da4db711fa",
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
cellDep: {
|
|
154
|
+
outPoint: {
|
|
155
|
+
txHash: "0x95ecf9b41701b45d431657a67bbfa3f07ef7ceb53bf87097f3674e1a4a19ce62",
|
|
156
|
+
index: 1,
|
|
157
|
+
},
|
|
158
|
+
depType: "code",
|
|
159
|
+
},
|
|
160
|
+
type: {
|
|
161
|
+
codeHash: "0x00000000000000000000000000000000000000000000000000545950455f4944",
|
|
162
|
+
hashType: "type",
|
|
163
|
+
args: "0x70678dc6e21d4fd8ed59d464db31c517d665489be546a2831f093d48d6ea5ad0",
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
cellDep: {
|
|
168
|
+
outPoint: {
|
|
169
|
+
txHash: "0x8b3255491f3c4dcc1cfca33d5c6bcaec5409efe4bbda243900f9580c47e0242e",
|
|
170
|
+
index: 1,
|
|
171
|
+
},
|
|
172
|
+
depType: "code",
|
|
173
|
+
},
|
|
174
|
+
type: {
|
|
175
|
+
codeHash: "0x00000000000000000000000000000000000000000000000000545950455f4944",
|
|
176
|
+
hashType: "type",
|
|
177
|
+
args: "0xf234b81ed08fb76e1a6afed4d7902d5925e0fae92dd5a585094a18fbc187842c",
|
|
117
178
|
},
|
|
118
179
|
},
|
|
119
180
|
],
|
|
@@ -351,148 +412,4 @@ exports.TESTNET_SCRIPTS = Object.freeze({
|
|
|
351
412
|
},
|
|
352
413
|
],
|
|
353
414
|
},
|
|
354
|
-
[knownScript_js_1.KnownScript.RgbppLock]: {
|
|
355
|
-
codeHash: "0x61ca7a4796a4eb19ca4f0d065cb9b10ddcf002f10f7cbb810c706cb6bb5c3248",
|
|
356
|
-
hashType: "type",
|
|
357
|
-
cellDeps: [
|
|
358
|
-
{
|
|
359
|
-
cellDep: {
|
|
360
|
-
outPoint: {
|
|
361
|
-
txHash: "0xf1de59e973b85791ec32debbba08dff80c63197e895eb95d67fc1e9f6b413e00",
|
|
362
|
-
index: 0,
|
|
363
|
-
},
|
|
364
|
-
depType: "code",
|
|
365
|
-
},
|
|
366
|
-
type: {
|
|
367
|
-
codeHash: "0x00000000000000000000000000000000000000000000000000545950455f4944",
|
|
368
|
-
hashType: "type",
|
|
369
|
-
args: "0xa3bc8441df149def76cfe15fec7b1e51d949548bc27fb7a75e9d4b3ef1c12c7f",
|
|
370
|
-
},
|
|
371
|
-
},
|
|
372
|
-
// Rgbpp lock config cell dep for Bitcoin Testnet3
|
|
373
|
-
{
|
|
374
|
-
cellDep: {
|
|
375
|
-
outPoint: {
|
|
376
|
-
txHash: "0xf1de59e973b85791ec32debbba08dff80c63197e895eb95d67fc1e9f6b413e00",
|
|
377
|
-
index: 1,
|
|
378
|
-
},
|
|
379
|
-
depType: "code",
|
|
380
|
-
},
|
|
381
|
-
},
|
|
382
|
-
],
|
|
383
|
-
},
|
|
384
|
-
[knownScript_js_1.KnownScript.BtcTimeLock]: {
|
|
385
|
-
codeHash: "0x00cdf8fab0f8ac638758ebf5ea5e4052b1d71e8a77b9f43139718621f6849326",
|
|
386
|
-
hashType: "type",
|
|
387
|
-
cellDeps: [
|
|
388
|
-
{
|
|
389
|
-
cellDep: {
|
|
390
|
-
outPoint: {
|
|
391
|
-
txHash: "0xde0f87878a97500f549418e5d46d2f7704c565a262aa17036c9c1c13ad638529",
|
|
392
|
-
index: 0,
|
|
393
|
-
},
|
|
394
|
-
depType: "code",
|
|
395
|
-
},
|
|
396
|
-
type: {
|
|
397
|
-
codeHash: "0x00000000000000000000000000000000000000000000000000545950455f4944",
|
|
398
|
-
hashType: "type",
|
|
399
|
-
args: "0xc9828585e6dd2afacb9e6e8ca7deb0975121aabee5c7983178a45509ffaec984",
|
|
400
|
-
},
|
|
401
|
-
},
|
|
402
|
-
// btc time lock config cell dep for Bitcoin Testnet3
|
|
403
|
-
{
|
|
404
|
-
cellDep: {
|
|
405
|
-
outPoint: {
|
|
406
|
-
txHash: "0xde0f87878a97500f549418e5d46d2f7704c565a262aa17036c9c1c13ad638529",
|
|
407
|
-
index: 1,
|
|
408
|
-
},
|
|
409
|
-
depType: "code",
|
|
410
|
-
},
|
|
411
|
-
},
|
|
412
|
-
],
|
|
413
|
-
},
|
|
414
|
-
});
|
|
415
|
-
/**
|
|
416
|
-
* Bitcoin Signet specific script overrides for testnet
|
|
417
|
-
*
|
|
418
|
-
* Contains script configurations that differ when using Bitcoin Signet
|
|
419
|
-
* instead of Bitcoin Testnet3. Only RgbppLock and BtcTimeLock are affected.
|
|
420
|
-
*
|
|
421
|
-
* @example
|
|
422
|
-
* ```typescript
|
|
423
|
-
* import { ClientPublicTestnet } from "@ckb-ccc/core";
|
|
424
|
-
* import { TESTNET_SCRIPTS, TESTNET_SCRIPTS_BTC_SIGNET_OVERRIDES } from "@ckb-ccc/core/advanced";
|
|
425
|
-
*
|
|
426
|
-
* // Use Bitcoin Testnet3 scripts (default)
|
|
427
|
-
* const testnet3Client = new ClientPublicTestnet();
|
|
428
|
-
*
|
|
429
|
-
* // Use Bitcoin Signet scripts by merging overrides
|
|
430
|
-
* const signetClient = new ClientPublicTestnet({
|
|
431
|
-
* scripts: {
|
|
432
|
-
* ...TESTNET_SCRIPTS,
|
|
433
|
-
* ...TESTNET_SCRIPTS_BTC_SIGNET_OVERRIDES
|
|
434
|
-
* }
|
|
435
|
-
* });
|
|
436
|
-
*/
|
|
437
|
-
exports.TESTNET_SCRIPTS_BTC_SIGNET_OVERRIDES = Object.freeze({
|
|
438
|
-
[knownScript_js_1.KnownScript.RgbppLock]: {
|
|
439
|
-
codeHash: "0xd07598deec7ce7b5665310386b4abd06a6d48843e953c5cc2112ad0d5a220364",
|
|
440
|
-
hashType: "type",
|
|
441
|
-
cellDeps: [
|
|
442
|
-
{
|
|
443
|
-
cellDep: {
|
|
444
|
-
outPoint: {
|
|
445
|
-
txHash: "0x61efdeddbaa0bb4132c0eb174b3e8002ff5ec430f61ba46f30768d683c516eec",
|
|
446
|
-
index: 0,
|
|
447
|
-
},
|
|
448
|
-
depType: "code",
|
|
449
|
-
},
|
|
450
|
-
type: {
|
|
451
|
-
codeHash: "0x00000000000000000000000000000000000000000000000000545950455f4944",
|
|
452
|
-
hashType: "type",
|
|
453
|
-
args: "0xb69fe766ce3b7014a2a78ad1fe688d82f1679325805371d2856c3b8d18ebfa5a",
|
|
454
|
-
},
|
|
455
|
-
},
|
|
456
|
-
// Rgbpp lock config cell dep for Bitcoin Signet
|
|
457
|
-
{
|
|
458
|
-
cellDep: {
|
|
459
|
-
outPoint: {
|
|
460
|
-
txHash: "0x61efdeddbaa0bb4132c0eb174b3e8002ff5ec430f61ba46f30768d683c516eec",
|
|
461
|
-
index: 1,
|
|
462
|
-
},
|
|
463
|
-
depType: "code",
|
|
464
|
-
},
|
|
465
|
-
},
|
|
466
|
-
],
|
|
467
|
-
},
|
|
468
|
-
[knownScript_js_1.KnownScript.BtcTimeLock]: {
|
|
469
|
-
codeHash: "0x80a09eca26d77cea1f5a69471c59481be7404febf40ee90f886c36a948385b55",
|
|
470
|
-
hashType: "type",
|
|
471
|
-
cellDeps: [
|
|
472
|
-
{
|
|
473
|
-
cellDep: {
|
|
474
|
-
outPoint: {
|
|
475
|
-
txHash: "0x5364b3535965e9eac9a35dd7af8e9e45a61d30a16e115923c032f80b28783e21",
|
|
476
|
-
index: 0,
|
|
477
|
-
},
|
|
478
|
-
depType: "code",
|
|
479
|
-
},
|
|
480
|
-
type: {
|
|
481
|
-
codeHash: "0x00000000000000000000000000000000000000000000000000545950455f4944",
|
|
482
|
-
hashType: "type",
|
|
483
|
-
args: "0x32fc8c70a6451a1439fd91e214bba093f9cdd9276bc4ab223430dab5940aff92",
|
|
484
|
-
},
|
|
485
|
-
},
|
|
486
|
-
// btc time lock config cell dep for Bitcoin Signet
|
|
487
|
-
{
|
|
488
|
-
cellDep: {
|
|
489
|
-
outPoint: {
|
|
490
|
-
txHash: "0x5364b3535965e9eac9a35dd7af8e9e45a61d30a16e115923c032f80b28783e21",
|
|
491
|
-
index: 1,
|
|
492
|
-
},
|
|
493
|
-
depType: "code",
|
|
494
|
-
},
|
|
495
|
-
},
|
|
496
|
-
],
|
|
497
|
-
},
|
|
498
415
|
});
|
|
@@ -22,8 +22,6 @@ export declare enum KnownScript {
|
|
|
22
22
|
SingleUseLock = "SingleUseLock",
|
|
23
23
|
TypeBurnLock = "TypeBurnLock",
|
|
24
24
|
EasyToDiscoverType = "EasyToDiscoverType",
|
|
25
|
-
TimeLock = "TimeLock"
|
|
26
|
-
RgbppLock = "RgbppLock",
|
|
27
|
-
BtcTimeLock = "BtcTimeLock"
|
|
25
|
+
TimeLock = "TimeLock"
|
|
28
26
|
}
|
|
29
27
|
//# sourceMappingURL=knownScript.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knownScript.d.ts","sourceRoot":"","sources":["../../src/client/knownScript.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,WAAW;IACrB,SAAS,cAAc;IACvB,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB,CAAE,wFAAwF;IACrI,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,UAAU,eAAe;IAGzB,aAAa,kBAAkB;IAC/B,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAC3C,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,kBAAkB,uBAAuB;IACzC,QAAQ,aAAa;
|
|
1
|
+
{"version":3,"file":"knownScript.d.ts","sourceRoot":"","sources":["../../src/client/knownScript.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,WAAW;IACrB,SAAS,cAAc;IACvB,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB,CAAE,wFAAwF;IACrI,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,UAAU,eAAe;IAGzB,aAAa,kBAAkB;IAC/B,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAC3C,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,kBAAkB,uBAAuB;IACzC,QAAQ,aAAa;CACtB"}
|
|
@@ -28,8 +28,4 @@ var KnownScript;
|
|
|
28
28
|
KnownScript["TypeBurnLock"] = "TypeBurnLock";
|
|
29
29
|
KnownScript["EasyToDiscoverType"] = "EasyToDiscoverType";
|
|
30
30
|
KnownScript["TimeLock"] = "TimeLock";
|
|
31
|
-
// RGB++ related scripts (default using Bitcoin Testnet3)
|
|
32
|
-
// For Bitcoin Signet, use TESTNET_SCRIPTS_BTC_SIGNET_OVERRIDES from @ckb-ccc/core/advanced
|
|
33
|
-
KnownScript["RgbppLock"] = "RgbppLock";
|
|
34
|
-
KnownScript["BtcTimeLock"] = "BtcTimeLock";
|
|
35
31
|
})(KnownScript || (exports.KnownScript = KnownScript = {}));
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { BytesLike } from "../bytes/index.js";
|
|
2
|
-
import { CellInputLike } from "../ckb/index.js";
|
|
3
2
|
import { Hex } from "../hex/index.js";
|
|
4
|
-
import { NumLike } from "../num/index.js";
|
|
5
3
|
import { Hasher } from "./hasher.js";
|
|
6
4
|
/**
|
|
7
5
|
* @public
|
|
@@ -56,18 +54,4 @@ export declare class HasherCkb implements Hasher {
|
|
|
56
54
|
* ```
|
|
57
55
|
*/
|
|
58
56
|
export declare function hashCkb(...data: BytesLike[]): Hex;
|
|
59
|
-
/**
|
|
60
|
-
* Computes the Type ID hash of the given data.
|
|
61
|
-
* @public
|
|
62
|
-
*
|
|
63
|
-
* @param cellInputLike - The first cell input of the transaction.
|
|
64
|
-
* @param outputIndex - The output index of the Type ID cell.
|
|
65
|
-
* @returns The hexadecimal string representation of the hash.
|
|
66
|
-
*
|
|
67
|
-
* @example
|
|
68
|
-
* ```typescript
|
|
69
|
-
* const hash = hashTypeId(cellInput, outputIndex); // Outputs something like "0x..."
|
|
70
|
-
* ```
|
|
71
|
-
*/
|
|
72
|
-
export declare function hashTypeId(cellInputLike: CellInputLike, outputIndex: NumLike): Hex;
|
|
73
57
|
//# sourceMappingURL=hasherCkb.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasherCkb.d.ts","sourceRoot":"","sources":["../../src/hasher/hasherCkb.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAa,MAAM,mBAAmB,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"hasherCkb.d.ts","sourceRoot":"","sources":["../../src/hasher/hasherCkb.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAa,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,GAAG,EAAW,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;GAEG;AACH,qBAAa,SAAU,YAAW,MAAM;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyC;IAEhE;;;;;OAKG;gBAES,SAAS,SAAK,EAAE,QAAQ,SAAuB;IAO3D;;;;;;;;;;;;OAYG;IAEH,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS;IAKlC;;;;;;;;;;;OAWG;IAEH,MAAM,IAAI,GAAG;CAGd;AAED;;;;;;;;;;;GAWG;AAEH,wBAAgB,OAAO,CAAC,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG,CAIjD"}
|
|
@@ -2,12 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.HasherCkb = void 0;
|
|
4
4
|
exports.hashCkb = hashCkb;
|
|
5
|
-
exports.hashTypeId = hashTypeId;
|
|
6
5
|
const blake2b_1 = require("@noble/hashes/blake2b");
|
|
7
6
|
const index_js_1 = require("../bytes/index.js");
|
|
8
|
-
const index_js_2 = require("../
|
|
9
|
-
const index_js_3 = require("../hex/index.js");
|
|
10
|
-
const index_js_4 = require("../num/index.js");
|
|
7
|
+
const index_js_2 = require("../hex/index.js");
|
|
11
8
|
const advanced_js_1 = require("./advanced.js");
|
|
12
9
|
/**
|
|
13
10
|
* @public
|
|
@@ -55,7 +52,7 @@ class HasherCkb {
|
|
|
55
52
|
* ```
|
|
56
53
|
*/
|
|
57
54
|
digest() {
|
|
58
|
-
return (0,
|
|
55
|
+
return (0, index_js_2.hexFrom)(this.hasher.digest());
|
|
59
56
|
}
|
|
60
57
|
}
|
|
61
58
|
exports.HasherCkb = HasherCkb;
|
|
@@ -76,19 +73,3 @@ function hashCkb(...data) {
|
|
|
76
73
|
data.forEach((d) => hasher.update(d));
|
|
77
74
|
return hasher.digest();
|
|
78
75
|
}
|
|
79
|
-
/**
|
|
80
|
-
* Computes the Type ID hash of the given data.
|
|
81
|
-
* @public
|
|
82
|
-
*
|
|
83
|
-
* @param cellInputLike - The first cell input of the transaction.
|
|
84
|
-
* @param outputIndex - The output index of the Type ID cell.
|
|
85
|
-
* @returns The hexadecimal string representation of the hash.
|
|
86
|
-
*
|
|
87
|
-
* @example
|
|
88
|
-
* ```typescript
|
|
89
|
-
* const hash = hashTypeId(cellInput, outputIndex); // Outputs something like "0x..."
|
|
90
|
-
* ```
|
|
91
|
-
*/
|
|
92
|
-
function hashTypeId(cellInputLike, outputIndex) {
|
|
93
|
-
return hashCkb(index_js_2.CellInput.from(cellInputLike).toBytes(), (0, index_js_4.numLeToBytes)(outputIndex, 8));
|
|
94
|
-
}
|
|
@@ -84,17 +84,37 @@ type UnionDecoded<T extends Record<string, CodecLike<any, any>>, K extends keyof
|
|
|
84
84
|
value: DecodedType<T[K]>;
|
|
85
85
|
} : never;
|
|
86
86
|
/**
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
87
|
+
* Constructs a union codec that can serialize and deserialize values tagged with a type identifier.
|
|
88
|
+
*
|
|
89
|
+
* If all variants have the same fixed size, the resulting union codec is fixed-size (header + payload).
|
|
90
|
+
* Otherwise, it falls back to a dynamic-size codec.
|
|
91
|
+
*
|
|
92
|
+
* Serialization format:
|
|
93
|
+
* 1. 4-byte little-endian unsigned integer for the variant index.
|
|
94
|
+
* 2. Encoded bytes of the selected variant.
|
|
95
|
+
*
|
|
96
|
+
* @typeParam T
|
|
97
|
+
* A record mapping variant names to codecs.
|
|
98
|
+
* @param codecLayout
|
|
99
|
+
* An object whose keys are variant names and values are codecs for each variant.
|
|
100
|
+
* @param fields
|
|
101
|
+
* Optional mapping from variant names to custom numeric IDs. If omitted, the index
|
|
102
|
+
* of each variant in `codecLayout` is used as its ID.
|
|
103
|
+
*
|
|
104
|
+
*
|
|
93
105
|
* @example
|
|
94
|
-
* // without custom
|
|
95
|
-
* union({ cafe: Uint8, bee:
|
|
96
|
-
*
|
|
97
|
-
*
|
|
106
|
+
* // Dynamic union without custom numeric IDs
|
|
107
|
+
* union({ cafe: Uint8, bee: Uint16 })
|
|
108
|
+
*
|
|
109
|
+
* // Dynamic union with custom numeric IDs
|
|
110
|
+
* union({ cafe: Uint8, bee: Uint16 }, { cafe: 0xcafe, bee: 0xbee })
|
|
111
|
+
*
|
|
112
|
+
* // Fixed-size union without custom numeric IDs
|
|
113
|
+
* const PaddedUint8 = struct({ data : u8, padding : u8 })
|
|
114
|
+
* union({ cafe: PaddedUint8, bee: Uint16 });
|
|
115
|
+
*
|
|
116
|
+
* // Fixed-size union with custom numeric IDs
|
|
117
|
+
* union({ cafe: PaddedUint8, bee: Uint16 }, { cafe: 0xcafe, bee: 0xbee })
|
|
98
118
|
*/
|
|
99
119
|
export declare function union<T extends Record<string, CodecLike<any, any>>>(codecLayout: T, fields?: Record<keyof T, number | undefined | null>): Codec<UnionEncodable<T>, UnionDecoded<T>>;
|
|
100
120
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/molecule/codec.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/molecule/codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -307,28 +307,61 @@ function table(codecLayout) {
|
|
|
307
307
|
});
|
|
308
308
|
}
|
|
309
309
|
/**
|
|
310
|
-
*
|
|
311
|
-
*
|
|
312
|
-
*
|
|
313
|
-
*
|
|
314
|
-
*
|
|
315
|
-
*
|
|
310
|
+
* Constructs a union codec that can serialize and deserialize values tagged with a type identifier.
|
|
311
|
+
*
|
|
312
|
+
* If all variants have the same fixed size, the resulting union codec is fixed-size (header + payload).
|
|
313
|
+
* Otherwise, it falls back to a dynamic-size codec.
|
|
314
|
+
*
|
|
315
|
+
* Serialization format:
|
|
316
|
+
* 1. 4-byte little-endian unsigned integer for the variant index.
|
|
317
|
+
* 2. Encoded bytes of the selected variant.
|
|
318
|
+
*
|
|
319
|
+
* @typeParam T
|
|
320
|
+
* A record mapping variant names to codecs.
|
|
321
|
+
* @param codecLayout
|
|
322
|
+
* An object whose keys are variant names and values are codecs for each variant.
|
|
323
|
+
* @param fields
|
|
324
|
+
* Optional mapping from variant names to custom numeric IDs. If omitted, the index
|
|
325
|
+
* of each variant in `codecLayout` is used as its ID.
|
|
326
|
+
*
|
|
327
|
+
*
|
|
316
328
|
* @example
|
|
317
|
-
* // without custom
|
|
318
|
-
* union({ cafe: Uint8, bee:
|
|
319
|
-
*
|
|
320
|
-
*
|
|
329
|
+
* // Dynamic union without custom numeric IDs
|
|
330
|
+
* union({ cafe: Uint8, bee: Uint16 })
|
|
331
|
+
*
|
|
332
|
+
* // Dynamic union with custom numeric IDs
|
|
333
|
+
* union({ cafe: Uint8, bee: Uint16 }, { cafe: 0xcafe, bee: 0xbee })
|
|
334
|
+
*
|
|
335
|
+
* // Fixed-size union without custom numeric IDs
|
|
336
|
+
* const PaddedUint8 = struct({ data : u8, padding : u8 })
|
|
337
|
+
* union({ cafe: PaddedUint8, bee: Uint16 });
|
|
338
|
+
*
|
|
339
|
+
* // Fixed-size union with custom numeric IDs
|
|
340
|
+
* union({ cafe: PaddedUint8, bee: Uint16 }, { cafe: 0xcafe, bee: 0xbee })
|
|
321
341
|
*/
|
|
322
342
|
function union(codecLayout, fields) {
|
|
323
|
-
const
|
|
343
|
+
const entries = Object.entries(codecLayout);
|
|
344
|
+
// Determine if all variants have a fixed and equal byteLength.
|
|
345
|
+
let byteLength;
|
|
346
|
+
if (entries.length > 0) {
|
|
347
|
+
const firstLen = entries[0][1].byteLength;
|
|
348
|
+
if (firstLen !== undefined &&
|
|
349
|
+
entries.every(([, { byteLength: len }]) => len === firstLen)) {
|
|
350
|
+
// Add 4 bytes for the type header
|
|
351
|
+
byteLength = firstLen + 4;
|
|
352
|
+
}
|
|
353
|
+
}
|
|
324
354
|
return Codec.from({
|
|
355
|
+
byteLength,
|
|
325
356
|
encode({ type, value }) {
|
|
326
357
|
const typeStr = type.toString();
|
|
327
358
|
const codec = codecLayout[typeStr];
|
|
328
359
|
if (!codec) {
|
|
329
|
-
throw new Error(`union: invalid type, expected ${
|
|
360
|
+
throw new Error(`union: invalid type, expected ${entries.map((e) => e[0]).toString()}, but got ${typeStr}`);
|
|
330
361
|
}
|
|
331
|
-
const fieldId = fields
|
|
362
|
+
const fieldId = fields
|
|
363
|
+
? (fields[typeStr] ?? -1)
|
|
364
|
+
: entries.findIndex((e) => e[0] === typeStr);
|
|
332
365
|
if (fieldId < 0) {
|
|
333
366
|
throw new Error(`union: invalid field id ${fieldId} of ${typeStr}`);
|
|
334
367
|
}
|
|
@@ -1,23 +1,35 @@
|
|
|
1
1
|
import { Address } from "../../address/index.js";
|
|
2
|
-
import { ScriptLike } from "../../ckb/index.js";
|
|
2
|
+
import { Script, ScriptLike } from "../../ckb/index.js";
|
|
3
3
|
import { Client } from "../../client/index.js";
|
|
4
4
|
import { Signer, SignerSignType, SignerType } from "../signer/index.js";
|
|
5
5
|
/**
|
|
6
|
-
* A
|
|
7
|
-
* This
|
|
6
|
+
* A read-only signer for a CKB script. It can be used to get addresses,
|
|
7
|
+
* but not to sign transactions. This is useful when you want to watch an address
|
|
8
|
+
* without having the private key.
|
|
9
|
+
*
|
|
8
10
|
* @public
|
|
9
11
|
*/
|
|
10
12
|
export declare class SignerCkbScriptReadonly extends Signer {
|
|
13
|
+
/**
|
|
14
|
+
* The type of the signer.
|
|
15
|
+
*/
|
|
11
16
|
get type(): SignerType;
|
|
17
|
+
/**
|
|
18
|
+
* The sign type of the signer.
|
|
19
|
+
* As this is a read-only signer, the sign type is {@link SignerSignType.Unknown}.
|
|
20
|
+
*/
|
|
12
21
|
get signType(): SignerSignType;
|
|
13
|
-
|
|
22
|
+
/**
|
|
23
|
+
* The scripts associated with the signer.
|
|
24
|
+
*/
|
|
25
|
+
readonly scripts: Script[];
|
|
14
26
|
/**
|
|
15
27
|
* Creates an instance of SignerCkbScriptReadonly.
|
|
16
28
|
*
|
|
17
29
|
* @param client - The client instance used for communication.
|
|
18
|
-
* @param
|
|
30
|
+
* @param scripts - The scripts associated with the signer. Can be a single script, an array of scripts, or multiple script arguments.
|
|
19
31
|
*/
|
|
20
|
-
constructor(client: Client,
|
|
32
|
+
constructor(client: Client, ...scripts: (ScriptLike | ScriptLike[])[]);
|
|
21
33
|
/**
|
|
22
34
|
* Connects to the client. This implementation does nothing as the class is read-only.
|
|
23
35
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signerCkbScriptReadonly.d.ts","sourceRoot":"","sources":["../../../src/signer/ckb/signerCkbScriptReadonly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"signerCkbScriptReadonly.d.ts","sourceRoot":"","sources":["../../../src/signer/ckb/signerCkbScriptReadonly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAExE;;;;;;GAMG;AACH,qBAAa,uBAAwB,SAAQ,MAAM;IACjD;;OAEG;IACH,IAAI,IAAI,IAAI,UAAU,CAErB;IAED;;;OAGG;IACH,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED;;OAEG;IACH,SAAgB,OAAO,EAAE,MAAM,EAAE,CAAC;IAElC;;;;;OAKG;gBACS,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC,EAAE;IASrE;;;;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;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;CAK3C"}
|
|
@@ -5,14 +5,23 @@ const index_js_1 = require("../../address/index.js");
|
|
|
5
5
|
const index_js_2 = require("../../ckb/index.js");
|
|
6
6
|
const index_js_3 = require("../signer/index.js");
|
|
7
7
|
/**
|
|
8
|
-
* A
|
|
9
|
-
* This
|
|
8
|
+
* A read-only signer for a CKB script. It can be used to get addresses,
|
|
9
|
+
* but not to sign transactions. This is useful when you want to watch an address
|
|
10
|
+
* without having the private key.
|
|
11
|
+
*
|
|
10
12
|
* @public
|
|
11
13
|
*/
|
|
12
14
|
class SignerCkbScriptReadonly extends index_js_3.Signer {
|
|
15
|
+
/**
|
|
16
|
+
* The type of the signer.
|
|
17
|
+
*/
|
|
13
18
|
get type() {
|
|
14
19
|
return index_js_3.SignerType.CKB;
|
|
15
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* The sign type of the signer.
|
|
23
|
+
* As this is a read-only signer, the sign type is {@link SignerSignType.Unknown}.
|
|
24
|
+
*/
|
|
16
25
|
get signType() {
|
|
17
26
|
return index_js_3.SignerSignType.Unknown;
|
|
18
27
|
}
|
|
@@ -20,11 +29,14 @@ class SignerCkbScriptReadonly extends index_js_3.Signer {
|
|
|
20
29
|
* Creates an instance of SignerCkbScriptReadonly.
|
|
21
30
|
*
|
|
22
31
|
* @param client - The client instance used for communication.
|
|
23
|
-
* @param
|
|
32
|
+
* @param scripts - The scripts associated with the signer. Can be a single script, an array of scripts, or multiple script arguments.
|
|
24
33
|
*/
|
|
25
|
-
constructor(client,
|
|
34
|
+
constructor(client, ...scripts) {
|
|
26
35
|
super(client);
|
|
27
|
-
this.
|
|
36
|
+
this.scripts = scripts.flat().map(index_js_2.Script.from);
|
|
37
|
+
if (this.scripts.length === 0) {
|
|
38
|
+
throw new Error("SignerCkbScriptReadonly requires at least one script.");
|
|
39
|
+
}
|
|
28
40
|
}
|
|
29
41
|
/**
|
|
30
42
|
* Connects to the client. This implementation does nothing as the class is read-only.
|
|
@@ -64,7 +76,7 @@ class SignerCkbScriptReadonly extends index_js_3.Signer {
|
|
|
64
76
|
* ```
|
|
65
77
|
*/
|
|
66
78
|
async getAddressObjs() {
|
|
67
|
-
return
|
|
79
|
+
return this.scripts.map((script) => index_js_1.Address.fromScript(script, this.client));
|
|
68
80
|
}
|
|
69
81
|
}
|
|
70
82
|
exports.SignerCkbScriptReadonly = SignerCkbScriptReadonly;
|
|
@@ -2,7 +2,7 @@ import { Address } from "../../address/index.js";
|
|
|
2
2
|
import { ClientCollectableSearchKeyFilterLike } from "../../advancedBarrel.js";
|
|
3
3
|
import { BytesLike } from "../../bytes/index.js";
|
|
4
4
|
import { Cell, Transaction, TransactionLike } from "../../ckb/index.js";
|
|
5
|
-
import { Client, ClientFindTransactionsGroupedResponse, ClientFindTransactionsResponse } from "../../client/index.js";
|
|
5
|
+
import { Client, ClientFindTransactionsGroupedResponse, ClientFindTransactionsResponse, ClientIndexerSearchKeyFilterLike } from "../../client/index.js";
|
|
6
6
|
import { Hex } from "../../hex/index.js";
|
|
7
7
|
import { Num } from "../../num/index.js";
|
|
8
8
|
/**
|
|
@@ -131,6 +131,16 @@ export declare abstract class Signer {
|
|
|
131
131
|
* @returns A promise that resolves to an array of addresses as strings.
|
|
132
132
|
*/
|
|
133
133
|
getAddresses(): Promise<string[]>;
|
|
134
|
+
/**
|
|
135
|
+
* Find cells of this signer
|
|
136
|
+
*
|
|
137
|
+
* @param filter - The filter for the search key.
|
|
138
|
+
* @param withData - Whether to include cell data in the response.
|
|
139
|
+
* @param order - The order of the returned cells, can be "asc" or "desc".
|
|
140
|
+
* @param limit - The maximum number of cells for every querying chunk.
|
|
141
|
+
* @returns A async generator that yields all matching cells
|
|
142
|
+
*/
|
|
143
|
+
findCellsOnChain(filter: ClientIndexerSearchKeyFilterLike, withData?: boolean | null, order?: "asc" | "desc", limit?: number): AsyncGenerator<Cell>;
|
|
134
144
|
/**
|
|
135
145
|
* Find cells of this signer
|
|
136
146
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/signer/signer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,oCAAoC,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EACL,MAAM,EACN,qCAAqC,EACrC,8BAA8B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/signer/signer/index.ts"],"names":[],"mappings":"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"}
|