@cryptorubic/web3 0.0.35 → 0.2.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/package.json +15 -2
- package/src/lib/adapter/adapters/abstract-adapter.d.ts +2 -2
- package/src/lib/adapter/adapters/abstract-adapter.js +0 -2
- package/src/lib/adapter/adapters/constants/erc20-token-abi.js +12 -12
- package/src/lib/adapter/adapters/constants/trc-20-contract-abi.js +15 -15
- package/src/lib/adapter/adapters/constants/tron-multicall-abi.js +6 -6
- package/src/lib/adapter/adapters/evm-adapter.d.ts +7 -7
- package/src/lib/adapter/adapters/evm-adapter.js +48 -34
- package/src/lib/adapter/adapters/models/approve-adapter.d.ts +2 -2
- package/src/lib/adapter/adapters/models/evm-adapter-options.d.ts +1 -1
- package/src/lib/adapter/adapters/models/ton-adapter-config.d.ts +2 -2
- package/src/lib/adapter/adapters/solana-adapter.d.ts +3 -3
- package/src/lib/adapter/adapters/solana-adapter.js +1 -1
- package/src/lib/adapter/adapters/ton-adapter.d.ts +6 -6
- package/src/lib/adapter/adapters/ton-adapter.js +8 -8
- package/src/lib/adapter/adapters/tron-adapter.d.ts +8 -8
- package/src/lib/adapter/adapters/tron-adapter.js +36 -23
- package/src/lib/adapter/adapters/utils/ton-api.service.d.ts +3 -3
- package/src/lib/adapter/adapters/utils/ton-api.service.js +4 -3
- package/src/lib/adapter/blockchain-adapter-factory.service.d.ts +5 -5
- package/src/lib/adapter/blockchain-adapter-factory.service.js +20 -13
- package/src/lib/adapter/constants/chain-configs/chain-configs.d.ts +1 -1
- package/src/lib/adapter/constants/chain-configs/chain-configs.js +589 -299
- package/src/lib/adapter/constants/models/wallet-provider.d.ts +3 -3
- package/src/lib/adapter/constants/viem-blockchain-mapping.d.ts +1 -1
- package/src/lib/adapter/constants/viem-blockchain-mapping.js +1 -1
- package/src/lib/utils/constants/changenow-api-blockchain.js +2 -2
- package/src/lib/utils/constants/web3-pure-store.d.ts +2 -2
- package/src/lib/utils/constants/web3-pure-store.js +33 -33
- package/src/lib/utils/models/contract-multicall-response.d.ts +1 -1
- package/src/lib/utils/models/primitive-types.d.ts +1 -1
- package/src/lib/utils/models/tron-transaction-config.d.ts +1 -1
- package/src/lib/utils/web3-pure.d.ts +2 -2
- package/src/lib/utils/web3-pure.js +6 -7
- package/src/lib/utils/web3-types/bitcoin-web3-pure.d.ts +1 -1
- package/src/lib/utils/web3-types/common-web3-pure.js +0 -2
- package/src/lib/utils/web3-types/evm-web3-pure.d.ts +1 -1
- package/src/lib/utils/web3-types/icp-web3-pure.d.ts +1 -1
- package/src/lib/utils/web3-types/icp-web3-pure.js +2 -1
- package/src/lib/utils/web3-types/solana-web3-pure.d.ts +1 -1
- package/src/lib/utils/web3-types/solana-web3-pure.js +1 -1
- package/src/lib/utils/web3-types/ton-web3-pure.d.ts +1 -1
- package/src/lib/utils/web3-types/ton-web3-pure.js +1 -1
- package/src/lib/utils/web3-types/tron-web3-pure.d.ts +6 -6
- package/src/lib/utils/web3-types/tron-web3-pure.js +10 -8
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
2
|
import { AbstractAdapter } from './abstract-adapter';
|
|
3
|
-
import { ContractMulticallResponse, MethodData, TronWeb3PrimitiveType } from
|
|
3
|
+
import { ContractMulticallResponse, MethodData, TronWeb3PrimitiveType } from '@cryptorubic/tron-types';
|
|
4
4
|
import { TronWeb } from 'tronweb';
|
|
5
|
-
import { AbiFragment } from
|
|
6
|
-
import { ICustomLogger, PriceTokenAmount, Token, TokenAmount, TronBlockchainName } from
|
|
7
|
-
import { TronTransactionConfig } from
|
|
8
|
-
import { TronParameters } from
|
|
9
|
-
import { Abi } from
|
|
10
|
-
import { ApproveAdapter } from
|
|
11
|
-
import { AllowanceInfo } from
|
|
5
|
+
import { AbiFragment } from 'tronweb/lib/commonjs/types';
|
|
6
|
+
import { ICustomLogger, PriceTokenAmount, Token, TokenAmount, TronBlockchainName } from '@cryptorubic/core';
|
|
7
|
+
import { TronTransactionConfig } from '../../utils/models/tron-transaction-config';
|
|
8
|
+
import { TronParameters } from '../../utils/models/tron-parameters';
|
|
9
|
+
import { Abi } from 'viem';
|
|
10
|
+
import { ApproveAdapter } from './models/approve-adapter';
|
|
11
|
+
import { AllowanceInfo } from './models/common-types';
|
|
12
12
|
export declare class TronAdapter extends AbstractAdapter<TronWeb, TronWeb, TronBlockchainName> implements ApproveAdapter<TronTransactionConfig> {
|
|
13
13
|
private readonly multicallAddress;
|
|
14
14
|
needPreswapAction(token: TokenAmount, contractAddress: string, walletAddress: string, amount: string): Promise<boolean>;
|
|
@@ -23,7 +23,7 @@ class TronAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
23
23
|
const calls = contractsData.map(({ contractAddress, methodsData }) => {
|
|
24
24
|
return methodsData.map(({ methodName, methodArguments }) => [
|
|
25
25
|
contractAddress,
|
|
26
|
-
tron_web3_pure_1.TronWeb3Pure.encodeFunctionCall(contractAbi, methodName, methodArguments)
|
|
26
|
+
tron_web3_pure_1.TronWeb3Pure.encodeFunctionCall(contractAbi, methodName, methodArguments),
|
|
27
27
|
]);
|
|
28
28
|
});
|
|
29
29
|
try {
|
|
@@ -33,11 +33,16 @@ class TronAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
33
33
|
const success = outputs.results[outputIndex];
|
|
34
34
|
const returnData = outputs.returnData[outputIndex];
|
|
35
35
|
outputIndex++;
|
|
36
|
+
const methodOutputAbi = contractAbi.find(
|
|
36
37
|
// @ts-ignore
|
|
37
|
-
|
|
38
|
+
(funcSignature) => funcSignature.name === methodData.methodName
|
|
39
|
+
// @ts-ignore
|
|
40
|
+
).outputs;
|
|
38
41
|
return {
|
|
39
|
-
output: success
|
|
40
|
-
|
|
42
|
+
output: success
|
|
43
|
+
? tron_web3_pure_1.TronWeb3Pure.decodeMethodOutput(methodOutputAbi, returnData)
|
|
44
|
+
: null,
|
|
45
|
+
success,
|
|
41
46
|
};
|
|
42
47
|
}));
|
|
43
48
|
}
|
|
@@ -64,13 +69,13 @@ class TronAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
64
69
|
const output = (await this.read(contractData.contractAddress, contractAbi, methodData.methodName, methodData.methodArguments));
|
|
65
70
|
return {
|
|
66
71
|
output,
|
|
67
|
-
success: true
|
|
72
|
+
success: true,
|
|
68
73
|
};
|
|
69
74
|
}
|
|
70
75
|
catch {
|
|
71
76
|
return {
|
|
72
77
|
output: null,
|
|
73
|
-
success: false
|
|
78
|
+
success: false,
|
|
74
79
|
};
|
|
75
80
|
}
|
|
76
81
|
}));
|
|
@@ -88,9 +93,9 @@ class TronAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
88
93
|
methodsData: [
|
|
89
94
|
{
|
|
90
95
|
methodArguments: [userAddress],
|
|
91
|
-
methodName: 'balanceOf'
|
|
92
|
-
}
|
|
93
|
-
]
|
|
96
|
+
methodName: 'balanceOf',
|
|
97
|
+
},
|
|
98
|
+
],
|
|
94
99
|
})));
|
|
95
100
|
const results = await Promise.all(promises);
|
|
96
101
|
const tokensBalances = results[0].map((tokenResults) => {
|
|
@@ -110,10 +115,12 @@ class TronAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
110
115
|
contractAddress,
|
|
111
116
|
methodsData: tokenFields.map((methodName) => ({
|
|
112
117
|
methodArguments: [],
|
|
113
|
-
methodName
|
|
114
|
-
}))
|
|
118
|
+
methodName,
|
|
119
|
+
})),
|
|
115
120
|
}));
|
|
116
|
-
const results = contractsData.length
|
|
121
|
+
const results = contractsData.length
|
|
122
|
+
? await this.multicallContractsMethods(trc_20_contract_abi_1.TRC20_CONTRACT_ABI, contractsData)
|
|
123
|
+
: [];
|
|
117
124
|
const tokens = results.map((tokenFieldsResults, tokenIndex) => {
|
|
118
125
|
const tokenAddress = tokenAddresses[tokenIndex];
|
|
119
126
|
const possibleToken = tokenFieldsResults.reduce((acc, field, fieldIndex) => {
|
|
@@ -122,7 +129,9 @@ class TronAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
122
129
|
}
|
|
123
130
|
return {
|
|
124
131
|
...acc,
|
|
125
|
-
[tokenFields[fieldIndex]]: field.success
|
|
132
|
+
[tokenFields[fieldIndex]]: field.success
|
|
133
|
+
? field.output
|
|
134
|
+
: undefined,
|
|
126
135
|
};
|
|
127
136
|
}, {});
|
|
128
137
|
return new core_1.Token({
|
|
@@ -130,7 +139,7 @@ class TronAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
130
139
|
blockchain: core_1.BLOCKCHAIN_NAME.TRON,
|
|
131
140
|
decimals: Number(possibleToken?.decimals),
|
|
132
141
|
name: possibleToken?.name,
|
|
133
|
-
symbol: possibleToken?.symbol
|
|
142
|
+
symbol: possibleToken?.symbol,
|
|
134
143
|
});
|
|
135
144
|
});
|
|
136
145
|
if (nativeTokenIndex === -1) {
|
|
@@ -142,7 +151,8 @@ class TronAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
142
151
|
}
|
|
143
152
|
async getBalance(userAddress, tokenAddress) {
|
|
144
153
|
let balance;
|
|
145
|
-
if (tokenAddress &&
|
|
154
|
+
if (tokenAddress &&
|
|
155
|
+
!web3_pure_1.Web3Pure.isNativeAddress(core_1.CHAIN_TYPE.TRON, tokenAddress)) {
|
|
146
156
|
balance = await this.getTokenBalance(userAddress, tokenAddress);
|
|
147
157
|
}
|
|
148
158
|
else {
|
|
@@ -154,8 +164,10 @@ class TronAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
154
164
|
async getTokenBalance(userAddress, tokenAddress) {
|
|
155
165
|
this.public.setAddress(userAddress);
|
|
156
166
|
const contract = await this.public.contract(trc_20_contract_abi_1.TRC20_CONTRACT_ABI, tokenAddress);
|
|
157
|
-
|
|
158
|
-
|
|
167
|
+
const balance = await contract
|
|
168
|
+
// @ts-ignore
|
|
169
|
+
.balanceOf(userAddress)
|
|
170
|
+
.call();
|
|
159
171
|
return new bignumber_js_1.default(balance?.toString());
|
|
160
172
|
}
|
|
161
173
|
async convertTronAddressToHex(address) {
|
|
@@ -172,14 +184,15 @@ class TronAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
172
184
|
signature,
|
|
173
185
|
to: contractAddress,
|
|
174
186
|
...(callValue && { callValue }),
|
|
175
|
-
...(feeLimit && { feeLimit })
|
|
187
|
+
...(feeLimit && { feeLimit }),
|
|
176
188
|
};
|
|
177
189
|
}
|
|
178
190
|
static flattenTypesToString(abiInputs) {
|
|
179
191
|
return (abiInputs?.map((abiInput) => {
|
|
180
192
|
if (abiInput.type === 'tuple' || abiInput.type.includes('tuple')) {
|
|
193
|
+
const flattenedComponents = this.flattenTypesToString(
|
|
181
194
|
//@ts-ignore
|
|
182
|
-
|
|
195
|
+
abiInput.components);
|
|
183
196
|
return `(${flattenedComponents.join(',')})`;
|
|
184
197
|
}
|
|
185
198
|
return abiInput.type;
|
|
@@ -195,14 +208,16 @@ class TronAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
195
208
|
const amountWei = amount ?? new bignumber_js_1.default(2).pow(256).minus(1).toFixed();
|
|
196
209
|
return tron_web3_pure_1.TronWeb3Pure.encodeMethodCall(tokenAddress, trc_20_contract_abi_1.TRC20_CONTRACT_ABI, 'approve', [
|
|
197
210
|
{ type: 'address', value: spenderAddress },
|
|
198
|
-
{ type: 'uint256', value: amountWei }
|
|
211
|
+
{ type: 'uint256', value: amountWei },
|
|
199
212
|
]);
|
|
200
213
|
}
|
|
201
214
|
async getAllowance(fromTokenAddress, walletAddress, spender) {
|
|
202
215
|
const [contract, decimals, allowance] = await Promise.all([
|
|
203
216
|
this.public.contract(trc_20_contract_abi_1.TRC20_CONTRACT_ABI, fromTokenAddress),
|
|
204
217
|
this.read(fromTokenAddress, trc_20_contract_abi_1.TRC20_CONTRACT_ABI, 'decimals'),
|
|
205
|
-
this.read(fromTokenAddress, trc_20_contract_abi_1.TRC20_CONTRACT_ABI, 'allowance', [
|
|
218
|
+
this.read(fromTokenAddress, trc_20_contract_abi_1.TRC20_CONTRACT_ABI, 'allowance', [
|
|
219
|
+
spender,
|
|
220
|
+
]),
|
|
206
221
|
]);
|
|
207
222
|
const allowanceWeiBN = new bignumber_js_1.default(allowance);
|
|
208
223
|
const allowanceNonWei = core_1.Token.fromWei(allowanceWeiBN, Number(decimals));
|
|
@@ -214,11 +229,9 @@ class TronAdapter extends abstract_adapter_1.AbstractAdapter {
|
|
|
214
229
|
const receipt = await this.wallet.trx.sendRawTransaction(signedTransaction);
|
|
215
230
|
return receipt.transaction.txID;
|
|
216
231
|
}
|
|
217
|
-
;
|
|
218
232
|
async approve(fromAddress, tokenAddress, spenderAddress, amount) {
|
|
219
233
|
const config = this.encodeApprove(tokenAddress, spenderAddress, amount);
|
|
220
234
|
return this.write(config.to, config.signature, config.arguments);
|
|
221
235
|
}
|
|
222
|
-
;
|
|
223
236
|
}
|
|
224
237
|
exports.TronAdapter = TronAdapter;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { TonApiAccountInfoResp, TonApiAllNonNullableTokenInfoForWalletResp, TonApiParseAddressResp, TonApiTokenInfoForWalletResp, TonApiTokenInfoResp, TonApiTxDataByBocResp } from '../models/tonapi-models';
|
|
2
2
|
import { TonCenterBlockInfo } from '../models/toncenter-types';
|
|
3
|
-
import { HttpClient } from
|
|
4
|
-
import { TonApiConfig } from
|
|
5
|
-
import { Web3PrimitiveType } from
|
|
3
|
+
import { HttpClient } from '@cryptorubic/core';
|
|
4
|
+
import { TonApiConfig } from '../models/ton-api-config';
|
|
5
|
+
import { Web3PrimitiveType } from '../../../utils/models/primitive-types';
|
|
6
6
|
export declare class TonApiService {
|
|
7
7
|
private readonly httpClient;
|
|
8
8
|
private readonly tonApiUrl;
|
|
@@ -6,7 +6,8 @@ class TonApiService {
|
|
|
6
6
|
this.httpClient = httpClient;
|
|
7
7
|
this.apiKey = params.tonApiKey;
|
|
8
8
|
this.tonApiUrl = params?.tonApiUrl || 'https://tonapi.io';
|
|
9
|
-
this.tonCenterV3Url =
|
|
9
|
+
this.tonCenterV3Url =
|
|
10
|
+
params.tonCenterV3Url || 'https://toncenter.com/api/v3';
|
|
10
11
|
}
|
|
11
12
|
/**
|
|
12
13
|
* @param walletAddress in any format: raw or friendly
|
|
@@ -97,8 +98,8 @@ class TonApiService {
|
|
|
97
98
|
params: {
|
|
98
99
|
limit: 1,
|
|
99
100
|
offset: 0,
|
|
100
|
-
sort: 'desc'
|
|
101
|
-
}
|
|
101
|
+
sort: 'desc',
|
|
102
|
+
},
|
|
102
103
|
});
|
|
103
104
|
if ('detail' in res) {
|
|
104
105
|
throw new Error(`[TonApiService] Error in fetchWalletSeqno - ${res.detail[0]?.msg}`);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { SolanaAdapter } from './adapters/solana-adapter';
|
|
2
2
|
import { TronAdapter } from './adapters/tron-adapter';
|
|
3
3
|
import { AbstractAdapter } from './adapters/abstract-adapter';
|
|
4
|
-
import { WalletProvider } from
|
|
5
|
-
import { BlockchainName, EvmBlockchainName, SolanaBlockchainName, TronBlockchainName, ICustomLogger, HttpClient, TonBlockchainName } from
|
|
6
|
-
import { TonAdapter } from
|
|
7
|
-
import { TonAdapterConfig } from
|
|
8
|
-
import { EvmAdapter } from
|
|
4
|
+
import { WalletProvider } from './constants/models/wallet-provider';
|
|
5
|
+
import { BlockchainName, EvmBlockchainName, SolanaBlockchainName, TronBlockchainName, ICustomLogger, HttpClient, TonBlockchainName } from '@cryptorubic/core';
|
|
6
|
+
import { TonAdapter } from './adapters/ton-adapter';
|
|
7
|
+
import { TonAdapterConfig } from './adapters/models/ton-adapter-config';
|
|
8
|
+
import { EvmAdapter } from './adapters/evm-adapter';
|
|
9
9
|
export declare class BlockchainAdapterFactoryService {
|
|
10
10
|
private readonly rpcList;
|
|
11
11
|
private readonly createLogger?;
|
|
@@ -23,7 +23,7 @@ class BlockchainAdapterFactoryService {
|
|
|
23
23
|
static async createFactory(rpcList, httpClient, tonParams, createLogger) {
|
|
24
24
|
// @TODO Add default logger
|
|
25
25
|
const loggerFn = createLogger || undefined;
|
|
26
|
-
const resolvedHttpClient = httpClient ?? await Promise.resolve().then(() => require('axios'));
|
|
26
|
+
const resolvedHttpClient = httpClient ?? (await Promise.resolve().then(() => require('axios')));
|
|
27
27
|
return new this(rpcList, createLogger, resolvedHttpClient, tonParams);
|
|
28
28
|
}
|
|
29
29
|
getAdapter(blockchain) {
|
|
@@ -35,8 +35,7 @@ class BlockchainAdapterFactoryService {
|
|
|
35
35
|
return adapter;
|
|
36
36
|
}
|
|
37
37
|
createStorage() {
|
|
38
|
-
const adapters = Object.entries(this.rpcList)
|
|
39
|
-
.map(([blockchain, rpcs]) => {
|
|
38
|
+
const adapters = Object.entries(this.rpcList).map(([blockchain, rpcs]) => {
|
|
40
39
|
const adapter = this.createAdapter(blockchain, rpcs || []);
|
|
41
40
|
return [blockchain, adapter || null];
|
|
42
41
|
if (adapter) {
|
|
@@ -47,10 +46,14 @@ class BlockchainAdapterFactoryService {
|
|
|
47
46
|
return [blockchain, null];
|
|
48
47
|
});
|
|
49
48
|
const tonAdapter = this.createAdapter(core_1.BLOCKCHAIN_NAME.TON, []);
|
|
50
|
-
adapters.push(tonAdapter
|
|
49
|
+
adapters.push(tonAdapter
|
|
50
|
+
? [core_1.BLOCKCHAIN_NAME.TON, tonAdapter]
|
|
51
|
+
: [core_1.BLOCKCHAIN_NAME.TON, null]);
|
|
51
52
|
const activeAdapters = adapters.filter(([blockchain, adapter]) => {
|
|
52
53
|
const adapterExists = Boolean(adapter);
|
|
53
|
-
const message = adapterExists
|
|
54
|
+
const message = adapterExists
|
|
55
|
+
? `Creating adapter for ${blockchain} blockchain`
|
|
56
|
+
: `Failed to create adapter for ${blockchain} blockchain`;
|
|
54
57
|
this.logger?.customLog(message);
|
|
55
58
|
return adapterExists;
|
|
56
59
|
});
|
|
@@ -65,7 +68,7 @@ class BlockchainAdapterFactoryService {
|
|
|
65
68
|
if (viem_blockchain_mapping_1.viemBlockchainMapping?.[blockchain]) {
|
|
66
69
|
return new evm_adapter_1.EvmAdapter({
|
|
67
70
|
blockchain: blockchain,
|
|
68
|
-
rpcList: rpcs
|
|
71
|
+
rpcList: rpcs,
|
|
69
72
|
}, this.createLogger?.(`EVM_ADAPTER_${blockchain}`));
|
|
70
73
|
}
|
|
71
74
|
}
|
|
@@ -76,11 +79,12 @@ class BlockchainAdapterFactoryService {
|
|
|
76
79
|
return new solana_adapter_1.SolanaAdapter(rpcs, this.createLogger?.(`SOLANA_ADAPTER`));
|
|
77
80
|
}
|
|
78
81
|
}
|
|
79
|
-
if (blockchain === core_1.BLOCKCHAIN_NAME.TON &&
|
|
82
|
+
if (blockchain === core_1.BLOCKCHAIN_NAME.TON &&
|
|
83
|
+
this.httpClient &&
|
|
84
|
+
this.tonParams?.tonApiConfig &&
|
|
85
|
+
this.tonParams?.tonClientConfig) {
|
|
80
86
|
return new ton_adapter_1.TonAdapter(this.httpClient, this.tonParams, this.createLogger?.(`TON_ADAPTER`));
|
|
81
87
|
}
|
|
82
|
-
else {
|
|
83
|
-
}
|
|
84
88
|
return null;
|
|
85
89
|
}
|
|
86
90
|
connectWallet(walletProvider) {
|
|
@@ -90,22 +94,25 @@ class BlockchainAdapterFactoryService {
|
|
|
90
94
|
const chain = viem_blockchain_mapping_1.viemBlockchainMapping[blockchain];
|
|
91
95
|
adapter.wallet = (0, viem_1.createWalletClient)({
|
|
92
96
|
chain: chain,
|
|
93
|
-
transport: (0, viem_1.custom)(provider)
|
|
97
|
+
transport: (0, viem_1.custom)(provider),
|
|
94
98
|
});
|
|
95
99
|
adapter.walletAddress = walletProvider[core_1.CHAIN_TYPE.EVM].address;
|
|
96
100
|
});
|
|
97
101
|
}
|
|
98
|
-
if (walletProvider?.[core_1.CHAIN_TYPE.SOLANA]?.core &&
|
|
102
|
+
if (walletProvider?.[core_1.CHAIN_TYPE.SOLANA]?.core &&
|
|
103
|
+
this.adapterStore?.[core_1.BLOCKCHAIN_NAME.SOLANA]) {
|
|
99
104
|
const store = this.adapterStore[core_1.BLOCKCHAIN_NAME.SOLANA];
|
|
100
105
|
store.wallet = walletProvider[core_1.CHAIN_TYPE.SOLANA].core;
|
|
101
106
|
store.walletAddress = walletProvider[core_1.CHAIN_TYPE.SOLANA].address;
|
|
102
107
|
}
|
|
103
|
-
if (walletProvider?.[core_1.CHAIN_TYPE.TRON]?.core &&
|
|
108
|
+
if (walletProvider?.[core_1.CHAIN_TYPE.TRON]?.core &&
|
|
109
|
+
this.adapterStore?.[core_1.BLOCKCHAIN_NAME.TRON]) {
|
|
104
110
|
const store = this.adapterStore[core_1.BLOCKCHAIN_NAME.TRON];
|
|
105
111
|
store.wallet = walletProvider[core_1.CHAIN_TYPE.TRON].core;
|
|
106
112
|
store.walletAddress = walletProvider[core_1.CHAIN_TYPE.TRON].address;
|
|
107
113
|
}
|
|
108
|
-
if (walletProvider?.[core_1.CHAIN_TYPE.TON]?.core &&
|
|
114
|
+
if (walletProvider?.[core_1.CHAIN_TYPE.TON]?.core &&
|
|
115
|
+
this.adapterStore?.[core_1.BLOCKCHAIN_NAME.TON]) {
|
|
109
116
|
const store = this.adapterStore[core_1.BLOCKCHAIN_NAME.TON];
|
|
110
117
|
store.wallet = walletProvider[core_1.CHAIN_TYPE.TON].core;
|
|
111
118
|
store.walletAddress = walletProvider[core_1.CHAIN_TYPE.TON].address;
|