* feat: handle URLs with or without trailing slash * tidy: cleanup slashes
This commit is contained in:
parent
3006dbbb21
commit
f7f8136b38
12
.env.example
12
.env.example
@ -3,12 +3,12 @@ NEXT_PUBLIC_NETWORK=mainnet
|
||||
NEXT_PUBLIC_WALLET_CONNECT_ID=0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x
|
||||
|
||||
### Optional Environment Variables
|
||||
NEXT_PUBLIC_OSMOSIS_RPC=https://rpc-osmosis.blockapsis.com/
|
||||
NEXT_PUBLIC_OSMOSIS_REST=https://lcd-osmosis.blockapsis.com/
|
||||
NEXT_PUBLIC_OSMOSIS_TEST_RPC=https://rpc.devnet.osmosis.zone/
|
||||
NEXT_PUBLIC_OSMOSIS_TEST_REST=https://lcd.devnet.osmosis.zone/
|
||||
NEXT_PUBLIC_NEUTRON_TEST_RPC=https://rpc-palvus.pion-1.ntrn.tech/
|
||||
NEXT_PUBLIC_NEUTRON_TEST_REST=https://rest-palvus.pion-1.ntrn.tech/
|
||||
NEXT_PUBLIC_OSMOSIS_RPC=https://rpc-osmosis.blockapsis.com
|
||||
NEXT_PUBLIC_OSMOSIS_REST=https://lcd-osmosis.blockapsis.com
|
||||
NEXT_PUBLIC_OSMOSIS_TEST_RPC=https://rpc.devnet.osmosis.zone
|
||||
NEXT_PUBLIC_OSMOSIS_TEST_REST=https://lcd.devnet.osmosis.zone
|
||||
NEXT_PUBLIC_NEUTRON_TEST_RPC=https://rpc-palvus.pion-1.ntrn.tech
|
||||
NEXT_PUBLIC_NEUTRON_TEST_REST=https://rest-palvus.pion-1.ntrn.tech
|
||||
|
||||
### Enable the following environment variables if you have access to the charting library
|
||||
CHARTING_LIBRARY_USERNAME=git_username
|
||||
|
@ -26,8 +26,8 @@ We allow the use of environment variables to be passed to the Docker container t
|
||||
|
||||
| Variable | Description | Default |
|
||||
| ----------------- | ------------------------------------- | ---------------------------------------- |
|
||||
| URL_OSMOSIS_REST | The Osmosis node REST endpoint to use | https://lcd-osmosis.blockapsis.com/ |
|
||||
| URL_OSMOSIS_RPC | The Osmosis node RPC endpoint to use | https://rpc-osmosis.blockapsis.com/ |
|
||||
| URL_OSMOSIS_REST | The Osmosis node REST endpoint to use | https://lcd-osmosis.blockapsis.com |
|
||||
| URL_OSMOSIS_RPC | The Osmosis node RPC endpoint to use | https://rpc-osmosis.blockapsis.com |
|
||||
| WALLET_CONNECT_ID | Your projects WalletConnect v2 ID | 0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x |
|
||||
|
||||
**Sample Docker run command**
|
||||
@ -36,8 +36,8 @@ This command will start the container in interactive mode with port 3000 bound t
|
||||
|
||||
```sh
|
||||
docker run -it -p 3000:3000 \
|
||||
-e URL_OSMOSIS_REST=https://lcd-osmosis.blockapsis.com/ \
|
||||
-e URL_OSMOSIS_RPC=https://rpc-osmosis.blockapsis.com/ \
|
||||
-e URL_OSMOSIS_REST=https://lcd-osmosis.blockapsis.com \
|
||||
-e URL_OSMOSIS_RPC=https://rpc-osmosis.blockapsis.com \
|
||||
-e WALLET_CONNECT_ID=0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x marsprotocol/interface:latest
|
||||
```
|
||||
|
||||
|
@ -33,8 +33,8 @@ const Pion1: ChainConfig = {
|
||||
},
|
||||
endpoints: {
|
||||
routes: 'https://app.astroport.fi/api/routes',
|
||||
rpc: process.env.NEXT_PUBLIC_NEUTRON_TEST_RPC ?? 'https://rpc-palvus.pion-1.ntrn.tech/',
|
||||
rest: process.env.NEXT_PUBLIC_NEUTRON_TEST_REST ?? 'https://rest-palvus.pion-1.ntrn.tech/',
|
||||
rpc: process.env.NEXT_PUBLIC_NEUTRON_TEST_RPC ?? 'https://rpc-palvus.pion-1.ntrn.tech',
|
||||
rest: process.env.NEXT_PUBLIC_NEUTRON_TEST_REST ?? 'https://rest-palvus.pion-1.ntrn.tech',
|
||||
swap: 'https://testnet-neutron.astroport.fi/swap',
|
||||
pools: '', //TODO: ⛓️ Implement this
|
||||
explorer: 'https://testnet.mintscan.io/neutron-testnet',
|
||||
|
@ -9,8 +9,8 @@ const Devnet: ChainConfig = {
|
||||
name: 'Osmosis Devnet',
|
||||
endpoints: {
|
||||
...Osmosis1.endpoints,
|
||||
rpc: process.env.NEXT_PUBLIC_OSMOSIS_TEST_RPC ?? 'https://rpc-osmosis.blockapsis.com/',
|
||||
rest: process.env.NEXT_PUBLIC_OSMOSIS_TEST_REST ?? 'https://lcd-osmosis.blockapsis.com/',
|
||||
rpc: process.env.NEXT_PUBLIC_OSMOSIS_TEST_RPC ?? 'https://rpc-osmosis.blockapsis.com',
|
||||
rest: process.env.NEXT_PUBLIC_OSMOSIS_TEST_REST ?? 'https://lcd-osmosis.blockapsis.com',
|
||||
swap: 'https://testnet.osmosis.zone',
|
||||
},
|
||||
}
|
||||
|
@ -25,6 +25,7 @@ import WETHaxl from 'configs/assets/WETH.xal'
|
||||
import { VAULTS_META_DATA } from 'constants/vaults'
|
||||
import { NETWORK } from 'types/enums/network'
|
||||
import { ChainInfoID } from 'types/enums/wallet'
|
||||
import { getUrl } from 'utils/url'
|
||||
|
||||
const ASSETS = [
|
||||
{ ...OSMO, denom: 'uosmo' },
|
||||
@ -137,15 +138,15 @@ const Osmosis1: ChainConfig = {
|
||||
},
|
||||
},
|
||||
endpoints: {
|
||||
rpc: process.env.NEXT_PUBLIC_OSMOSIS_RPC ?? 'https://rpc-osmosis.blockapsis.com/',
|
||||
rest: process.env.NEXT_PUBLIC_OSMOSIS_REST ?? 'https://lcd-osmosis.blockapsis.com/',
|
||||
rpc: process.env.NEXT_PUBLIC_OSMOSIS_RPC ?? 'https://rpc-osmosis.blockapsis.com',
|
||||
rest: process.env.NEXT_PUBLIC_OSMOSIS_REST ?? 'https://lcd-osmosis.blockapsis.com',
|
||||
swap: 'https://app.osmosis.zone',
|
||||
explorer: 'https://www.mintscan.io/osmosis/transactions/',
|
||||
routes: 'https://sqs.osmosis.zone/router',
|
||||
pools:
|
||||
(process.env.NEXT_PUBLIC_OSMOSIS_REST ||
|
||||
'https://osmosis-node.marsprotocol.io/GGSFGSFGFG34/osmosis-lcd-front/') +
|
||||
pools: getUrl(
|
||||
process.env.NEXT_PUBLIC_OSMOSIS_REST ?? 'https://lcd-osmosis.blockapsis.com',
|
||||
'osmosis/gamm/v1beta1/pools/POOL_ID',
|
||||
),
|
||||
aprs: {
|
||||
vaults: 'https://api.marsprotocol.io/v1/vaults/osmosis',
|
||||
stride: 'https://edge.stride.zone/api/stake-stats',
|
||||
|
@ -1,6 +1,7 @@
|
||||
import useSWR from 'swr'
|
||||
|
||||
import useChainConfig from 'hooks/useChainConfig'
|
||||
import { getUrl } from 'utils/url'
|
||||
|
||||
export default function useWalletBalances(address?: string) {
|
||||
const chainConfig = useChainConfig()
|
||||
@ -16,13 +17,9 @@ export default function useWalletBalances(address?: string) {
|
||||
}
|
||||
|
||||
async function getWalletBalances(chainConfig: ChainConfig, address: string): Promise<Coin[]> {
|
||||
const uri = '/cosmos/bank/v1beta1/balances/'
|
||||
const uri = getUrl(chainConfig.endpoints.rest, `cosmos/bank/v1beta1/balances/${address}`)
|
||||
|
||||
const response = await fetch(
|
||||
process.env.NEXT_PUBLIC_API_KEY
|
||||
? `${chainConfig.endpoints.rest}${uri}${address}?x-apikey=${process.env.NEXT_PUBLIC_API_KEY}`
|
||||
: `${chainConfig.endpoints.rest}${uri}${address}`,
|
||||
)
|
||||
const response = await fetch(uri)
|
||||
|
||||
if (response.ok) {
|
||||
const data = await response.json()
|
||||
|
8
src/utils/url.ts
Normal file
8
src/utils/url.ts
Normal file
@ -0,0 +1,8 @@
|
||||
export const getUrl = (baseUrl: string, path: string): string => {
|
||||
const url = new URL(baseUrl)
|
||||
|
||||
if (process.env.NEXT_PUBLIC_API_KEY)
|
||||
return `${url.href}${path}?x-apikey=${process.env.NEXT_PUBLIC_API_KEY}`
|
||||
|
||||
return url.href + path
|
||||
}
|
Loading…
Reference in New Issue
Block a user