@bizjs/chainkit 0.0.4 → 0.0.6

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.
Files changed (67) hide show
  1. package/dist/aptos.d.mts +7 -0
  2. package/dist/aptos.d.ts +7 -0
  3. package/dist/aptos.js +12 -0
  4. package/dist/bitcoin.d.mts +1 -0
  5. package/dist/bitcoin.d.ts +1 -0
  6. package/dist/bitcoin.js +12 -0
  7. package/dist/cardano.d.mts +1 -0
  8. package/dist/cardano.d.ts +1 -0
  9. package/dist/cardano.js +12 -0
  10. package/dist/esm/aptos.js +1 -0
  11. package/dist/esm/bitcoin.js +1 -0
  12. package/dist/esm/cardano.js +1 -0
  13. package/dist/esm/evm.js +1 -0
  14. package/dist/esm/starknet.js +1 -0
  15. package/dist/esm/svm.js +1 -0
  16. package/dist/esm/tvm.js +1 -0
  17. package/dist/evm.d.mts +1 -0
  18. package/dist/evm.d.ts +1 -0
  19. package/dist/evm.js +12 -0
  20. package/dist/starknet.d.mts +1 -0
  21. package/dist/starknet.d.ts +1 -0
  22. package/dist/starknet.js +12 -0
  23. package/dist/svm.d.mts +1 -0
  24. package/dist/svm.d.ts +1 -0
  25. package/dist/svm.js +12 -0
  26. package/dist/tvm.d.mts +1 -0
  27. package/dist/tvm.d.ts +1 -0
  28. package/dist/tvm.js +12 -0
  29. package/package.json +59 -54
  30. package/README.md +0 -18
  31. package/dist/ChainSdkFactory.d.ts +0 -22
  32. package/dist/ChainSdkFactory.js +0 -46
  33. package/dist/ChainSdkFactory.js.map +0 -1
  34. package/dist/chain-sdks/AptosChain.d.ts +0 -5
  35. package/dist/chain-sdks/AptosChain.js +0 -20
  36. package/dist/chain-sdks/AptosChain.js.map +0 -1
  37. package/dist/chain-sdks/BitcoinChain.d.ts +0 -14
  38. package/dist/chain-sdks/BitcoinChain.js +0 -136
  39. package/dist/chain-sdks/BitcoinChain.js.map +0 -1
  40. package/dist/chain-sdks/CardanoChain.d.ts +0 -6
  41. package/dist/chain-sdks/CardanoChain.js +0 -59
  42. package/dist/chain-sdks/CardanoChain.js.map +0 -1
  43. package/dist/chain-sdks/EVMChain.d.ts +0 -6
  44. package/dist/chain-sdks/EVMChain.js +0 -23
  45. package/dist/chain-sdks/EVMChain.js.map +0 -1
  46. package/dist/chain-sdks/SolanaChain.d.ts +0 -20
  47. package/dist/chain-sdks/SolanaChain.js +0 -132
  48. package/dist/chain-sdks/SolanaChain.js.map +0 -1
  49. package/dist/chain-sdks/StarknetChain.d.ts +0 -11
  50. package/dist/chain-sdks/StarknetChain.js +0 -204
  51. package/dist/chain-sdks/StarknetChain.js.map +0 -1
  52. package/dist/chain-sdks/TVMChain.d.ts +0 -15
  53. package/dist/chain-sdks/TVMChain.js +0 -103
  54. package/dist/chain-sdks/TVMChain.js.map +0 -1
  55. package/dist/chain-sdks/types/solana-chain-types.d.ts +0 -18
  56. package/dist/chain-sdks/types/solana-chain-types.js +0 -3
  57. package/dist/chain-sdks/types/solana-chain-types.js.map +0 -1
  58. package/dist/constants/index.d.ts +0 -9
  59. package/dist/constants/index.js +0 -14
  60. package/dist/constants/index.js.map +0 -1
  61. package/dist/index.d.ts +0 -9
  62. package/dist/index.js +0 -24
  63. package/dist/index.js.map +0 -1
  64. package/dist/tsconfig.tsbuildinfo +0 -1
  65. package/dist/utils/index.d.ts +0 -3
  66. package/dist/utils/index.js +0 -19
  67. package/dist/utils/index.js.map +0 -1
