@@ -7,8 +7,9 @@ import router from '@/router';
77import fetch from 'cross-fetch' ;
88
99const IBC_USE_GITHUB_API = import . meta. env . VITE_IBC_USE_GITHUB_API === 'true' ;
10- const PINGPUB_API_URL = import . meta. env . VITE_PINGPUB_API_URL || 'https://registry.ping.pub'
11- const GITHUB_API_URL = import . meta. env . VITE_GITHUB_API_URL || 'https://api.github.com/repos/cosmos/chain-registry/contents' ;
10+ const PINGPUB_API_URL = import . meta. env . VITE_PINGPUB_API_URL || 'https://registry.ping.pub' ;
11+ const GITHUB_API_URL =
12+ import . meta. env . VITE_GITHUB_API_URL || 'https://api.github.com/repos/cosmos/chain-registry/contents' ;
1213const IBC_API_URL = IBC_USE_GITHUB_API ? GITHUB_API_URL : PINGPUB_API_URL ;
1314
1415export const useIBCModule = defineStore ( 'module-ibc' , {
@@ -26,25 +27,28 @@ export const useIBCModule = defineStore('module-ibc', {
2627 chainName ( ) : string {
2728 return this . chain . chainName ;
2829 } ,
30+ isFirstChain ( ) : boolean {
31+ return (
32+ this . registryConf ?. chain_1 ?. chain_name === this . chain . current ?. prettyName ||
33+ this . registryConf ?. chain_1 ?. chain_name === this . chain . chainName
34+ ) ;
35+ } ,
2936 sourceField ( ) : string {
30- return this . registryConf ?. chain_1 ?. chain_name === this . chainName
31- ? 'chain_1'
32- : 'chain_2' ;
37+ return this . isFirstChain ? 'chain_1' : 'chain_2' ;
3338 } ,
3439 destField ( ) : string {
35- return this . registryConf ?. chain_1 ?. chain_name === this . chainName
36- ? 'chain_2'
37- : 'chain_1' ;
40+ return this . isFirstChain ? 'chain_2' : 'chain_1' ;
3841 } ,
3942 registryChannels ( ) : any {
4043 return this . registryConf . channels ;
4144 } ,
4245 } ,
4346 actions : {
4447 load ( ) {
48+ const prefix = this . chain . current ?. networkType ?. includes ( 'testnet' ) ? 'testnets/' : '' ;
4549 const client = new ChainRegistryClient ( {
4650 chainNames : [ this . chainName ] ,
47- baseUrl : IBC_USE_GITHUB_API ? undefined : PINGPUB_API_URL ,
51+ baseUrl : IBC_USE_GITHUB_API ? undefined : new URL ( ` ${ prefix } ` , PINGPUB_API_URL + '/' ) . toString ( ) ,
4852 } ) ;
4953 this . fetchIBCUrls ( ) . then ( ( res ) => {
5054 res . forEach ( ( element : any ) => {
@@ -58,40 +62,35 @@ export const useIBCModule = defineStore('module-ibc', {
5862 this . info = info . sort ( ( a , b ) => {
5963 // Sort by remote chain name (not equal to this.chainName)
6064 const getRemote = ( x : any ) =>
61- x . chain_1 . chain_name === this . chainName
62- ? x . chain_2 . chain_name
63- : x . chain_1 . chain_name ;
65+ x . chain_1 . chain_name === this . isFirstChain ? x . chain_2 . chain_name : x . chain_1 . chain_name ;
6466 return getRemote ( a ) . localeCompare ( getRemote ( b ) ) ;
6567 } ) ;
6668 } ) ;
6769 } ) ;
6870 } ,
6971 async fetchIBCUrls ( ) : Promise < any [ ] > {
70- const prefix = this . chainName . includes ( 'testnet' ) ? 'testnets/' : '' ;
72+ const prefix = this . chain . current ?. networkType ? .includes ( 'testnet' ) ? 'testnets/' : '' ;
7173 const ibcEndpoint = new URL ( `${ prefix } _IBC` , IBC_API_URL + '/' ) . toString ( ) ;
7274 console . log ( 'Fetching IBC URLs from:' , IBC_API_URL ) ;
7375 let entries = await fetch ( ibcEndpoint )
7476 . then ( ( res ) => res . json ( ) )
75- . then ( ( data : any ) => Array . isArray ( data ) ? data . filter ( ( x : any ) => x . name . match ( this . chainName ) ) : [ ] ) ;
77+ . then ( ( data : any ) => ( Array . isArray ( data ) ? data . filter ( ( x : any ) => x . name . match ( this . chainName ) ) : [ ] ) ) ;
7678
7779 // If using PINGPUB_API_URL, add thedownload URLs
7880 if ( IBC_API_URL == PINGPUB_API_URL ) {
7981 return entries . map ( ( entry : any ) => {
80- entry . download_url = new URL ( `${ prefix } _IBC/${ entry . name } ` , PINGPUB_API_URL + '/' ) . toString ( ) ;
82+ entry . download_url = new URL ( `${ prefix } _IBC/${ entry . name } ` , PINGPUB_API_URL + '/' ) . toString ( ) ;
8183 return entry ;
8284 } ) ;
8385 }
84- return entries
86+ return entries ;
8587 } ,
8688 fetchConnection ( index : number ) {
8789 const res = this . info [ index ] ;
88- const isFirstChain =
89- res . chain_1 . chain_name === this . chain . current ?. prettyName ||
90- res . chain_1 . chain_name === this . chain . chainName ;
90+ const resIsFirstChain =
91+ res . chain_1 . chain_name === this . chain . current ?. prettyName || res . chain_1 . chain_name === this . chain . chainName ;
9192
92- const connId = isFirstChain
93- ? res . chain_1 . connection_id
94- : res . chain_2 . connection_id ;
93+ const connId = resIsFirstChain ? res . chain_1 . connection_id : res . chain_2 . connection_id ;
9594
9695 this . registryConf = res ;
9796 this . showConnection ( connId ) ;
0 commit comments