Skip to content

Commit 2a244cd

Browse files
feat(statics): add Scroll L2 EVM chain
TICKET: WIN-8552 Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
1 parent 9742f94 commit 2a244cd

6 files changed

Lines changed: 75 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
@@ -306,6 +306,9 @@ const mainnetBase: EnvironmentTemplate = {
306306
baseUrl: 'https://mainnet.mirrornode.hedera.com/api/v1',
307307
rpcUrl: 'https://mainnet.hashio.io/api',
308308
},
309+
scrolleth: {
310+
baseUrl: 'https://api.scrollscan.com/api',
311+
},
309312
hemieth: {
310313
baseUrl: 'https://explorer.hemi.xyz/api',
311314
},
@@ -528,6 +531,9 @@ const testnetBase: EnvironmentTemplate = {
528531
baseUrl: 'https://testnet.mirrornode.hedera.com/api/v1',
529532
rpcUrl: 'https://testnet.hashio.io/api',
530533
},
534+
tscrolleth: {
535+
baseUrl: 'https://api-sepolia.scrollscan.com/api',
536+
},
531537
hemieth: {
532538
baseUrl: 'https://testnet.explorer.hemi.xyz/api',
533539
},

modules/statics/src/allCoinsAndTokens.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2079,6 +2079,42 @@ export const allCoinsAndTokens = [
20792079
BaseUnit.ETH,
20802080
[...SONEIUM_FEATURES, CoinFeature.SHARED_EVM_SIGNING]
20812081
),
2082+
account(
2083+
'7596838b-e1c5-4072-a173-b91a7b5cb7de',
2084+
'scrolleth',
2085+
'Scroll',
2086+
Networks.main.scrolleth,
2087+
18,
2088+
UnderlyingAsset.SCROLLETH,
2089+
BaseUnit.ETH,
2090+
[
2091+
...EVM_FEATURES,
2092+
CoinFeature.SHARED_EVM_SIGNING,
2093+
CoinFeature.SHARED_EVM_SDK,
2094+
CoinFeature.EVM_COMPATIBLE_IMS,
2095+
CoinFeature.EVM_COMPATIBLE_UI,
2096+
CoinFeature.EVM_COMPATIBLE_WP,
2097+
CoinFeature.SUPPORTS_ERC20,
2098+
]
2099+
),
2100+
account(
2101+
'406827a0-9bf8-4f83-ae94-bcf22d8ecf6a',
2102+
'tscrolleth',
2103+
'Scroll Sepolia Testnet',
2104+
Networks.test.scrolleth,
2105+
18,
2106+
UnderlyingAsset.SCROLLETH,
2107+
BaseUnit.ETH,
2108+
[
2109+
...EVM_FEATURES,
2110+
CoinFeature.SHARED_EVM_SIGNING,
2111+
CoinFeature.SHARED_EVM_SDK,
2112+
CoinFeature.EVM_COMPATIBLE_IMS,
2113+
CoinFeature.EVM_COMPATIBLE_UI,
2114+
CoinFeature.EVM_COMPATIBLE_WP,
2115+
CoinFeature.SUPPORTS_ERC20,
2116+
]
2117+
),
20822118
account(
20832119
'1bf486a9-47ed-4bea-8e9a-a23a074cdc9a',
20842120
'tstt',

modules/statics/src/base.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ export enum CoinFamily {
108108
OSMO = 'osmo',
109109
PLUME = 'plume',
110110
RBTC = 'rbtc',
111+
SCROLLETH = 'scrolleth', // Scroll L2
111112
SGB = 'sgb',
112113
SEI = 'sei',
113114
SEIEVM = 'seievm',
@@ -657,6 +658,7 @@ export enum UnderlyingAsset {
657658
HYPEEVM = 'hypeevm',
658659
HYPERLIQUID = 'hyperliquid', // HyperCore L1
659660
RBTC = 'rbtc', // RSK main coin
661+
SCROLLETH = 'scrolleth', // Scroll L2
660662
SEI = 'sei',
661663
SEIEVM = 'seievm',
662664
SGB = 'sgb',

modules/statics/src/coins/ofcCoins.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,15 @@ export const ofcCoins = [
367367
UnderlyingAsset.INKETH,
368368
CoinKind.CRYPTO
369369
),
370+
ofc('f58a94a1-9f67-423a-bfd0-298f1b2411d8', 'ofcscrolleth', 'Scroll', 18, UnderlyingAsset.SCROLLETH, CoinKind.CRYPTO),
371+
tofc(
372+
'2995fd87-c9b8-4541-a112-17b0f9f74bfc',
373+
'ofctscrolleth',
374+
'Scroll Sepolia Testnet',
375+
18,
376+
UnderlyingAsset.SCROLLETH,
377+
CoinKind.CRYPTO
378+
),
370379
ofc(
371380
'bdab1ab0-215d-4d59-b698-7cc624e5027a',
372381
'ofchemieth',

modules/statics/src/networks.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2172,6 +2172,24 @@ class SoneiumTestnet extends Testnet implements EthereumNetwork {
21722172
walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
21732173
}
21742174

2175+
class ScrollEth extends Mainnet implements EthereumNetwork {
2176+
name = 'Scroll';
2177+
family = CoinFamily.SCROLLETH;
2178+
explorerUrl = 'https://scrollscan.com/tx/';
2179+
accountExplorerUrl = 'https://scrollscan.com/address/';
2180+
chainId = 534352;
2181+
nativeCoinOperationHashPrefix = '534352';
2182+
}
2183+
2184+
class ScrollEthTestnet extends Testnet implements EthereumNetwork {
2185+
name = 'Scroll Sepolia';
2186+
family = CoinFamily.SCROLLETH;
2187+
explorerUrl = 'https://sepolia.scrollscan.com/tx/';
2188+
accountExplorerUrl = 'https://sepolia.scrollscan.com/address/';
2189+
chainId = 534351;
2190+
nativeCoinOperationHashPrefix = '534351';
2191+
}
2192+
21752193
class SeiEvm extends Mainnet implements EthereumNetwork {
21762194
name = 'Seievm';
21772195
family = CoinFamily.SEIEVM;
@@ -2827,6 +2845,7 @@ export const Networks = {
28272845
rbtc: Object.freeze(new Rbtc()),
28282846
rune: Object.freeze(new Rune()),
28292847
stellar: Object.freeze(new Stellar()),
2848+
scrolleth: Object.freeze(new ScrollEth()),
28302849
sei: Object.freeze(new Sei()),
28312850
seievm: Object.freeze(new SeiEvm()),
28322851
sgb: Object.freeze(new Songbird()),
@@ -2964,6 +2983,7 @@ export const Networks = {
29642983
near: Object.freeze(new NearTestnet()),
29652984
stx: Object.freeze(new StxTestnet()),
29662985
stt: Object.freeze(new SomniaTestnet()),
2986+
scrolleth: Object.freeze(new ScrollEthTestnet()),
29672987
soneium: Object.freeze(new SoneiumTestnet()),
29682988
sonic: Object.freeze(new SonicTestnet()),
29692989
kaia: Object.freeze(new KaiaTestnet()),

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ export const expectedColdFeatures = {
101101
'hash',
102102
'hbarevm',
103103
'hemieth',
104+
'scrolleth',
104105
'inketh',
105106
'hoodeth',
106107
'hppeth',
@@ -180,6 +181,7 @@ export const expectedColdFeatures = {
180181
'th',
181182
'thbarevm',
182183
'themieth',
184+
'tscrolleth',
183185
'tinketh',
184186
'thoodeth',
185187
'thppeth',

0 commit comments

Comments
 (0)