@ckb-ccc/core 0.0.4 → 0.0.5-alpha.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/README.md +6 -0
- package/dist/ckb/transaction.d.ts +85 -2
- package/dist/ckb/transaction.d.ts.map +1 -1
- package/dist/ckb/transaction.js +152 -7
- package/dist/client/client.d.ts +11 -3
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +44 -2
- package/dist/client/clientPublicMainnet.advanced.d.ts.map +1 -1
- package/dist/client/clientPublicMainnet.advanced.js +4 -0
- package/dist/client/clientPublicTestnet.advanced.d.ts.map +1 -1
- package/dist/client/clientPublicTestnet.advanced.js +4 -0
- package/dist/client/clientTypes.d.ts +48 -1
- package/dist/client/clientTypes.d.ts.map +1 -1
- package/dist/client/clientTypes.js +27 -1
- package/dist/client/jsonRpc/index.d.ts +19 -1
- package/dist/client/jsonRpc/index.d.ts.map +1 -1
- package/dist/client/jsonRpc/index.js +25 -1
- package/dist/client/jsonRpc/transformers.d.ts +17 -3
- package/dist/client/jsonRpc/transformers.d.ts.map +1 -1
- package/dist/client/jsonRpc/transformers.js +37 -3
- package/dist/client/jsonRpc/types.d.ts +15 -0
- package/dist/client/jsonRpc/types.d.ts.map +1 -1
- package/dist/fixedPoint/index.d.ts.map +1 -1
- package/dist/fixedPoint/index.js +4 -1
- package/dist/fixedPoint/index.test.d.ts +2 -0
- package/dist/fixedPoint/index.test.d.ts.map +1 -0
- package/dist/fixedPoint/index.test.js +43 -0
- package/dist/signer/btc/signerBtc.d.ts.map +1 -1
- package/dist/signer/btc/signerBtc.js +2 -3
- package/dist/signer/evm/signerEvm.d.ts.map +1 -1
- package/dist/signer/evm/signerEvm.js +2 -3
- package/dist/signer/index.d.ts +0 -1
- package/dist/signer/index.d.ts.map +1 -1
- package/dist/signer/index.js +0 -1
- package/dist/signer/signer.d.ts +17 -2
- package/dist/signer/signer.d.ts.map +1 -1
- package/dist/signer/signer.js +17 -1
- package/dist.commonjs/ckb/transaction.d.ts +85 -2
- package/dist.commonjs/ckb/transaction.d.ts.map +1 -1
- package/dist.commonjs/ckb/transaction.js +150 -5
- package/dist.commonjs/client/client.d.ts +11 -3
- package/dist.commonjs/client/client.d.ts.map +1 -1
- package/dist.commonjs/client/client.js +43 -1
- package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts.map +1 -1
- package/dist.commonjs/client/clientPublicMainnet.advanced.js +4 -0
- package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts.map +1 -1
- package/dist.commonjs/client/clientPublicTestnet.advanced.js +4 -0
- package/dist.commonjs/client/clientTypes.d.ts +48 -1
- package/dist.commonjs/client/clientTypes.d.ts.map +1 -1
- package/dist.commonjs/client/clientTypes.js +29 -0
- package/dist.commonjs/client/jsonRpc/index.d.ts +19 -1
- package/dist.commonjs/client/jsonRpc/index.d.ts.map +1 -1
- package/dist.commonjs/client/jsonRpc/index.js +25 -1
- package/dist.commonjs/client/jsonRpc/transformers.d.ts +17 -3
- package/dist.commonjs/client/jsonRpc/transformers.d.ts.map +1 -1
- package/dist.commonjs/client/jsonRpc/transformers.js +35 -1
- package/dist.commonjs/client/jsonRpc/types.d.ts +15 -0
- package/dist.commonjs/client/jsonRpc/types.d.ts.map +1 -1
- package/dist.commonjs/fixedPoint/index.d.ts.map +1 -1
- package/dist.commonjs/fixedPoint/index.js +4 -1
- package/dist.commonjs/fixedPoint/index.test.d.ts +2 -0
- package/dist.commonjs/fixedPoint/index.test.d.ts.map +1 -0
- package/dist.commonjs/fixedPoint/index.test.js +45 -0
- package/dist.commonjs/signer/btc/signerBtc.d.ts.map +1 -1
- package/dist.commonjs/signer/btc/signerBtc.js +2 -3
- package/dist.commonjs/signer/evm/signerEvm.d.ts.map +1 -1
- package/dist.commonjs/signer/evm/signerEvm.js +2 -3
- package/dist.commonjs/signer/index.d.ts +0 -1
- package/dist.commonjs/signer/index.d.ts.map +1 -1
- package/dist.commonjs/signer/index.js +0 -1
- package/dist.commonjs/signer/signer.d.ts +17 -2
- package/dist.commonjs/signer/signer.d.ts.map +1 -1
- package/dist.commonjs/signer/signer.js +17 -1
- package/dist.commonjs/tsconfig.commonjs.tsbuildinfo +1 -1
- package/jest.config.js +5 -0
- package/package.json +6 -2
- package/src/ckb/transaction.ts +198 -3
- package/src/client/client.ts +87 -3
- package/src/client/clientPublicMainnet.advanced.ts +5 -0
- package/src/client/clientPublicTestnet.advanced.ts +5 -0
- package/src/client/clientTypes.ts +70 -1
- package/src/client/jsonRpc/index.ts +54 -2
- package/src/client/jsonRpc/transformers.ts +73 -4
- package/src/client/jsonRpc/types.ts +16 -0
- package/src/fixedPoint/index.test.ts +55 -0
- package/src/fixedPoint/index.ts +7 -1
- package/src/signer/btc/signerBtc.ts +6 -3
- package/src/signer/evm/signerEvm.ts +2 -3
- package/src/signer/index.ts +0 -1
- package/src/signer/signer.ts +21 -0
- package/dist/signer/helpers.d.ts +0 -40
- package/dist/signer/helpers.d.ts.map +0 -1
- package/dist/signer/helpers.js +0 -91
- package/dist.commonjs/signer/helpers.d.ts +0 -40
- package/dist.commonjs/signer/helpers.d.ts.map +0 -1
- package/dist.commonjs/signer/helpers.js +0 -96
- package/src/signer/helpers.ts +0 -124
- package/tsconfig.base.json +0 -21
- package/tsconfig.commonjs.json +0 -8
|
@@ -4,6 +4,7 @@ exports.JsonRpcTransformers = void 0;
|
|
|
4
4
|
const ckb_1 = require("../../ckb");
|
|
5
5
|
const num_1 = require("../../num");
|
|
6
6
|
const utils_1 = require("../../utils");
|
|
7
|
+
const clientTypes_1 = require("../clientTypes");
|
|
7
8
|
class JsonRpcTransformers {
|
|
8
9
|
static hashTypeFrom(hashType) {
|
|
9
10
|
return (0, ckb_1.hashTypeFrom)(hashType);
|
|
@@ -116,10 +117,43 @@ class JsonRpcTransformers {
|
|
|
116
117
|
witnesses: tx.witnesses,
|
|
117
118
|
});
|
|
118
119
|
}
|
|
119
|
-
static transactionResponseTo({ tx_status: { status }, transaction, }) {
|
|
120
|
+
static transactionResponseTo({ tx_status: { status, block_number }, transaction, }) {
|
|
120
121
|
return {
|
|
121
122
|
transaction: JsonRpcTransformers.transactionTo(transaction),
|
|
122
123
|
status,
|
|
124
|
+
blockNumber: (0, num_1.numFrom)(block_number),
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
static rangeFrom([a, b]) {
|
|
128
|
+
return [(0, num_1.numToHex)(a), (0, num_1.numToHex)(b)];
|
|
129
|
+
}
|
|
130
|
+
static indexerSearchKeyFrom(keyLike) {
|
|
131
|
+
const key = clientTypes_1.ClientIndexerSearchKey.from(keyLike);
|
|
132
|
+
return {
|
|
133
|
+
script: JsonRpcTransformers.scriptFrom(key.script),
|
|
134
|
+
script_type: key.scriptType,
|
|
135
|
+
script_search_mode: key.scriptSearchMode,
|
|
136
|
+
filter: (0, utils_1.apply)((filter) => ({
|
|
137
|
+
script: (0, utils_1.apply)(JsonRpcTransformers.scriptFrom, filter.script),
|
|
138
|
+
script_len_range: (0, utils_1.apply)(JsonRpcTransformers.rangeFrom, filter.scriptLenRange),
|
|
139
|
+
output_data: filter.outputData,
|
|
140
|
+
output_data_filter_mode: filter.outputDataSearchMode,
|
|
141
|
+
output_data_len_range: (0, utils_1.apply)(JsonRpcTransformers.rangeFrom, filter.outputDataLenRange),
|
|
142
|
+
output_capacity_range: (0, utils_1.apply)(JsonRpcTransformers.rangeFrom, filter.outputCapacityRange),
|
|
143
|
+
block_range: (0, utils_1.apply)(JsonRpcTransformers.rangeFrom, filter.blockRange),
|
|
144
|
+
}), key.filter),
|
|
145
|
+
with_data: key.withData,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
static findCellsResponseTo({ last_cursor, objects, }) {
|
|
149
|
+
return {
|
|
150
|
+
lastCursor: last_cursor,
|
|
151
|
+
cells: objects.map((cell) => ckb_1.Cell.from({
|
|
152
|
+
blockNumber: cell.block_number,
|
|
153
|
+
outPoint: JsonRpcTransformers.outPointTo(cell.out_point),
|
|
154
|
+
cellOutput: JsonRpcTransformers.cellOutputTo(cell.output),
|
|
155
|
+
outputData: cell.output_data,
|
|
156
|
+
})),
|
|
123
157
|
};
|
|
124
158
|
}
|
|
125
159
|
}
|
|
@@ -38,4 +38,19 @@ export type JsonRpcTransaction = {
|
|
|
38
38
|
outputs_data: Hex[];
|
|
39
39
|
witnesses: Hex[];
|
|
40
40
|
};
|
|
41
|
+
export type JsonRpcIndexerSearchKey = {
|
|
42
|
+
script: JsonRpcScript;
|
|
43
|
+
script_type: "lock" | "type";
|
|
44
|
+
script_search_mode?: "prefix" | "exact" | "partial";
|
|
45
|
+
filter?: {
|
|
46
|
+
script?: JsonRpcScript;
|
|
47
|
+
script_len_range?: [Hex, Hex];
|
|
48
|
+
output_data?: Hex;
|
|
49
|
+
output_data_filter_mode?: "prefix" | "exact" | "partial";
|
|
50
|
+
output_data_len_range?: [Hex, Hex];
|
|
51
|
+
output_capacity_range?: [Hex, Hex];
|
|
52
|
+
block_range?: [Hex, Hex];
|
|
53
|
+
};
|
|
54
|
+
with_data?: boolean;
|
|
55
|
+
};
|
|
41
56
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/jsonRpc/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,MAAM,CAAC;AAElD,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,eAAe,CAAC;IAC3B,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,EAAE,eAAe,CAAC;IACjC,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,GAAG,CAAC;IACd,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,SAAS,EAAE,GAAG,EAAE,CAAC;CAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/jsonRpc/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,MAAM,CAAC;AAElD,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,eAAe,CAAC;IAC3B,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,EAAE,eAAe,CAAC;IACjC,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,GAAG,CAAC;IACd,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,YAAY,EAAE,GAAG,EAAE,CAAC;IACpB,SAAS,EAAE,GAAG,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IACpD,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9B,WAAW,CAAC,EAAE,GAAG,CAAC;QAClB,uBAAuB,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;QACzD,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACnC,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACnC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KAC1B,CAAC;IACF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fixedPoint/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC;;;GAGG;AAEH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,SAAI,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fixedPoint/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC;;;GAGG;AAEH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,SAAI,GAAG,MAAM,CAa5E;AAED;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,SAAI,GAAG,UAAU,CAc5E;AAED;;GAEG;AAEH,eAAO,MAAM,IAAI,KAAK,CAAC;AAEvB;;;GAGG;AAEH,eAAO,MAAM,GAAG,QAAsB,CAAC"}
|
|
@@ -20,6 +20,9 @@ exports.One = exports.Zero = exports.fixedPointFrom = exports.fixedPointToString
|
|
|
20
20
|
*/
|
|
21
21
|
function fixedPointToString(val, decimals = 8) {
|
|
22
22
|
const str = fixedPointFrom(val).toString();
|
|
23
|
+
if (decimals === 0) {
|
|
24
|
+
return str;
|
|
25
|
+
}
|
|
23
26
|
const l = str.length <= decimals ? "0" : str.slice(0, -decimals);
|
|
24
27
|
const r = str.slice(-decimals).padStart(decimals, "0").replace(/0*$/, "");
|
|
25
28
|
if (r === "") {
|
|
@@ -46,7 +49,7 @@ function fixedPointFrom(val, decimals = 8) {
|
|
|
46
49
|
if (typeof val === "bigint") {
|
|
47
50
|
return val;
|
|
48
51
|
}
|
|
49
|
-
const [l, r] = val.toString().split(".");
|
|
52
|
+
const [l, r] = (typeof val === "number" ? val.toFixed(decimals) : val.toString()).split(".");
|
|
50
53
|
const lVal = BigInt(l.padEnd(l.length + decimals, "0"));
|
|
51
54
|
if (r === undefined) {
|
|
52
55
|
return lVal;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/fixedPoint/index.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const _1 = require(".");
|
|
4
|
+
describe("fixedPointToString", () => {
|
|
5
|
+
const cases = [
|
|
6
|
+
[0n, "0"],
|
|
7
|
+
[1n, "0.00000001"],
|
|
8
|
+
[100000000n, "1"],
|
|
9
|
+
[1000000000n, "10"],
|
|
10
|
+
[1010100000n, "10.101"],
|
|
11
|
+
[11n, "1.1", 1],
|
|
12
|
+
[0n, "0", 1],
|
|
13
|
+
[1n, "1", 0],
|
|
14
|
+
[0n, "0", 0],
|
|
15
|
+
];
|
|
16
|
+
cases.forEach(([i, o, decimals]) => test(`${i} with ${decimals ?? "default"} decimals = "${o}"`, () => {
|
|
17
|
+
expect((0, _1.fixedPointToString)(i, decimals)).toBe(o);
|
|
18
|
+
}));
|
|
19
|
+
});
|
|
20
|
+
describe("fixedPointFrom string", () => {
|
|
21
|
+
const cases = [
|
|
22
|
+
["0", 0n],
|
|
23
|
+
["0.00000001", 1n],
|
|
24
|
+
["1", 100000000n],
|
|
25
|
+
["10", 1000000000n],
|
|
26
|
+
["10.101", 1010100000n],
|
|
27
|
+
["1.1", 11n, 1],
|
|
28
|
+
["0", 0n, 1],
|
|
29
|
+
["1", 1n, 0],
|
|
30
|
+
["0", 0n, 0],
|
|
31
|
+
];
|
|
32
|
+
cases.forEach(([i, o, decimals]) => test(`"${i}" = ${o} with ${decimals ?? "default"} decimals `, () => {
|
|
33
|
+
expect((0, _1.fixedPointFrom)(i, decimals)).toBe(o);
|
|
34
|
+
}));
|
|
35
|
+
});
|
|
36
|
+
describe("fixedPointFrom number", () => {
|
|
37
|
+
const cases = [
|
|
38
|
+
[0.00000001, 1n],
|
|
39
|
+
[10.101, 1010100000n],
|
|
40
|
+
[1.1, 11n, 1],
|
|
41
|
+
];
|
|
42
|
+
cases.forEach(([i, o, decimals]) => test(`${i} = ${o} with ${decimals ?? "default"} decimals `, () => {
|
|
43
|
+
expect((0, _1.fixedPointFrom)(i, decimals)).toBe(o);
|
|
44
|
+
}));
|
|
45
|
+
});
|
|
@@ -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;
|
|
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,MAAM,WAAW,CAAC;AAEnC;;;;GAIG;AACH,8BAAsB,SAAU,SAAQ,MAAM;IAC5C;;;;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,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"}
|
|
@@ -9,7 +9,6 @@ const ckb_1 = require("../../ckb");
|
|
|
9
9
|
const client_1 = require("../../client");
|
|
10
10
|
const hex_1 = require("../../hex");
|
|
11
11
|
const num_1 = require("../../num");
|
|
12
|
-
const helpers_1 = require("../helpers");
|
|
13
12
|
const signer_1 = require("../signer");
|
|
14
13
|
/**
|
|
15
14
|
* An abstract class extending the Signer class for Bitcoin-like signing operations.
|
|
@@ -45,7 +44,7 @@ class SignerBtc extends signer_1.Signer {
|
|
|
45
44
|
*/
|
|
46
45
|
async prepareTransaction(txLike) {
|
|
47
46
|
const { script } = await this.getRecommendedAddressObj();
|
|
48
|
-
return (
|
|
47
|
+
return ckb_1.Transaction.from(txLike).prepareSighashAllWitness(script, 85, this.client);
|
|
49
48
|
}
|
|
50
49
|
/**
|
|
51
50
|
* Signs a transaction without modifying it.
|
|
@@ -56,7 +55,7 @@ class SignerBtc extends signer_1.Signer {
|
|
|
56
55
|
async signOnlyTransaction(txLike) {
|
|
57
56
|
const tx = ckb_1.Transaction.from(txLike);
|
|
58
57
|
const { script } = await this.getRecommendedAddressObj();
|
|
59
|
-
const info = await
|
|
58
|
+
const info = await tx.getSignHashInfo(script, this.client);
|
|
60
59
|
if (!info) {
|
|
61
60
|
return tx;
|
|
62
61
|
}
|
|
@@ -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;
|
|
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,MAAM,WAAW,CAAC;AAEnC;;;GAGG;AACH,8BAAsB,SAAU,SAAQ,MAAM;IAC5C;;;;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"}
|
|
@@ -7,7 +7,6 @@ const ckb_1 = require("../../ckb");
|
|
|
7
7
|
const client_1 = require("../../client");
|
|
8
8
|
const hex_1 = require("../../hex");
|
|
9
9
|
const num_1 = require("../../num");
|
|
10
|
-
const helpers_1 = require("../helpers");
|
|
11
10
|
const signer_1 = require("../signer");
|
|
12
11
|
/**
|
|
13
12
|
* An abstract class extending Signer for Ethereum Virtual Machine (EVM) based signing operations.
|
|
@@ -48,7 +47,7 @@ class SignerEvm extends signer_1.Signer {
|
|
|
48
47
|
*/
|
|
49
48
|
async prepareTransaction(txLike) {
|
|
50
49
|
const addresses = await this.getAddressObjs();
|
|
51
|
-
return addresses.reduce((txPromise, { script }) => txPromise.then((tx) =>
|
|
50
|
+
return addresses.reduce((txPromise, { script }) => txPromise.then((tx) => tx.prepareSighashAllWitness(script, 85, this.client)), Promise.resolve(ckb_1.Transaction.from(txLike)));
|
|
52
51
|
}
|
|
53
52
|
/**
|
|
54
53
|
* Signs a transaction without modifying it.
|
|
@@ -66,7 +65,7 @@ class SignerEvm extends signer_1.Signer {
|
|
|
66
65
|
return tx;
|
|
67
66
|
}
|
|
68
67
|
async _signOmniLockScriptForTransaction(tx, script, messageTransformer) {
|
|
69
|
-
const info = await
|
|
68
|
+
const info = await tx.getSignHashInfo(script, this.client);
|
|
70
69
|
if (!info) {
|
|
71
70
|
return tx;
|
|
72
71
|
}
|
|
@@ -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,OAAO,CAAC;AACtB,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,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC"}
|
|
@@ -17,5 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./btc"), exports);
|
|
18
18
|
__exportStar(require("./ckb"), exports);
|
|
19
19
|
__exportStar(require("./evm"), exports);
|
|
20
|
-
__exportStar(require("./helpers"), exports);
|
|
21
20
|
__exportStar(require("./signer"), exports);
|
|
@@ -3,6 +3,7 @@ import { BytesLike } from "../bytes";
|
|
|
3
3
|
import { Transaction, TransactionLike } from "../ckb";
|
|
4
4
|
import { Client } from "../client";
|
|
5
5
|
import { Hex } from "../hex";
|
|
6
|
+
import { Num } from "../num";
|
|
6
7
|
/**
|
|
7
8
|
* An abstract class representing a generic signer.
|
|
8
9
|
* This class provides methods to connect, get addresses, and sign transactions.
|
|
@@ -23,6 +24,12 @@ export declare abstract class Signer {
|
|
|
23
24
|
* @returns A promise that resolves when the connection is complete.
|
|
24
25
|
*/
|
|
25
26
|
abstract connect(): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Disconnects to the signer.
|
|
29
|
+
*
|
|
30
|
+
* @returns A promise that resolves when disconnected.
|
|
31
|
+
*/
|
|
32
|
+
disconnect(): Promise<void>;
|
|
26
33
|
/**
|
|
27
34
|
* Check if the signer is connected.
|
|
28
35
|
*
|
|
@@ -61,6 +68,12 @@ export declare abstract class Signer {
|
|
|
61
68
|
* @returns A promise that resolves to an array of addresses as strings.
|
|
62
69
|
*/
|
|
63
70
|
getAddresses(): Promise<string[]>;
|
|
71
|
+
/**
|
|
72
|
+
* Gets balance of all addresses
|
|
73
|
+
*
|
|
74
|
+
* @returns A promise that resolves to the balance
|
|
75
|
+
*/
|
|
76
|
+
getBalance(): Promise<Num>;
|
|
64
77
|
/**
|
|
65
78
|
* Signs a message. This method is not implemented and should be overridden by subclasses.
|
|
66
79
|
*
|
|
@@ -105,15 +118,17 @@ export declare abstract class Signer {
|
|
|
105
118
|
*/
|
|
106
119
|
export declare enum SignerType {
|
|
107
120
|
EVM = "EVM",
|
|
108
|
-
BTC = "BTC"
|
|
121
|
+
BTC = "BTC",
|
|
122
|
+
CKB = "CKB"
|
|
109
123
|
}
|
|
110
124
|
/**
|
|
111
125
|
* A class representing information about a signer, including its type and the signer instance.
|
|
112
126
|
*/
|
|
113
127
|
export declare class SignerInfo {
|
|
128
|
+
name: string;
|
|
114
129
|
type: SignerType;
|
|
115
130
|
signer: Signer;
|
|
116
|
-
constructor(type: SignerType, signer: Signer);
|
|
131
|
+
constructor(name: string, type: SignerType, signer: Signer);
|
|
117
132
|
}
|
|
118
133
|
/**
|
|
119
134
|
* Represents a wallet with a name, icon, and an array of signer information.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/signer/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B;;;GAGG;AACH,8BAAsB,MAAM;IACd,SAAS,CAAC,OAAO,EAAE,MAAM;gBAAf,OAAO,EAAE,MAAM;IAErC,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEvD;;;;OAIG;IACH,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAExC;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAE9C;;;;OAIG;IACH,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAE7C;;;;;OAKG;IACG,wBAAwB,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvE;;;;;OAKG;IACG,qBAAqB,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlE;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAMvC;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAInD;;;;;OAKG;IACG,eAAe,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAIxD;;;;;OAKG;IACG,eAAe,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAKhE;;;;;;OAMG;IACH,kBAAkB,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAI5D;;;;;;OAMG;IACH,mBAAmB,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CAG9D;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED;;GAEG;AACH,qBAAa,UAAU;IAEZ,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/signer/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B;;;GAGG;AACH,8BAAsB,MAAM;IACd,SAAS,CAAC,OAAO,EAAE,MAAM;gBAAf,OAAO,EAAE,MAAM;IAErC,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEvD;;;;OAIG;IACH,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAEjC;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAExC;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAE9C;;;;OAIG;IACH,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAE7C;;;;;OAKG;IACG,wBAAwB,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvE;;;;;OAKG;IACG,qBAAqB,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlE;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAMvC;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC;IAMhC;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAInD;;;;;OAKG;IACG,eAAe,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAIxD;;;;;OAKG;IACG,eAAe,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAKhE;;;;;;OAMG;IACH,kBAAkB,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAI5D;;;;;;OAMG;IACH,mBAAmB,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CAG9D;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED;;GAEG;AACH,qBAAa,UAAU;IAEZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,MAAM;gBAFd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM;CAExB;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
|
|
@@ -12,6 +12,12 @@ class Signer {
|
|
|
12
12
|
get client() {
|
|
13
13
|
return this.client_;
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Disconnects to the signer.
|
|
17
|
+
*
|
|
18
|
+
* @returns A promise that resolves when disconnected.
|
|
19
|
+
*/
|
|
20
|
+
async disconnect() { }
|
|
15
21
|
/**
|
|
16
22
|
* Gets the recommended Address object for the signer.
|
|
17
23
|
*
|
|
@@ -38,6 +44,14 @@ class Signer {
|
|
|
38
44
|
async getAddresses() {
|
|
39
45
|
return this.getAddressObjs().then((addresses) => addresses.map((address) => address.toString()));
|
|
40
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Gets balance of all addresses
|
|
49
|
+
*
|
|
50
|
+
* @returns A promise that resolves to the balance
|
|
51
|
+
*/
|
|
52
|
+
async getBalance() {
|
|
53
|
+
return this.client.getBalance((await this.getAddressObjs()).map(({ script }) => script));
|
|
54
|
+
}
|
|
41
55
|
/**
|
|
42
56
|
* Signs a message. This method is not implemented and should be overridden by subclasses.
|
|
43
57
|
*
|
|
@@ -96,12 +110,14 @@ var SignerType;
|
|
|
96
110
|
(function (SignerType) {
|
|
97
111
|
SignerType["EVM"] = "EVM";
|
|
98
112
|
SignerType["BTC"] = "BTC";
|
|
113
|
+
SignerType["CKB"] = "CKB";
|
|
99
114
|
})(SignerType || (exports.SignerType = SignerType = {}));
|
|
100
115
|
/**
|
|
101
116
|
* A class representing information about a signer, including its type and the signer instance.
|
|
102
117
|
*/
|
|
103
118
|
class SignerInfo {
|
|
104
|
-
constructor(type, signer) {
|
|
119
|
+
constructor(name, type, signer) {
|
|
120
|
+
this.name = name;
|
|
105
121
|
this.type = type;
|
|
106
122
|
this.signer = signer;
|
|
107
123
|
}
|