@ckb-ccc/core 0.0.2-alpha.2 → 0.0.2-alpha.3
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/.prettierignore +12 -0
- package/dist/address/address.advanced.d.ts +29 -3
- package/dist/address/address.advanced.d.ts.map +1 -1
- package/dist/address/address.advanced.js +69 -22
- package/dist/address/advanced.d.ts +1 -28
- package/dist/address/advanced.d.ts.map +1 -1
- package/dist/address/advanced.js +3 -61
- package/dist/address/index.d.ts +10 -13
- package/dist/address/index.d.ts.map +1 -1
- package/dist/address/index.js +18 -18
- package/dist/advancedBarrel.d.ts +1 -0
- package/dist/advancedBarrel.d.ts.map +1 -1
- package/dist/advancedBarrel.js +1 -0
- package/dist/barrel.d.ts +4 -2
- package/dist/barrel.d.ts.map +1 -1
- package/dist/barrel.js +4 -2
- package/dist/bytes/index.d.ts +7 -0
- package/dist/bytes/index.d.ts.map +1 -0
- package/dist/bytes/index.js +41 -0
- package/dist/ckb/advanced.d.ts +3 -2
- package/dist/ckb/advanced.d.ts.map +1 -1
- package/dist/ckb/advanced.js +16 -2
- package/dist/ckb/index.d.ts +2 -3
- package/dist/ckb/index.d.ts.map +1 -1
- package/dist/ckb/index.js +2 -3
- package/dist/ckb/molecule.advanced/generated.d.ts.map +1 -0
- package/dist/ckb/{types/molecule.advanced → molecule.advanced}/generated.js +378 -97
- package/dist/ckb/molecule.advanced/index.d.ts +6 -0
- package/dist/ckb/molecule.advanced/index.d.ts.map +1 -0
- package/dist/ckb/{types/molecule.advanced → molecule.advanced}/index.js +8 -0
- package/dist/ckb/{types/script.advanced.d.ts → script.advanced.d.ts} +1 -0
- package/dist/ckb/script.advanced.d.ts.map +1 -0
- package/dist/ckb/{types/script.advanced.js → script.advanced.js} +2 -1
- package/dist/ckb/script.d.ts +29 -0
- package/dist/ckb/script.d.ts.map +1 -0
- package/dist/ckb/script.js +91 -0
- package/dist/ckb/{types/transaction.advanced.d.ts → transaction.advanced.d.ts} +1 -0
- package/dist/ckb/transaction.advanced.d.ts.map +1 -0
- package/dist/ckb/{types/transaction.advanced.js → transaction.advanced.js} +2 -1
- package/dist/ckb/transaction.d.ts +142 -0
- package/dist/ckb/transaction.d.ts.map +1 -0
- package/dist/ckb/transaction.js +262 -0
- package/dist/client/client.d.ts +4 -4
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/clientPublicMainnet.advanced.d.ts +2 -2
- package/dist/client/clientPublicMainnet.advanced.d.ts.map +1 -1
- package/dist/client/clientPublicMainnet.d.ts +2 -2
- package/dist/client/clientPublicMainnet.d.ts.map +1 -1
- package/dist/client/clientPublicTestnet.advanced.d.ts +2 -2
- package/dist/client/clientPublicTestnet.advanced.d.ts.map +1 -1
- package/dist/client/clientPublicTestnet.d.ts +2 -2
- package/dist/client/clientPublicTestnet.d.ts.map +1 -1
- package/dist/client/jsonRpc/advanced.d.ts +36 -36
- package/dist/client/jsonRpc/advanced.d.ts.map +1 -1
- package/dist/client/jsonRpc/advanced.js +11 -11
- package/dist/client/jsonRpc/index.d.ts.map +1 -1
- package/dist/client/jsonRpc/index.js +0 -1
- package/dist/fixedPoint/index.d.ts +7 -0
- package/dist/fixedPoint/index.d.ts.map +1 -0
- package/dist/{fixedPoint.js → fixedPoint/index.js} +9 -12
- package/dist/{ckb/hasher.advanced.d.ts → hasher/advanced.d.ts} +1 -1
- package/dist/hasher/advanced.d.ts.map +1 -0
- package/dist/{ckb/hasher.d.ts → hasher/index.d.ts} +3 -2
- package/dist/hasher/index.d.ts.map +1 -0
- package/dist/{ckb/hasher.js → hasher/index.js} +4 -4
- package/dist/hex/index.d.ts +5 -0
- package/dist/hex/index.d.ts.map +1 -0
- package/dist/hex/index.js +9 -0
- package/dist/num/index.d.ts +13 -0
- package/dist/num/index.d.ts.map +1 -0
- package/dist/num/index.js +47 -0
- package/dist/signer/helpers.d.ts +3 -3
- package/dist/signer/helpers.d.ts.map +1 -1
- package/dist/signer/helpers.js +7 -4
- package/dist/signer/index.d.ts +2 -0
- package/dist/signer/index.d.ts.map +1 -1
- package/dist/signer/index.js +2 -0
- package/dist/signer/signer.d.ts +12 -3
- package/dist/signer/signer.d.ts.map +1 -1
- package/dist/signer/signer.js +13 -2
- package/dist/signer/signerReadonly.d.ts +8 -0
- package/dist/signer/signerReadonly.d.ts.map +1 -0
- package/dist/signer/signerReadonly.js +13 -0
- package/dist/{ckb/viewerCkbScript.d.ts → signer/signerReadonlyCkbScript.d.ts} +6 -5
- package/dist/signer/signerReadonlyCkbScript.d.ts.map +1 -0
- package/dist/{ckb/viewerCkbScript.js → signer/signerReadonlyCkbScript.js} +7 -4
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +10 -0
- package/package.json +5 -3
- package/src/address/address.advanced.ts +76 -19
- package/src/address/advanced.ts +1 -59
- package/src/address/index.ts +46 -28
- package/src/advancedBarrel.ts +1 -0
- package/src/barrel.ts +4 -2
- package/src/bytes/index.ts +46 -0
- package/src/ckb/advanced.ts +3 -2
- package/src/ckb/index.ts +2 -3
- package/src/ckb/{types/molecule.advanced → molecule.advanced}/generated.d.ts +18 -7
- package/src/ckb/{types/molecule.advanced → molecule.advanced}/generated.js +551 -123
- package/src/ckb/molecule.advanced/index.ts +11 -0
- package/src/ckb/{types/script.advanced.ts → script.advanced.ts} +1 -0
- package/src/ckb/script.ts +94 -0
- package/src/ckb/{types/transaction.advanced.ts → transaction.advanced.ts} +1 -0
- package/src/ckb/transaction.ts +357 -0
- package/src/client/client.ts +4 -4
- package/src/client/clientPublicMainnet.advanced.ts +2 -2
- package/src/client/clientPublicMainnet.ts +2 -2
- package/src/client/clientPublicTestnet.advanced.ts +2 -2
- package/src/client/clientPublicTestnet.ts +2 -2
- package/src/client/clientTypes.ts +1 -1
- package/src/client/jsonRpc/advanced.ts +25 -25
- package/src/client/jsonRpc/index.ts +1 -3
- package/src/fixedPoint/index.ts +30 -0
- package/src/{ckb/hasher.ts → hasher/index.ts} +5 -5
- package/src/hex/index.ts +9 -0
- package/src/index.ts +1 -1
- package/src/num/index.ts +53 -0
- package/src/signer/helpers.ts +9 -6
- package/src/signer/index.ts +3 -1
- package/src/signer/signer.ts +23 -3
- package/src/signer/signerReadonly.ts +13 -0
- package/src/{ckb/viewerCkbScript.ts → signer/signerReadonlyCkbScript.ts} +8 -4
- package/src/utils/index.ts +28 -0
- package/dist/bytes.d.ts +0 -15
- package/dist/bytes.d.ts.map +0 -1
- package/dist/bytes.js +0 -114
- package/dist/ckb/hasher.advanced.d.ts.map +0 -1
- package/dist/ckb/hasher.d.ts.map +0 -1
- package/dist/ckb/types/advanced.d.ts +0 -4
- package/dist/ckb/types/advanced.d.ts.map +0 -1
- package/dist/ckb/types/advanced.js +0 -32
- package/dist/ckb/types/index.d.ts +0 -3
- package/dist/ckb/types/index.d.ts.map +0 -1
- package/dist/ckb/types/index.js +0 -18
- package/dist/ckb/types/molecule.advanced/generated.d.ts.map +0 -1
- package/dist/ckb/types/molecule.advanced/index.d.ts +0 -2
- package/dist/ckb/types/molecule.advanced/index.d.ts.map +0 -1
- package/dist/ckb/types/script.advanced.d.ts.map +0 -1
- package/dist/ckb/types/script.d.ts +0 -26
- package/dist/ckb/types/script.d.ts.map +0 -1
- package/dist/ckb/types/script.js +0 -75
- package/dist/ckb/types/transaction.advanced.d.ts.map +0 -1
- package/dist/ckb/types/transaction.d.ts +0 -127
- package/dist/ckb/types/transaction.d.ts.map +0 -1
- package/dist/ckb/types/transaction.js +0 -266
- package/dist/ckb/viewerCkbScript.d.ts.map +0 -1
- package/dist/fixedPoint.d.ts +0 -9
- package/dist/fixedPoint.d.ts.map +0 -1
- package/dist/primitive.d.ts +0 -5
- package/dist/primitive.d.ts.map +0 -1
- package/dist/primitive.js +0 -2
- package/dist/viewer.d.ts +0 -12
- package/dist/viewer.d.ts.map +0 -1
- package/dist/viewer.js +0 -19
- package/src/bytes.ts +0 -127
- package/src/ckb/types/advanced.ts +0 -3
- package/src/ckb/types/index.ts +0 -2
- package/src/ckb/types/molecule.advanced/index.ts +0 -1
- package/src/ckb/types/script.ts +0 -70
- package/src/ckb/types/transaction.ts +0 -366
- package/src/fixedPoint.ts +0 -53
- package/src/primitive.ts +0 -8
- package/src/viewer.ts +0 -22
- /package/dist/ckb/{types/molecule.advanced → molecule.advanced}/generated.d.ts +0 -0
- /package/dist/{ckb/hasher.advanced.js → hasher/advanced.js} +0 -0
- /package/src/ckb/{types/molecule.advanced → molecule.advanced}/blockchain.mol +0 -0
- /package/src/{ckb/hasher.advanced.ts → hasher/advanced.ts} +0 -0
package/.prettierignore
ADDED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
import { Client } from "../client";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import { type AddressLike } from "./index";
|
|
3
|
+
export declare function addressPayloadFromString(address: string): {
|
|
4
|
+
prefix: string;
|
|
5
|
+
format: AddressFormat;
|
|
6
|
+
payload: number[];
|
|
7
|
+
};
|
|
8
|
+
export declare function addressFromPayload(prefix: string, format: AddressFormat, payload: number[], client: Client): Promise<AddressLike>;
|
|
9
|
+
export declare enum AddressFormat {
|
|
10
|
+
/**
|
|
11
|
+
* full version identifies the hashType
|
|
12
|
+
*/
|
|
13
|
+
Full = 0,
|
|
14
|
+
/**
|
|
15
|
+
* @deprecated
|
|
16
|
+
* short version for locks with Known codeHash, deprecated
|
|
17
|
+
*/
|
|
18
|
+
Short = 1,
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated
|
|
21
|
+
* full version with hashType = "Data", deprecated
|
|
22
|
+
*/
|
|
23
|
+
FullData = 2,
|
|
24
|
+
/**
|
|
25
|
+
* @deprecated
|
|
26
|
+
* full version with hashType = "Type", deprecated
|
|
27
|
+
*/
|
|
28
|
+
FullType = 4
|
|
29
|
+
}
|
|
30
|
+
export declare const ADDRESS_BECH32_LIMIT = 1023;
|
|
5
31
|
//# sourceMappingURL=address.advanced.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.advanced.d.ts","sourceRoot":"","sources":["../../src/address/address.advanced.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"address.advanced.d.ts","sourceRoot":"","sources":["../../src/address/address.advanced.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAe,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CA2BA;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CA4EtB;AAED,oBAAY,aAAa;IACvB;;OAEG;IACH,IAAI,IAAO;IACX;;;OAGG;IACH,KAAK,IAAO;IACZ;;;OAGG;IACH,QAAQ,IAAO;IACf;;;OAGG;IACH,QAAQ,IAAO;CAChB;AAED,eAAO,MAAM,oBAAoB,OAAO,CAAC"}
|
|
@@ -1,53 +1,77 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
5
|
-
const bytes_1 = require("../bytes");
|
|
6
|
-
const advanced_1 = require("./advanced");
|
|
3
|
+
exports.ADDRESS_BECH32_LIMIT = exports.AddressFormat = exports.addressFromPayload = exports.addressPayloadFromString = void 0;
|
|
4
|
+
const bech32_1 = require("bech32");
|
|
7
5
|
const ckb_1 = require("../ckb");
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
const client_1 = require("../client");
|
|
7
|
+
const hex_1 = require("../hex");
|
|
8
|
+
function addressPayloadFromString(address) {
|
|
9
|
+
// Try parse full format address
|
|
10
|
+
{
|
|
11
|
+
const { words, prefix } = bech32_1.bech32m.decode(address, exports.ADDRESS_BECH32_LIMIT);
|
|
12
|
+
const [formatType, ...payload] = bech32_1.bech32m.fromWords(words);
|
|
13
|
+
if (formatType === AddressFormat.Full) {
|
|
14
|
+
return { prefix, format: AddressFormat.Full, payload };
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
// Try parse legacy 2019 format address
|
|
18
|
+
{
|
|
19
|
+
const { prefix, words } = bech32_1.bech32.decode(address, exports.ADDRESS_BECH32_LIMIT);
|
|
20
|
+
const [formatType, ...payload] = bech32_1.bech32.fromWords(words);
|
|
21
|
+
if ([
|
|
22
|
+
AddressFormat.FullData,
|
|
23
|
+
AddressFormat.FullType,
|
|
24
|
+
AddressFormat.Short,
|
|
25
|
+
].includes(formatType)) {
|
|
26
|
+
return { prefix, format: formatType, payload };
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
throw Error(`Unknown address format ${address}`);
|
|
30
|
+
}
|
|
31
|
+
exports.addressPayloadFromString = addressPayloadFromString;
|
|
32
|
+
async function addressFromPayload(prefix, format, payload, client) {
|
|
33
|
+
if (format === AddressFormat.Full) {
|
|
10
34
|
if (payload.length < 32 + 1) {
|
|
11
|
-
throw new Error(`Invalid full address without enough payload ${(0,
|
|
35
|
+
throw new Error(`Invalid full address without enough payload ${(0, hex_1.hexFrom)(payload)}`);
|
|
12
36
|
}
|
|
13
37
|
return {
|
|
14
38
|
script: {
|
|
15
|
-
codeHash: (0,
|
|
16
|
-
hashType: (0, ckb_1.
|
|
17
|
-
args: (0,
|
|
39
|
+
codeHash: (0, hex_1.hexFrom)(payload.slice(0, 32)),
|
|
40
|
+
hashType: (0, ckb_1.hashTypeFromBytes)(payload.slice(32, 33)),
|
|
41
|
+
args: (0, hex_1.hexFrom)(payload.slice(33)),
|
|
18
42
|
},
|
|
19
43
|
prefix,
|
|
20
44
|
};
|
|
21
45
|
}
|
|
22
|
-
if (format ===
|
|
46
|
+
if (format === AddressFormat.FullData) {
|
|
23
47
|
if (payload.length < 32) {
|
|
24
|
-
throw new Error(`Invalid full data address without enough payload ${(0,
|
|
48
|
+
throw new Error(`Invalid full data address without enough payload ${(0, hex_1.hexFrom)(payload)}`);
|
|
25
49
|
}
|
|
26
50
|
return {
|
|
27
51
|
script: {
|
|
28
|
-
codeHash: (0,
|
|
52
|
+
codeHash: (0, hex_1.hexFrom)(payload.slice(0, 32)),
|
|
29
53
|
hashType: "data",
|
|
30
|
-
args: (0,
|
|
54
|
+
args: (0, hex_1.hexFrom)(payload.slice(32)),
|
|
31
55
|
},
|
|
32
56
|
prefix,
|
|
33
57
|
};
|
|
34
58
|
}
|
|
35
|
-
if (format ===
|
|
59
|
+
if (format === AddressFormat.FullType) {
|
|
36
60
|
if (payload.length < 32) {
|
|
37
|
-
throw new Error(`Invalid full type address without enough payload ${(0,
|
|
61
|
+
throw new Error(`Invalid full type address without enough payload ${(0, hex_1.hexFrom)(payload)}`);
|
|
38
62
|
}
|
|
39
63
|
return {
|
|
40
64
|
script: {
|
|
41
|
-
codeHash: (0,
|
|
65
|
+
codeHash: (0, hex_1.hexFrom)(payload.slice(0, 32)),
|
|
42
66
|
hashType: "type",
|
|
43
|
-
args: (0,
|
|
67
|
+
args: (0, hex_1.hexFrom)(payload.slice(32)),
|
|
44
68
|
},
|
|
45
69
|
prefix,
|
|
46
70
|
};
|
|
47
71
|
}
|
|
48
72
|
// format === AddressFormat.Short
|
|
49
73
|
if (payload.length !== 21) {
|
|
50
|
-
throw new Error(`Invalid short address without enough payload ${(0,
|
|
74
|
+
throw new Error(`Invalid short address without enough payload ${(0, hex_1.hexFrom)(payload)}`);
|
|
51
75
|
}
|
|
52
76
|
const script = [
|
|
53
77
|
client_1.KnownScript.Secp256k1Blake160,
|
|
@@ -55,14 +79,37 @@ async function fromAddressPayload(prefix, format, payload, client) {
|
|
|
55
79
|
client_1.KnownScript.AnyoneCanPay,
|
|
56
80
|
][payload[0]];
|
|
57
81
|
if (script === undefined) {
|
|
58
|
-
throw new Error(`Invalid short address with unknown script ${(0,
|
|
82
|
+
throw new Error(`Invalid short address with unknown script ${(0, hex_1.hexFrom)(payload)}`);
|
|
59
83
|
}
|
|
60
84
|
return {
|
|
61
85
|
script: {
|
|
62
86
|
...(await client.getKnownScript(script)),
|
|
63
|
-
args: (0,
|
|
87
|
+
args: (0, hex_1.hexFrom)(payload.slice(1)),
|
|
64
88
|
},
|
|
65
89
|
prefix,
|
|
66
90
|
};
|
|
67
91
|
}
|
|
68
|
-
exports.
|
|
92
|
+
exports.addressFromPayload = addressFromPayload;
|
|
93
|
+
var AddressFormat;
|
|
94
|
+
(function (AddressFormat) {
|
|
95
|
+
/**
|
|
96
|
+
* full version identifies the hashType
|
|
97
|
+
*/
|
|
98
|
+
AddressFormat[AddressFormat["Full"] = 0] = "Full";
|
|
99
|
+
/**
|
|
100
|
+
* @deprecated
|
|
101
|
+
* short version for locks with Known codeHash, deprecated
|
|
102
|
+
*/
|
|
103
|
+
AddressFormat[AddressFormat["Short"] = 1] = "Short";
|
|
104
|
+
/**
|
|
105
|
+
* @deprecated
|
|
106
|
+
* full version with hashType = "Data", deprecated
|
|
107
|
+
*/
|
|
108
|
+
AddressFormat[AddressFormat["FullData"] = 2] = "FullData";
|
|
109
|
+
/**
|
|
110
|
+
* @deprecated
|
|
111
|
+
* full version with hashType = "Type", deprecated
|
|
112
|
+
*/
|
|
113
|
+
AddressFormat[AddressFormat["FullType"] = 4] = "FullType";
|
|
114
|
+
})(AddressFormat || (exports.AddressFormat = AddressFormat = {}));
|
|
115
|
+
exports.ADDRESS_BECH32_LIMIT = 1023;
|
|
@@ -1,29 +1,2 @@
|
|
|
1
|
-
export *
|
|
2
|
-
export declare function parseAddressToPayload(address: string): {
|
|
3
|
-
prefix: string;
|
|
4
|
-
format: AddressFormat;
|
|
5
|
-
payload: number[];
|
|
6
|
-
};
|
|
7
|
-
export declare enum AddressFormat {
|
|
8
|
-
/**
|
|
9
|
-
* full version identifies the hashType
|
|
10
|
-
*/
|
|
11
|
-
Full = 0,
|
|
12
|
-
/**
|
|
13
|
-
* @deprecated
|
|
14
|
-
* short version for locks with Known codeHash, deprecated
|
|
15
|
-
*/
|
|
16
|
-
Short = 1,
|
|
17
|
-
/**
|
|
18
|
-
* @deprecated
|
|
19
|
-
* full version with hashType = "Data", deprecated
|
|
20
|
-
*/
|
|
21
|
-
FullData = 2,
|
|
22
|
-
/**
|
|
23
|
-
* @deprecated
|
|
24
|
-
* full version with hashType = "Type", deprecated
|
|
25
|
-
*/
|
|
26
|
-
FullType = 4
|
|
27
|
-
}
|
|
28
|
-
export declare const BECH32_LIMIT = 1023;
|
|
1
|
+
export * from "./address.advanced";
|
|
29
2
|
//# sourceMappingURL=advanced.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../../src/address/advanced.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../../src/address/advanced.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
|
package/dist/address/advanced.js
CHANGED
|
@@ -10,66 +10,8 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
10
10
|
if (k2 === undefined) k2 = k;
|
|
11
11
|
o[k2] = m[k];
|
|
12
12
|
}));
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
24
15
|
};
|
|
25
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
|
|
27
|
-
const bech32_1 = require("bech32");
|
|
28
|
-
exports.Address = __importStar(require("./address.advanced"));
|
|
29
|
-
function parseAddressToPayload(address) {
|
|
30
|
-
// Try parse full format address
|
|
31
|
-
{
|
|
32
|
-
const { words, prefix } = bech32_1.bech32m.decode(address, exports.BECH32_LIMIT);
|
|
33
|
-
const [formatType, ...payload] = bech32_1.bech32m.fromWords(words);
|
|
34
|
-
if (formatType === AddressFormat.Full) {
|
|
35
|
-
return { prefix, format: AddressFormat.Full, payload };
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
// Try parse legacy 2019 format address
|
|
39
|
-
{
|
|
40
|
-
const { prefix, words } = bech32_1.bech32.decode(address, exports.BECH32_LIMIT);
|
|
41
|
-
const [formatType, ...payload] = bech32_1.bech32.fromWords(words);
|
|
42
|
-
if ([
|
|
43
|
-
AddressFormat.FullData,
|
|
44
|
-
AddressFormat.FullType,
|
|
45
|
-
AddressFormat.Short,
|
|
46
|
-
].includes(formatType)) {
|
|
47
|
-
return { prefix, format: formatType, payload };
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
throw Error(`Unknown address format ${address}`);
|
|
51
|
-
}
|
|
52
|
-
exports.parseAddressToPayload = parseAddressToPayload;
|
|
53
|
-
var AddressFormat;
|
|
54
|
-
(function (AddressFormat) {
|
|
55
|
-
/**
|
|
56
|
-
* full version identifies the hashType
|
|
57
|
-
*/
|
|
58
|
-
AddressFormat[AddressFormat["Full"] = 0] = "Full";
|
|
59
|
-
/**
|
|
60
|
-
* @deprecated
|
|
61
|
-
* short version for locks with Known codeHash, deprecated
|
|
62
|
-
*/
|
|
63
|
-
AddressFormat[AddressFormat["Short"] = 1] = "Short";
|
|
64
|
-
/**
|
|
65
|
-
* @deprecated
|
|
66
|
-
* full version with hashType = "Data", deprecated
|
|
67
|
-
*/
|
|
68
|
-
AddressFormat[AddressFormat["FullData"] = 2] = "FullData";
|
|
69
|
-
/**
|
|
70
|
-
* @deprecated
|
|
71
|
-
* full version with hashType = "Type", deprecated
|
|
72
|
-
*/
|
|
73
|
-
AddressFormat[AddressFormat["FullType"] = 4] = "FullType";
|
|
74
|
-
})(AddressFormat || (exports.AddressFormat = AddressFormat = {}));
|
|
75
|
-
exports.BECH32_LIMIT = 1023;
|
|
17
|
+
__exportStar(require("./address.advanced"), exports);
|
package/dist/address/index.d.ts
CHANGED
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Script, ScriptLike } from "../ckb";
|
|
2
2
|
import { Client, KnownScript } from "../client";
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import { HexLike } from "../hex";
|
|
4
|
+
export type AddressLike = {
|
|
5
|
+
script: ScriptLike;
|
|
6
|
+
prefix: string;
|
|
7
|
+
};
|
|
5
8
|
export declare class Address {
|
|
6
9
|
script: Script;
|
|
7
10
|
prefix: string;
|
|
8
11
|
constructor(script: Script, prefix: string);
|
|
12
|
+
static from(address: AddressLike): Address;
|
|
9
13
|
static fromString(address: string, clients: Client | Record<string, Client>): Promise<Address>;
|
|
10
|
-
static fromScript(script:
|
|
11
|
-
static fromKnownScript(script: KnownScript, args:
|
|
12
|
-
|
|
13
|
-
args: `0x${string}`;
|
|
14
|
-
codeHash: `0x${string}`;
|
|
15
|
-
hashType: import("../ckb").HashType;
|
|
16
|
-
};
|
|
17
|
-
prefix: string;
|
|
18
|
-
}>;
|
|
19
|
-
static toString(address: DeepReadonly<Address>): string;
|
|
14
|
+
static fromScript(script: ScriptLike, client: Client): Promise<Address>;
|
|
15
|
+
static fromKnownScript(script: KnownScript, args: HexLike, client: Client): Promise<Address>;
|
|
16
|
+
toString(): string;
|
|
20
17
|
}
|
|
21
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/address/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/address/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAmB,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAQjC,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,qBAAa,OAAO;IAET,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;gBADd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM;IAGvB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;WAQ7B,UAAU,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,OAAO,CAAC,OAAO,CAAC;WAmBN,UAAU,CACrB,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC;WAIN,eAAe,CAC1B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,MAAM;IAWhB,QAAQ,IAAI,MAAM;CAcnB"}
|
package/dist/address/index.js
CHANGED
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Address = void 0;
|
|
4
|
-
const ckb_1 = require("../ckb");
|
|
5
|
-
const advanced_1 = require("./advanced");
|
|
6
4
|
const bech32_1 = require("bech32");
|
|
7
5
|
const bytes_1 = require("../bytes");
|
|
6
|
+
const ckb_1 = require("../ckb");
|
|
7
|
+
const address_advanced_1 = require("./address.advanced");
|
|
8
8
|
class Address {
|
|
9
9
|
constructor(script, prefix) {
|
|
10
10
|
this.script = script;
|
|
11
11
|
this.prefix = prefix;
|
|
12
12
|
}
|
|
13
|
+
static from(address) {
|
|
14
|
+
if (address instanceof Address) {
|
|
15
|
+
return address;
|
|
16
|
+
}
|
|
17
|
+
return new Address(ckb_1.Script.from(address.script), address.prefix);
|
|
18
|
+
}
|
|
13
19
|
static async fromString(address, clients) {
|
|
14
|
-
const { prefix, format, payload } = (0,
|
|
20
|
+
const { prefix, format, payload } = (0, address_advanced_1.addressPayloadFromString)(address);
|
|
15
21
|
const client = clients[prefix] ?? clients;
|
|
16
22
|
if (!client) {
|
|
17
23
|
throw new Error(`Unknown address prefix ${prefix}`);
|
|
@@ -20,26 +26,20 @@ class Address {
|
|
|
20
26
|
if (expectedPrefix !== prefix) {
|
|
21
27
|
throw new Error(`Unknown address prefix ${prefix}, expected ${expectedPrefix}`);
|
|
22
28
|
}
|
|
23
|
-
return
|
|
29
|
+
return Address.from(await (0, address_advanced_1.addressFromPayload)(prefix, format, payload, client));
|
|
24
30
|
}
|
|
25
31
|
static async fromScript(script, client) {
|
|
26
|
-
return
|
|
27
|
-
script: { ...script },
|
|
28
|
-
prefix: await client.getAddressPrefix(),
|
|
29
|
-
};
|
|
32
|
+
return new Address(ckb_1.Script.from(script), await client.getAddressPrefix());
|
|
30
33
|
}
|
|
31
34
|
static async fromKnownScript(script, args, client) {
|
|
32
|
-
return {
|
|
33
|
-
script
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
},
|
|
37
|
-
prefix: await client.getAddressPrefix(),
|
|
38
|
-
};
|
|
35
|
+
return new Address(ckb_1.Script.from({
|
|
36
|
+
...(await client.getKnownScript(script)),
|
|
37
|
+
args,
|
|
38
|
+
}), await client.getAddressPrefix());
|
|
39
39
|
}
|
|
40
|
-
|
|
41
|
-
const data = (0, bytes_1.
|
|
42
|
-
return bech32_1.bech32m.encode(
|
|
40
|
+
toString() {
|
|
41
|
+
const data = (0, bytes_1.bytesConcat)([address_advanced_1.AddressFormat.Full], (0, bytes_1.bytesFrom)(this.script.codeHash), (0, ckb_1.hashTypeToBytes)(this.script.hashType), (0, bytes_1.bytesFrom)(this.script.args));
|
|
42
|
+
return bech32_1.bech32m.encode(this.prefix, bech32_1.bech32m.toWords(data), address_advanced_1.ADDRESS_BECH32_LIMIT);
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
exports.Address = Address;
|
package/dist/advancedBarrel.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advancedBarrel.d.ts","sourceRoot":"","sources":["../src/advancedBarrel.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"advancedBarrel.d.ts","sourceRoot":"","sources":["../src/advancedBarrel.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
|
package/dist/advancedBarrel.js
CHANGED
|
@@ -17,3 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./address/advanced"), exports);
|
|
18
18
|
__exportStar(require("./ckb/advanced"), exports);
|
|
19
19
|
__exportStar(require("./client/advanced"), exports);
|
|
20
|
+
__exportStar(require("./hasher/advanced"), exports);
|
package/dist/barrel.d.ts
CHANGED
|
@@ -3,7 +3,9 @@ export * from "./bytes";
|
|
|
3
3
|
export * from "./ckb";
|
|
4
4
|
export * from "./client";
|
|
5
5
|
export * from "./fixedPoint";
|
|
6
|
-
export * from "./
|
|
6
|
+
export * from "./hasher";
|
|
7
|
+
export * from "./hex";
|
|
8
|
+
export * from "./num";
|
|
7
9
|
export * from "./signer";
|
|
8
|
-
export * from "./
|
|
10
|
+
export * from "./utils";
|
|
9
11
|
//# sourceMappingURL=barrel.d.ts.map
|
package/dist/barrel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"barrel.d.ts","sourceRoot":"","sources":["../src/barrel.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,
|
|
1
|
+
{"version":3,"file":"barrel.d.ts","sourceRoot":"","sources":["../src/barrel.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
package/dist/barrel.js
CHANGED
|
@@ -19,6 +19,8 @@ __exportStar(require("./bytes"), exports);
|
|
|
19
19
|
__exportStar(require("./ckb"), exports);
|
|
20
20
|
__exportStar(require("./client"), exports);
|
|
21
21
|
__exportStar(require("./fixedPoint"), exports);
|
|
22
|
-
__exportStar(require("./
|
|
22
|
+
__exportStar(require("./hasher"), exports);
|
|
23
|
+
__exportStar(require("./hex"), exports);
|
|
24
|
+
__exportStar(require("./num"), exports);
|
|
23
25
|
__exportStar(require("./signer"), exports);
|
|
24
|
-
__exportStar(require("./
|
|
26
|
+
__exportStar(require("./utils"), exports);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type Bytes = Uint8Array;
|
|
2
|
+
export type BytesLike = string | Uint8Array | ArrayBuffer | number[];
|
|
3
|
+
export declare function bytesConcat(...args: BytesLike[]): Bytes;
|
|
4
|
+
export declare function bytesFromUtf8(val: string): Bytes;
|
|
5
|
+
export declare function bytesToUtf8(val: BytesLike): string;
|
|
6
|
+
export declare function bytesFrom(bytes: BytesLike): Bytes;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bytes/index.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC;AAC/B,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,EAAE,CAAC;AAErE,wBAAgB,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,CAOvD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAEhD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAElD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAuBjD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bytesFrom = exports.bytesToUtf8 = exports.bytesFromUtf8 = exports.bytesConcat = void 0;
|
|
4
|
+
const buffer_1 = require("buffer/");
|
|
5
|
+
function bytesConcat(...args) {
|
|
6
|
+
return new Uint8Array(args.reduce((acc, v) => {
|
|
7
|
+
acc.push(...bytesFrom(v));
|
|
8
|
+
return acc;
|
|
9
|
+
}, []));
|
|
10
|
+
}
|
|
11
|
+
exports.bytesConcat = bytesConcat;
|
|
12
|
+
function bytesFromUtf8(val) {
|
|
13
|
+
return buffer_1.Buffer.from(val, "utf-8");
|
|
14
|
+
}
|
|
15
|
+
exports.bytesFromUtf8 = bytesFromUtf8;
|
|
16
|
+
function bytesToUtf8(val) {
|
|
17
|
+
return buffer_1.Buffer.from(bytesFrom(val)).toString("utf-8");
|
|
18
|
+
}
|
|
19
|
+
exports.bytesToUtf8 = bytesToUtf8;
|
|
20
|
+
function bytesFrom(bytes) {
|
|
21
|
+
if (bytes instanceof Uint8Array) {
|
|
22
|
+
return bytes;
|
|
23
|
+
}
|
|
24
|
+
if (bytes instanceof ArrayBuffer) {
|
|
25
|
+
return new Uint8Array(bytes);
|
|
26
|
+
}
|
|
27
|
+
if (Array.isArray(bytes)) {
|
|
28
|
+
if (bytes.some((v) => v < 0 || 0xff < v)) {
|
|
29
|
+
throw new Error(`Invalid bytes ${JSON.stringify(bytes)}`);
|
|
30
|
+
}
|
|
31
|
+
return new Uint8Array(bytes);
|
|
32
|
+
}
|
|
33
|
+
const str = bytes.startsWith("0x") ? bytes.slice(2) : bytes;
|
|
34
|
+
const paddedStr = str.length % 2 === 0 ? str : `0${str}`;
|
|
35
|
+
const data = buffer_1.Buffer.from(paddedStr, "hex");
|
|
36
|
+
if (data.length * 2 !== paddedStr.length) {
|
|
37
|
+
throw new Error(`Invalid bytes ${bytes}`);
|
|
38
|
+
}
|
|
39
|
+
return data;
|
|
40
|
+
}
|
|
41
|
+
exports.bytesFrom = bytesFrom;
|
package/dist/ckb/advanced.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../../src/ckb/advanced.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,
|
|
1
|
+
{"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../../src/ckb/advanced.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAC;AACxD,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC"}
|
package/dist/ckb/advanced.js
CHANGED
|
@@ -10,9 +10,23 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
10
10
|
if (k2 === undefined) k2 = k;
|
|
11
11
|
o[k2] = m[k];
|
|
12
12
|
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
13
25
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
26
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
27
|
};
|
|
16
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
|
|
18
|
-
|
|
29
|
+
exports.moleculeCodecCkb = void 0;
|
|
30
|
+
exports.moleculeCodecCkb = __importStar(require("./molecule.advanced"));
|
|
31
|
+
__exportStar(require("./script.advanced"), exports);
|
|
32
|
+
__exportStar(require("./transaction.advanced"), exports);
|
package/dist/ckb/index.d.ts
CHANGED
package/dist/ckb/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ckb/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ckb/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC"}
|
package/dist/ckb/index.js
CHANGED
|
@@ -14,6 +14,5 @@ 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("./
|
|
18
|
-
__exportStar(require("./
|
|
19
|
-
__exportStar(require("./viewerCkbScript"), exports);
|
|
17
|
+
__exportStar(require("./script"), exports);
|
|
18
|
+
__exportStar(require("./transaction"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated.d.ts","sourceRoot":"","sources":["../../../src/ckb/molecule.advanced/generated.js"],"names":[],"mappings":"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"}
|