@@ -22,6 +22,7 @@ import {
22
22
SolCoin ,
23
23
StellarCoin ,
24
24
SuiCoin ,
25
+ TaoCoin ,
25
26
TronErc20Coin ,
26
27
VetToken ,
27
28
WorldERC20Token ,
@@ -110,6 +111,10 @@ export type Sip10TokenConfig = BaseNetworkConfig & {
110
111
assetId : string ;
111
112
} ;
112
113
114
+ export type TaoTokenConfig = BaseNetworkConfig & {
115
+ subnetId : string ;
116
+ } ;
117
+
113
118
export type Nep141TokenConfig = BaseNetworkConfig & {
114
119
contractAddress : string ;
115
120
storageDepositAmount : string ;
@@ -143,7 +148,8 @@ export type TokenConfig =
143
148
| Sip10TokenConfig
144
149
| Nep141TokenConfig
145
150
| CosmosTokenConfig
146
- | VetTokenConfig ;
151
+ | VetTokenConfig
152
+ | TaoTokenConfig ;
147
153
148
154
export interface Tokens {
149
155
bitcoin : {
@@ -210,6 +216,9 @@ export interface Tokens {
210
216
sui : {
211
217
tokens : SuiTokenConfig [ ] ;
212
218
} ;
219
+ tao : {
220
+ tokens : TaoTokenConfig [ ] ;
221
+ } ;
213
222
bera : {
214
223
tokens : EthLikeTokenConfig [ ] ;
215
224
} ;
@@ -288,6 +297,9 @@ export interface Tokens {
288
297
sui : {
289
298
tokens : SuiTokenConfig [ ] ;
290
299
} ;
300
+ tao : {
301
+ tokens : TaoTokenConfig [ ] ;
302
+ } ;
291
303
bera : {
292
304
tokens : EthLikeTokenConfig [ ] ;
293
305
} ;
@@ -345,6 +357,7 @@ export interface AmsTokenConfig {
345
357
isToken : boolean ;
346
358
baseUnit ?: string ;
347
359
kind ?: string ;
360
+ subnetId ?: string ;
348
361
}
349
362
350
363
export interface TrimmedAmsNetworkConfig {
@@ -800,6 +813,24 @@ const getFormattedSuiTokens = (customCoinMap = coins) =>
800
813
return acc ;
801
814
} , [ ] ) ;
802
815
816
+ function getTaoTokenConfig ( coin : TaoCoin ) : TaoTokenConfig {
817
+ return {
818
+ type : coin . name ,
819
+ coin : coin . network . type === NetworkType . MAINNET ? 'tao' : 'ttao' ,
820
+ network : coin . network . type === NetworkType . MAINNET ? 'Mainnet' : 'Testnet' ,
821
+ name : coin . fullName ,
822
+ decimalPlaces : coin . decimalPlaces ,
823
+ subnetId : coin . subnetId ,
824
+ } ;
825
+ }
826
+ const getFormattedTaoTokens = ( customCoinMap = coins ) =>
827
+ customCoinMap . reduce ( ( acc : TaoTokenConfig [ ] , coin ) => {
828
+ if ( coin instanceof TaoCoin ) {
829
+ acc . push ( getTaoTokenConfig ( coin ) ) ;
830
+ }
831
+ return acc ;
832
+ } , [ ] ) ;
833
+
803
834
function getAptTokenConfig ( coin : AptCoin ) : AptTokenConfig {
804
835
return {
805
836
type : coin . name ,
@@ -974,6 +1005,9 @@ export const getFormattedTokens = (coinMap = coins): Tokens => {
974
1005
sui : {
975
1006
tokens : getFormattedSuiTokens ( coinMap ) . filter ( ( token ) => token . network === 'Mainnet' ) ,
976
1007
} ,
1008
+ tao : {
1009
+ tokens : getFormattedTaoTokens ( coinMap ) . filter ( ( token ) => token . network === 'Mainnet' ) ,
1010
+ } ,
977
1011
bera : {
978
1012
tokens : getFormattedBeraTokens ( coinMap ) . filter ( ( token ) => token . network === 'Mainnet' ) ,
979
1013
} ,
@@ -1062,6 +1096,9 @@ export const getFormattedTokens = (coinMap = coins): Tokens => {
1062
1096
sui : {
1063
1097
tokens : getFormattedSuiTokens ( coinMap ) . filter ( ( token ) => token . network === 'Testnet' ) ,
1064
1098
} ,
1099
+ tao : {
1100
+ tokens : getFormattedTaoTokens ( coinMap ) . filter ( ( token ) => token . network === 'Testnet' ) ,
1101
+ } ,
1065
1102
bera : {
1066
1103
tokens : getFormattedBeraTokens ( coinMap ) . filter ( ( token ) => token . network === 'Testnet' ) ,
1067
1104
} ,
@@ -1176,6 +1213,8 @@ export function getFormattedTokenConfigForCoin(coin: Readonly<BaseCoin>): TokenC
1176
1213
return getXrpTokenConfig ( coin ) ;
1177
1214
} else if ( coin instanceof SuiCoin ) {
1178
1215
return getSuiTokenConfig ( coin ) ;
1216
+ } else if ( coin instanceof TaoCoin ) {
1217
+ return getTaoTokenConfig ( coin ) ;
1179
1218
} else if ( coin instanceof AptCoin ) {
1180
1219
return getAptTokenConfig ( coin ) ;
1181
1220
} else if ( coin instanceof AptNFTCollection ) {
0 commit comments