@subwallet/extension-base 1.2.8-1 → 1.2.9-0

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 (130) hide show
  1. package/background/KoniTypes.d.ts +7 -3
  2. package/background/KoniTypes.js +1 -1
  3. package/cjs/background/KoniTypes.js +1 -1
  4. package/cjs/core/logic-validation/transfer.js +22 -2
  5. package/cjs/core/substrate/foreign-asset-pallet.js +16 -0
  6. package/cjs/core/substrate/xcm-parser.js +26 -4
  7. package/cjs/koni/api/contract-handler/evm/web3.js +58 -0
  8. package/cjs/{services/chain-service/helper → koni/api/contract-handler/utils}/index.js +19 -2
  9. package/cjs/koni/api/contract-handler/wasm/index.js +49 -0
  10. package/cjs/koni/api/nft/evm_nft/index.js +6 -6
  11. package/cjs/koni/api/nft/wasm_nft/index.js +16 -16
  12. package/cjs/koni/api/yield/helper/utils.js +1 -22
  13. package/cjs/koni/background/handlers/Extension.js +128 -64
  14. package/cjs/packageInfo.js +1 -1
  15. package/cjs/services/balance-service/helpers/index.js +11 -0
  16. package/cjs/services/balance-service/helpers/process.js +50 -0
  17. package/cjs/services/balance-service/helpers/subscribe/evm.js +11 -3
  18. package/cjs/services/balance-service/helpers/subscribe/substrate/index.js +10 -24
  19. package/cjs/services/balance-service/index.js +20 -0
  20. package/cjs/{koni/api/tokens/evm/transfer.js → services/balance-service/transfer/smart-contract.js} +33 -38
  21. package/cjs/{koni/api/dotsama/transfer.js → services/balance-service/transfer/token.js} +3 -3
  22. package/cjs/{koni/api → services/balance-service/transfer}/xcm/index.js +26 -6
  23. package/cjs/{koni/api → services/balance-service/transfer}/xcm/polkadotXcm.js +2 -2
  24. package/cjs/services/balance-service/transfer/xcm/snowBridge.js +60 -0
  25. package/cjs/{koni/api → services/balance-service/transfer}/xcm/xTokens.js +1 -1
  26. package/cjs/{koni/api → services/balance-service/transfer}/xcm/xcmPallet.js +1 -1
  27. package/cjs/services/chain-service/handler/EvmChainHandler.js +3 -3
  28. package/cjs/services/chain-service/handler/SubstrateChainHandler.js +4 -4
  29. package/cjs/services/chain-service/health-check/utils/asset-info.js +18 -18
  30. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +16 -35
  31. package/cjs/services/earning-service/handlers/special.js +1 -1
  32. package/cjs/services/swap-service/handler/base-handler.js +3 -2
  33. package/cjs/services/swap-service/handler/chainflip-handler.js +10 -9
  34. package/cjs/services/swap-service/handler/hydradx-handler.js +12 -11
  35. package/cjs/services/swap-service/index.js +3 -2
  36. package/cjs/services/swap-service/utils.js +1 -13
  37. package/cjs/services/transaction-service/index.js +2 -2
  38. package/cjs/types/service-base.js +30 -1
  39. package/cjs/types/swap/index.js +0 -4
  40. package/cjs/utils/eth/parseTransaction/index.js +10 -10
  41. package/core/logic-validation/transfer.d.ts +1 -1
  42. package/core/logic-validation/transfer.js +22 -3
  43. package/core/substrate/foreign-asset-pallet.d.ts +8 -0
  44. package/core/substrate/foreign-asset-pallet.js +9 -0
  45. package/core/substrate/xcm-parser.d.ts +3 -1
  46. package/core/substrate/xcm-parser.js +25 -5
  47. package/koni/api/contract-handler/evm/web3.d.ts +8 -0
  48. package/koni/api/contract-handler/evm/web3.js +45 -0
  49. package/{services/chain-service/helper → koni/api/contract-handler/utils}/index.d.ts +4 -0
  50. package/{services/chain-service/helper → koni/api/contract-handler/utils}/index.js +15 -1
  51. package/koni/api/contract-handler/utils/snowbridge_gateway_abi.json +1122 -0
  52. package/koni/api/{tokens → contract-handler}/wasm/index.d.ts +0 -2
  53. package/koni/api/{tokens → contract-handler}/wasm/index.js +1 -25
  54. package/koni/api/nft/evm_nft/index.js +1 -1
  55. package/koni/api/nft/wasm_nft/index.js +2 -2
  56. package/koni/api/yield/helper/utils.d.ts +1 -5
  57. package/koni/api/yield/helper/utils.js +0 -16
  58. package/koni/background/handlers/Extension.d.ts +2 -0
  59. package/koni/background/handlers/Extension.js +82 -18
  60. package/package.json +85 -79
  61. package/packageInfo.js +1 -1
  62. package/services/balance-service/helpers/index.d.ts +1 -0
  63. package/services/balance-service/helpers/index.js +2 -1
  64. package/services/balance-service/helpers/process.d.ts +13 -0
  65. package/services/balance-service/helpers/process.js +43 -0
  66. package/services/balance-service/helpers/subscribe/evm.js +11 -3
  67. package/services/balance-service/helpers/subscribe/substrate/index.js +11 -25
  68. package/services/balance-service/index.d.ts +3 -0
  69. package/services/balance-service/index.js +21 -1
  70. package/services/balance-service/transfer/smart-contract.d.ts +7 -0
  71. package/{koni/api/tokens/evm/transfer.js → services/balance-service/transfer/smart-contract.js} +28 -31
  72. package/{koni/api/dotsama/transfer.js → services/balance-service/transfer/token.js} +4 -4
  73. package/{koni/api → services/balance-service/transfer}/xcm/index.d.ts +9 -3
  74. package/{koni/api → services/balance-service/transfer}/xcm/index.js +21 -3
  75. package/{koni/api → services/balance-service/transfer}/xcm/polkadotXcm.js +3 -3
  76. package/services/balance-service/transfer/xcm/snowBridge.d.ts +4 -0
  77. package/services/balance-service/transfer/xcm/snowBridge.js +54 -0
  78. package/{koni/api → services/balance-service/transfer}/xcm/xTokens.js +1 -1
  79. package/{koni/api → services/balance-service/transfer}/xcm/xcmPallet.js +1 -1
  80. package/services/chain-service/handler/EvmChainHandler.js +1 -1
  81. package/services/chain-service/handler/SubstrateChainHandler.js +2 -2
  82. package/services/chain-service/health-check/utils/asset-info.js +3 -3
  83. package/services/earning-service/handlers/liquid-staking/stella-swap.js +16 -35
  84. package/services/earning-service/handlers/special.js +1 -1
  85. package/services/swap-service/handler/base-handler.d.ts +5 -5
  86. package/services/swap-service/handler/base-handler.js +4 -3
  87. package/services/swap-service/handler/chainflip-handler.d.ts +4 -4
  88. package/services/swap-service/handler/chainflip-handler.js +7 -6
  89. package/services/swap-service/handler/hydradx-handler.d.ts +6 -6
  90. package/services/swap-service/handler/hydradx-handler.js +12 -11
  91. package/services/swap-service/index.d.ts +3 -2
  92. package/services/swap-service/index.js +4 -3
  93. package/services/swap-service/utils.d.ts +1 -3
  94. package/services/swap-service/utils.js +1 -11
  95. package/services/transaction-service/index.js +2 -2
  96. package/types/service-base.d.ts +31 -3
  97. package/types/service-base.js +23 -1
  98. package/types/swap/index.d.ts +8 -30
  99. package/types/swap/index.js +0 -4
  100. package/types/yield/actions/join/submit.d.ts +7 -4
  101. package/utils/eth/parseTransaction/index.js +1 -1
  102. package/cjs/koni/api/tokens/evm/balance.js +0 -18
  103. package/cjs/koni/api/tokens/evm/web3.js +0 -17
  104. package/cjs/koni/api/tokens/index.js +0 -17
  105. package/cjs/koni/api/tokens/wasm/index.js +0 -74
  106. package/koni/api/tokens/evm/balance.d.ts +0 -2
  107. package/koni/api/tokens/evm/balance.js +0 -12
  108. package/koni/api/tokens/evm/transfer.d.ts +0 -17
  109. package/koni/api/tokens/evm/web3.d.ts +0 -3
  110. package/koni/api/tokens/evm/web3.js +0 -9
  111. package/koni/api/tokens/index.d.ts +0 -1
  112. package/koni/api/tokens/index.js +0 -11
  113. /package/cjs/koni/api/{tokens → contract-handler}/wasm/utils.js +0 -0
  114. /package/cjs/{koni/api → services/balance-service/transfer}/xcm/utils.js +0 -0
  115. /package/{services/chain-service/helper → koni/api/contract-handler/utils}/azero_domain_registry_abi.json +0 -0
  116. /package/{services/chain-service/helper → koni/api/contract-handler/utils}/erc20_abi.json +0 -0
  117. /package/{services/chain-service/helper → koni/api/contract-handler/utils}/erc721_abi.json +0 -0
  118. /package/{services/chain-service/helper → koni/api/contract-handler/utils}/neuroguns_psp34_abi.json +0 -0
  119. /package/{services/chain-service/helper → koni/api/contract-handler/utils}/pink_psp34_abi.json +0 -0
  120. /package/{services/chain-service/helper → koni/api/contract-handler/utils}/psp22_abi.json +0 -0
  121. /package/{services/chain-service/helper → koni/api/contract-handler/utils}/psp34_abi.json +0 -0
  122. /package/{services/chain-service/helper → koni/api/contract-handler/utils}/test_erc721_abi.json +0 -0
  123. /package/koni/api/{tokens → contract-handler}/wasm/utils.d.ts +0 -0
  124. /package/koni/api/{tokens → contract-handler}/wasm/utils.js +0 -0
  125. /package/{koni/api/dotsama/transfer.d.ts → services/balance-service/transfer/token.d.ts} +0 -0
  126. /package/{koni/api → services/balance-service/transfer}/xcm/polkadotXcm.d.ts +0 -0
  127. /package/{koni/api → services/balance-service/transfer}/xcm/utils.d.ts +0 -0
  128. /package/{koni/api → services/balance-service/transfer}/xcm/utils.js +0 -0
  129. /package/{koni/api → services/balance-service/transfer}/xcm/xTokens.d.ts +0 -0
  130. /package/{koni/api → services/balance-service/transfer}/xcm/xcmPallet.d.ts +0 -0
