Skip to content

Commit

Permalink
feat: add cKES
Browse files Browse the repository at this point in the history
  • Loading branch information
nvtaveras committed May 13, 2024
1 parent 7148686 commit 083a0c2
Show file tree
Hide file tree
Showing 6 changed files with 39 additions and 13 deletions.
2 changes: 0 additions & 2 deletions src/config/consts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,4 @@ export const MAX_GAS_LIMIT = '10000000' // 10 million

export const MIN_ROUNDED_VALUE = 0.0001
export const DISPLAY_DECIMALS = 4
export const MIN_EXCHANGE_RATE = 0.01 // 1<->100 ratio
export const MAX_EXCHANGE_RATE = 100 // 1<->100 ratio
export const MAX_EXCHANGE_SPREAD = 0.1 // 10%
8 changes: 8 additions & 0 deletions src/config/exchanges.ts
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,14 @@ export const BaklavaExchanges: Exchange[] = [
'0xB407D37d76c417B6343310D42611FCA106B2abB8',
],
},
{
providerAddr: '0xFF9a3da00F42839CD6D33AD7adf50bCc97B41411',
id: '0x89de88b8eb790de26f4649f543cb6893d93635c728ac857f0926e842fb0d298b',
assets: [
'0x62492A644A588FD904270BeD06ad52B9abfEA1aE',
'0x8813Ae180017057d0Cf98C930cED1E7101B97370',
],
},
]

export const CeloExchanges: Exchange[] = [
Expand Down
12 changes: 12 additions & 0 deletions src/config/tokens.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ export enum TokenId {
axlUSDC = 'axlUSDC',
axlEUROC = 'axlEUROC',
eXOF = 'eXOF',
cKES = 'cKES',
}

export const NativeStableTokenIds = [TokenId.cUSD, TokenId.cEUR, TokenId.cREAL]
Expand Down Expand Up @@ -87,6 +88,13 @@ export const eXOF: Token = Object.freeze({
color: Color.usdcBlue,
decimals: 18,
})
export const cKES: Token = Object.freeze({
id: TokenId.cKES,
symbol: TokenId.cKES,
name: 'cKES',
color: Color.usdcBlue,
decimals: 18,
})

export const Tokens: Record<TokenId, Token> = {
CELO,
Expand All @@ -97,6 +105,7 @@ export const Tokens: Record<TokenId, Token> = {
axlUSDC,
axlEUROC,
eXOF,
cKES,
}

export const TokenAddresses: Record<ChainId, Record<TokenId, Address>> = Object.freeze({
Expand All @@ -109,6 +118,7 @@ export const TokenAddresses: Record<ChainId, Record<TokenId, Address>> = Object.
[TokenId.axlUSDC]: '0x87D61dA3d668797786D73BC674F053f87111570d',
[TokenId.axlEUROC]: '0x6e673502c5b55F3169657C004e5797fFE5be6653',
[TokenId.eXOF]: '0xB0FA15e002516d0301884059c0aaC0F0C72b019D',
[TokenId.cKES]: '0x1E0433C1769271ECcF4CFF9FDdD515eefE6CdF92',
},
[ChainId.Baklava]: {
[TokenId.CELO]: '0xdDc9bE57f553fe75752D61606B94CBD7e0264eF8',
Expand All @@ -119,6 +129,7 @@ export const TokenAddresses: Record<ChainId, Record<TokenId, Address>> = Object.
[TokenId.axlUSDC]: '0xD4079B322c392D6b196f90AA4c439fC2C16d6770',
[TokenId.axlEUROC]: '0x6f90ac394b1F45290d3023e4Ba0203005cAF2A4B',
[TokenId.eXOF]: '0x64c1D812673E93Bc036AdC3D547d9950696DA5Af',
[TokenId.cKES]: '0x8813Ae180017057d0Cf98C930cED1E7101B97370',
},
[ChainId.Celo]: {
[TokenId.CELO]: '0x471EcE3750Da237f93B8E339c536989b8978a438',
Expand All @@ -129,6 +140,7 @@ export const TokenAddresses: Record<ChainId, Record<TokenId, Address>> = Object.
[TokenId.axlUSDC]: '0xEB466342C4d449BC9f53A865D5Cb90586f405215',
[TokenId.axlEUROC]: '0x061cc5a2C863E0C1Cb404006D559dB18A34C762d',
[TokenId.eXOF]: '0x73F93dcc49cB8A239e2032663e9475dd5ef29A08',
[TokenId.cKES]: '0x456a3D042C0DbD3db53D5489e98dFb038553B0d0',
},
})

Expand Down
11 changes: 0 additions & 11 deletions src/features/swap/SwapConfirm.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
import BigNumber from 'bignumber.js'
import Lottie from 'lottie-react'
import { SVGProps, useEffect, useState } from 'react'
import { toast } from 'react-toastify'
import mentoLoaderBlue from 'src/animations/Mentoloader_blue.json'
import mentoLoaderGreen from 'src/animations/Mentoloader_green.json'
import { toastToYourSuccess } from 'src/components/TxSuccessToast'
import { Button3D } from 'src/components/buttons/3DButton'
import { MAX_EXCHANGE_RATE, MIN_EXCHANGE_RATE } from 'src/config/consts'
import { TokenId, Tokens } from 'src/config/tokens'
import { useAppDispatch, useAppSelector } from 'src/features/store/hooks'
import { setFormValues } from 'src/features/swap/swapSlice'
Expand Down Expand Up @@ -106,14 +103,6 @@ export function SwapConfirmCard({ formValues }: Props) {

const onSubmit = async () => {
if (!rate || !amountWei || !address || !isConnected) return
const rateBN = new BigNumber(rate)

// ignore eXOF for now until we have a better way to handle it
const tradeHasEXOF = toTokenId === 'eXOF' || fromTokenId === 'eXOF'
if (!tradeHasEXOF && (rateBN.lt(MIN_EXCHANGE_RATE) || rateBN.gt(MAX_EXCHANGE_RATE))) {
toast.error('Rate seems incorrect')
return
}

if (!sendApproveTx || isApproveTxSuccess || isApproveTxLoading) {
logger.debug('Approve already started or finished, ignoring submit')
Expand Down
2 changes: 2 additions & 0 deletions src/images/tokens/TokenIcon.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import USDCIcon from 'src/images/tokens/USDC.svg'
import axlEUROCIcon from 'src/images/tokens/axlEUROC.svg'
import axlUSDCIcon from 'src/images/tokens/axlUSDC.svg'
import cEURIcon from 'src/images/tokens/cEUR.svg'
import cKESIcon from 'src/images/tokens/cKES.svg'
import cREALIcon from 'src/images/tokens/cREAL.svg'
import cUSDIcon from 'src/images/tokens/cUSD.svg'
import eXOFIcon from 'src/images/tokens/eXOF.svg'
Expand Down Expand Up @@ -39,6 +40,7 @@ function _TokenIcon({ token, size = 'm' }: Props) {
else if (token?.id === TokenId.axlUSDC) imgSrc = axlUSDCIcon
else if (token?.id === TokenId.axlEUROC) imgSrc = axlEUROCIcon
else if (token?.id === TokenId.eXOF) imgSrc = eXOFIcon
else if (token?.id === TokenId.cKES) imgSrc = cKESIcon

if (imgSrc) {
return (
Expand Down
17 changes: 17 additions & 0 deletions src/images/tokens/cKES.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 083a0c2

Please sign in to comment.