@ckb-ccc/core 0.0.4-alpha.0 → 0.0.4-alpha.2

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 ADDED
@@ -0,0 +1,32 @@
1
+ <h1 align="center" style="font-size: 64px;">
2
+ CCC
3
+ </h1>
4
+
5
+ <p align="center">
6
+ <img alt="GitHub commit activity" src="https://img.shields.io/github/commit-activity/m/ckb-ecofund/ccc">
7
+ <img alt="GitHub last commit" src="https://img.shields.io/github/last-commit/ckb-ecofund/ccc/master">
8
+ <img alt="GitHub deployments" src="https://img.shields.io/github/deployments/ckb-ecofund/ccc/production">
9
+ <img alt="Demo" src="https://img.shields.io/website?url=https%3A%2F%2Fckbccc-demo.vercel.app%2F&label=Demo">
10
+ </p>
11
+
12
+ <p align="center">
13
+ "Common Chains Connector" is where CCC begins.
14
+ <br />
15
+ CCC helps you to interoperate wallets from different chain ecosystems with CKB,
16
+ <br />
17
+ fully enabling CKB's cryptographic freedom power.
18
+ </p>
19
+
20
+ ## Preview
21
+
22
+ <p align="center">
23
+ <a href="https://ckbccc-demo.vercel.app/">
24
+ <img src="https://raw.githubusercontent.com/ckb-ecofund/ccc/master/assets/preview.png" width="30%" />
25
+ </a>
26
+ </p>
27
+
28
+ This project is still under active development, and we are looking forward to your feedback. [Try its demo now here](https://ckbccc-demo.vercel.app/).
29
+
30
+ <h3 align="center">
31
+ Read more about CCC on its <a href="https://github.com/ckb-ecofund/ccc">GitHub Repo</a>.
32
+ </h3>
@@ -32,9 +32,9 @@ export async function addressFromPayload(prefix, format, payload, client) {
32
32
  }
33
33
  return {
34
34
  script: {
35
- codeHash: hexFrom(payload.slice(0, 32)),
35
+ codeHash: payload.slice(0, 32),
36
36
  hashType: hashTypeFromBytes(payload.slice(32, 33)),
37
- args: hexFrom(payload.slice(33)),
37
+ args: payload.slice(33),
38
38
  },
39
39
  prefix,
40
40
  };
@@ -45,9 +45,9 @@ export async function addressFromPayload(prefix, format, payload, client) {
45
45
  }
46
46
  return {
47
47
  script: {
48
- codeHash: hexFrom(payload.slice(0, 32)),
48
+ codeHash: payload.slice(0, 32),
49
49
  hashType: "data",
50
- args: hexFrom(payload.slice(32)),
50
+ args: payload.slice(32),
51
51
  },
52
52
  prefix,
53
53
  };
@@ -58,9 +58,9 @@ export async function addressFromPayload(prefix, format, payload, client) {
58
58
  }
59
59
  return {
60
60
  script: {
61
- codeHash: hexFrom(payload.slice(0, 32)),
61
+ codeHash: payload.slice(0, 32),
62
62
  hashType: "type",
63
- args: hexFrom(payload.slice(32)),
63
+ args: payload.slice(32),
64
64
  },
65
65
  prefix,
66
66
  };
@@ -80,7 +80,7 @@ export async function addressFromPayload(prefix, format, payload, client) {
80
80
  return {
81
81
  script: {
82
82
  ...(await client.getKnownScript(script)),
83
- args: hexFrom(payload.slice(1)),
83
+ args: payload.slice(1),
84
84
  },
85
85
  prefix,
86
86
  };
@@ -26,13 +26,16 @@ export class Address {
26
26
  return Address.from(await addressFromPayload(prefix, format, payload, client));
27
27
  }
28
28
  static async fromScript(script, client) {
29
- return new Address(Script.from(script), await client.getAddressPrefix());
29
+ return Address.from({ script, prefix: await client.getAddressPrefix() });
30
30
  }
31
31
  static async fromKnownScript(script, args, client) {
32
- return new Address(Script.from({
33
- ...(await client.getKnownScript(script)),
34
- args,
35
- }), await client.getAddressPrefix());
32
+ return Address.from({
33
+ script: {
34
+ ...(await client.getKnownScript(script)),
35
+ args,
36
+ },
37
+ prefix: await client.getAddressPrefix(),
38
+ });
36
39
  }
37
40
  toString() {
38
41
  const data = bytesConcat([AddressFormat.Full], bytesFrom(this.script.codeHash), hashTypeToBytes(this.script.hashType), bytesFrom(this.script.args));
@@ -4,7 +4,7 @@ import * as mol from "./molecule.advanced";
4
4
  export type HashTypeLike = string | number | bigint;
5
5
  export type HashType = "type" | "data" | "data1" | "data2";
6
6
  export declare function hashTypeFrom(val: HashTypeLike): HashType;
7
- export declare function hashTypeToBytes(hashType: HashType): Bytes;
7
+ export declare function hashTypeToBytes(hashType: HashTypeLike): Bytes;
8
8
  export declare function hashTypeFromBytes(bytes: BytesLike): HashType;
9
9
  export type ScriptLike = {
10
10
  codeHash: BytesLike;
@@ -1 +1 @@
1
- {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../src/ckb/script.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAa,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,GAAG,EAAW,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAO3C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACpD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAC3D,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,QAAQ,CAmBxD;AACD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK,CAEzD;AACD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,CAE5D;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AACF,qBAAa,MAAM;IAER,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,GAAG;gBAFT,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,GAAG;IAGlB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAYvC,UAAU;;;;;IAQV,OAAO,IAAI,KAAK;IAIhB,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM;IAWvD,EAAE,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;CAQ7B"}
1
+ {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../src/ckb/script.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAa,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,GAAG,EAAW,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAO3C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACpD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAC3D,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,QAAQ,CAmBxD;AACD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,KAAK,CAE7D;AACD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,CAE5D;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AACF,qBAAa,MAAM;IAER,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,GAAG;gBAFT,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,GAAG;IAGlB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAYvC,UAAU;;;;;IAQV,OAAO,IAAI,KAAK;IAIhB,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM;IAWvD,EAAE,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;CAQ7B"}
@@ -21,7 +21,7 @@ export function hashTypeFrom(val) {
21
21
  return hashType;
22
22
  }
23
23
  export function hashTypeToBytes(hashType) {
24
- return bytesFrom([HASH_TYPE_TO_NUM[hashType]]);
24
+ return bytesFrom([HASH_TYPE_TO_NUM[hashTypeFrom(hashType)]]);
25
25
  }
26
26
  export function hashTypeFromBytes(bytes) {
27
27
  return NUM_TO_HASH_TYPE[bytesFrom(bytes)[0]];
@@ -8,7 +8,7 @@ import { Script, ScriptLike } from "./script";
8
8
  export type DepTypeLike = string | number | bigint;
9
9
  export type DepType = "depGroup" | "code";
10
10
  export declare function depTypeFrom(val: DepTypeLike): DepType;
11
- export declare function depTypeToBytes(depType: DepType): Bytes;
11
+ export declare function depTypeToBytes(depType: DepTypeLike): Bytes;
12
12
  export declare function depTypeFromBytes(bytes: BytesLike): DepType;
13
13
  export type OutPointLike = {
14
14
  txHash: HexLike;
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/ckb/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/ckb/transaction.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export function depTypeFrom(val) {
22
22
  return depType;
23
23
  }
24
24
  export function depTypeToBytes(depType) {
25
- return bytesFrom([DEP_TYPE_TO_NUM[depType]]);
25
+ return bytesFrom([DEP_TYPE_TO_NUM[depTypeFrom(depType)]]);
26
26
  }
27
27
  export function depTypeFromBytes(bytes) {
28
28
  return NUM_TO_DEP_TYPE[bytesFrom(bytes)[0]];
@@ -1,6 +1,6 @@
1
1
  export type FixedPoint = bigint;
2
2
  export type FixedPointLike = bigint | string | number;
3
- export declare function fixedPointToString(val: FixedPoint, decimals?: number): string;
3
+ export declare function fixedPointToString(val: FixedPointLike, decimals?: number): string;
4
4
  export declare function fixedPointFrom(val: FixedPointLike, decimals?: number): FixedPoint;
5
5
  export declare const Zero = 0n;
6
6
  export declare const One: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fixedPoint/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAChC,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEtD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,SAAI,GAAG,MAAM,CASxE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,SAAI,GAAG,UAAU,CAY5E;AAED,eAAO,MAAM,IAAI,KAAK,CAAC;AACvB,eAAO,MAAM,GAAG,QAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fixedPoint/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAChC,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEtD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,SAAI,GAAG,MAAM,CAS5E;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,SAAI,GAAG,UAAU,CAY5E;AAED,eAAO,MAAM,IAAI,KAAK,CAAC;AACvB,eAAO,MAAM,GAAG,QAAsB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export function fixedPointToString(val, decimals = 8) {
2
- const str = val.toString();
2
+ const str = fixedPointFrom(val).toString();
3
3
  const l = str.length <= decimals ? "0" : str.slice(0, -decimals);
4
4
  const r = str.slice(-decimals).padStart(decimals, "0").replace(/0*$/, "");
5
5
  if (r === "") {
@@ -1,8 +1,7 @@
1
- import { Blake2b } from "blake2b";
2
1
  import { BytesLike } from "../bytes";
3
2
  import { Hex } from "../hex";
4
3
  export declare class Hasher {
5
- hasher: Blake2b;
4
+ private readonly hasher;
6
5
  constructor(outLength?: number, personal?: string);
7
6
  update(data: BytesLike): Hasher;
8
7
  digest(): Hex;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hasher/index.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAa,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAG7B,qBAAa,MAAM;IACjB,MAAM,EAAE,OAAO,CAAC;gBAEJ,SAAS,SAAK,EAAE,QAAQ,SAAuB;IAS3D,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;IAK/B,MAAM,IAAI,GAAG;CAGd;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,GAAG,CAE5C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hasher/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAa,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAG7B,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;gBAErB,SAAS,SAAK,EAAE,QAAQ,SAAuB;IAS3D,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;IAK/B,MAAM,IAAI,GAAG;CAGd;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,GAAG,CAE5C"}
@@ -1,5 +1,5 @@
1
1
  import { Address } from "../../address";
2
- import { Transaction } from "../../ckb";
2
+ import { Transaction, TransactionLike } from "../../ckb";
3
3
  import { HexLike } from "../../hex";
4
4
  import { Signer } from "../signer";
5
5
  export declare abstract class SignerBtc extends Signer {
@@ -7,6 +7,6 @@ export declare abstract class SignerBtc extends Signer {
7
7
  abstract getBtcPublicKey(): Promise<HexLike>;
8
8
  getInternalAddress(): Promise<string>;
9
9
  getAddressObjs(): Promise<Address[]>;
10
- signOnlyTransaction(tx: Transaction): Promise<Transaction>;
10
+ signOnlyTransaction(txLike: TransactionLike): Promise<Transaction>;
11
11
  }
12
12
  //# sourceMappingURL=signerBtc.d.ts.map
@@ -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,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,OAAO,EAAW,MAAM,WAAW,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,8BAAsB,SAAU,SAAQ,MAAM;IAC5C,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAEzC,QAAQ,CAAC,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAEtC,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIrC,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAapC,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CA+BjE"}
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;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,8BAAsB,SAAU,SAAQ,MAAM;IAC5C,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAEzC,QAAQ,CAAC,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAEtC,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIrC,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAapC,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CAgCzE"}
@@ -2,7 +2,7 @@ import { ripemd160 } from "@noble/hashes/ripemd160";
2
2
  import { sha256 } from "@noble/hashes/sha256";
3
3
  import { Address } from "../../address";
4
4
  import { bytesConcat, bytesFrom } from "../../bytes";
5
- import { WitnessArgs } from "../../ckb";
5
+ import { Transaction, WitnessArgs } from "../../ckb";
6
6
  import { KnownScript } from "../../client";
7
7
  import { hexFrom } from "../../hex";
8
8
  import { numToBytes } from "../../num";
@@ -19,7 +19,8 @@ export class SignerBtc extends Signer {
19
19
  await Address.fromKnownScript(KnownScript.OmniLock, hexFrom([0x04, ...hash, 0x00]), this.client),
20
20
  ];
21
21
  }
22
- async signOnlyTransaction(tx) {
22
+ async signOnlyTransaction(txLike) {
23
+ const tx = Transaction.from(txLike);
23
24
  const { script } = await this.getRecommendedAddressObj();
24
25
  const info = await getSignHashInfo(tx, script);
25
26
  if (!info) {
@@ -1,10 +1,10 @@
1
1
  import { Address } from "../../address";
2
- import { Transaction } from "../../ckb";
2
+ import { Transaction, TransactionLike } from "../../ckb";
3
3
  import { Signer } from "../signer";
4
4
  export declare abstract class SignerEvm extends Signer {
5
5
  abstract getEvmAccount(): Promise<string>;
6
6
  getInternalAddress(): Promise<string>;
7
7
  getAddressObjs(): Promise<Address[]>;
8
- signOnlyTransaction(tx: Transaction): Promise<Transaction>;
8
+ signOnlyTransaction(txLike: TransactionLike): Promise<Transaction>;
9
9
  }
10
10
  //# sourceMappingURL=signerEvm.d.ts.map
@@ -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;AAExC,OAAO,EAAE,WAAW,EAAe,MAAM,WAAW,CAAC;AAKrD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,8BAAsB,SAAU,SAAQ,MAAM;IAC5C,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAEnC,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIrC,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAWpC,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CA8BjE"}
1
+ {"version":3,"file":"signerEvm.d.ts","sourceRoot":"","sources":["../../../src/signer/evm/signerEvm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAe,MAAM,WAAW,CAAC;AAKtE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,8BAAsB,SAAU,SAAQ,MAAM;IAC5C,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAEnC,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIrC,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAWpC,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CAgCzE"}
@@ -1,6 +1,6 @@
1
1
  import { Address } from "../../address";
2
2
  import { bytesConcat, bytesFrom } from "../../bytes";
3
- import { WitnessArgs } from "../../ckb";
3
+ import { Transaction, WitnessArgs } from "../../ckb";
4
4
  import { KnownScript } from "../../client";
5
5
  import { hexFrom } from "../../hex";
6
6
  import { numToBytes } from "../../num";
@@ -16,7 +16,8 @@ export class SignerEvm extends Signer {
16
16
  await Address.fromKnownScript(KnownScript.OmniLock, hexFrom([0x12, ...bytesFrom(account), 0x00]), this.client),
17
17
  ];
18
18
  }
19
- async signOnlyTransaction(tx) {
19
+ async signOnlyTransaction(txLike) {
20
+ const tx = Transaction.from(txLike);
20
21
  const { script } = await this.getRecommendedAddressObj();
21
22
  const info = await getSignHashInfo(tx, script);
22
23
  if (!info) {
@@ -1,6 +1,6 @@
1
1
  import { Address } from "../address";
2
2
  import { BytesLike } from "../bytes";
3
- import { Transaction } from "../ckb";
3
+ import { Transaction, TransactionLike } from "../ckb";
4
4
  import { Client } from "../client";
5
5
  import { Hex } from "../hex";
6
6
  export declare abstract class Signer {
@@ -13,9 +13,9 @@ export declare abstract class Signer {
13
13
  getRecommendedAddress(preference?: unknown): Promise<string>;
14
14
  getAddresses(): Promise<string[]>;
15
15
  signMessage(_: string | BytesLike): Promise<string>;
16
- sendTransaction(tx: Transaction): Promise<Hex>;
17
- signTransaction(tx: Transaction): Promise<Transaction>;
18
- signOnlyTransaction(_: Transaction): Promise<Transaction>;
16
+ sendTransaction(tx: TransactionLike): Promise<Hex>;
17
+ signTransaction(tx: TransactionLike): Promise<Transaction>;
18
+ signOnlyTransaction(_: TransactionLike): Promise<Transaction>;
19
19
  }
20
20
  export declare enum SignerType {
21
21
  EVM = "EVM",
@@ -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,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,8BAAsB,MAAM;aACE,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;IAE1C,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAEjC,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAE9C,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IACvC,wBAAwB,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIjE,qBAAqB,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAG5D,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAMvC,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAI7C,eAAe,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAI9C,eAAe,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAI5D,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAG1D;AAED,oBAAY,UAAU;IACpB,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED,qBAAa,UAAU;IAEZ,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,MAAM;gBADd,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM;CAExB;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB,CAAC"}
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,8BAAsB,MAAM;aACE,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;IAE1C,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAEjC,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAE9C,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IACvC,wBAAwB,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIjE,qBAAqB,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAG5D,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAMvC,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAI7C,eAAe,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAIlD,eAAe,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAIhE,mBAAmB,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CAG9D;AAED,oBAAY,UAAU;IACpB,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED,qBAAa,UAAU;IAEZ,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,MAAM;gBADd,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM;CAExB;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB,CAAC"}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@ckb-ccc/core",
3
- "version": "0.0.4-alpha.0",
3
+ "version": "0.0.4-alpha.2",
4
4
  "description": "Common Chains Connector Core",
5
5
  "author": "Hanssen0 <hanssen0@hanssen0.com>",
6
6
  "license": "MIT",
7
7
  "private": false,
8
- "homepage": "https://github.com/Hanssen0/ccc",
8
+ "homepage": "https://github.com/ckb-ecofund/ccc",
9
9
  "repository": {
10
10
  "type": "git",
11
- "url": "git://github.com/Hanssen0/ccc.git"
11
+ "url": "git://github.com/ckb-ecofund/ccc.git"
12
12
  },
13
13
  "main": "dist/index.js",
14
14
  "exports": {
@@ -23,7 +23,6 @@
23
23
  "format": "prettier --write . && eslint --fix"
24
24
  },
25
25
  "devDependencies": {
26
- "@ckb-lumos/helpers": "^0.22.2",
27
26
  "@eslint/js": "^9.1.1",
28
27
  "@types/blake2b": "^2.1.3",
29
28
  "eslint": "^9.1.0",
@@ -40,6 +39,7 @@
40
39
  "access": "public"
41
40
  },
42
41
  "dependencies": {
42
+ "@ckb-lumos/helpers": "^0.22.2",
43
43
  "@noble/hashes": "^1.4.0",
44
44
  "abort-controller": "^3.0.0",
45
45
  "bech32": "^2.0.0",
@@ -47,5 +47,5 @@
47
47
  "buffer": "^6.0.3",
48
48
  "cross-fetch": "^4.0.0"
49
49
  },
50
- "gitHead": "e49045ed4b2778c92d6f49b79c17125245141a21"
50
+ "gitHead": "a90c12506cc8a1e0284cc4687d6a1a4598bffed2"
51
51
  }
@@ -52,9 +52,9 @@ export async function addressFromPayload(
52
52
 
53
53
  return {
54
54
  script: {
55
- codeHash: hexFrom(payload.slice(0, 32)),
55
+ codeHash: payload.slice(0, 32),
56
56
  hashType: hashTypeFromBytes(payload.slice(32, 33)),
57
- args: hexFrom(payload.slice(33)),
57
+ args: payload.slice(33),
58
58
  },
59
59
  prefix,
60
60
  };
@@ -69,9 +69,9 @@ export async function addressFromPayload(
69
69
 
70
70
  return {
71
71
  script: {
72
- codeHash: hexFrom(payload.slice(0, 32)),
72
+ codeHash: payload.slice(0, 32),
73
73
  hashType: "data",
74
- args: hexFrom(payload.slice(32)),
74
+ args: payload.slice(32),
75
75
  },
76
76
  prefix,
77
77
  };
@@ -86,9 +86,9 @@ export async function addressFromPayload(
86
86
 
87
87
  return {
88
88
  script: {
89
- codeHash: hexFrom(payload.slice(0, 32)),
89
+ codeHash: payload.slice(0, 32),
90
90
  hashType: "type",
91
- args: hexFrom(payload.slice(32)),
91
+ args: payload.slice(32),
92
92
  },
93
93
  prefix,
94
94
  };
@@ -114,7 +114,7 @@ export async function addressFromPayload(
114
114
  return {
115
115
  script: {
116
116
  ...(await client.getKnownScript(script)),
117
- args: hexFrom(payload.slice(1)),
117
+ args: payload.slice(1),
118
118
  },
119
119
  prefix,
120
120
  };
@@ -54,7 +54,7 @@ export class Address {
54
54
  script: ScriptLike,
55
55
  client: Client,
56
56
  ): Promise<Address> {
57
- return new Address(Script.from(script), await client.getAddressPrefix());
57
+ return Address.from({ script, prefix: await client.getAddressPrefix() });
58
58
  }
59
59
 
60
60
  static async fromKnownScript(
@@ -62,13 +62,13 @@ export class Address {
62
62
  args: HexLike,
63
63
  client: Client,
64
64
  ) {
65
- return new Address(
66
- Script.from({
65
+ return Address.from({
66
+ script: {
67
67
  ...(await client.getKnownScript(script)),
68
68
  args,
69
- }),
70
- await client.getAddressPrefix(),
71
- );
69
+ },
70
+ prefix: await client.getAddressPrefix(),
71
+ });
72
72
  }
73
73
 
74
74
  toString(): string {
package/src/ckb/script.ts CHANGED
@@ -29,8 +29,8 @@ export function hashTypeFrom(val: HashTypeLike): HashType {
29
29
  }
30
30
  return hashType;
31
31
  }
32
- export function hashTypeToBytes(hashType: HashType): Bytes {
33
- return bytesFrom([HASH_TYPE_TO_NUM[hashType]]);
32
+ export function hashTypeToBytes(hashType: HashTypeLike): Bytes {
33
+ return bytesFrom([HASH_TYPE_TO_NUM[hashTypeFrom(hashType)]]);
34
34
  }
35
35
  export function hashTypeFromBytes(bytes: BytesLike): HashType {
36
36
  return NUM_TO_HASH_TYPE[bytesFrom(bytes)[0]];
@@ -27,8 +27,8 @@ export function depTypeFrom(val: DepTypeLike): DepType {
27
27
  }
28
28
  return depType;
29
29
  }
30
- export function depTypeToBytes(depType: DepType): Bytes {
31
- return bytesFrom([DEP_TYPE_TO_NUM[depType]]);
30
+ export function depTypeToBytes(depType: DepTypeLike): Bytes {
31
+ return bytesFrom([DEP_TYPE_TO_NUM[depTypeFrom(depType)]]);
32
32
  }
33
33
  export function depTypeFromBytes(bytes: BytesLike): DepType {
34
34
  return NUM_TO_DEP_TYPE[bytesFrom(bytes)[0]];
@@ -1,8 +1,8 @@
1
1
  export type FixedPoint = bigint;
2
2
  export type FixedPointLike = bigint | string | number;
3
3
 
4
- export function fixedPointToString(val: FixedPoint, decimals = 8): string {
5
- const str = val.toString();
4
+ export function fixedPointToString(val: FixedPointLike, decimals = 8): string {
5
+ const str = fixedPointFrom(val).toString();
6
6
  const l = str.length <= decimals ? "0" : str.slice(0, -decimals);
7
7
  const r = str.slice(-decimals).padStart(decimals, "0").replace(/0*$/, "");
8
8
  if (r === "") {
@@ -4,7 +4,7 @@ import { Hex } from "../hex";
4
4
  import { CKB_BLAKE2B_PERSONAL } from "./advanced";
5
5
 
6
6
  export class Hasher {
7
- hasher: Blake2b;
7
+ private readonly hasher: Blake2b;
8
8
 
9
9
  constructor(outLength = 32, personal = CKB_BLAKE2B_PERSONAL) {
10
10
  this.hasher = blake2b(
@@ -2,7 +2,7 @@ import { ripemd160 } from "@noble/hashes/ripemd160";
2
2
  import { sha256 } from "@noble/hashes/sha256";
3
3
  import { Address } from "../../address";
4
4
  import { bytesConcat, bytesFrom } from "../../bytes";
5
- import { Transaction, WitnessArgs } from "../../ckb";
5
+ import { Transaction, TransactionLike, WitnessArgs } from "../../ckb";
6
6
  import { KnownScript } from "../../client";
7
7
  import { HexLike, hexFrom } from "../../hex";
8
8
  import { numToBytes } from "../../num";
@@ -31,7 +31,8 @@ export abstract class SignerBtc extends Signer {
31
31
  ];
32
32
  }
33
33
 
34
- async signOnlyTransaction(tx: Transaction): Promise<Transaction> {
34
+ async signOnlyTransaction(txLike: TransactionLike): Promise<Transaction> {
35
+ const tx = Transaction.from(txLike);
35
36
  const { script } = await this.getRecommendedAddressObj();
36
37
  const info = await getSignHashInfo(tx, script);
37
38
  if (!info) {
@@ -1,6 +1,6 @@
1
1
  import { Address } from "../../address";
2
2
  import { bytesConcat, bytesFrom } from "../../bytes";
3
- import { Transaction, WitnessArgs } from "../../ckb";
3
+ import { Transaction, TransactionLike, WitnessArgs } from "../../ckb";
4
4
  import { KnownScript } from "../../client";
5
5
  import { hexFrom } from "../../hex";
6
6
  import { numToBytes } from "../../num";
@@ -25,7 +25,9 @@ export abstract class SignerEvm extends Signer {
25
25
  ];
26
26
  }
27
27
 
28
- async signOnlyTransaction(tx: Transaction): Promise<Transaction> {
28
+ async signOnlyTransaction(txLike: TransactionLike): Promise<Transaction> {
29
+ const tx = Transaction.from(txLike);
30
+
29
31
  const { script } = await this.getRecommendedAddressObj();
30
32
  const info = await getSignHashInfo(tx, script);
31
33
  if (!info) {
@@ -1,6 +1,6 @@
1
1
  import { Address } from "../address";
2
2
  import { BytesLike } from "../bytes";
3
- import { Transaction } from "../ckb";
3
+ import { Transaction, TransactionLike } from "../ckb";
4
4
  import { Client } from "../client";
5
5
  import { Hex } from "../hex";
6
6
 
@@ -29,15 +29,15 @@ export abstract class Signer {
29
29
  throw Error("Signer.signMessage not implemented");
30
30
  }
31
31
 
32
- async sendTransaction(tx: Transaction): Promise<Hex> {
32
+ async sendTransaction(tx: TransactionLike): Promise<Hex> {
33
33
  return this.client.sendTransaction(await this.signTransaction(tx));
34
34
  }
35
35
 
36
- async signTransaction(tx: Transaction): Promise<Transaction> {
36
+ async signTransaction(tx: TransactionLike): Promise<Transaction> {
37
37
  return this.signOnlyTransaction(tx);
38
38
  }
39
39
 
40
- signOnlyTransaction(_: Transaction): Promise<Transaction> {
40
+ signOnlyTransaction(_: TransactionLike): Promise<Transaction> {
41
41
  throw Error("Signer.signOnlyTransaction not implemented");
42
42
  }
43
43
  }