@@ -1,74 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getPSP22ContractPromise = getPSP22ContractPromise;
7
- exports.getPSP34ContractPromise = getPSP34ContractPromise;
8
- exports.getPSP34TransferExtrinsic = getPSP34TransferExtrinsic;
9
- exports.getTokenUriMethod = getTokenUriMethod;
10
- exports.isAzeroDomainNft = isAzeroDomainNft;
11
- exports.isNeurogunNft = isNeurogunNft;
12
- exports.isPinkRoboNft = isPinkRoboNft;
13
- var _utils = require("@subwallet/extension-base/koni/api/tokens/wasm/utils");
14
- var _helper = require("@subwallet/extension-base/services/chain-service/helper");
15
- var _apiContract = require("@polkadot/api-contract");
16
- // Copyright 2019-2022 @subwallet/extension-base
17
- // SPDX-License-Identifier: Apache-2.0
18
-
19
- function getPSP22ContractPromise(apiPromise, contractAddress) {
20
- return new _apiContract.ContractPromise(apiPromise, _helper._PSP22_ABI, contractAddress);
21
- }
22
- function isPinkRoboNft(contractAddress) {
23
- return ['XoywUxTTtNKPRrRN7V5KXCqz2QLMFeK7DxhpSniqZHps5Xq'].includes(contractAddress);
24
- }
25
- function isNeurogunNft(contractAddress) {
26
- return ['aZ9bd2tHeGKrs3FnJv5oe7kgVrP5GQvdJMhC2GxjXA2Yqbd'].includes(contractAddress);
27
- }
28
- function isAzeroDomainNft(contractAddress) {
29
- return ['5FsB91tXSEuMj6akzdPczAtmBaVKToqHmtAwSUzXh49AYzaD', '5CTQBfBC9SfdrCDBJdfLiyW2pg9z5W6C6Es8sK313BLnFgDf'].includes(contractAddress);
30
- }
31
- function getPSP34ContractPromise(apiPromise, contractAddress) {
32
- if (isPinkRoboNft(contractAddress)) {
33
- return new _apiContract.ContractPromise(apiPromise, _helper._PINK_PSP34_ABI, contractAddress);
34
- }
35
- if (isNeurogunNft(contractAddress)) {
36
- return new _apiContract.ContractPromise(apiPromise, _helper._NEUROGUNS_PSP34_ABI, contractAddress);
37
- }
38
- if (isAzeroDomainNft(contractAddress)) {
39
- return new _apiContract.ContractPromise(apiPromise, _helper._AZERO_DOMAIN_REGISTRY_ABI, contractAddress);
40
- }
41
- return new _apiContract.ContractPromise(apiPromise, _helper._PSP34_ABI, contractAddress);
42
- }
43
- function getTokenUriMethod(contractAddress) {
44
- if (isPinkRoboNft(contractAddress)) {
45
- return 'pinkMint::tokenUri';
46
- }
47
- if (isNeurogunNft(contractAddress)) {
48
- return 'tokenUri';
49
- }
50
- return 'psp34Traits::tokenUri';
51
- }
52
- const mustFormatNumberReg = /^-?[0-9][0-9,.]+$/;
53
- async function getPSP34TransferExtrinsic(networkKey, substrateApi, senderAddress, recipientAddress, params) {
54
- const contractAddress = params.contractAddress;
55
- const onChainOption = params.onChainOption;
56
- for (const [key, value] of Object.entries(onChainOption)) {
57
- if (mustFormatNumberReg.test(value)) {
58
- onChainOption[key] = value.replaceAll(',', '');
59
- }
60
- }
61
- try {
62
- const contractPromise = getPSP34ContractPromise(substrateApi.api, contractAddress);
63
- // @ts-ignore
64
- const gasLimit = await (0, _utils.getWasmContractGasLimit)(substrateApi.api, senderAddress, 'psp34::transfer', contractPromise, {}, [recipientAddress, onChainOption, {}]);
65
-
66
- // @ts-ignore
67
- return contractPromise.tx['psp34::transfer']({
68
- gasLimit
69
- }, recipientAddress, onChainOption, {});
70
- } catch (e) {
71
- console.debug(e);
72
- return null;
73
- }
74
- }
@@ -1,2 +0,0 @@
1
- import { _EvmApi } from '@subwallet/extension-base/services/chain-service/types';
2
- export declare function getEVMBalance(networkKey: string, addresses: string[], web3Api: _EvmApi): Promise<string[]>;
@@ -1,12 +0,0 @@
1
- // Copyright 2019-2022 @subwallet/extension-base
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- export async function getEVMBalance(networkKey, addresses, web3Api) {
5
- return await Promise.all(addresses.map(async address => {
6
- try {
7
- return await web3Api.api.eth.getBalance(address);
8
- } catch (e) {
9
- return '0';
10
- }
11
- }));
12
- }
@@ -1,17 +0,0 @@
1
- import { _ChainInfo } from '@subwallet/chain-list/types';
2
- import { ExternalRequestPromise, HandleBasicTx, TransactionResponse } from '@subwallet/extension-base/background/KoniTypes';
3
- import { _EvmApi } from '@subwallet/extension-base/services/chain-service/types';
4
- import { TransactionConfig, TransactionReceipt } from 'web3-core';
5
- interface HandleTransferBalanceResultProps {
6
- callback: HandleBasicTx;
7
- changeValue: string;
8
- networkKey: string;
9
- receipt: TransactionReceipt;
10
- response: TransactionResponse;
11
- updateState?: (promise: Partial<ExternalRequestPromise>) => void;
12
- }
13
- export declare const handleTransferBalanceResult: ({ callback, changeValue, networkKey, receipt, response, updateState }: HandleTransferBalanceResultProps) => void;
14
- export declare function getEVMTransactionObject(chainInfo: _ChainInfo, from: string, to: string, value: string, transferAll: boolean, web3Api: _EvmApi): Promise<[TransactionConfig, string]>;
15
- export declare function getERC20TransactionObject(assetAddress: string, chainInfo: _ChainInfo, from: string, to: string, value: string, transferAll: boolean, evmApi: _EvmApi): Promise<[TransactionConfig, string]>;
16
- export declare function getERC721Transaction(web3Api: _EvmApi, chain: string, contractAddress: string, senderAddress: string, recipientAddress: string, tokenId: string): Promise<TransactionConfig>;
17
- export {};
@@ -1,3 +0,0 @@
1
- import { _EvmApi } from '@subwallet/extension-base/services/chain-service/types';
2
- import { Contract } from 'web3-eth-contract';
3
- export declare const getERC20Contract: (assetAddress: string, evmApi: _EvmApi, options?: {}) => Contract;
@@ -1,9 +0,0 @@
1
- // Copyright 2019-2022 @subwallet/extension-base
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import { _ERC20_ABI } from '@subwallet/extension-base/services/chain-service/helper';
5
- export const getERC20Contract = (assetAddress, evmApi, options = {}) => {
6
- // @ts-ignore
7
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument,@typescript-eslint/no-unsafe-member-access
8
- return new evmApi.api.eth.Contract(_ERC20_ABI, assetAddress, options);
9
- };
@@ -1 +0,0 @@
1
- export declare function isEqualContractAddress(address1: string, address2: string): boolean;
@@ -1,11 +0,0 @@
1
- // Copyright 2019-2022 @subwallet/extension-base
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import { isEthereumAddress } from '@polkadot/util-crypto';
5
- export function isEqualContractAddress(address1, address2) {
6
- if (isEthereumAddress(address1) && isEthereumAddress(address2)) {
7
- return address1.toLowerCase() === address2.toLowerCase(); // EVM address is case-insensitive
8
- }
9
-
10
- return address2 === address1;
11
- }