@@ -0,0 +1,7 @@
1
+ export * from '@bizjs/chainkit-aptos';
2
+ import '@bizjs/chainkit-bitcoin';
3
+ import '@bizjs/chainkit-cardano';
4
+ import '@bizjs/chainkit-evm';
5
+ import '@bizjs/chainkit-starknet';
6
+ import '@bizjs/chainkit-svm';
7
+ import '@bizjs/chainkit-tvm';
@@ -0,0 +1,7 @@
1
+ export * from '@bizjs/chainkit-aptos';
2
+ import '@bizjs/chainkit-bitcoin';
3
+ import '@bizjs/chainkit-cardano';
4
+ import '@bizjs/chainkit-evm';
5
+ import '@bizjs/chainkit-starknet';
6
+ import '@bizjs/chainkit-svm';
7
+ import '@bizjs/chainkit-tvm';
package/dist/aptos.js ADDED
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var chainkitAptos = require('@bizjs/chainkit-aptos');
4
+
5
+
6
+
7
+ Object.keys(chainkitAptos).forEach(function (k) {
8
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
9
+ enumerable: true,
10
+ get: function () { return chainkitAptos[k]; }
11
+ });
12
+ });
@@ -0,0 +1 @@
1
+ export * from '@bizjs/chainkit-bitcoin';
@@ -0,0 +1 @@
1
+ export * from '@bizjs/chainkit-bitcoin';
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var chainkitBitcoin = require('@bizjs/chainkit-bitcoin');
4
+
5
+
6
+
7
+ Object.keys(chainkitBitcoin).forEach(function (k) {
8
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
9
+ enumerable: true,
10
+ get: function () { return chainkitBitcoin[k]; }
11
+ });
12
+ });
@@ -0,0 +1 @@
1
+ export * from '@bizjs/chainkit-cardano';
@@ -0,0 +1 @@
1
+ export * from '@bizjs/chainkit-cardano';
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var chainkitCardano = require('@bizjs/chainkit-cardano');
4
+
5
+
6
+
7
+ Object.keys(chainkitCardano).forEach(function (k) {
8
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
9
+ enumerable: true,
10
+ get: function () { return chainkitCardano[k]; }
11
+ });
12
+ });
@@ -0,0 +1 @@
1
+ export * from '@bizjs/chainkit-aptos';
@@ -0,0 +1 @@
1
+ export * from '@bizjs/chainkit-bitcoin';
@@ -0,0 +1 @@
1
+ export * from '@bizjs/chainkit-cardano';
@@ -0,0 +1 @@
1
+ export * from '@bizjs/chainkit-evm';
@@ -0,0 +1 @@
1
+ export * from '@bizjs/chainkit-starknet';
@@ -0,0 +1 @@
1
+ export * from '@bizjs/chainkit-svm';
@@ -0,0 +1 @@
1
+ export * from '@bizjs/chainkit-tvm';
package/dist/evm.d.mts ADDED
@@ -0,0 +1 @@
1
+ export * from '@bizjs/chainkit-evm';
package/dist/evm.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from '@bizjs/chainkit-evm';
package/dist/evm.js ADDED
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var chainkitEvm = require('@bizjs/chainkit-evm');
4
+
5
+
6
+
7
+ Object.keys(chainkitEvm).forEach(function (k) {
8
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
9
+ enumerable: true,
10
+ get: function () { return chainkitEvm[k]; }
11
+ });
12
+ });
@@ -0,0 +1 @@
1
+ export * from '@bizjs/chainkit-starknet';
@@ -0,0 +1 @@
1
+ export * from '@bizjs/chainkit-starknet';
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var chainkitStarknet = require('@bizjs/chainkit-starknet');
4
+
5
+
6
+
7
+ Object.keys(chainkitStarknet).forEach(function (k) {
8
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
9
+ enumerable: true,
10
+ get: function () { return chainkitStarknet[k]; }
11
+ });
12
+ });
package/dist/svm.d.mts ADDED
@@ -0,0 +1 @@
1
+ export * from '@bizjs/chainkit-svm';
package/dist/svm.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from '@bizjs/chainkit-svm';
package/dist/svm.js ADDED
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var chainkitSvm = require('@bizjs/chainkit-svm');
4
+
5
+
6
+
7
+ Object.keys(chainkitSvm).forEach(function (k) {
8
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
9
+ enumerable: true,
10
+ get: function () { return chainkitSvm[k]; }
11
+ });
12
+ });
package/dist/tvm.d.mts ADDED
@@ -0,0 +1 @@
1
+ export * from '@bizjs/chainkit-tvm';
package/dist/tvm.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from '@bizjs/chainkit-tvm';
package/dist/tvm.js ADDED
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var chainkitTvm = require('@bizjs/chainkit-tvm');
4
+
5
+
6
+
7
+ Object.keys(chainkitTvm).forEach(function (k) {
8
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
9
+ enumerable: true,
10
+ get: function () { return chainkitTvm[k]; }
11
+ });
12
+ });
package/package.json CHANGED
@@ -1,26 +1,51 @@
1
1
  {
2
2
  "name": "@bizjs/chainkit",
3
- "version": "0.0.4",
4
- "description": "Blockchain business development toolkit",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "sideEffects": false,
3
+ "version": "0.0.6",
4
+ "description": "chainkit",
5
+ "exports": {
6
+ "./aptos": {
7
+ "require": "./dist/aptos.js",
8
+ "import": "./dist/esm/aptos.js",
9
+ "types": "./dist/aptos.d.ts"
10
+ },
11
+ "./bitcoin": {
12
+ "require": "./dist/bitcoin.js",
13
+ "import": "./dist/esm/bitcoin.js",
14
+ "types": "./dist/bitcoin.d.ts"
15
+ },
16
+ "./cardano": {
17
+ "require": "./dist/cardano.js",
18
+ "import": "./dist/esm/cardano.js",
19
+ "types": "./dist/cardano.d.ts"
20
+ },
21
+ "./evm": {
22
+ "require": "./dist/evm.js",
23
+ "import": "./dist/esm/evm.js",
24
+ "types": "./dist/evm.d.ts"
25
+ },
26
+ "./starknet": {
27
+ "require": "./dist/starknet.js",
28
+ "import": "./dist/esm/starknet.js",
29
+ "types": "./dist/starknet.d.ts"
30
+ },
31
+ "./svm": {
32
+ "require": "./dist/svm.js",
33
+ "import": "./dist/esm/svm.js",
34
+ "types": "./dist/svm.d.ts"
35
+ },
36
+ "./tvm": {
37
+ "require": "./dist/tvm.js",
38
+ "import": "./dist/esm/tvm.js",
39
+ "types": "./dist/tvm.d.ts"
40
+ }
41
+ },
8
42
  "files": [
9
43
  "dist"
10
44
  ],
11
- "scripts": {
12
- "build": "rimraf ./dist && tsc",
13
- "build2": "rolldown -c",
14
- "pub": "npm run build && npm publish",
15
- "test": "jest --no-watchman",
16
- "test:cov": "jest --coverage --no-watchman"
45
+ "sideEffects": false,
46
+ "publishConfig": {
47
+ "access": "public"
17
48
  },
18
- "keywords": [
19
- "blockchain",
20
- "evm",
21
- "ton",
22
- "bitcoin"
23
- ],
24
49
  "repository": {
25
50
  "type": "git",
26
51
  "url": "git+https://github.com/bizjs/chainkit.git"
@@ -28,44 +53,24 @@
28
53
  "bugs": {
29
54
  "url": "https://github.com/bizjs/chainkit/issues"
30
55
  },
31
- "author": "hstarorg <hm910705@163.com>",
56
+ "keywords": [
57
+ "blockchain",
58
+ "chainkit"
59
+ ],
60
+ "author": "hstarorg",
32
61
  "license": "MIT",
33
- "publishConfig": {
34
- "access": "public"
35
- },
36
- "devDependencies": {
37
- "@types/jest": "^29.5.14",
38
- "@types/node": "^22.13.1",
39
- "jest": "^29.7.0",
40
- "rimraf": "^5.0.10",
41
- "rolldown": "1.0.0-beta.1",
42
- "ts-jest": "^29.2.5",
43
- "typescript": "^5.7.3",
44
- "viem": "^2.22.21"
45
- },
46
62
  "dependencies": {
47
- "@aptos-labs/ts-sdk": "^1.33.2",
48
- "@emurgo/cardano-message-signing-nodejs": "^1.1.0",
49
- "@emurgo/cardano-serialization-lib-nodejs": "^13.2.1",
50
- "@metaplex-foundation/mpl-token-metadata": "^3.4.0",
51
- "@metaplex-foundation/umi": "^1.0.0",
52
- "@metaplex-foundation/umi-bundle-defaults": "^1.0.0",
53
- "@okxweb3/coin-bitcoin": "1.0.3",
54
- "@solana/spl-token": "^0.4.12",
55
- "@solana/spl-token-metadata": "^0.1.6",
56
- "@solana/web3.js": "^1.98.0",
57
- "@ton/ton": "^15.2.0",
58
- "@unisat/wallet-sdk": "^1.8.0",
59
- "bigint-buffer": "^1.1.5",
60
- "bitcoinjs-lib": "^6.1.7",
61
- "bitcore-lib": "10.0.0",
62
- "bs58": "^6.0.0",
63
- "ecpair": "3.0.0-rc.0",
64
- "starknet": "^6.11.0",
65
- "tiny-secp256k1": "^2.2.3",
66
- "tweetnacl": "^1.0.3"
63
+ "@bizjs/chainkit-evm": "0.0.2",
64
+ "@bizjs/chainkit-tvm": "0.0.2",
65
+ "@bizjs/chainkit-svm": "0.1.0",
66
+ "@bizjs/chainkit-aptos": "0.0.3",
67
+ "@bizjs/chainkit-bitcoin": "0.0.2",
68
+ "@bizjs/chainkit-cardano": "0.0.2",
69
+ "@bizjs/chainkit-starknet": "0.0.2"
67
70
  },
68
- "peerDependencies": {
69
- "viem": "^2.21.57"
71
+ "scripts": {
72
+ "build": "tsup",
73
+ "dev": "tsup --watch",
74
+ "test": "vitest"
70
75
  }
71
- }
76
+ }
package/README.md DELETED
@@ -1,18 +0,0 @@
1
- # chainkit
2
-
3
- Blockchain business development toolkit
4
-
5
- ## Get started
6
-
7
- ## Develop
8
-
9
- ```bash
10
- # Install deps
11
- pnpm i
12
-
13
- # Build
14
- pnpm build
15
-
16
- # Publish
17
- pnpm run pub
18
- ```
@@ -1,22 +0,0 @@
1
- import { ChainType } from './constants';
2
- import { AptosChain } from './chain-sdks/AptosChain';
3
- import { BitcoinChain } from './chain-sdks/BitcoinChain';
4
- import { CardanoChain } from './chain-sdks/CardanoChain';
5
- import { EvmChain } from './chain-sdks/EVMChain';
6
- import { SolanaChain } from './chain-sdks/SolanaChain';
7
- import { StarknetChain } from './chain-sdks/StarknetChain';
8
- import { TVMChain } from './chain-sdks/TVMChain';
9
- type ChainSdkMap = {
10
- [ChainType.Aptos]: AptosChain;
11
- [ChainType.Bitcoin]: BitcoinChain;
12
- [ChainType.Cardano]: CardanoChain;
13
- [ChainType.EVM]: EvmChain;
14
- [ChainType.Solana]: SolanaChain;
15
- [ChainType.Starknet]: StarknetChain;
16
- [ChainType.TVM]: TVMChain;
17
- };
18
- export declare class ChainSdkFactory {
19
- private static readonly _sdkMap;
20
- static getChainSdk<T extends ChainType>(chainType: T): Partial<ChainSdkMap>[T];
21
- }
22
- export {};
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ChainSdkFactory = void 0;
4
- const constants_1 = require("./constants");
5
- const AptosChain_1 = require("./chain-sdks/AptosChain");
6
- const BitcoinChain_1 = require("./chain-sdks/BitcoinChain");
7
- const CardanoChain_1 = require("./chain-sdks/CardanoChain");
8
- const EVMChain_1 = require("./chain-sdks/EVMChain");
9
- const SolanaChain_1 = require("./chain-sdks/SolanaChain");
10
- const StarknetChain_1 = require("./chain-sdks/StarknetChain");
11
- const TVMChain_1 = require("./chain-sdks/TVMChain");
12
- class ChainSdkFactory {
13
- static getChainSdk(chainType) {
14
- if (!this._sdkMap[chainType]) {
15
- switch (chainType) {
16
- case constants_1.ChainType.Aptos:
17
- this._sdkMap[constants_1.ChainType.Aptos] = new AptosChain_1.AptosChain();
18
- break;
19
- case constants_1.ChainType.Bitcoin:
20
- this._sdkMap[constants_1.ChainType.Bitcoin] = new BitcoinChain_1.BitcoinChain();
21
- break;
22
- case constants_1.ChainType.Cardano:
23
- this._sdkMap[constants_1.ChainType.Cardano] = new CardanoChain_1.CardanoChain();
24
- break;
25
- case constants_1.ChainType.EVM:
26
- this._sdkMap[constants_1.ChainType.EVM] = new EVMChain_1.EvmChain();
27
- break;
28
- case constants_1.ChainType.Solana:
29
- this._sdkMap[constants_1.ChainType.Solana] = new SolanaChain_1.SolanaChain();
30
- break;
31
- case constants_1.ChainType.Starknet:
32
- this._sdkMap[constants_1.ChainType.Starknet] = new StarknetChain_1.StarknetChain();
33
- break;
34
- case constants_1.ChainType.TVM:
35
- this._sdkMap[constants_1.ChainType.TVM] = new TVMChain_1.TVMChain();
36
- break;
37
- default:
38
- throw new Error(`Chain type ${chainType} is not supported`);
39
- }
40
- }
41
- return this._sdkMap[chainType];
42
- }
43
- }
44
- exports.ChainSdkFactory = ChainSdkFactory;
45
- ChainSdkFactory._sdkMap = {};
46
- //# sourceMappingURL=ChainSdkFactory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChainSdkFactory.js","sourceRoot":"","sources":["../src/ChainSdkFactory.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAExC,wDAAqD;AACrD,4DAAyD;AACzD,4DAAyD;AACzD,oDAAiD;AACjD,0DAAuD;AACvD,8DAA2D;AAC3D,oDAAiD;AAYjD,MAAa,eAAe;IAG1B,MAAM,CAAC,WAAW,CAAsB,SAAY;QAClD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,QAAQ,SAAS,EAAE,CAAC;gBAClB,KAAK,qBAAS,CAAC,KAAK;oBAClB,IAAI,CAAC,OAAO,CAAC,qBAAS,CAAC,KAAK,CAAC,GAAG,IAAI,uBAAU,EAAE,CAAC;oBACjD,MAAM;gBACR,KAAK,qBAAS,CAAC,OAAO;oBACpB,IAAI,CAAC,OAAO,CAAC,qBAAS,CAAC,OAAO,CAAC,GAAG,IAAI,2BAAY,EAAE,CAAC;oBACrD,MAAM;gBACR,KAAK,qBAAS,CAAC,OAAO;oBACpB,IAAI,CAAC,OAAO,CAAC,qBAAS,CAAC,OAAO,CAAC,GAAG,IAAI,2BAAY,EAAE,CAAC;oBACrD,MAAM;gBACR,KAAK,qBAAS,CAAC,GAAG;oBAChB,IAAI,CAAC,OAAO,CAAC,qBAAS,CAAC,GAAG,CAAC,GAAG,IAAI,mBAAQ,EAAE,CAAC;oBAC7C,MAAM;gBACR,KAAK,qBAAS,CAAC,MAAM;oBACnB,IAAI,CAAC,OAAO,CAAC,qBAAS,CAAC,MAAM,CAAC,GAAG,IAAI,yBAAW,EAAE,CAAC;oBACnD,MAAM;gBACR,KAAK,qBAAS,CAAC,QAAQ;oBACrB,IAAI,CAAC,OAAO,CAAC,qBAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,6BAAa,EAAE,CAAC;oBACvD,MAAM;gBACR,KAAK,qBAAS,CAAC,GAAG;oBAChB,IAAI,CAAC,OAAO,CAAC,qBAAS,CAAC,GAAG,CAAC,GAAG,IAAI,mBAAQ,EAAE,CAAC;oBAC7C,MAAM;gBAER;oBACE,MAAM,IAAI,KAAK,CAAC,cAAc,SAAS,mBAAmB,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;;AAjCH,0CAkCC;AAjCyB,uBAAO,GAAyB,EAAE,CAAC"}
@@ -1,5 +0,0 @@
1
- export declare class AptosChain {
2
- verifyMessage(publicKey: string, message: string, signature: string): Promise<boolean>;
3
- private _getPublicKeyBuffer;
4
- getDerivedAddress(publicKey: string): Promise<string>;
5
- }
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AptosChain = void 0;
4
- const ts_sdk_1 = require("@aptos-labs/ts-sdk");
5
- const utils_1 = require("../utils");
6
- class AptosChain {
7
- async verifyMessage(publicKey, message, signature) {
8
- return (0, utils_1.naclSignDetachedVerify)(Buffer.from(message), Buffer.from(signature, 'hex'), this._getPublicKeyBuffer(publicKey));
9
- }
10
- _getPublicKeyBuffer(publicKey) {
11
- const key = publicKey.slice(2, 66);
12
- return Buffer.from(key, 'hex');
13
- }
14
- async getDerivedAddress(publicKey) {
15
- const pubKey = new ts_sdk_1.Ed25519PublicKey(this._getPublicKeyBuffer(publicKey));
16
- return ts_sdk_1.Account.authKey({ publicKey: pubKey }).derivedAddress().bcsToHex().toString();
17
- }
18
- }
19
- exports.AptosChain = AptosChain;
20
- //# sourceMappingURL=AptosChain.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AptosChain.js","sourceRoot":"","sources":["../../src/chain-sdks/AptosChain.ts"],"names":[],"mappings":";;;AAAA,+CAA+D;AAE/D,oCAAkD;AAElD,MAAa,UAAU;IAQrB,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,OAAe,EAAE,SAAiB;QACvE,OAAO,IAAA,8BAAsB,EAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EACpB,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAC7B,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CACpC,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,SAAiB;QAC3C,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QAMvC,MAAM,MAAM,GAAG,IAAI,yBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC;QACzE,OAAO,gBAAO,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;IACvF,CAAC;CACF;AA9BD,gCA8BC"}
@@ -1,14 +0,0 @@
1
- export declare class BitcoinChain {
2
- private readonly ecpair;
3
- constructor();
4
- verifyUnisatMessage(publicKey: string, message: string, signature: string): Promise<boolean>;
5
- verifyEcdsaMessage(publicKey: string, message: string, signature: string): Promise<boolean>;
6
- verifyBIP322Message(publicKey: string, message: string, signature: string): Promise<boolean>;
7
- private _verifyBip322;
8
- private _validateP2wpkh;
9
- private _taggedHash;
10
- private _createToSpend;
11
- private _createToSign;
12
- getAddress(publicKey: string, addressType?: 'segwit_taproot' | 'segwit_native'): Promise<string>;
13
- getNativeAddress(publicKey: string): string;
14
- }
@@ -1,136 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BitcoinChain = void 0;
4
- const bitcoinjsLib = require("bitcoinjs-lib");
5
- const wallet_sdk_1 = require("@unisat/wallet-sdk");
6
- const coin_bitcoin_1 = require("@okxweb3/coin-bitcoin");
7
- const tinysecp = require("tiny-secp256k1");
8
- const ecpair_1 = require("ecpair");
9
- let initResult = null;
10
- function initBitconjsLibAndEccLib() {
11
- if (!initResult) {
12
- bitcoinjsLib.initEccLib(tinysecp);
13
- const ecpair = (0, ecpair_1.ECPairFactory)(tinysecp);
14
- initResult = { ecpair };
15
- }
16
- return initResult;
17
- }
18
- class BitcoinChain {
19
- constructor() {
20
- initBitconjsLibAndEccLib();
21
- this.ecpair = initResult.ecpair;
22
- }
23
- async verifyUnisatMessage(publicKey, message, signature) {
24
- return wallet_sdk_1.message.verifyMessageOfECDSA(publicKey, message, signature);
25
- }
26
- async verifyEcdsaMessage(publicKey, message, signature) {
27
- const wallet = new coin_bitcoin_1.BtcWallet();
28
- const verified = await wallet.verifyMessage({
29
- signature,
30
- data: {
31
- message,
32
- publicKey,
33
- type: coin_bitcoin_1.BITCOIN_MESSAGE_ECDSA,
34
- },
35
- });
36
- return verified;
37
- }
38
- async verifyBIP322Message(publicKey, message, signature) {
39
- const verified = this._verifyBip322(message, publicKey, signature);
40
- return verified;
41
- }
42
- _verifyBip322(message, pubkey, signature) {
43
- const { payments } = bitcoinjsLib;
44
- const output = payments.p2wpkh({
45
- pubkey: Buffer.from(pubkey, 'hex'),
46
- }).output;
47
- if (output === undefined) {
48
- throw new Error('Only supports p2wpkh addresses for now');
49
- }
50
- const hash = this._taggedHash('BIP0322-signed-message', Buffer.from(message, 'utf8'));
51
- const sigBuff = Buffer.from(signature, 'base64');
52
- const toSpend = this._createToSpend(hash, output);
53
- const toSign = this._createToSign(toSpend, sigBuff);
54
- return this._validateP2wpkh(toSign);
55
- }
56
- _validateP2wpkh(toSign) {
57
- const { payments, Transaction, script } = bitcoinjsLib;
58
- const [witnessSignature, pubkey] = toSign.ins[0].witness;
59
- const signingOutput = payments.p2pkh({ pubkey }).output;
60
- const hashForSigning = toSign.hashForWitnessV0(0, signingOutput, 0, Transaction.SIGHASH_ALL);
61
- const sig = script.signature.decode(witnessSignature);
62
- const pair = this.ecpair.fromPublicKey(pubkey);
63
- return pair.verify(hashForSigning, sig.signature);
64
- }
65
- _taggedHash(prefix, data) {
66
- const crypto = bitcoinjsLib.crypto;
67
- const prefixHash = crypto.sha256(Buffer.from(prefix, 'utf8'));
68
- return crypto.sha256(Buffer.concat([prefixHash, prefixHash, data]));
69
- }
70
- _createToSpend(messageHash, outputScript) {
71
- const { opcodes, Transaction } = bitcoinjsLib;
72
- const toSpend = new Transaction();
73
- toSpend.version = 0;
74
- toSpend.locktime = 0;
75
- toSpend.addInput(Buffer.alloc(32, 0), 0xffffffff, 0, Buffer.concat([Buffer.from([opcodes.OP_0, 0x20]), messageHash]));
76
- toSpend.addOutput(outputScript, 0);
77
- return toSpend;
78
- }
79
- _createToSign(toSpend, signature = Buffer.from([])) {
80
- const { opcodes, Transaction, script } = bitcoinjsLib;
81
- if (signature.length === 65) {
82
- throw new Error('Legacy signatures can be handled with bitcoinjs-message');
83
- }
84
- let toSign;
85
- let isTx;
86
- try {
87
- toSign = Transaction.fromBuffer(signature);
88
- isTx = true;
89
- }
90
- catch (e) {
91
- toSign = new Transaction();
92
- isTx = false;
93
- }
94
- if (isTx) {
95
- const toSpendHash = toSpend.getHash();
96
- const input = toSign.ins[0];
97
- throw new Error('Invalid signature');
98
- }
99
- else {
100
- toSign.version = 0;
101
- toSign.locktime = 0;
102
- toSign.addOutput(Buffer.from([opcodes.OP_RETURN]), 0);
103
- toSign.addInput(toSpend.getHash(), 0, 0);
104
- if (signature.length > 0) {
105
- toSign.ins[0].witness = script.toStack(signature.slice(1));
106
- }
107
- }
108
- return toSign;
109
- }
110
- async getAddress(publicKey, addressType = 'segwit_taproot') {
111
- const wallet = new coin_bitcoin_1.BtcWallet();
112
- if (addressType === 'segwit_taproot') {
113
- return wallet.getAddressByPublicKey({
114
- publicKey,
115
- addressType: 'segwit_taproot',
116
- });
117
- }
118
- else if (addressType === 'segwit_native') {
119
- return wallet.getAddressByPublicKey({
120
- publicKey,
121
- addressType: 'segwit_native',
122
- });
123
- }
124
- throw new Error('Invalid addressType');
125
- }
126
- getNativeAddress(publicKey) {
127
- const { payments } = bitcoinjsLib;
128
- const p = payments.p2wpkh({
129
- pubkey: Buffer.from(publicKey, 'hex'),
130
- });
131
- const segwitAddress = p.address;
132
- return segwitAddress;
133
- }
134
- }
135
- exports.BitcoinChain = BitcoinChain;
136
- //# sourceMappingURL=BitcoinChain.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BitcoinChain.js","sourceRoot":"","sources":["../../src/chain-sdks/BitcoinChain.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export declare class CardanoChain {
2
- verifyMessage(key: string, message: string, signature: string): Promise<boolean>;
3
- private _message2Hex;
4
- getStakeAddress(signature: string): Promise<string>;
5
- getAddress(key: string, addressFormat?: 'mainnet' | 'testnet'): Promise<string>;
6
- }