@cryptorubic/web3 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/README.md +1 -0
  2. package/package.json +17 -0
  3. package/src/index.d.ts +25 -0
  4. package/src/index.js +27 -0
  5. package/src/index.js.map +1 -0
  6. package/src/lib/adapter/adapters/abstract-adapter.d.ts +19 -0
  7. package/src/lib/adapter/adapters/abstract-adapter.js +50 -0
  8. package/src/lib/adapter/adapters/abstract-adapter.js.map +1 -0
  9. package/src/lib/adapter/adapters/constants/erc20-token-abi.d.ts +2 -0
  10. package/src/lib/adapter/adapters/constants/erc20-token-abi.js +87 -0
  11. package/src/lib/adapter/adapters/constants/erc20-token-abi.js.map +1 -0
  12. package/src/lib/adapter/adapters/constants/trc-20-contract-abi.d.ts +12 -0
  13. package/src/lib/adapter/adapters/constants/trc-20-contract-abi.js +85 -0
  14. package/src/lib/adapter/adapters/constants/trc-20-contract-abi.js.map +1 -0
  15. package/src/lib/adapter/adapters/constants/tron-multicall-abi.d.ts +2 -0
  16. package/src/lib/adapter/adapters/constants/tron-multicall-abi.js +27 -0
  17. package/src/lib/adapter/adapters/constants/tron-multicall-abi.js.map +1 -0
  18. package/src/lib/adapter/adapters/evm-adapter.d.ts +20 -0
  19. package/src/lib/adapter/adapters/evm-adapter.js +208 -0
  20. package/src/lib/adapter/adapters/evm-adapter.js.map +1 -0
  21. package/src/lib/adapter/adapters/models/evm-adapter-options.d.ts +6 -0
  22. package/src/lib/adapter/adapters/models/evm-adapter-options.js +3 -0
  23. package/src/lib/adapter/adapters/models/evm-adapter-options.js.map +1 -0
  24. package/src/lib/adapter/adapters/solana-adapter.d.ts +15 -0
  25. package/src/lib/adapter/adapters/solana-adapter.js +60 -0
  26. package/src/lib/adapter/adapters/solana-adapter.js.map +1 -0
  27. package/src/lib/adapter/adapters/tron-adapter.d.ts +25 -0
  28. package/src/lib/adapter/adapters/tron-adapter.js +190 -0
  29. package/src/lib/adapter/adapters/tron-adapter.js.map +1 -0
  30. package/src/lib/adapter/blockchain-adapter-factory.service.d.ts +19 -0
  31. package/src/lib/adapter/blockchain-adapter-factory.service.js +86 -0
  32. package/src/lib/adapter/blockchain-adapter-factory.service.js.map +1 -0
  33. package/src/lib/adapter/constants/chain-configs/chain-configs.d.ts +3 -0
  34. package/src/lib/adapter/constants/chain-configs/chain-configs.js +1040 -0
  35. package/src/lib/adapter/constants/chain-configs/chain-configs.js.map +1 -0
  36. package/src/lib/adapter/constants/models/solana-web3.d.ts +26 -0
  37. package/src/lib/adapter/constants/models/solana-web3.js +3 -0
  38. package/src/lib/adapter/constants/models/solana-web3.js.map +1 -0
  39. package/src/lib/adapter/constants/models/viem-chain-type.d.ts +2 -0
  40. package/src/lib/adapter/constants/models/viem-chain-type.js +3 -0
  41. package/src/lib/adapter/constants/models/viem-chain-type.js.map +1 -0
  42. package/src/lib/adapter/constants/models/wallet-provider.d.ts +28 -0
  43. package/src/lib/adapter/constants/models/wallet-provider.js +4 -0
  44. package/src/lib/adapter/constants/models/wallet-provider.js.map +1 -0
  45. package/src/lib/adapter/constants/viem-blockchain-mapping.d.ts +3 -0
  46. package/src/lib/adapter/constants/viem-blockchain-mapping.js +74 -0
  47. package/src/lib/adapter/constants/viem-blockchain-mapping.js.map +1 -0
  48. package/src/lib/utils/constants/changenow-api-blockchain.d.ts +123 -0
  49. package/src/lib/utils/constants/changenow-api-blockchain.js +109 -0
  50. package/src/lib/utils/constants/changenow-api-blockchain.js.map +1 -0
  51. package/src/lib/utils/constants/web3-pure-store.d.ts +3 -0
  52. package/src/lib/utils/constants/web3-pure-store.js +335 -0
  53. package/src/lib/utils/constants/web3-pure-store.js.map +1 -0
  54. package/src/lib/utils/models/abi-types.d.ts +26 -0
  55. package/src/lib/utils/models/abi-types.js +3 -0
  56. package/src/lib/utils/models/abi-types.js.map +1 -0
  57. package/src/lib/utils/models/cn-validation-response.d.ts +5 -0
  58. package/src/lib/utils/models/cn-validation-response.js +3 -0
  59. package/src/lib/utils/models/cn-validation-response.js.map +1 -0
  60. package/src/lib/utils/models/contract-multicall-response.d.ts +5 -0
  61. package/src/lib/utils/models/contract-multicall-response.js +3 -0
  62. package/src/lib/utils/models/contract-multicall-response.js.map +1 -0
  63. package/src/lib/utils/models/evm-transaction-config.d.ts +9 -0
  64. package/src/lib/utils/models/evm-transaction-config.js +3 -0
  65. package/src/lib/utils/models/evm-transaction-config.js.map +1 -0
  66. package/src/lib/utils/models/method-data.d.ts +4 -0
  67. package/src/lib/utils/models/method-data.js +3 -0
  68. package/src/lib/utils/models/method-data.js.map +1 -0
  69. package/src/lib/utils/models/primitive-types.d.ts +7 -0
  70. package/src/lib/utils/models/primitive-types.js +3 -0
  71. package/src/lib/utils/models/primitive-types.js.map +1 -0
  72. package/src/lib/utils/models/tron-block.d.ts +7 -0
  73. package/src/lib/utils/models/tron-block.js +3 -0
  74. package/src/lib/utils/models/tron-block.js.map +1 -0
  75. package/src/lib/utils/models/tron-call.d.ts +5 -0
  76. package/src/lib/utils/models/tron-call.js +3 -0
  77. package/src/lib/utils/models/tron-call.js.map +1 -0
  78. package/src/lib/utils/models/tron-multicall-response.d.ts +4 -0
  79. package/src/lib/utils/models/tron-multicall-response.js +3 -0
  80. package/src/lib/utils/models/tron-multicall-response.js.map +1 -0
  81. package/src/lib/utils/models/tron-parameters.d.ts +4 -0
  82. package/src/lib/utils/models/tron-parameters.js +3 -0
  83. package/src/lib/utils/models/tron-parameters.js.map +1 -0
  84. package/src/lib/utils/models/tron-transaction-config.d.ts +6 -0
  85. package/src/lib/utils/models/tron-transaction-config.js +3 -0
  86. package/src/lib/utils/models/tron-transaction-config.js.map +1 -0
  87. package/src/lib/utils/models/tron-transaction-info.d.ts +15 -0
  88. package/src/lib/utils/models/tron-transaction-info.js +3 -0
  89. package/src/lib/utils/models/tron-transaction-info.js.map +1 -0
  90. package/src/lib/utils/web3-pure.d.ts +16 -0
  91. package/src/lib/utils/web3-pure.js +46 -0
  92. package/src/lib/utils/web3-pure.js.map +1 -0
  93. package/src/lib/utils/web3-types/bitcoin-web3-pure.d.ts +5 -0
  94. package/src/lib/utils/web3-types/bitcoin-web3-pure.js +15 -0
  95. package/src/lib/utils/web3-types/bitcoin-web3-pure.js.map +1 -0
  96. package/src/lib/utils/web3-types/common-web3-pure.d.ts +15 -0
  97. package/src/lib/utils/web3-types/common-web3-pure.js +47 -0
  98. package/src/lib/utils/web3-types/common-web3-pure.js.map +1 -0
  99. package/src/lib/utils/web3-types/evm-web3-pure.d.ts +5 -0
  100. package/src/lib/utils/web3-types/evm-web3-pure.js +15 -0
  101. package/src/lib/utils/web3-types/evm-web3-pure.js.map +1 -0
  102. package/src/lib/utils/web3-types/icp-web3-pure.d.ts +6 -0
  103. package/src/lib/utils/web3-types/icp-web3-pure.js +29 -0
  104. package/src/lib/utils/web3-types/icp-web3-pure.js.map +1 -0
  105. package/src/lib/utils/web3-types/solana-web3-pure.d.ts +5 -0
  106. package/src/lib/utils/web3-types/solana-web3-pure.js +16 -0
  107. package/src/lib/utils/web3-types/solana-web3-pure.js.map +1 -0
  108. package/src/lib/utils/web3-types/ton-web3-pure.d.ts +4 -0
  109. package/src/lib/utils/web3-types/ton-web3-pure.js +13 -0
  110. package/src/lib/utils/web3-types/ton-web3-pure.js.map +1 -0
  111. package/src/lib/utils/web3-types/tron-web3-pure.d.ts +38 -0
  112. package/src/lib/utils/web3-types/tron-web3-pure.js +117 -0
  113. package/src/lib/utils/web3-types/tron-web3-pure.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web3-pure.js","sourceRoot":"","sources":["../../../../../../packages/web3/src/lib/utils/web3-pure.ts"],"names":[],"mappings":";;;AAAA,4CAA2F;AAE3F,iEAA4D;AAE5D,MAAa,QAAQ;IAGV,MAAM,CAAC,WAAW,CAAC,gBAAyB;QAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,gBAAgB,CAAC;YAC3E,CAAC,CAAC,gBAA6B;YAC/B,CAAC,CAAC,sBAAe,CAAC,YAAY,CAAC,gBAAkC,CAAC,CAAC;QACvE,OAAO,+BAAa,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAIM,MAAM,CAAC,eAAe,CAAC,gBAAyB,EAAE,OAAe;QACpE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,gBAAgB,CAAC;YAC3E,CAAC,CAAC,gBAA6B;YAC/B,CAAC,CAAC,sBAAe,CAAC,YAAY,CAAC,gBAAkC,CAAC,CAAC;QACvE,OAAO,+BAAa,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAIM,MAAM,CAAC,cAAc,CAAC,gBAAyB,EAAE,OAAgB;QACpE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,gBAAgB,CAAC;YAC3E,CAAC,CAAC,gBAA6B;YAC/B,CAAC,CAAC,sBAAe,CAAC,YAAY,CAAC,gBAAkC,CAAC,CAAC;QACvE,OAAO,+BAAa,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAIM,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,gBAAyB,EAAE,OAAe;QAC3E,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,gBAAgB,CAAC;YAC3E,CAAC,CAAC,gBAA6B;YAC/B,CAAC,CAAC,sBAAe,CAAC,YAAY,CAAC,gBAAkC,CAAC,CAAC;QAExE,OAAO,+BAAa,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAAA,CAAC;IAIK,MAAM,CAAC,qBAAqB,CAAC,gBAAyB;QACzD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,gBAAgB,CAAC;YAC3E,CAAC,CAAC,gBAA6B;YAC/B,CAAC,CAAC,sBAAe,CAAC,YAAY,CAAC,gBAAkC,CAAC,CAAC;QAEvE,OAAO,+BAAa,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC;IACvD,CAAC;IAIM,MAAM,CAAC,oBAAoB,CAAC,gBAAyB;QACxD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,gBAAgB,CAAC;YAC3E,CAAC,CAAC,gBAA6B;YAC/B,CAAC,CAAC,sBAAe,CAAC,YAAY,CAAC,gBAAkC,CAAC,CAAC;QAEvE,OAAO,+BAAa,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC;IACjD,CAAC;CACJ;AAzDD,4BAyDC"}
