@ckb-ccc/core 1.10.0 → 1.11.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.
- package/CHANGELOG.md +36 -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 +0 -60
- 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 +0 -144
- 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 +0 -60
- 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 +1 -145
- 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 +0 -68
- package/src/client/clientPublicTestnet.advanced.ts +0 -163
- 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,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"}
|
package/dist/hasher/hasherCkb.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { blake2b } from "@noble/hashes/blake2b";
|
|
2
2
|
import { bytesFrom } from "../bytes/index.js";
|
|
3
|
-
import { CellInput } from "../ckb/index.js";
|
|
4
3
|
import { hexFrom } from "../hex/index.js";
|
|
5
|
-
import { numLeToBytes } from "../num/index.js";
|
|
6
4
|
import { CKB_BLAKE2B_PERSONAL } from "./advanced.js";
|
|
7
5
|
/**
|
|
8
6
|
* @public
|
|
@@ -70,19 +68,3 @@ export function hashCkb(...data) {
|
|
|
70
68
|
data.forEach((d) => hasher.update(d));
|
|
71
69
|
return hasher.digest();
|
|
72
70
|
}
|
|
73
|
-
/**
|
|
74
|
-
* Computes the Type ID hash of the given data.
|
|
75
|
-
* @public
|
|
76
|
-
*
|
|
77
|
-
* @param cellInputLike - The first cell input of the transaction.
|
|
78
|
-
* @param outputIndex - The output index of the Type ID cell.
|
|
79
|
-
* @returns The hexadecimal string representation of the hash.
|
|
80
|
-
*
|
|
81
|
-
* @example
|
|
82
|
-
* ```typescript
|
|
83
|
-
* const hash = hashTypeId(cellInput, outputIndex); // Outputs something like "0x..."
|
|
84
|
-
* ```
|
|
85
|
-
*/
|
|
86
|
-
export function hashTypeId(cellInputLike, outputIndex) {
|
|
87
|
-
return hashCkb(CellInput.from(cellInputLike).toBytes(), numLeToBytes(outputIndex, 8));
|
|
88
|
-
}
|
package/dist/molecule/codec.d.ts
CHANGED
|
@@ -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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"}
|
package/dist/molecule/codec.js
CHANGED
|
@@ -292,28 +292,61 @@ export function table(codecLayout) {
|
|
|
292
292
|
});
|
|
293
293
|
}
|
|
294
294
|
/**
|
|
295
|
-
*
|
|
296
|
-
*
|
|
297
|
-
*
|
|
298
|
-
*
|
|
299
|
-
*
|
|
300
|
-
*
|
|
295
|
+
* Constructs a union codec that can serialize and deserialize values tagged with a type identifier.
|
|
296
|
+
*
|
|
297
|
+
* If all variants have the same fixed size, the resulting union codec is fixed-size (header + payload).
|
|
298
|
+
* Otherwise, it falls back to a dynamic-size codec.
|
|
299
|
+
*
|
|
300
|
+
* Serialization format:
|
|
301
|
+
* 1. 4-byte little-endian unsigned integer for the variant index.
|
|
302
|
+
* 2. Encoded bytes of the selected variant.
|
|
303
|
+
*
|
|
304
|
+
* @typeParam T
|
|
305
|
+
* A record mapping variant names to codecs.
|
|
306
|
+
* @param codecLayout
|
|
307
|
+
* An object whose keys are variant names and values are codecs for each variant.
|
|
308
|
+
* @param fields
|
|
309
|
+
* Optional mapping from variant names to custom numeric IDs. If omitted, the index
|
|
310
|
+
* of each variant in `codecLayout` is used as its ID.
|
|
311
|
+
*
|
|
312
|
+
*
|
|
301
313
|
* @example
|
|
302
|
-
* // without custom
|
|
303
|
-
* union({ cafe: Uint8, bee:
|
|
304
|
-
*
|
|
305
|
-
*
|
|
314
|
+
* // Dynamic union without custom numeric IDs
|
|
315
|
+
* union({ cafe: Uint8, bee: Uint16 })
|
|
316
|
+
*
|
|
317
|
+
* // Dynamic union with custom numeric IDs
|
|
318
|
+
* union({ cafe: Uint8, bee: Uint16 }, { cafe: 0xcafe, bee: 0xbee })
|
|
319
|
+
*
|
|
320
|
+
* // Fixed-size union without custom numeric IDs
|
|
321
|
+
* const PaddedUint8 = struct({ data : u8, padding : u8 })
|
|
322
|
+
* union({ cafe: PaddedUint8, bee: Uint16 });
|
|
323
|
+
*
|
|
324
|
+
* // Fixed-size union with custom numeric IDs
|
|
325
|
+
* union({ cafe: PaddedUint8, bee: Uint16 }, { cafe: 0xcafe, bee: 0xbee })
|
|
306
326
|
*/
|
|
307
327
|
export function union(codecLayout, fields) {
|
|
308
|
-
const
|
|
328
|
+
const entries = Object.entries(codecLayout);
|
|
329
|
+
// Determine if all variants have a fixed and equal byteLength.
|
|
330
|
+
let byteLength;
|
|
331
|
+
if (entries.length > 0) {
|
|
332
|
+
const firstLen = entries[0][1].byteLength;
|
|
333
|
+
if (firstLen !== undefined &&
|
|
334
|
+
entries.every(([, { byteLength: len }]) => len === firstLen)) {
|
|
335
|
+
// Add 4 bytes for the type header
|
|
336
|
+
byteLength = firstLen + 4;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
309
339
|
return Codec.from({
|
|
340
|
+
byteLength,
|
|
310
341
|
encode({ type, value }) {
|
|
311
342
|
const typeStr = type.toString();
|
|
312
343
|
const codec = codecLayout[typeStr];
|
|
313
344
|
if (!codec) {
|
|
314
|
-
throw new Error(`union: invalid type, expected ${
|
|
345
|
+
throw new Error(`union: invalid type, expected ${entries.map((e) => e[0]).toString()}, but got ${typeStr}`);
|
|
315
346
|
}
|
|
316
|
-
const fieldId = fields
|
|
347
|
+
const fieldId = fields
|
|
348
|
+
? (fields[typeStr] ?? -1)
|
|
349
|
+
: entries.findIndex((e) => e[0] === typeStr);
|
|
317
350
|
if (fieldId < 0) {
|
|
318
351
|
throw new Error(`union: invalid field id ${fieldId} of ${typeStr}`);
|
|
319
352
|
}
|
|
@@ -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"}
|
|
@@ -2,14 +2,23 @@ import { Address } from "../../address/index.js";
|
|
|
2
2
|
import { Script } from "../../ckb/index.js";
|
|
3
3
|
import { Signer, SignerSignType, SignerType } from "../signer/index.js";
|
|
4
4
|
/**
|
|
5
|
-
* A
|
|
6
|
-
* This
|
|
5
|
+
* A read-only signer for a CKB script. It can be used to get addresses,
|
|
6
|
+
* but not to sign transactions. This is useful when you want to watch an address
|
|
7
|
+
* without having the private key.
|
|
8
|
+
*
|
|
7
9
|
* @public
|
|
8
10
|
*/
|
|
9
11
|
export class SignerCkbScriptReadonly extends Signer {
|
|
12
|
+
/**
|
|
13
|
+
* The type of the signer.
|
|
14
|
+
*/
|
|
10
15
|
get type() {
|
|
11
16
|
return SignerType.CKB;
|
|
12
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* The sign type of the signer.
|
|
20
|
+
* As this is a read-only signer, the sign type is {@link SignerSignType.Unknown}.
|
|
21
|
+
*/
|
|
13
22
|
get signType() {
|
|
14
23
|
return SignerSignType.Unknown;
|
|
15
24
|
}
|
|
@@ -17,11 +26,14 @@ export class SignerCkbScriptReadonly extends Signer {
|
|
|
17
26
|
* Creates an instance of SignerCkbScriptReadonly.
|
|
18
27
|
*
|
|
19
28
|
* @param client - The client instance used for communication.
|
|
20
|
-
* @param
|
|
29
|
+
* @param scripts - The scripts associated with the signer. Can be a single script, an array of scripts, or multiple script arguments.
|
|
21
30
|
*/
|
|
22
|
-
constructor(client,
|
|
31
|
+
constructor(client, ...scripts) {
|
|
23
32
|
super(client);
|
|
24
|
-
this.
|
|
33
|
+
this.scripts = scripts.flat().map(Script.from);
|
|
34
|
+
if (this.scripts.length === 0) {
|
|
35
|
+
throw new Error("SignerCkbScriptReadonly requires at least one script.");
|
|
36
|
+
}
|
|
25
37
|
}
|
|
26
38
|
/**
|
|
27
39
|
* Connects to the client. This implementation does nothing as the class is read-only.
|
|
@@ -61,6 +73,6 @@ export class SignerCkbScriptReadonly extends Signer {
|
|
|
61
73
|
* ```
|
|
62
74
|
*/
|
|
63
75
|
async getAddressObjs() {
|
|
64
|
-
return
|
|
76
|
+
return this.scripts.map((script) => Address.fromScript(script, this.client));
|
|
65
77
|
}
|
|
66
78
|
}
|
|
@@ -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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"}
|
|
@@ -130,6 +130,29 @@ export class Signer {
|
|
|
130
130
|
async getAddresses() {
|
|
131
131
|
return this.getAddressObjs().then((addresses) => addresses.map((address) => address.toString()));
|
|
132
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* Find cells of this signer
|
|
135
|
+
*
|
|
136
|
+
* @param filter - The filter for the search key.
|
|
137
|
+
* @param withData - Whether to include cell data in the response.
|
|
138
|
+
* @param order - The order of the returned cells, can be "asc" or "desc".
|
|
139
|
+
* @param limit - The maximum number of cells for every querying chunk.
|
|
140
|
+
* @returns A async generator that yields all matching cells
|
|
141
|
+
*/
|
|
142
|
+
async *findCellsOnChain(filter, withData, order, limit) {
|
|
143
|
+
const scripts = await this.getAddressObjs();
|
|
144
|
+
for (const { script } of scripts) {
|
|
145
|
+
for await (const cell of this.client.findCellsOnChain({
|
|
146
|
+
script,
|
|
147
|
+
scriptType: "lock",
|
|
148
|
+
filter,
|
|
149
|
+
scriptSearchMode: "exact",
|
|
150
|
+
withData,
|
|
151
|
+
}, order, limit)) {
|
|
152
|
+
yield cell;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
133
156
|
/**
|
|
134
157
|
* Find cells of this signer
|
|
135
158
|
*
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Hex } from "../hex/index.js";
|
|
2
|
+
import { NumLike } from "../num/index.js";
|
|
3
|
+
import { CellInputLike } from "./transaction.js";
|
|
4
|
+
/**
|
|
5
|
+
* Computes the Type ID hash of the given data.
|
|
6
|
+
* @public
|
|
7
|
+
*
|
|
8
|
+
* @param cellInputLike - The first cell input of the transaction.
|
|
9
|
+
* @param outputIndex - The output index of the Type ID cell.
|
|
10
|
+
* @returns The hexadecimal string representation of the hash.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const hash = hashTypeId(cellInput, outputIndex); // Outputs something like "0x..."
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare function hashTypeId(cellInputLike: CellInputLike, outputIndex: NumLike): Hex;
|
|
18
|
+
//# sourceMappingURL=hash.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/ckb/hash.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAgB,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAa,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE5D;;;;;;;;;;;;GAYG;AAEH,wBAAgB,UAAU,CACxB,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,OAAO,GACnB,GAAG,CAKL"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hashTypeId = hashTypeId;
|
|
4
|
+
const hasherCkb_js_1 = require("../hasher/hasherCkb.js");
|
|
5
|
+
const index_js_1 = require("../num/index.js");
|
|
6
|
+
const transaction_js_1 = require("./transaction.js");
|
|
7
|
+
/**
|
|
8
|
+
* Computes the Type ID hash of the given data.
|
|
9
|
+
* @public
|
|
10
|
+
*
|
|
11
|
+
* @param cellInputLike - The first cell input of the transaction.
|
|
12
|
+
* @param outputIndex - The output index of the Type ID cell.
|
|
13
|
+
* @returns The hexadecimal string representation of the hash.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const hash = hashTypeId(cellInput, outputIndex); // Outputs something like "0x..."
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
function hashTypeId(cellInputLike, outputIndex) {
|
|
21
|
+
return (0, hasherCkb_js_1.hashCkb)(transaction_js_1.CellInput.from(cellInputLike).toBytes(), (0, index_js_1.numLeToBytes)(outputIndex, 8));
|
|
22
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ckb/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ckb/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
|
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./hash.js"), exports);
|
|
17
18
|
__exportStar(require("./script.js"), exports);
|
|
18
19
|
__exportStar(require("./transaction.js"), exports);
|
|
19
20
|
__exportStar(require("./transactionErrors.js"), exports);
|