Skip to content

Commit 0007da4

Browse files
feat(statics): add ERC20_BULK_TRANSACTION feature to all eligible EVM
TICKET: CECHO-2
1 parent 19164bc commit 0007da4

File tree

4 files changed

+143
-9
lines changed

4 files changed

+143
-9
lines changed

modules/statics/src/allCoinsAndTokens.ts

Lines changed: 47 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ import { jettonTokens } from './coins/jettonTokens';
7575
import { polyxTokens } from './coins/polyxTokens';
7676
import { cantonTokens } from './coins/cantonTokens';
7777
import { flrp } from './flrp';
78-
import { hypeEvm } from './hypeevm';
78+
import { HypeEvm, hypeEvm as hypeEvmFactory } from './hypeevm';
7979
import {
8080
ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE_AND_MENA_FZE,
8181
ADA_FEATURES,
@@ -411,6 +411,7 @@ export const allCoinsAndTokens = [
411411
CoinFeature.EVM_COMPATIBLE_UI,
412412
CoinFeature.EVM_COMPATIBLE_WP,
413413
CoinFeature.SUPPORTS_ERC20,
414+
CoinFeature.ERC20_BULK_TRANSACTION,
414415
]
415416
),
416417
account(
@@ -448,6 +449,7 @@ export const allCoinsAndTokens = [
448449
CoinFeature.EVM_COMPATIBLE_UI,
449450
CoinFeature.EVM_NON_BITGO_RECOVERY,
450451
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
452+
CoinFeature.ERC20_BULK_TRANSACTION,
451453
],
452454
KeyCurve.Secp256k1,
453455
'',
@@ -471,6 +473,7 @@ export const allCoinsAndTokens = [
471473
CoinFeature.EVM_NON_BITGO_RECOVERY,
472474
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
473475
CoinFeature.SUPPORTS_ERC20,
476+
CoinFeature.ERC20_BULK_TRANSACTION,
474477
],
475478
KeyCurve.Secp256k1,
476479
'',
@@ -881,6 +884,7 @@ export const allCoinsAndTokens = [
881884
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
882885
CoinFeature.SUPPORTS_ERC20,
883886
CoinFeature.STAKING,
887+
CoinFeature.ERC20_BULK_TRANSACTION,
884888
],
885889
KeyCurve.Secp256k1,
886890
'',
@@ -924,6 +928,7 @@ export const allCoinsAndTokens = [
924928
CoinFeature.EVM_NON_BITGO_RECOVERY,
925929
CoinFeature.SUPPORTS_ERC20,
926930
CoinFeature.STAKING,
931+
CoinFeature.ERC20_BULK_TRANSACTION,
927932
]
928933
),
929934
account(
@@ -965,6 +970,7 @@ export const allCoinsAndTokens = [
965970
CoinFeature.EVM_COMPATIBLE_UI,
966971
CoinFeature.EVM_NON_BITGO_RECOVERY,
967972
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
973+
CoinFeature.ERC20_BULK_TRANSACTION,
968974
],
969975
KeyCurve.Secp256k1,
970976
'',
@@ -988,6 +994,7 @@ export const allCoinsAndTokens = [
988994
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
989995
CoinFeature.EVM_NON_BITGO_RECOVERY,
990996
CoinFeature.STAKING,
997+
CoinFeature.ERC20_BULK_TRANSACTION,
991998
]
992999
),
9931000
account(
@@ -1551,6 +1558,7 @@ export const allCoinsAndTokens = [
15511558
CoinFeature.EVM_COMPATIBLE_UI,
15521559
CoinFeature.EVM_NON_BITGO_RECOVERY,
15531560
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
1561+
CoinFeature.ERC20_BULK_TRANSACTION,
15541562
]
15551563
),
15561564
account(
@@ -1601,7 +1609,7 @@ export const allCoinsAndTokens = [
16011609
18,
16021610
UnderlyingAsset.MON,
16031611
BaseUnit.ETH,
1604-
[...EVM_FEATURES, CoinFeature.SHARED_EVM_SIGNING]
1612+
[...EVM_FEATURES, CoinFeature.SHARED_EVM_SIGNING, CoinFeature.ERC20_BULK_TRANSACTION]
16051613
),
16061614
account(
16071615
'5c5ebe50-fa27-4312-ae3d-7032520aedb5',
@@ -1627,7 +1635,7 @@ export const allCoinsAndTokens = [
16271635
18,
16281636
UnderlyingAsset.WORLD,
16291637
BaseUnit.ETH,
1630-
[...EVM_FEATURES, CoinFeature.SHARED_EVM_SIGNING]
1638+
[...EVM_FEATURES, CoinFeature.SHARED_EVM_SIGNING, CoinFeature.ERC20_BULK_TRANSACTION]
16311639
),
16321640
account(
16331641
'1cd29730-f70b-4c7d-a19c-eb3345f01acb',
@@ -1637,7 +1645,7 @@ export const allCoinsAndTokens = [
16371645
18,
16381646
UnderlyingAsset.WORLD,
16391647
BaseUnit.ETH,
1640-
[...EVM_FEATURES, CoinFeature.SHARED_EVM_SIGNING]
1648+
[...EVM_FEATURES, CoinFeature.SHARED_EVM_SIGNING, CoinFeature.ERC20_BULK_TRANSACTION]
16411649
),
16421650
account(
16431651
'bc2c6d82-69ee-4745-b213-6f83e90199db',
@@ -1691,6 +1699,7 @@ export const allCoinsAndTokens = [
16911699
CoinFeature.EVM_COMPATIBLE_UI,
16921700
CoinFeature.EVM_NON_BITGO_RECOVERY,
16931701
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
1702+
CoinFeature.ERC20_BULK_TRANSACTION,
16941703
]
16951704
),
16961705
account(
@@ -1709,6 +1718,7 @@ export const allCoinsAndTokens = [
17091718
CoinFeature.EVM_COMPATIBLE_UI,
17101719
CoinFeature.EVM_NON_BITGO_RECOVERY,
17111720
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
1721+
CoinFeature.ERC20_BULK_TRANSACTION,
17121722
]
17131723
),
17141724
account(
@@ -1729,6 +1739,7 @@ export const allCoinsAndTokens = [
17291739
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
17301740
CoinFeature.SUPPORTS_ERC20,
17311741
CoinFeature.STAKING,
1742+
CoinFeature.ERC20_BULK_TRANSACTION,
17321743
]
17331744
),
17341745
account(
@@ -1772,7 +1783,7 @@ export const allCoinsAndTokens = [
17721783
HYPERLIQUID_FEATURES,
17731784
KeyCurve.Secp256k1
17741785
),
1775-
hypeEvm(
1786+
hypeEvmFactory(
17761787
'e907fdbd-2c5d-45d6-b622-9da38937da73',
17771788
'hypeevm',
17781789
'Hyperliquid EVM',
@@ -1781,9 +1792,10 @@ export const allCoinsAndTokens = [
17811792
UnderlyingAsset.HYPEEVM,
17821793
BaseUnit.ETH,
17831794
150,
1784-
'0x2222222222222222222222222222222222222222'
1795+
'0x2222222222222222222222222222222222222222',
1796+
[...HypeEvm.DEFAULT_FEATURES, CoinFeature.ERC20_BULK_TRANSACTION]
17851797
),
1786-
hypeEvm(
1798+
hypeEvmFactory(
17871799
'e0500947-1105-404c-af52-765b1cb2a7c1',
17881800
'thypeevm',
17891801
'Hyperliquid EVM Testnet',
@@ -1810,6 +1822,7 @@ export const allCoinsAndTokens = [
18101822
CoinFeature.EVM_COMPATIBLE_UI,
18111823
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
18121824
CoinFeature.EVM_NON_BITGO_RECOVERY,
1825+
CoinFeature.ERC20_BULK_TRANSACTION,
18131826
]
18141827
),
18151828
account(
@@ -1828,6 +1841,7 @@ export const allCoinsAndTokens = [
18281841
CoinFeature.EVM_COMPATIBLE_UI,
18291842
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
18301843
CoinFeature.EVM_NON_BITGO_RECOVERY,
1844+
CoinFeature.ERC20_BULK_TRANSACTION,
18311845
]
18321846
),
18331847
account(
@@ -1846,6 +1860,7 @@ export const allCoinsAndTokens = [
18461860
CoinFeature.EVM_COMPATIBLE_UI,
18471861
CoinFeature.EVM_COMPATIBLE_WP,
18481862
CoinFeature.SUPPORTS_ERC20,
1863+
CoinFeature.ERC20_BULK_TRANSACTION,
18491864
]
18501865
),
18511866
account(
@@ -1881,6 +1896,7 @@ export const allCoinsAndTokens = [
18811896
CoinFeature.EVM_COMPATIBLE_IMS,
18821897
CoinFeature.EVM_COMPATIBLE_UI,
18831898
CoinFeature.SUPPORTS_ERC20,
1899+
CoinFeature.ERC20_BULK_TRANSACTION,
18841900
]
18851901
),
18861902
account(
@@ -1916,6 +1932,7 @@ export const allCoinsAndTokens = [
19161932
CoinFeature.EVM_COMPATIBLE_WP,
19171933
CoinFeature.EVM_NON_BITGO_RECOVERY,
19181934
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
1935+
CoinFeature.ERC20_BULK_TRANSACTION,
19191936
]
19201937
),
19211938
account(
@@ -1953,6 +1970,7 @@ export const allCoinsAndTokens = [
19531970
CoinFeature.EVM_COMPATIBLE_UI,
19541971
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
19551972
CoinFeature.EVM_NON_BITGO_RECOVERY,
1973+
CoinFeature.ERC20_BULK_TRANSACTION,
19561974
]
19571975
),
19581976
account(
@@ -1971,6 +1989,7 @@ export const allCoinsAndTokens = [
19711989
CoinFeature.EVM_COMPATIBLE_UI,
19721990
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
19731991
CoinFeature.EVM_NON_BITGO_RECOVERY,
1992+
CoinFeature.ERC20_BULK_TRANSACTION,
19741993
]
19751994
),
19761995
account(
@@ -1987,6 +2006,7 @@ export const allCoinsAndTokens = [
19872006
CoinFeature.EVM_COMPATIBLE_UI,
19882007
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
19892008
CoinFeature.EVM_NON_BITGO_RECOVERY,
2009+
CoinFeature.ERC20_BULK_TRANSACTION,
19902010
]
19912011
),
19922012
account(
@@ -2034,7 +2054,13 @@ export const allCoinsAndTokens = [
20342054
18,
20352055
UnderlyingAsset.STT,
20362056
BaseUnit.ETH,
2037-
[...EVM_FEATURES, CoinFeature.SHARED_EVM_SIGNING, CoinFeature.STAKING, CoinFeature.EVM_COMPATIBLE_IMS]
2057+
[
2058+
...EVM_FEATURES,
2059+
CoinFeature.SHARED_EVM_SIGNING,
2060+
CoinFeature.STAKING,
2061+
CoinFeature.EVM_COMPATIBLE_IMS,
2062+
CoinFeature.ERC20_BULK_TRANSACTION,
2063+
]
20382064
),
20392065
account(
20402066
'aaa25f54-24f8-41d9-ba4e-83465d7cc2ec',
@@ -2051,6 +2077,7 @@ export const allCoinsAndTokens = [
20512077
CoinFeature.EVM_COMPATIBLE_IMS,
20522078
CoinFeature.EVM_COMPATIBLE_UI,
20532079
CoinFeature.STAKING,
2080+
CoinFeature.ERC20_BULK_TRANSACTION,
20542081
]
20552082
),
20562083
account(
@@ -2203,6 +2230,7 @@ export const allCoinsAndTokens = [
22032230
CoinFeature.SUPPORTS_ERC20,
22042231
CoinFeature.EVM_NON_BITGO_RECOVERY,
22052232
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
2233+
CoinFeature.ERC20_BULK_TRANSACTION,
22062234
]
22072235
),
22082236
account(
@@ -2222,6 +2250,7 @@ export const allCoinsAndTokens = [
22222250
CoinFeature.EVM_COMPATIBLE_WP,
22232251
CoinFeature.EVM_NON_BITGO_RECOVERY,
22242252
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
2253+
CoinFeature.ERC20_BULK_TRANSACTION,
22252254
]
22262255
),
22272256
account(
@@ -2300,6 +2329,7 @@ export const allCoinsAndTokens = [
23002329
CoinFeature.EVM_NON_BITGO_RECOVERY,
23012330
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
23022331
CoinFeature.SUPPORTS_ERC20,
2332+
CoinFeature.ERC20_BULK_TRANSACTION,
23032333
]
23042334
),
23052335
account(
@@ -2358,6 +2388,7 @@ export const allCoinsAndTokens = [
23582388
CoinFeature.EVM_COMPATIBLE_UI,
23592389
CoinFeature.EVM_COMPATIBLE_WP,
23602390
CoinFeature.SUPPORTS_ERC20,
2391+
CoinFeature.ERC20_BULK_TRANSACTION,
23612392
]
23622393
),
23632394
account(
@@ -2445,6 +2476,7 @@ export const allCoinsAndTokens = [
24452476
CoinFeature.EVM_COMPATIBLE_WP,
24462477
CoinFeature.EVM_NON_BITGO_RECOVERY,
24472478
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
2479+
CoinFeature.ERC20_BULK_TRANSACTION,
24482480
],
24492481
KeyCurve.Secp256k1,
24502482
'',
@@ -2468,6 +2500,7 @@ export const allCoinsAndTokens = [
24682500
CoinFeature.EVM_NON_BITGO_RECOVERY,
24692501
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
24702502
CoinFeature.SUPPORTS_ERC20,
2503+
CoinFeature.ERC20_BULK_TRANSACTION,
24712504
]
24722505
),
24732506
account(
@@ -2488,6 +2521,7 @@ export const allCoinsAndTokens = [
24882521
CoinFeature.EVM_NON_BITGO_RECOVERY,
24892522
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
24902523
CoinFeature.SUPPORTS_ERC20,
2524+
CoinFeature.ERC20_BULK_TRANSACTION,
24912525
]
24922526
),
24932527
// Mantle mainnet tokens
@@ -2591,6 +2625,7 @@ export const allCoinsAndTokens = [
25912625
CoinFeature.EVM_NON_BITGO_RECOVERY,
25922626
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
25932627
CoinFeature.SUPPORTS_ERC20,
2628+
CoinFeature.ERC20_BULK_TRANSACTION,
25942629
],
25952630
KeyCurve.Secp256k1,
25962631
'',
@@ -2637,6 +2672,7 @@ export const allCoinsAndTokens = [
26372672
CoinFeature.EVM_NON_BITGO_RECOVERY,
26382673
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
26392674
CoinFeature.SUPPORTS_ERC20,
2675+
CoinFeature.ERC20_BULK_TRANSACTION,
26402676
],
26412677
KeyCurve.Secp256k1,
26422678
'',
@@ -2859,6 +2895,7 @@ export const allCoinsAndTokens = [
28592895
CoinFeature.EVM_NON_BITGO_RECOVERY,
28602896
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
28612897
CoinFeature.SUPPORTS_ERC20,
2898+
CoinFeature.ERC20_BULK_TRANSACTION,
28622899
]
28632900
),
28642901
account(
@@ -2948,6 +2985,7 @@ export const allCoinsAndTokens = [
29482985
CoinFeature.EVM_NON_BITGO_RECOVERY,
29492986
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
29502987
CoinFeature.SUPPORTS_ERC20,
2988+
CoinFeature.ERC20_BULK_TRANSACTION,
29512989
]
29522990
),
29532991
account(
@@ -3284,6 +3322,7 @@ export const allCoinsAndTokens = [
32843322
CoinFeature.EVM_NON_BITGO_RECOVERY,
32853323
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
32863324
CoinFeature.SUPPORTS_ERC20,
3325+
CoinFeature.ERC20_BULK_TRANSACTION,
32873326
]
32883327
),
32893328
account(

modules/statics/src/coinFeatures.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -547,6 +547,7 @@ export const ZKETH_FEATURES = [
547547
CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
548548
CoinFeature.ETH_ROLLUP_CHAIN,
549549
CoinFeature.EIP1559,
550+
CoinFeature.ERC20_BULK_TRANSACTION,
550551
];
551552

552553
export const ZKSYNCERA_FEATURES = [
@@ -561,6 +562,7 @@ export const ZKSYNCERA_FEATURES = [
561562
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
562563
CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
563564
CoinFeature.ETH_ROLLUP_CHAIN,
565+
CoinFeature.ERC20_BULK_TRANSACTION,
564566
];
565567

566568
export const BERA_FEATURES = [
@@ -577,6 +579,7 @@ export const BERA_FEATURES = [
577579
CoinFeature.CUSTODY_BITGO_FRANKFURT,
578580
CoinFeature.CUSTODY_BITGO_GERMANY,
579581
CoinFeature.CUSTODY_BULK_TRANSACTION,
582+
CoinFeature.ERC20_BULK_TRANSACTION,
580583
];
581584
export const OAS_FEATURES = [
582585
...ETH_FEATURES,
@@ -587,6 +590,7 @@ export const OAS_FEATURES = [
587590
CoinFeature.BULK_TRANSACTION,
588591
CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
589592
CoinFeature.EIP1559,
593+
CoinFeature.ERC20_BULK_TRANSACTION,
590594
];
591595
export const COREDAO_FEATURES = [
592596
...ETH_FEATURES,
@@ -601,7 +605,10 @@ export const COREDAO_FEATURES = [
601605
CoinFeature.EIP1559,
602606
CoinFeature.ERC20_BULK_TRANSACTION,
603607
];
604-
export const TEMPO_FEATURES = EVM_FEATURES.filter((feature) => feature !== CoinFeature.ENTERPRISE_PAYS_FEES);
608+
export const TEMPO_FEATURES = [
609+
...EVM_FEATURES.filter((feature) => feature !== CoinFeature.ENTERPRISE_PAYS_FEES),
610+
CoinFeature.ERC20_BULK_TRANSACTION,
611+
];
605612
export const HYPERLIQUID_FEATURES = [
606613
...ACCOUNT_COIN_DEFAULT_FEATURES,
607614
CoinFeature.MULTISIG_COLD,
@@ -666,6 +673,7 @@ export const SONEIUM_FEATURES = [
666673
CoinFeature.MULTISIG_COLD,
667674
CoinFeature.MULTISIG_SUPPORT_GATED,
668675
CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
676+
CoinFeature.ERC20_BULK_TRANSACTION,
669677
];
670678

671679
export const POLYX_FEATURES = [

0 commit comments

Comments
 (0)