@@ -0,0 +1,5 @@
1
+ import { CommonWeb3Pure } from "./common-web3-pure";
2
+ export declare class BitcoinWeb3Pure extends CommonWeb3Pure {
3
+ constructor();
4
+ isAddressCorrect(address: string): Promise<boolean>;
5
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BitcoinWeb3Pure = void 0;
4
+ const bitcoin_address_validation_1 = require("bitcoin-address-validation");
5
+ const common_web3_pure_1 = require("./common-web3-pure");
6
+ class BitcoinWeb3Pure extends common_web3_pure_1.CommonWeb3Pure {
7
+ constructor() {
8
+ super({});
9
+ }
10
+ async isAddressCorrect(address) {
11
+ return (0, bitcoin_address_validation_1.validate)(address, bitcoin_address_validation_1.Network.mainnet);
12
+ }
13
+ }
14
+ exports.BitcoinWeb3Pure = BitcoinWeb3Pure;
15
+ //# sourceMappingURL=bitcoin-web3-pure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitcoin-web3-pure.js","sourceRoot":"","sources":["../../../../../../../packages/web3/src/lib/utils/web3-types/bitcoin-web3-pure.ts"],"names":[],"mappings":";;;AAAA,2EAA+D;AAC/D,yDAAoD;AAGpD,MAAa,eAAgB,SAAQ,iCAAc;IAC/C;QACI,KAAK,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,gBAAgB,CAAC,OAAe;QAClD,OAAO,IAAA,qCAAQ,EAAC,OAAO,EAAE,oCAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;CACJ;AARD,0CAQC"}
@@ -0,0 +1,15 @@
1
+ export declare class CommonWeb3Pure {
2
+ readonly nativeTokenAddress: string;
3
+ readonly emptyAddress: string;
4
+ protected readonly cnApiKey: string | undefined;
5
+ protected readonly regEx: RegExp | undefined;
6
+ constructor(commonParams: {
7
+ cnApiKey?: string;
8
+ regex?: RegExp;
9
+ });
10
+ private compareAddresses;
11
+ isNativeAddress(address: string): boolean;
12
+ isEmptyAddress(address?: string): boolean;
13
+ isAddressCorrect(address: string): Promise<boolean>;
14
+ private checkCnValidity;
15
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommonWeb3Pure = void 0;
4
+ const axios_1 = require("axios");
5
+ class CommonWeb3Pure {
6
+ constructor(commonParams) {
7
+ this.nativeTokenAddress = '0x0000000000000000000000000000000000000000';
8
+ this.emptyAddress = '0x0000000000000000000000000000000000000000';
9
+ this.cnApiKey = commonParams?.cnApiKey || undefined;
10
+ this.regEx = commonParams?.regex || undefined;
11
+ }
12
+ compareAddresses(address0, address1) {
13
+ if (!address0 || !address1) {
14
+ return false;
15
+ }
16
+ return address0.toLowerCase() === address1.toLowerCase();
17
+ }
18
+ isNativeAddress(address) {
19
+ return this.compareAddresses(address, this.nativeTokenAddress);
20
+ }
21
+ isEmptyAddress(address) {
22
+ return this.compareAddresses(address, this.emptyAddress);
23
+ }
24
+ async isAddressCorrect(address) {
25
+ if (this.cnApiKey && this.regEx) {
26
+ return this.checkCnValidity(address, this.cnApiKey, this.regEx);
27
+ }
28
+ if (this.regEx) {
29
+ return this.regEx.test(address);
30
+ }
31
+ throw new Error(`Validation function is not implemented for ${this.constructor.name}`);
32
+ }
33
+ ;
34
+ async checkCnValidity(address, chain, regEx) {
35
+ try {
36
+ const url = `https://api.changenow.io/v2/validate/address?currency=${chain}&address=${address}`;
37
+ const response = await axios_1.default.get(url);
38
+ return response.data.result;
39
+ }
40
+ catch (error) {
41
+ return regEx.test(address);
42
+ }
43
+ }
44
+ ;
45
+ }
46
+ exports.CommonWeb3Pure = CommonWeb3Pure;
47
+ //# sourceMappingURL=common-web3-pure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common-web3-pure.js","sourceRoot":"","sources":["../../../../../../../packages/web3/src/lib/utils/web3-types/common-web3-pure.ts"],"names":[],"mappings":";;;AAAA,iCAA0B;AAG1B,MAAa,cAAc;IASvB,YAAY,YAAkD;QAR9C,uBAAkB,GAAW,4CAA4C,CAAC;QAE1E,iBAAY,GAAW,4CAA4C,CAAC;QAOhF,IAAI,CAAC,QAAQ,GAAG,YAAY,EAAE,QAAQ,IAAI,SAAS,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,YAAY,EAAE,KAAK,IAAI,SAAS,CAAC;IAClD,CAAC;IAEO,gBAAgB,CAAC,QAAiB,EAAE,QAAiB;QACzD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC7D,CAAC;IAEM,eAAe,CAAC,OAAe;QAClC,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACnE,CAAC;IAEM,cAAc,CAAC,OAAgB;QAClC,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,OAAe;QACzC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3F,CAAC;IAAA,CAAC;IAEM,KAAK,CAAC,eAAe,CACzB,OAAe,EACf,KAAa,EACb,KAAa;QAEb,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,yDAAyD,KAAK,YAAY,OAAO,EAAE,CAAC;YAChG,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAuB,GAAG,CAAC,CAAC;YAC5D,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAAA,CAAC;CACL;AApDD,wCAoDC"}
@@ -0,0 +1,5 @@
1
+ import { CommonWeb3Pure } from "./common-web3-pure";
2
+ export declare class EvmWeb3Pure extends CommonWeb3Pure {
3
+ constructor();
4
+ isAddressCorrect(address: string): Promise<boolean>;
5
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EvmWeb3Pure = void 0;
4
+ const viem_1 = require("viem");
5
+ const common_web3_pure_1 = require("./common-web3-pure");
6
+ class EvmWeb3Pure extends common_web3_pure_1.CommonWeb3Pure {
7
+ constructor() {
8
+ super({});
9
+ }
10
+ async isAddressCorrect(address) {
11
+ return (0, viem_1.isAddress)(address);
12
+ }
13
+ }
14
+ exports.EvmWeb3Pure = EvmWeb3Pure;
15
+ //# sourceMappingURL=evm-web3-pure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm-web3-pure.js","sourceRoot":"","sources":["../../../../../../../packages/web3/src/lib/utils/web3-types/evm-web3-pure.ts"],"names":[],"mappings":";;;AAAA,+BAAiC;AACjC,yDAAoD;AAGpD,MAAa,WAAY,SAAQ,iCAAc;IAC3C;QACI,KAAK,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,gBAAgB,CAAC,OAAe;QAClD,OAAO,IAAA,gBAAS,EAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;CACJ;AARD,kCAQC"}
@@ -0,0 +1,6 @@
1
+ import { CommonWeb3Pure } from "./common-web3-pure";
2
+ export declare class IcpWeb3Pure extends CommonWeb3Pure {
3
+ constructor();
4
+ isAddressCorrect(address: string): Promise<boolean>;
5
+ private base16Decode;
6
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IcpWeb3Pure = void 0;
4
+ const common_web3_pure_1 = require("./common-web3-pure");
5
+ const CRC32 = require("crc-32");
6
+ class IcpWeb3Pure extends common_web3_pure_1.CommonWeb3Pure {
7
+ constructor() {
8
+ super({});
9
+ }
10
+ async isAddressCorrect(address) {
11
+ if (address?.length !== 64) {
12
+ return false;
13
+ }
14
+ const buffer = this.base16Decode(address);
15
+ const hash = CRC32.buf(buffer.slice(4));
16
+ return hash === ((buffer[0] << 24) | (buffer[1] << 16) | (buffer[2] << 8) | buffer[3]);
17
+ }
18
+ base16Decode(str) {
19
+ const buffer = [];
20
+ for (let i = 0; i < str.length / 2; ++i) {
21
+ const hi = parseInt(str.substring(i * 2, i * 2 + 1), 16);
22
+ const lo = parseInt(str.substring(i * 2 + 1, i * 2 + 2), 16);
23
+ buffer.push((hi << 4) | lo);
24
+ }
25
+ return buffer;
26
+ }
27
+ }
28
+ exports.IcpWeb3Pure = IcpWeb3Pure;
29
+ //# sourceMappingURL=icp-web3-pure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icp-web3-pure.js","sourceRoot":"","sources":["../../../../../../../packages/web3/src/lib/utils/web3-types/icp-web3-pure.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AACpD,gCAAgC;AAEhC,MAAa,WAAY,SAAQ,iCAAc;IAC3C;QACI,KAAK,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,gBAAgB,CAAC,OAAe;QAClD,IAAI,OAAO,EAAE,MAAM,KAAK,EAAE,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,IAAI,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC;IAC/F,CAAC;IAEO,YAAY,CAAC,GAAW;QAC5B,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACtC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzD,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAvBD,kCAuBC"}
@@ -0,0 +1,5 @@
1
+ import { CommonWeb3Pure } from "./common-web3-pure";
2
+ export declare class SolanaWeb3Pure extends CommonWeb3Pure {
3
+ readonly nativeTokenAddress = "So11111111111111111111111111111111111111111";
4
+ constructor();
5
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SolanaWeb3Pure = void 0;
4
+ const changenow_api_blockchain_1 = require("../constants/changenow-api-blockchain");
5
+ const common_web3_pure_1 = require("./common-web3-pure");
6
+ class SolanaWeb3Pure extends common_web3_pure_1.CommonWeb3Pure {
7
+ constructor() {
8
+ super({
9
+ cnApiKey: changenow_api_blockchain_1.changenowApiBlockchain.SOLANA,
10
+ regex: /^[1-9A-HJ-NP-Za-km-z]{32,44}$/
11
+ });
12
+ this.nativeTokenAddress = 'So11111111111111111111111111111111111111111';
13
+ }
14
+ }
15
+ exports.SolanaWeb3Pure = SolanaWeb3Pure;
16
+ //# sourceMappingURL=solana-web3-pure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana-web3-pure.js","sourceRoot":"","sources":["../../../../../../../packages/web3/src/lib/utils/web3-types/solana-web3-pure.ts"],"names":[],"mappings":";;;AAAA,oFAA+E;AAC/E,yDAAoD;AAGpD,MAAa,cAAe,SAAQ,iCAAc;IAG9C;QACI,KAAK,CAAC;YACF,QAAQ,EAAE,iDAAsB,CAAC,MAAM;YACvC,KAAK,EAAE,+BAA+B;SACzC,CAAC,CAAC;QANkB,uBAAkB,GAAG,6CAA6C,CAAC;IAO5F,CAAC;CACJ;AATD,wCASC"}
@@ -0,0 +1,4 @@
1
+ import { CommonWeb3Pure } from "./common-web3-pure";
2
+ export declare class TonWeb3Pure extends CommonWeb3Pure {
3
+ constructor();
4
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TonWeb3Pure = void 0;
4
+ const common_web3_pure_1 = require("./common-web3-pure");
5
+ class TonWeb3Pure extends common_web3_pure_1.CommonWeb3Pure {
6
+ constructor() {
7
+ super({
8
+ regex: /^(EQ|UQ)[0-9a-zA-Z-_!]{46}$/
9
+ });
10
+ }
11
+ }
12
+ exports.TonWeb3Pure = TonWeb3Pure;
13
+ //# sourceMappingURL=ton-web3-pure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ton-web3-pure.js","sourceRoot":"","sources":["../../../../../../../packages/web3/src/lib/utils/web3-types/ton-web3-pure.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AAEpD,MAAa,WAAa,SAAQ,iCAAc;IAC5C;QACI,KAAK,CAAC;YACF,KAAK,EAAE,6BAA6B;SACvC,CAAC,CAAC;IACP,CAAC;CACJ;AAND,kCAMC"}
@@ -0,0 +1,38 @@
1
+ import { CommonWeb3Pure } from "./common-web3-pure";
2
+ import { TronTransactionConfig } from "../models/tron-transaction-config";
3
+ import { TronParameters } from "../models/tron-parameters";
4
+ import { TronWeb3PrimitiveType, Web3PrimitiveType } from "../models/primitive-types";
5
+ import { FunctionFragment } from "tronweb/src/types/ABI";
6
+ export declare class TronWeb3Pure extends CommonWeb3Pure {
7
+ constructor();
8
+ isAddressCorrect(address: string): Promise<boolean>;
9
+ static isAddressCorrect(address: string): Promise<boolean>;
10
+ static addressToHex(address: string): string;
11
+ /**
12
+ * Returns transaction config with encoded data.
13
+ */
14
+ /**
15
+ * Returns transaction config with encoded data.
16
+ */
17
+ static encodeMethodCall(contractAddress: string, contractAbi: FunctionFragment[], methodName: string, methodArguments?: unknown[], callValue?: string, feeLimit?: number): TronTransactionConfig;
18
+ /**
19
+ * Encodes a function call using its JSON interface object and given parameters.
20
+ * @param contractAbi The JSON interface object of a function.
21
+ * @param methodName Method name to encode.
22
+ * @param methodArguments Parameters to encode.
23
+ * @returns An ABI encoded function call. Means function signature + parameters.
24
+ */
25
+ static encodeFunctionCall(contractAbi: FunctionFragment[], methodName: string, methodArguments: unknown[]): string;
26
+ static encodeMethodSignature(methodSignature: string, parameters: TronParameters): string;
27
+ /**
28
+ * Decodes method result using its JSON interface object and given parameters.
29
+ * @param outputAbi The JSON interface object of an output of function.
30
+ * @param response Bytes code returned after method call.
31
+ * @returns Parsed method output.
32
+ */
33
+ static decodeMethodOutput(outputAbi: FunctionFragment[], response: string): Web3PrimitiveType;
34
+ private static flattenTypesToString;
35
+ private static flattenTypesToArray;
36
+ private static flattenParameters;
37
+ static flattenParameterToPrimitive(parameter: TronWeb3PrimitiveType): Web3PrimitiveType;
38
+ }
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TronWeb3Pure = void 0;
4
+ const common_web3_pure_1 = require("./common-web3-pure");
5
+ const bignumber_1 = require("@ethersproject/bignumber");
6
+ const tronweb_1 = require("tronweb");
7
+ class TronWeb3Pure extends common_web3_pure_1.CommonWeb3Pure {
8
+ constructor() {
9
+ super({});
10
+ }
11
+ async isAddressCorrect(address) {
12
+ return tronweb_1.TronWeb.isAddress(address);
13
+ }
14
+ static async isAddressCorrect(address) {
15
+ return tronweb_1.TronWeb.isAddress(address);
16
+ }
17
+ static addressToHex(address) {
18
+ return tronweb_1.TronWeb.address.toHex(address).replace(/^41/, '0x');
19
+ }
20
+ /**
21
+ * Returns transaction config with encoded data.
22
+ */
23
+ /**
24
+ * Returns transaction config with encoded data.
25
+ */
26
+ static encodeMethodCall(contractAddress, contractAbi, methodName, methodArguments = [], callValue, feeLimit) {
27
+ const data = this.encodeFunctionCall(contractAbi, methodName, methodArguments);
28
+ return {
29
+ to: contractAddress,
30
+ data,
31
+ callValue,
32
+ feeLimit
33
+ };
34
+ }
35
+ /**
36
+ * Encodes a function call using its JSON interface object and given parameters.
37
+ * @param contractAbi The JSON interface object of a function.
38
+ * @param methodName Method name to encode.
39
+ * @param methodArguments Parameters to encode.
40
+ * @returns An ABI encoded function call. Means function signature + parameters.
41
+ */
42
+ static encodeFunctionCall(contractAbi, methodName, methodArguments) {
43
+ const methodSignature = contractAbi.find(abiItem => abiItem.name === methodName);
44
+ if (methodSignature === undefined) {
45
+ throw Error('No such method in abi');
46
+ }
47
+ const encodedMethodSignature = tronweb_1.TronWeb.sha3(`${methodSignature.name}(${this.flattenTypesToString(methodSignature.inputs).join(',')})`).slice(0, 10);
48
+ const encodedParameters = tronweb_1.utils.abi.encodeParamsV2ByABI(methodSignature, methodArguments);
49
+ return encodedMethodSignature + encodedParameters.slice(2);
50
+ }
51
+ static encodeMethodSignature(methodSignature, parameters) {
52
+ const encodedMethodSignature = tronweb_1.TronWeb.sha3(methodSignature).slice(0, 10);
53
+ const flattenedParameters = this.flattenParameters(parameters);
54
+ const encodedParameters = tronweb_1.utils.abi.encodeParams(flattenedParameters[0], flattenedParameters[1]);
55
+ return encodedMethodSignature + encodedParameters.slice(2);
56
+ }
57
+ /**
58
+ * Decodes method result using its JSON interface object and given parameters.
59
+ * @param outputAbi The JSON interface object of an output of function.
60
+ * @param response Bytes code returned after method call.
61
+ * @returns Parsed method output.
62
+ */
63
+ static decodeMethodOutput(outputAbi, response) {
64
+ const decodedParam = tronweb_1.utils.abi.decodeParams([], this.flattenTypesToArray(outputAbi), response)[0];
65
+ return this.flattenParameterToPrimitive(decodedParam);
66
+ }
67
+ static flattenTypesToString(abiInputs) {
68
+ return (abiInputs?.map(abiInput => {
69
+ if (abiInput.type === 'tuple') {
70
+ const flattenedComponents = this.flattenTypesToString(abiInput.components);
71
+ return `(${flattenedComponents.join(',')})`;
72
+ }
73
+ return abiInput.type;
74
+ }) || []);
75
+ }
76
+ static flattenTypesToArray(abiInputs) {
77
+ return (abiInputs?.map(abiInput => {
78
+ if (abiInput.type === 'tuple') {
79
+ return this.flattenTypesToArray(abiInput.components);
80
+ }
81
+ return abiInput.type;
82
+ }) || []);
83
+ }
84
+ static flattenParameters(parameters) {
85
+ const types = [];
86
+ const values = [];
87
+ parameters.forEach(parameter => {
88
+ if (parameter.type === 'tuple') {
89
+ const [tupleTypes, tupleValues] = this.flattenParameters(parameter.value);
90
+ types.push(tupleTypes);
91
+ values.push(tupleValues);
92
+ }
93
+ else {
94
+ types.push(parameter.type);
95
+ values.push(parameter.value);
96
+ }
97
+ });
98
+ return [types, values];
99
+ }
100
+ static flattenParameterToPrimitive(parameter) {
101
+ if (typeof parameter === 'number' || parameter instanceof bignumber_1.BigNumber || typeof parameter === 'bigint') {
102
+ return parameter.toString();
103
+ }
104
+ if (typeof parameter === 'string' || typeof parameter === 'boolean') {
105
+ return parameter;
106
+ }
107
+ return Object.keys(parameter).reduce((acc, paramKey) => {
108
+ const parameterField = parameter[paramKey];
109
+ return {
110
+ ...acc,
111
+ [paramKey]: this.flattenParameterToPrimitive(parameterField)
112
+ };
113
+ }, {});
114
+ }
115
+ }
116
+ exports.TronWeb3Pure = TronWeb3Pure;
117
+ //# sourceMappingURL=tron-web3-pure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tron-web3-pure.js","sourceRoot":"","sources":["../../../../../../../packages/web3/src/lib/utils/web3-types/tron-web3-pure.ts"],"names":[],"mappings":"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"}