Skip to content

Commit 997afbb

Browse files
authored
Merge pull request #7475 from BitGo/COIN-6449-fluent
feat: add fluent eth chain config
2 parents c75db75 + 6927c0a commit 997afbb

File tree

6 files changed

+69
-0
lines changed

6 files changed

+69
-0
lines changed

modules/bitgo/test/v2/unit/keychains.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ describe('V2 Keychains', function () {
9999
n.asset !== UnderlyingAsset.BASEETH &&
100100
n.asset !== UnderlyingAsset.SOMI &&
101101
n.asset !== UnderlyingAsset.FLRP &&
102+
n.asset !== UnderlyingAsset.FLUENTETH &&
102103
coinFamilyValues.includes(n.name)
103104
);
104105

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,9 @@ const mainnetBase: EnvironmentTemplate = {
272272
hedera: {
273273
baseUrl: 'https://server-verify.hashscan.io/verify',
274274
},
275+
fluenteth: {
276+
baseUrl: 'https://testnet.fluentscan.xyz/api/', //TODO: COIN-6478: add mainnet url when available
277+
},
275278
},
276279
icpNodeUrl: 'https://ic0.app',
277280
worldExplorerBaseUrl: 'https://worldscan.org/',
@@ -412,6 +415,9 @@ const testnetBase: EnvironmentTemplate = {
412415
hedera: {
413416
baseUrl: 'https://server-verify.hashscan.io/verify',
414417
},
418+
fluenteth: {
419+
baseUrl: 'https://testnet.fluentscan.xyz/api/',
420+
},
415421
},
416422
stxNodeUrl: 'https://api.testnet.hiro.so',
417423
vetNodeUrl: 'https://sync-testnet.vechain.org',

modules/statics/src/allCoinsAndTokens.ts

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2163,6 +2163,44 @@ export const allCoinsAndTokens = [
21632163
CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
21642164
]
21652165
),
2166+
account(
2167+
'8f6ed7e4-cce2-4686-bdab-ae8f54e2c05e',
2168+
'tfluenteth',
2169+
'Testnet Fluent Ethereum',
2170+
Networks.test.fluenteth,
2171+
18,
2172+
UnderlyingAsset.FLUENTETH,
2173+
BaseUnit.ETH,
2174+
[
2175+
...EVM_FEATURES,
2176+
CoinFeature.SHARED_EVM_SDK,
2177+
CoinFeature.SHARED_EVM_SIGNING,
2178+
CoinFeature.EVM_COMPATIBLE_IMS,
2179+
CoinFeature.EVM_COMPATIBLE_UI,
2180+
],
2181+
KeyCurve.Secp256k1,
2182+
'',
2183+
'TFluentETH'
2184+
),
2185+
account(
2186+
'a7c813b4-1cd2-4a36-a807-78150d64fba4',
2187+
'fluenteth',
2188+
'Fluent Ethereum',
2189+
Networks.main.fluenteth,
2190+
18,
2191+
UnderlyingAsset.FLUENTETH,
2192+
BaseUnit.ETH,
2193+
[
2194+
...EVM_FEATURES,
2195+
CoinFeature.SHARED_EVM_SDK,
2196+
CoinFeature.SHARED_EVM_SIGNING,
2197+
CoinFeature.EVM_COMPATIBLE_IMS,
2198+
CoinFeature.EVM_COMPATIBLE_UI,
2199+
],
2200+
KeyCurve.Secp256k1,
2201+
'',
2202+
'FluentETH'
2203+
),
21662204
canton(
21672205
'07385320-5a4f-48e9-97a5-86d4be9f24b0',
21682206
'canton',

modules/statics/src/base.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ export enum CoinFamily {
117117
LINEAETH = 'lineaeth',
118118
IP = 'ip', // Story Chain
119119
SOMI = 'somi', // Somnia Chain
120+
FLUENTETH = 'fluenteth',
120121
}
121122

122123
/**
@@ -544,6 +545,7 @@ export enum UnderlyingAsset {
544545
FLOW = 'flow',
545546
FLR = 'flr',
546547
FLRP = 'flrp',
548+
FLUENTETH = 'fluenteth',
547549
GTC = 'gtc',
548550
HASH = 'hash', // Provenance
549551
HBAR = 'hbar', // Hedera main coin

modules/statics/src/networks.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1491,6 +1491,24 @@ class LineaETHTestnet extends Testnet implements EthereumNetwork {
14911491
nativeCoinOperationHashPrefix = '59141';
14921492
}
14931493

1494+
class FluentETH extends Mainnet implements EthereumNetwork {
1495+
name = 'Fluent Ethereum';
1496+
family = CoinFamily.FLUENTETH;
1497+
explorerUrl = 'https://devnet.fluentscan.xyz/tx/';
1498+
accountExplorerUrl = 'https://devnet.fluentscan.xyz/address/';
1499+
chainId = 20993;
1500+
nativeCoinOperationHashPrefix = '20993';
1501+
}
1502+
1503+
class FluentETHTestnet extends Testnet implements EthereumNetwork {
1504+
name = 'Testnet Fluent Ethereum';
1505+
family = CoinFamily.FLUENTETH;
1506+
explorerUrl = 'https://testnet.fluentscan.xyz/tx/';
1507+
accountExplorerUrl = 'https://testnet.fluentscan.xyz/address/';
1508+
chainId = 20994;
1509+
nativeCoinOperationHashPrefix = '20994';
1510+
}
1511+
14941512
class CreditcoinTestnet extends Testnet implements EthereumNetwork {
14951513
name = 'CreditcoinTestnet';
14961514
family = CoinFamily.CTC;
@@ -2075,6 +2093,7 @@ export const Networks = {
20752093
flow: Object.freeze(new Flow()),
20762094
flr: Object.freeze(new Flare()),
20772095
flrP: Object.freeze(new FlareP()),
2096+
fluenteth: Object.freeze(new FluentETH()),
20782097
hash: Object.freeze(new Hash()),
20792098
hedera: Object.freeze(new Hedera()),
20802099
hederaEVM: Object.freeze(new HederaEVM()),
@@ -2171,6 +2190,7 @@ export const Networks = {
21712190
flow: Object.freeze(new FlowTestnet()),
21722191
flr: Object.freeze(new FlareTestnet()),
21732192
flrP: Object.freeze(new FlarePTestnet()),
2193+
fluenteth: Object.freeze(new FluentETHTestnet()),
21742194
mon: Object.freeze(new MonadTestnet()),
21752195
megaeth: Object.freeze(new MegaETHTestnet()),
21762196
pyrmont: Object.freeze(new Pyrmont()),

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ export const expectedColdFeatures = {
8686
'dot',
8787
'fetchai',
8888
'flow',
89+
'fluenteth',
8990
'hash',
9091
'hbarevm',
9192
'icp',
@@ -142,6 +143,7 @@ export const expectedColdFeatures = {
142143
'tdot',
143144
'tfetchai',
144145
'tflow',
146+
'tfluenteth',
145147
'thbarevm',
146148
'tog',
147149
'tmegaeth',

0 commit comments

Comments
 (0)