Skip to content

Commit f5e3234

Browse files
authored
Merge pull request #8454 from BitGo/feat/abstracteth-integration
feat(statics): add abstracteth EVM chain
2 parents 0190ec1 + 9914e05 commit f5e3234

6 files changed

Lines changed: 82 additions & 0 deletions

File tree

modules/sdk-core/src/bitgo/environments.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,9 @@ const mainnetBase: EnvironmentTemplate = {
218218
wemixExplorerBaseUrl: 'https://api.etherscan.io/v2',
219219
sgbExplorerBaseUrl: 'https://songbird-explorer.flare.network',
220220
evm: {
221+
abstracteth: {
222+
baseUrl: 'https://api.abscan.org/api',
223+
},
221224
apechain: {
222225
baseUrl: 'https://api.etherscan.io/v2',
223226
},
@@ -433,6 +436,9 @@ const testnetBase: EnvironmentTemplate = {
433436
somniaExplorerBaseUrl: 'https://shannon-explorer.somnia.network/',
434437
soneiumExplorerBaseUrl: 'https://soneium-minato.blockscout.com',
435438
evm: {
439+
abstracteth: {
440+
baseUrl: 'https://api.sepolia.abscan.org/api',
441+
},
436442
apechain: {
437443
baseUrl: 'https://api.etherscan.io/v2',
438444
},

modules/statics/src/allCoinsAndTokens.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1519,6 +1519,42 @@ export const allCoinsAndTokens = [
15191519
BaseUnit.ETH,
15201520
COREDAO_FEATURES
15211521
),
1522+
account(
1523+
'f3bc3fef-7370-453a-a651-01a0f4d54246',
1524+
'abstracteth',
1525+
'Abstract Ethereum',
1526+
Networks.main.abstracteth,
1527+
18,
1528+
UnderlyingAsset.ABSTRACTETH,
1529+
BaseUnit.ETH,
1530+
[
1531+
...EVM_FEATURES,
1532+
CoinFeature.SHARED_EVM_SIGNING,
1533+
CoinFeature.SHARED_EVM_SDK,
1534+
CoinFeature.EVM_COMPATIBLE_IMS,
1535+
CoinFeature.EVM_COMPATIBLE_UI,
1536+
CoinFeature.EVM_COMPATIBLE_WP,
1537+
CoinFeature.SUPPORTS_ERC20,
1538+
]
1539+
),
1540+
account(
1541+
'dd6c9539-90e1-4fb1-a428-c2dee96107f8',
1542+
'tabstracteth',
1543+
'Testnet Abstract Ethereum',
1544+
Networks.test.abstracteth,
1545+
18,
1546+
UnderlyingAsset.ABSTRACTETH,
1547+
BaseUnit.ETH,
1548+
[
1549+
...EVM_FEATURES,
1550+
CoinFeature.SHARED_EVM_SIGNING,
1551+
CoinFeature.SHARED_EVM_SDK,
1552+
CoinFeature.EVM_COMPATIBLE_IMS,
1553+
CoinFeature.EVM_COMPATIBLE_UI,
1554+
CoinFeature.EVM_COMPATIBLE_WP,
1555+
CoinFeature.SUPPORTS_ERC20,
1556+
]
1557+
),
15221558
account(
15231559
'd308ba34-557a-43f2-84f3-5775f1f1a779',
15241560
'apechain',

modules/statics/src/base.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export enum CoinKind {
2121
*/
2222
export enum CoinFamily {
2323
ADA = 'ada',
24+
ABSTRACTETH = 'abstracteth', // Abstract L2 EVM
2425
APECHAIN = 'apechain',
2526
ALGO = 'algo',
2627
APT = 'apt',
@@ -557,6 +558,7 @@ export enum CoinFeature {
557558
*/
558559
export enum UnderlyingAsset {
559560
INVALID_UNKNOWN = 'invalid_asset_type',
561+
ABSTRACTETH = 'abstracteth', // Abstract L2 EVM
560562
ADA = 'ada',
561563
ALGO = 'algo',
562564
APE = 'ape',

modules/statics/src/coins/ofcCoins.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,22 @@ export const ofcCoins = [
265265
UnderlyingAsset.SEIEVM,
266266
CoinKind.CRYPTO
267267
),
268+
ofc(
269+
'8daf44a2-1615-4938-8ce7-66b0e47c38a3',
270+
'ofcabstracteth',
271+
'Abstract Ethereum',
272+
18,
273+
UnderlyingAsset.ABSTRACTETH,
274+
CoinKind.CRYPTO
275+
),
276+
tofc(
277+
'0220e727-49b9-402c-96b7-4b5c0fc055c0',
278+
'ofctabstracteth',
279+
'Abstract Ethereum Testnet',
280+
18,
281+
UnderlyingAsset.ABSTRACTETH,
282+
CoinKind.CRYPTO
283+
),
268284
ofc(
269285
'7e4fc86c-7caf-4cd3-b801-a650b0bfcf64',
270286
'ofcapechain',

modules/statics/src/networks.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1583,6 +1583,24 @@ class ApeChainTestnet extends Testnet implements EthereumNetwork {
15831583
batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
15841584
}
15851585

1586+
class AbstractEth extends Mainnet implements EthereumNetwork {
1587+
name = 'Abstract Ethereum';
1588+
family = CoinFamily.ABSTRACTETH;
1589+
explorerUrl = 'https://abscan.org/tx/';
1590+
accountExplorerUrl = 'https://abscan.org/address/';
1591+
chainId = 2741;
1592+
nativeCoinOperationHashPrefix = '2741';
1593+
}
1594+
1595+
class AbstractEthTestnet extends Testnet implements EthereumNetwork {
1596+
name = 'Testnet Abstract Ethereum';
1597+
family = CoinFamily.ABSTRACTETH;
1598+
explorerUrl = 'https://sepolia.abscan.org/tx/';
1599+
accountExplorerUrl = 'https://sepolia.abscan.org/address/';
1600+
chainId = 11124;
1601+
nativeCoinOperationHashPrefix = '11124';
1602+
}
1603+
15861604
class Pharos extends Mainnet implements EthereumNetwork {
15871605
name = 'Pharos';
15881606
family = CoinFamily.PHRS;
@@ -2644,6 +2662,7 @@ export class DynamicNetwork extends BaseNetwork {
26442662

26452663
export const Networks = {
26462664
main: {
2665+
abstracteth: Object.freeze(new AbstractEth()),
26472666
ada: Object.freeze(new Ada()),
26482667
algorand: Object.freeze(new Algorand()),
26492668
apechain: Object.freeze(new ApeChain()),
@@ -2765,6 +2784,7 @@ export const Networks = {
27652784
unieth: Object.freeze(new Unieth()),
27662785
},
27672786
test: {
2787+
abstracteth: Object.freeze(new AbstractEthTestnet()),
27682788
ada: Object.freeze(new AdaTestnet()),
27692789
algorand: Object.freeze(new AlgorandTestnet()),
27702790
apechain: Object.freeze(new ApeChainTestnet()),

modules/statics/test/unit/fixtures/expectedColdFeatures.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ export const expectedColdFeatures = {
7171
'zketh',
7272
],
7373
justTSS: [
74+
'abstracteth',
7475
'ada',
7576
'apechain',
7677
'apt',
@@ -146,6 +147,7 @@ export const expectedColdFeatures = {
146147
'kavaevm',
147148
'xdc',
148149
'zeta',
150+
'tabstracteth',
149151
'tada',
150152
'tasi',
151153
'tatom',

0 commit comments

Comments
 (0)