@ckb-ccc/core 0.0.3-alpha.0 → 0.0.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.
@@ -0,0 +1,2 @@
1
+ export type BytesFromEncoding = "utf8" | "utf16le" | "latin1" | "base64" | "base64url" | "hex" | "ascii" | "binary" | "ucs2";
2
+ //# sourceMappingURL=advanced.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../../src/bytes/advanced.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,KAAK,GACL,OAAO,GACP,QAAQ,GACR,MAAM,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,7 +1,7 @@
1
+ import { BytesFromEncoding } from "./advanced";
1
2
  export type Bytes = Uint8Array;
2
3
  export type BytesLike = string | Uint8Array | ArrayBuffer | number[];
3
4
  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;
5
+ export declare function bytesTo(val: BytesLike, encoding: BytesFromEncoding): string;
6
+ export declare function bytesFrom(bytes: BytesLike, encoding?: BytesFromEncoding): Bytes;
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bytes/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,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,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAE3E;AAED,wBAAgB,SAAS,CACvB,KAAK,EAAE,SAAS,EAChB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,KAAK,CA2BP"}
@@ -5,13 +5,10 @@ export function bytesConcat(...args) {
5
5
  return acc;
6
6
  }, []));
7
7
  }
8
- export function bytesFromUtf8(val) {
9
- return Buffer.from(val, "utf-8");
8
+ export function bytesTo(val, encoding) {
9
+ return Buffer.from(bytesFrom(val)).toString(encoding);
10
10
  }
11
- export function bytesToUtf8(val) {
12
- return Buffer.from(bytesFrom(val)).toString("utf-8");
13
- }
14
- export function bytesFrom(bytes) {
11
+ export function bytesFrom(bytes, encoding) {
15
12
  if (bytes instanceof Uint8Array) {
16
13
  return bytes;
17
14
  }
@@ -24,6 +21,9 @@ export function bytesFrom(bytes) {
24
21
  }
25
22
  return new Uint8Array(bytes);
26
23
  }
24
+ if (encoding !== undefined) {
25
+ return Buffer.from(bytes, encoding);
26
+ }
27
27
  const str = bytes.startsWith("0x") ? bytes.slice(2) : bytes;
28
28
  const paddedStr = str.length % 2 === 0 ? str : `0${str}`;
29
29
  const data = Buffer.from(paddedStr, "hex");
@@ -210,10 +210,10 @@ export class Transaction {
210
210
  return bytesFrom(mol.SerializeRawTransaction({
211
211
  version: numToBytes(this.version, 4),
212
212
  cellDeps: this.cellDeps.map((d) => d._toMolData()),
213
- headerDeps: this.headerDeps.map(bytesFrom),
213
+ headerDeps: this.headerDeps.map((header) => bytesFrom(header)),
214
214
  inputs: this.inputs.map((i) => i._toMolData()),
215
215
  outputs: this.outputs.map((o) => o._toMolData()),
216
- outputsData: this.outputsData.map(bytesFrom),
216
+ outputsData: this.outputsData.map((header) => bytesFrom(header)),
217
217
  }));
218
218
  }
219
219
  hash() {
@@ -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,EAA4B,MAAM,UAAU,CAAC;AAC/D,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":"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,9 +1,9 @@
1
1
  import blake2b from "blake2b";
2
- import { bytesFrom, bytesFromUtf8 } from "../bytes";
2
+ import { bytesFrom } from "../bytes";
3
3
  import { CKB_BLAKE2B_PERSONAL } from "./advanced";
4
4
  export class Hasher {
5
5
  constructor(outLength = 32, personal = CKB_BLAKE2B_PERSONAL) {
6
- this.hasher = blake2b(outLength, undefined, undefined, bytesFromUtf8(personal));
6
+ this.hasher = blake2b(outLength, undefined, undefined, bytesFrom(personal, "utf8"));
7
7
  }
8
8
  update(data) {
9
9
  this.hasher.update(bytesFrom(data));
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hex/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,SAAS,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,MAAM,GAAG,GAAG,KAAK,MAAM,EAAE,CAAC;AAChC,MAAM,MAAM,OAAO,GAAG,SAAS,CAAC;AAEhC,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,CAEzC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hex/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAW,MAAM,UAAU,CAAC;AAEzD,MAAM,MAAM,GAAG,GAAG,KAAK,MAAM,EAAE,CAAC;AAChC,MAAM,MAAM,OAAO,GAAG,SAAS,CAAC;AAEhC,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,CAEzC"}
package/dist/hex/index.js CHANGED
@@ -1,5 +1,4 @@
1
- import { Buffer } from "buffer/";
2
- import { bytesFrom } from "../bytes";
1
+ import { bytesFrom, bytesTo } from "../bytes";
3
2
  export function hexFrom(hex) {
4
- return `0x${Buffer.from(bytesFrom(hex)).toString("hex")}`;
3
+ return `0x${bytesTo(bytesFrom(hex), "hex")}`;
5
4
  }
@@ -12,7 +12,7 @@ export declare abstract class Signer {
12
12
  getRecommendedAddressObj(_preference?: unknown): Promise<Address>;
13
13
  getRecommendedAddress(preference?: unknown): Promise<string>;
14
14
  getAddresses(): Promise<string[]>;
15
- abstract signMessage(message: string | BytesLike): Promise<Hex>;
15
+ abstract signMessage(message: string | BytesLike): Promise<string>;
16
16
  sendTransaction(tx: Transaction): Promise<Hex>;
17
17
  signTransaction(tx: Transaction): Promise<Transaction>;
18
18
  abstract signOnlyTransaction(tx: Transaction): Promise<Transaction>;
@@ -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,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;IAEzD,eAAe,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAI9C,eAAe,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAI5D,QAAQ,CAAC,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CACpE"}
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,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAE5D,eAAe,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAI9C,eAAe,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAI5D,QAAQ,CAAC,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CACpE"}
@@ -1,8 +1,7 @@
1
1
  import { Signer } from ".";
2
2
  import { Transaction } from "../ckb";
3
- import { Hex } from "../hex";
4
3
  export declare abstract class SignerReadonly extends Signer {
5
- signMessage(): Promise<Hex>;
4
+ signMessage(): Promise<string>;
6
5
  signOnlyTransaction(): Promise<Transaction>;
7
6
  }
8
7
  //# sourceMappingURL=signerReadonly.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signerReadonly.d.ts","sourceRoot":"","sources":["../../src/signer/signerReadonly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,8BAAsB,cAAe,SAAQ,MAAM;IACjD,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC;IAI3B,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CAG5C"}
1
+ {"version":3,"file":"signerReadonly.d.ts","sourceRoot":"","sources":["../../src/signer/signerReadonly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,8BAAsB,cAAe,SAAQ,MAAM;IACjD,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;CAG5C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ckb-ccc/core",
3
- "version": "0.0.3-alpha.0",
3
+ "version": "0.0.3",
4
4
  "description": "Common Chains Connector Core",
5
5
  "author": "Hanssen0 <hanssen0@hanssen0.com>",
6
6
  "license": "MIT",
@@ -46,5 +46,5 @@
46
46
  "buffer": "^6.0.3",
47
47
  "cross-fetch": "^4.0.0"
48
48
  },
49
- "gitHead": "4a995208e5135d11e9f72b9a9fd73174a3056fc7"
49
+ "gitHead": "9df1bbe0007136568914d8a73fe39f898d636a12"
50
50
  }
@@ -0,0 +1,10 @@
1
+ export type BytesFromEncoding =
2
+ | "utf8"
3
+ | "utf16le"
4
+ | "latin1"
5
+ | "base64"
6
+ | "base64url"
7
+ | "hex"
8
+ | "ascii"
9
+ | "binary"
10
+ | "ucs2";
@@ -1,4 +1,5 @@
1
1
  import { Buffer } from "buffer/";
2
+ import { BytesFromEncoding } from "./advanced";
2
3
 
3
4
  export type Bytes = Uint8Array;
4
5
  export type BytesLike = string | Uint8Array | ArrayBuffer | number[];
@@ -12,15 +13,14 @@ export function bytesConcat(...args: BytesLike[]): Bytes {
12
13
  );
13
14
  }
14
15
 
15
- export function bytesFromUtf8(val: string): Bytes {
16
- return Buffer.from(val, "utf-8");
16
+ export function bytesTo(val: BytesLike, encoding: BytesFromEncoding): string {
17
+ return Buffer.from(bytesFrom(val)).toString(encoding);
17
18
  }
18
19
 
19
- export function bytesToUtf8(val: BytesLike): string {
20
- return Buffer.from(bytesFrom(val)).toString("utf-8");
21
- }
22
-
23
- export function bytesFrom(bytes: BytesLike): Bytes {
20
+ export function bytesFrom(
21
+ bytes: BytesLike,
22
+ encoding?: BytesFromEncoding,
23
+ ): Bytes {
24
24
  if (bytes instanceof Uint8Array) {
25
25
  return bytes;
26
26
  }
@@ -36,6 +36,10 @@ export function bytesFrom(bytes: BytesLike): Bytes {
36
36
  return new Uint8Array(bytes);
37
37
  }
38
38
 
39
+ if (encoding !== undefined) {
40
+ return Buffer.from(bytes, encoding);
41
+ }
42
+
39
43
  const str = bytes.startsWith("0x") ? bytes.slice(2) : bytes;
40
44
  const paddedStr = str.length % 2 === 0 ? str : `0${str}`;
41
45
  const data = Buffer.from(paddedStr, "hex");
@@ -337,10 +337,10 @@ export class Transaction {
337
337
  mol.SerializeRawTransaction({
338
338
  version: numToBytes(this.version, 4),
339
339
  cellDeps: this.cellDeps.map((d) => d._toMolData()),
340
- headerDeps: this.headerDeps.map(bytesFrom),
340
+ headerDeps: this.headerDeps.map((header) => bytesFrom(header)),
341
341
  inputs: this.inputs.map((i) => i._toMolData()),
342
342
  outputs: this.outputs.map((o) => o._toMolData()),
343
- outputsData: this.outputsData.map(bytesFrom),
343
+ outputsData: this.outputsData.map((header) => bytesFrom(header)),
344
344
  }),
345
345
  );
346
346
  }
@@ -1,5 +1,5 @@
1
1
  import blake2b, { Blake2b } from "blake2b";
2
- import { BytesLike, bytesFrom, bytesFromUtf8 } from "../bytes";
2
+ import { BytesLike, bytesFrom } from "../bytes";
3
3
  import { Hex } from "../hex";
4
4
  import { CKB_BLAKE2B_PERSONAL } from "./advanced";
5
5
 
@@ -11,7 +11,7 @@ export class Hasher {
11
11
  outLength,
12
12
  undefined,
13
13
  undefined,
14
- bytesFromUtf8(personal),
14
+ bytesFrom(personal, "utf8"),
15
15
  );
16
16
  }
17
17
 
package/src/hex/index.ts CHANGED
@@ -1,9 +1,8 @@
1
- import { Buffer } from "buffer/";
2
- import { bytesFrom, BytesLike } from "../bytes";
1
+ import { bytesFrom, BytesLike, bytesTo } from "../bytes";
3
2
 
4
3
  export type Hex = `0x${string}`;
5
4
  export type HexLike = BytesLike;
6
5
 
7
6
  export function hexFrom(hex: HexLike): Hex {
8
- return `0x${Buffer.from(bytesFrom(hex)).toString("hex")}`;
7
+ return `0x${bytesTo(bytesFrom(hex), "hex")}`;
9
8
  }
@@ -25,7 +25,7 @@ export abstract class Signer {
25
25
  );
26
26
  }
27
27
 
28
- abstract signMessage(message: string | BytesLike): Promise<Hex>;
28
+ abstract signMessage(message: string | BytesLike): Promise<string>;
29
29
 
30
30
  async sendTransaction(tx: Transaction): Promise<Hex> {
31
31
  return this.client.sendTransaction(await this.signTransaction(tx));
@@ -1,9 +1,8 @@
1
1
  import { Signer } from ".";
2
2
  import { Transaction } from "../ckb";
3
- import { Hex } from "../hex";
4
3
 
5
4
  export abstract class SignerReadonly extends Signer {
6
- signMessage(): Promise<Hex> {
5
+ signMessage(): Promise<string> {
7
6
  throw new Error("Method not implemented.");
8
7
  }
9
8