Skip to content

Commit f4d9b76

Browse files
feat: enable send many for multiple EVM coins
Coins: 1. bsc 2. tbsc 3. coredao 4. tcoredao 5. sgb 6. tsgb 7. wemix 8. twemix 9. flr 10. tflr 11. xdc 12. txdc Ticket: COIN-4135
1 parent 55f1c66 commit f4d9b76

File tree

4 files changed

+44
-23
lines changed

4 files changed

+44
-23
lines changed

modules/statics/src/allCoinsAndTokens.ts

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ import {
8181
ETH_FEATURES,
8282
ETH_FEATURES_WITH_STAKING_AND_MMI,
8383
EVM_FEATURES,
84+
FLR_FEATURES,
8485
GENERIC_TOKEN_FEATURES,
8586
HBAR_FEATURES,
8687
ICP_FEATURES,
@@ -94,6 +95,7 @@ import {
9495
POLYX_TOKEN_FEATURES,
9596
RBTC_FEATURES,
9697
SEI_FEATURES,
98+
SGB_FEATURES,
9799
SOL_FEATURES,
98100
SONEIUM_FEATURES,
99101
STX_FEATURES,
@@ -109,6 +111,8 @@ import {
109111
TSOL_FEATURES,
110112
VET_FEATURES,
111113
WCT_FEATURES,
114+
WEMIX_FEATURES,
115+
XDC_FEATURES,
112116
XLM_FEATURES,
113117
XLM_TOKEN_FEATURES_WITH_FRANKFURT,
114118
XRP_FEATURES,
@@ -1338,7 +1342,7 @@ export const allCoinsAndTokens = [
13381342
18,
13391343
UnderlyingAsset.XDC,
13401344
BaseUnit.ETH,
1341-
EVM_FEATURES.filter((feature) => feature !== CoinFeature.EIP1559)
1345+
XDC_FEATURES
13421346
),
13431347
account(
13441348
'e6ecb22e-0ae8-463a-b2fb-61502fd54240',
@@ -1348,7 +1352,7 @@ export const allCoinsAndTokens = [
13481352
18,
13491353
UnderlyingAsset.XDC,
13501354
BaseUnit.ETH,
1351-
EVM_FEATURES.filter((feature) => feature !== CoinFeature.EIP1559)
1355+
XDC_FEATURES
13521356
),
13531357
account(
13541358
'297edf01-b166-45fb-be6f-da6680635f72',
@@ -1358,7 +1362,7 @@ export const allCoinsAndTokens = [
13581362
18,
13591363
UnderlyingAsset.WEMIX,
13601364
BaseUnit.ETH,
1361-
EVM_FEATURES
1365+
WEMIX_FEATURES
13621366
),
13631367
account(
13641368
'b18517e3-2fba-44df-be39-7ba062d14895',
@@ -1368,7 +1372,7 @@ export const allCoinsAndTokens = [
13681372
18,
13691373
UnderlyingAsset.WEMIX,
13701374
BaseUnit.ETH,
1371-
EVM_FEATURES
1375+
WEMIX_FEATURES
13721376
),
13731377
account(
13741378
'c315bdbb-4e77-4eeb-a625-92f4defc3e42',
@@ -1736,7 +1740,7 @@ export const allCoinsAndTokens = [
17361740
18,
17371741
UnderlyingAsset.FLR,
17381742
BaseUnit.ETH,
1739-
EVM_FEATURES
1743+
FLR_FEATURES
17401744
),
17411745
account(
17421746
'338fc340-08be-4796-9c04-96e5a5078393',
@@ -1746,7 +1750,7 @@ export const allCoinsAndTokens = [
17461750
18,
17471751
UnderlyingAsset.FLR,
17481752
BaseUnit.ETH,
1749-
[...EVM_FEATURES, CoinFeature.SHARED_EVM_SIGNING]
1753+
[...FLR_FEATURES, CoinFeature.SHARED_EVM_SIGNING]
17501754
),
17511755
account(
17521756
'321a3168-4669-4ed0-a767-8f35111bb576',
@@ -1756,7 +1760,7 @@ export const allCoinsAndTokens = [
17561760
18,
17571761
UnderlyingAsset.SGB,
17581762
BaseUnit.ETH,
1759-
EVM_FEATURES
1763+
SGB_FEATURES
17601764
),
17611765
account(
17621766
'c6b8f90b-1f89-4d26-b296-4097927f6b30',
@@ -1766,7 +1770,7 @@ export const allCoinsAndTokens = [
17661770
18,
17671771
UnderlyingAsset.SGB,
17681772
BaseUnit.ETH,
1769-
[...EVM_FEATURES, CoinFeature.SHARED_EVM_SIGNING]
1773+
[...SGB_FEATURES, CoinFeature.SHARED_EVM_SIGNING]
17701774
),
17711775
gasTankAccount(
17721776
'75a71e9c-e3a0-4852-8e4b-9613ffed2a4c',

modules/statics/src/coinFeatures.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,7 @@ export const BSC_FEATURES = [
269269
CoinFeature.CUSTODY_BITGO_FRANKFURT,
270270
CoinFeature.BULK_TRANSACTION,
271271
CoinFeature.SHARED_EVM_MESSAGE_SIGNING,
272+
CoinFeature.ERC20_BULK_TRANSACTION,
272273
];
273274
export const BSC_TOKEN_FEATURES = [...ACCOUNT_COIN_DEFAULT_FEATURES, CoinFeature.BULK_TRANSACTION];
274275
export const BSC_TOKEN_FEATURES_EXCLUDE_SINGAPORE = [
@@ -618,3 +619,14 @@ export const VET_FEATURES = [
618619
CoinFeature.MPCV2,
619620
];
620621
export const VET_TOKEN_FEATURES = VET_FEATURES.filter((feature) => feature !== CoinFeature.SUPPORTS_TOKENS);
622+
623+
export const XDC_FEATURES = [
624+
...EVM_FEATURES.filter((feature) => feature !== CoinFeature.EIP1559),
625+
CoinFeature.ERC20_BULK_TRANSACTION,
626+
];
627+
628+
export const SGB_FEATURES = [...EVM_FEATURES, CoinFeature.ERC20_BULK_TRANSACTION];
629+
630+
export const FLR_FEATURES = [...EVM_FEATURES, CoinFeature.ERC20_BULK_TRANSACTION];
631+
632+
export const WEMIX_FEATURES = [...EVM_FEATURES, CoinFeature.ERC20_BULK_TRANSACTION];

modules/statics/src/networks.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1270,7 +1270,7 @@ class Coredao extends Mainnet implements EthereumNetwork {
12701270
accountExplorerUrl = 'https://scan.coredao.org/address/';
12711271
chainId = 1116;
12721272
nativeCoinOperationHashPrefix = '1116';
1273-
batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1273+
batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
12741274
forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
12751275
forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
12761276
}
@@ -1282,7 +1282,7 @@ class CoredaoTestnet extends Testnet implements EthereumNetwork {
12821282
accountExplorerUrl = 'https://scan.test2.btcs.network/address/';
12831283
chainId = 1114;
12841284
nativeCoinOperationHashPrefix = '1114';
1285-
batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1285+
batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
12861286
forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
12871287
forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
12881288
}
@@ -1512,7 +1512,7 @@ class Xdc extends Mainnet implements EthereumNetwork {
15121512
accountExplorerUrl = 'https://xdcscan.com/address/';
15131513
chainId = 50;
15141514
nativeCoinOperationHashPrefix = '50';
1515-
batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1515+
batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
15161516
forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
15171517
forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
15181518
}
@@ -1523,7 +1523,7 @@ class XdcTestnet extends Testnet implements EthereumNetwork {
15231523
accountExplorerUrl = 'https://testnet.xdcscan.com/address/';
15241524
chainId = 51;
15251525
nativeCoinOperationHashPrefix = '51';
1526-
batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1526+
batcherContractAddress = '0xebe27913fcc7510eadf10643a8f86bf5492a9541';
15271527
forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
15281528
forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
15291529
}
@@ -1534,7 +1534,7 @@ class Wemix extends Mainnet implements EthereumNetwork {
15341534
accountExplorerUrl = 'https://explorer.wemix.com/address/';
15351535
chainId = 1111;
15361536
nativeCoinOperationHashPrefix = '1111';
1537-
batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1537+
batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
15381538
forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
15391539
forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
15401540
}
@@ -1545,7 +1545,7 @@ class WemixTestnet extends Testnet implements EthereumNetwork {
15451545
accountExplorerUrl = 'https://explorer.test.wemix.com/address/';
15461546
chainId = 1112;
15471547
nativeCoinOperationHashPrefix = '1112';
1548-
batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1548+
batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
15491549
forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
15501550
forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
15511551
}
@@ -1698,7 +1698,7 @@ class Flare extends Mainnet implements EthereumNetwork {
16981698
accountExplorerUrl = 'https://flare-explorer.flare.network/address/';
16991699
chainId = 14;
17001700
nativeCoinOperationHashPrefix = '14';
1701-
batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1701+
batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
17021702
forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
17031703
forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
17041704
}
@@ -1709,7 +1709,7 @@ class FlareTestnet extends Testnet implements EthereumNetwork {
17091709
accountExplorerUrl = 'https://coston2-explorer.flare.network/address/';
17101710
chainId = 114;
17111711
nativeCoinOperationHashPrefix = '114';
1712-
batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1712+
batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
17131713
forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
17141714
forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
17151715
}
@@ -1720,7 +1720,7 @@ class Songbird extends Mainnet implements EthereumNetwork {
17201720
accountExplorerUrl = 'https://songbird-explorer.flare.network/address/';
17211721
chainId = 19;
17221722
nativeCoinOperationHashPrefix = '19';
1723-
batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1723+
batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
17241724
forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
17251725
forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
17261726
}
@@ -1731,7 +1731,7 @@ class SongbirdTestnet extends Testnet implements EthereumNetwork {
17311731
accountExplorerUrl = 'https://coston-explorer.flare.network/address/';
17321732
chainId = 16;
17331733
nativeCoinOperationHashPrefix = '16';
1734-
batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1734+
batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
17351735
forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
17361736
forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
17371737
}

modules/statics/test/unit/coins.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1055,16 +1055,21 @@ describe('ERC20 Bulk Transaction Feature', () => {
10551055
'tpolygon',
10561056
'coredao',
10571057
'tcoredao',
1058+
'sgb',
1059+
'tsgb',
1060+
'wemix',
1061+
'twemix',
1062+
'flr',
1063+
'tflr',
1064+
'xdc',
1065+
'txdc',
1066+
'bsc',
1067+
'tbsc',
10581068
];
10591069
erc20BulkTransactionCoins.forEach((coinName) => {
10601070
const coin = coins.get(coinName);
10611071
coin.features.includes(CoinFeature.ERC20_BULK_TRANSACTION).should.eql(true);
10621072
});
1063-
1064-
it('should not have ERC20_BULK_TRANSACTION feature for BSC', () => {
1065-
const coin = coins.get('bsc');
1066-
coin.features.includes(CoinFeature.ERC20_BULK_TRANSACTION).should.eql(false);
1067-
});
10681073
});
10691074
});
10701075

0 commit comments

Comments
 (0)