@@ -266,6 +266,12 @@ export interface Tokens {
266266 bera : {
267267 tokens : EthLikeTokenConfig [ ] ;
268268 } ;
269+ mon : {
270+ tokens : EthLikeTokenConfig [ ] ;
271+ } ;
272+ xdc : {
273+ tokens : EthLikeTokenConfig [ ] ;
274+ } ;
269275 apt : {
270276 tokens : AptTokenConfig [ ] ;
271277 nftCollections : AptNFTCollectionConfig [ ] ;
@@ -307,6 +313,12 @@ export interface Tokens {
307313 bsc : {
308314 tokens : EthLikeTokenConfig [ ] ;
309315 } ;
316+ mon : {
317+ tokens : EthLikeTokenConfig [ ] ;
318+ } ;
319+ xdc : {
320+ tokens : EthLikeTokenConfig [ ] ;
321+ } ;
310322 eos : {
311323 tokens : EosTokenConfig [ ] ;
312324 } ;
@@ -756,6 +768,43 @@ const getFormattedSeievmTokens = (customCoinMap = coins) =>
756768 return acc ;
757769 } , [ ] ) ;
758770
771+ function getMonadTokenConfig ( coin : EthLikeERC20Token ) : EthLikeTokenConfig {
772+ return {
773+ type : coin . name ,
774+ coin : coin . network . type === NetworkType . MAINNET ? 'mon' : 'tmon' ,
775+ network : coin . network . type === NetworkType . MAINNET ? 'Mainnet' : 'Testnet' ,
776+ name : coin . fullName ,
777+ tokenContractAddress : coin . contractAddress . toString ( ) . toLowerCase ( ) ,
778+ decimalPlaces : coin . decimalPlaces ,
779+ } ;
780+ }
781+ const getFormattedMonadTokens = ( customCoinMap = coins ) =>
782+ customCoinMap . reduce ( ( acc : EthLikeTokenConfig [ ] , coin ) => {
783+ if ( coin instanceof EthLikeERC20Token && ( coin . name . includes ( 'mon:' ) || coin . name . includes ( 'tmon:' ) ) ) {
784+ acc . push ( getMonadTokenConfig ( coin ) ) ;
785+ }
786+ return acc ;
787+ } , [ ] ) ;
788+
789+ function getXdcTokenConfig ( coin : EthLikeERC20Token ) : EthLikeTokenConfig {
790+ return {
791+ type : coin . name ,
792+ coin : coin . network . type === NetworkType . MAINNET ? 'xdc' : 'txdc' ,
793+ network : coin . network . type === NetworkType . MAINNET ? 'Mainnet' : 'Testnet' ,
794+ name : coin . fullName ,
795+ tokenContractAddress : coin . contractAddress . toString ( ) . toLowerCase ( ) ,
796+ decimalPlaces : coin . decimalPlaces ,
797+ } ;
798+ }
799+
800+ const getFormattedXdcTokens = ( customCoinMap = coins ) =>
801+ customCoinMap . reduce ( ( acc : EthLikeTokenConfig [ ] , coin ) => {
802+ if ( coin instanceof EthLikeERC20Token && ( coin . name . includes ( 'xdc:' ) || coin . name . includes ( 'txdc:' ) ) ) {
803+ acc . push ( getXdcTokenConfig ( coin ) ) ;
804+ }
805+ return acc ;
806+ } , [ ] ) ;
807+
759808function getFlowTokenConfig ( coin : EthLikeERC20Token ) : EthLikeTokenConfig {
760809 return {
761810 type : coin . name ,
@@ -1258,6 +1307,12 @@ export const getFormattedTokens = (coinMap = coins): Tokens => {
12581307 flow : {
12591308 tokens : getFormattedFlowTokens ( coinMap ) . filter ( ( token ) => token . network === 'Mainnet' ) ,
12601309 } ,
1310+ mon : {
1311+ tokens : getFormattedMonadTokens ( coinMap ) . filter ( ( token ) => token . network === 'Mainnet' ) ,
1312+ } ,
1313+ xdc : {
1314+ tokens : getFormattedXdcTokens ( coinMap ) . filter ( ( token ) => token . network === 'Mainnet' ) ,
1315+ } ,
12611316 lineaeth : {
12621317 tokens : getFormattedLineaethTokens ( coinMap ) . filter ( ( token ) => token . network === 'Mainnet' ) ,
12631318 } ,
@@ -1377,6 +1432,12 @@ export const getFormattedTokens = (coinMap = coins): Tokens => {
13771432 flow : {
13781433 tokens : getFormattedFlowTokens ( coinMap ) . filter ( ( token ) => token . network === 'Testnet' ) ,
13791434 } ,
1435+ mon : {
1436+ tokens : getFormattedMonadTokens ( coinMap ) . filter ( ( token ) => token . network === 'Testnet' ) ,
1437+ } ,
1438+ xdc : {
1439+ tokens : getFormattedXdcTokens ( coinMap ) . filter ( ( token ) => token . network === 'Testnet' ) ,
1440+ } ,
13801441 lineaeth : {
13811442 tokens : getFormattedLineaethTokens ( coinMap ) . filter ( ( token ) => token . network === 'Testnet' ) ,
13821443 } ,
0 commit comments