Skip to content

Commit f32f3fa

Browse files
committed
feat: bulk erc20 sendmany polygon arbeth
Ticket: COIN-3920
1 parent edd5b27 commit f32f3fa

File tree

3 files changed

+14
-9
lines changed

3 files changed

+14
-9
lines changed

modules/statics/src/coinFeatures.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ export const POLYGON_FEATURES = [
165165
CoinFeature.MPCV2,
166166
CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
167167
CoinFeature.BULK_TRANSACTION,
168+
CoinFeature.ERC20_BULK_TRANSACTION,
168169
];
169170

170171
export const POLYGON_TOKEN_FEATURES = [...AccountCoin.DEFAULT_FEATURES, CoinFeature.BULK_TRANSACTION];
@@ -356,6 +357,8 @@ export const ARBETH_FEATURES = [
356357
CoinFeature.EIP1559,
357358
CoinFeature.WALLET_CONNECT_DEFI,
358359
CoinFeature.MULTISIG,
360+
CoinFeature.BULK_TRANSACTION,
361+
CoinFeature.ERC20_BULK_TRANSACTION,
359362
];
360363
export const OPETH_FEATURES = [
361364
...ETH_FEATURES,

modules/statics/src/networks.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,7 @@ class Arbitrum extends Mainnet implements EthereumNetwork {
202202
forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
203203
walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
204204
walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
205+
batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
205206
}
206207

207208
class ArbitrumTestnet extends Testnet implements EthereumNetwork {
@@ -216,6 +217,7 @@ class ArbitrumTestnet extends Testnet implements EthereumNetwork {
216217
forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
217218
walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
218219
walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
220+
batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
219221
}
220222

221223
class AvalancheC extends Mainnet implements AccountNetwork {
@@ -511,7 +513,7 @@ class Ethereum extends Mainnet implements EthereumNetwork {
511513
blockExplorerUrl = 'https://etherscan.io/block/';
512514
// from https://github.com/ethereumjs/ethereumjs-common/blob/a978f630858f6843176bb20b277569785914e899/src/chains/index.ts
513515
chainId = 1;
514-
batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
516+
batcherContractAddress = '0xebe27913fcc7510eadf10643a8f86bf5492a9541';
515517
forwarderFactoryAddress = '0xffa397285ce46fb78c588a9e993286aac68c37cd';
516518
forwarderImplementationAddress = '0x059ffafdc6ef594230de44f824e2bd0a51ca5ded';
517519
nativeCoinOperationHashPrefix = 'ETHER';
@@ -582,7 +584,7 @@ class Holesky extends Testnet implements EthereumNetwork {
582584
blockExplorerUrl = 'https://holesky.etherscan.io/block/';
583585
// https://chainlist.org/chain/17000
584586
chainId = 17000;
585-
batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
587+
batcherContractAddress = '0xebe27913fcc7510eadf10643a8f86bf5492a9541';
586588
forwarderFactoryAddress = '0xffa397285ce46fb78c588a9e993286aac68c37cd';
587589
forwarderImplementationAddress = '0x059ffafdc6ef594230de44f824e2bd0a51ca5ded';
588590
nativeCoinOperationHashPrefix = 'ETHER';
@@ -1074,7 +1076,7 @@ class Polygon extends Mainnet implements EthereumNetwork {
10741076
forwarderImplementationAddress = '0x5397d0869aba0d55e96d5716d383f6e1d8695ed7';
10751077
walletFactoryAddress = '0xa7198f48c58e91f01317e70cd24c5cce475c1555';
10761078
walletImplementationAddress = '0xe5dcdc13b628c2df813db1080367e929c1507ca0';
1077-
batcherContractAddress = '0xb1b7e7cc1ecafbfd0771a5eb5454ab5b0356980d';
1079+
batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
10781080
nativeCoinOperationHashPrefix = 'POLYGON';
10791081
tokenOperationHashPrefix = 'POLYGON-ERC20';
10801082
}
@@ -1089,7 +1091,7 @@ class PolygonTestnet extends Testnet implements EthereumNetwork {
10891091
forwarderImplementationAddress = '0xd4c24325b5ef514fbb1ecc76a9bb4dcb57a8341e';
10901092
walletFactoryAddress = '0xe9c16033e01bf9f94bf9f99fc0fefcfb8b124992';
10911093
walletImplementationAddress = '0xf8360c213e4f44cce03e48cb9281254de2a7a566';
1092-
batcherContractAddress = '0xb1b7e7cc1ecafbfd0771a5eb5454ab5b0356980d';
1094+
batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
10931095
nativeCoinOperationHashPrefix = 'POLYGON';
10941096
tokenOperationHashPrefix = 'POLYGON-ERC20';
10951097
}
@@ -1106,7 +1108,7 @@ class Optimism extends Mainnet implements EthereumNetwork {
11061108
forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
11071109
walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
11081110
walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1109-
batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1111+
batcherContractAddress = '0xebe27913fcc7510eadf10643a8f86bf5492a9541';
11101112
}
11111113

11121114
class OptimismTestnet extends Testnet implements EthereumNetwork {
@@ -1121,7 +1123,7 @@ class OptimismTestnet extends Testnet implements EthereumNetwork {
11211123
forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
11221124
walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
11231125
walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1124-
batcherContractAddress = '0xc84c7eb4c84271ec03ca9e3dbf12cfa42146309e';
1126+
batcherContractAddress = '0xebe27913fcc7510eadf10643a8f86bf5492a9541';
11251127
}
11261128

11271129
class ZkSync extends Mainnet implements EthereumNetwork {

modules/statics/test/unit/coins.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -979,15 +979,15 @@ describe('Bulk Transaction Features', () => {
979979

980980
describe('ERC20 Bulk Transaction Feature', () => {
981981
it('should have ERC20_BULK_TRANSACTION feature for appropriate coins', () => {
982-
const erc20BulkTransactionCoins = ['eth', 'hteth', 'opeth', 'topeth'];
982+
const erc20BulkTransactionCoins = ['eth', 'hteth', 'opeth', 'topeth', 'arbeth', 'tarbeth', 'polygon', 'tpolygon'];
983983
erc20BulkTransactionCoins.forEach((coinName) => {
984984
const coin = coins.get(coinName);
985985
coin.features.includes(CoinFeature.ERC20_BULK_TRANSACTION).should.eql(true);
986986
});
987987
});
988988

989-
it('should not have ERC20_BULK_TRANSACTION feature for Polygon', () => {
990-
const coin = coins.get('polygon');
989+
it('should not have ERC20_BULK_TRANSACTION feature for BSC', () => {
990+
const coin = coins.get('bsc');
991991
coin.features.includes(CoinFeature.ERC20_BULK_TRANSACTION).should.eql(false);
992992
});
993993
});

0 commit comments

Comments
 (0)