mirror of
https://github.com/luxfi/bridge.git
synced 2026-09-24 00:26:46 +00:00
new bridge ui (on remix) - initial (#304)
* initial remix boilerplate runs * remix: font support * metadata and favicons * network and tokens domain model; * network-combobox; * favicon bug; * new combobox interface * network combobox typescript issues * reverse button, etc * amount input and token selection * renamed remix-bridge to new-bridge * @hanzo/[email protected]; new scripts * lockfile --------- Co-authored-by: Zach Kelling <[email protected]>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "@luxbridge/app",
|
||||
"name": "@luxbridge/app-old",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
@@ -103,6 +103,7 @@
|
||||
"@storybook/testing-library": "^0.2.1",
|
||||
"@types/bn.js": "^5.1.0",
|
||||
"@types/crypto-js": "^4.1.1",
|
||||
"@types/lodash.merge": "^4.6.9",
|
||||
"@types/mdx": "^2.0.9",
|
||||
"@types/multicoin-address-validator": "^0.5.3",
|
||||
"@types/node": "^20.10.7",
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
import * as CurrencyInputExports from "react-currency-input-field";
|
||||
|
||||
// cf: https://github.com/cchanxzy/react-currency-input-field/issues/335
|
||||
const CurrencyInput =
|
||||
"default" in CurrencyInputExports.default
|
||||
? ((CurrencyInputExports.default as any)
|
||||
.default as React.FC<CurrencyInputExports.CurrencyInputProps>)
|
||||
: CurrencyInputExports.default;
|
||||
|
||||
type CurrencyInputOnChangeValues = CurrencyInputExports.CurrencyInputOnChangeValues
|
||||
|
||||
export {
|
||||
CurrencyInput as default,
|
||||
type CurrencyInputOnChangeValues
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
import React, { type PropsWithChildren } from 'react'
|
||||
import { cn } from '@hanzo/ui/util'
|
||||
|
||||
const Main: React.FC<PropsWithChildren & {
|
||||
id?: string
|
||||
className?: string
|
||||
headerSpace?: boolean
|
||||
standardWidth?: boolean
|
||||
}> = ({
|
||||
children,
|
||||
className='',
|
||||
headerSpace=true,
|
||||
standardWidth=true,
|
||||
id
|
||||
}) => (
|
||||
<main id={id ?? 'BRIDGE_MAIN'} className={cn(
|
||||
'flex flex-col justify-start items-center',
|
||||
'px-4 md:px-6 xl:px-0',
|
||||
standardWidth ? 'max-w-screen-xl w-full lg:mx-auto' : '',
|
||||
headerSpace ? 'pt-[44px] md:pt-[80px]' : 'py-4',
|
||||
className
|
||||
)}>
|
||||
{children}
|
||||
</main>
|
||||
)
|
||||
|
||||
export default Main
|
||||
@@ -0,0 +1,16 @@
|
||||
|
||||
import { type ListAdaptor } from '@hanzo/ui/primitives-common'
|
||||
import type { Network } from '@/domain/types'
|
||||
|
||||
export default {
|
||||
getValue: (el: Network): string => (el.internal_name),
|
||||
equals: (el1: Network, el2: Network): boolean => (
|
||||
el1.internal_name.toUpperCase() === el2.internal_name.toUpperCase()
|
||||
),
|
||||
valueEquals: (el: Network, v: string): boolean => (
|
||||
el.internal_name.toUpperCase() === v.toUpperCase()
|
||||
),
|
||||
getLabel: (el: Network): string => (el.display_name),
|
||||
getImageUrl: (el: Network): string => (el.logo),
|
||||
|
||||
} satisfies ListAdaptor<Network>
|
||||
@@ -0,0 +1,61 @@
|
||||
import React from 'react'
|
||||
|
||||
import { Combobox } from '@hanzo/ui/primitives-common'
|
||||
import { cn } from '@hanzo/ui/util'
|
||||
|
||||
import type { Network } from '@/domain/types'
|
||||
|
||||
import adaptor from './adaptor'
|
||||
import NetworkComboboxTrigger, { type NetworkTriggerProps } from './trigger'
|
||||
|
||||
const ICON_SIZE = 40
|
||||
|
||||
const NetworkCombobox: React.FC<{
|
||||
networks: Network[]
|
||||
network: Network | null
|
||||
setNetwork: (network: Network | null) => void
|
||||
searchHint?: string
|
||||
popoverClx?: string
|
||||
buttonClx?: string
|
||||
popoverAlign? : "center" | "end" | "start"
|
||||
label: string
|
||||
rightJustified?: boolean
|
||||
}> = ({
|
||||
networks,
|
||||
network,
|
||||
setNetwork,
|
||||
searchHint,
|
||||
popoverClx='',
|
||||
popoverAlign = 'center',
|
||||
buttonClx='',
|
||||
label,
|
||||
rightJustified=false
|
||||
}) => (
|
||||
|
||||
<Combobox<Network, NetworkTriggerProps>
|
||||
elements={networks}
|
||||
current={network}
|
||||
setCurrent={setNetwork}
|
||||
adaptor={adaptor}
|
||||
searchPlaceholder={searchHint}
|
||||
noCheckmark
|
||||
popoverClx={cn('font-sans font-medium w-full', popoverClx)}
|
||||
popoverAlign={popoverAlign}
|
||||
listItemClx='bg-background hover:!bg-level-3'
|
||||
listItemSelectedClx='!bg-level-2'
|
||||
Trigger={NetworkComboboxTrigger}
|
||||
triggerProps={{
|
||||
open: false,
|
||||
current: (network ?? null),
|
||||
currentLabel: null,
|
||||
imageUrl: null,
|
||||
buttonClx: cn('font-sans font-medium w-full px-2', buttonClx),
|
||||
disabled: false,
|
||||
imageSize: ICON_SIZE,
|
||||
label,
|
||||
rightJustified
|
||||
}}
|
||||
/>
|
||||
)
|
||||
|
||||
export default NetworkCombobox
|
||||
@@ -0,0 +1,64 @@
|
||||
import React from 'react'
|
||||
|
||||
import { Button, type ComboboxTriggerProps } from '@hanzo/ui/primitives-common'
|
||||
import { cn } from '@hanzo/ui/util'
|
||||
|
||||
import type { Network } from '@/domain/types'
|
||||
|
||||
interface NetworkTriggerProps extends ComboboxTriggerProps<Network>{
|
||||
label: string
|
||||
rightJustified?: boolean
|
||||
}
|
||||
|
||||
const NetworkComboboxTriggerInner = ({
|
||||
current,
|
||||
currentLabel,
|
||||
imageUrl,
|
||||
buttonClx,
|
||||
imageClx,
|
||||
imageSize,
|
||||
rightJustified=false,
|
||||
label,
|
||||
...rest
|
||||
}: NetworkTriggerProps,
|
||||
ref: React.ForwardedRef<HTMLButtonElement>
|
||||
) => (
|
||||
<Button
|
||||
ref={ref}
|
||||
{...rest}
|
||||
variant='outline'
|
||||
role='combobox'
|
||||
className={cn(
|
||||
'flex gap-1.5 rounded-lg h-auto py-1',
|
||||
rightJustified ? 'justify-start flex-row-reverse' : 'justify-start',
|
||||
buttonClx
|
||||
)}
|
||||
>
|
||||
{current ? (
|
||||
<img
|
||||
src={imageUrl!}
|
||||
alt={currentLabel + ' image'}
|
||||
height={imageSize}
|
||||
width={imageSize}
|
||||
loading="eager"
|
||||
className={cn('block rounded-md ', imageClx)}
|
||||
/>
|
||||
) : (
|
||||
<div style={{width: imageSize, height: imageSize}} />
|
||||
)}
|
||||
<div className={cn(
|
||||
'flex flex-col gap-0 ',
|
||||
rightJustified ? 'justify-end items-end' : 'justify-start items-start'
|
||||
)}>
|
||||
<span className='text-sm block text-muted-2'>{label}</span>
|
||||
<span className={cn('block font-semibold', currentLabel ? 'text-foreground' : 'text-muted')}>{ currentLabel ?? '(select)' }</span>
|
||||
</div>
|
||||
</Button>
|
||||
)
|
||||
|
||||
const NetworkComboboxTrigger = React.forwardRef(NetworkComboboxTriggerInner) as <Network, NetworkTriggerProps>(props: NetworkTriggerProps & { ref?: React.ForwardedRef<HTMLButtonElement> }) => React.ReactNode
|
||||
|
||||
export {
|
||||
NetworkComboboxTrigger as default,
|
||||
type NetworkTriggerProps
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
import { cn } from '@hanzo/ui/util'
|
||||
|
||||
import { Bridge } from '@/domain/types'
|
||||
|
||||
const BridgeLabel: React.FC<{
|
||||
bridge: Bridge
|
||||
imageSize?: number
|
||||
imageClx?: string
|
||||
className?: string
|
||||
}> = ({
|
||||
bridge : { name, logo },
|
||||
imageSize=24,
|
||||
imageClx='',
|
||||
className=''
|
||||
}) => (
|
||||
<div className={cn('flex justify-start items-center gap-2', className)}>
|
||||
<img
|
||||
src={logo}
|
||||
alt={name + ' image'}
|
||||
height={imageSize}
|
||||
width={imageSize}
|
||||
loading="eager"
|
||||
className={cn('block', imageClx)}
|
||||
/>
|
||||
<span className='block'>{name}</span>
|
||||
</div>
|
||||
)
|
||||
|
||||
export default BridgeLabel
|
||||
@@ -0,0 +1,53 @@
|
||||
import React from 'react'
|
||||
|
||||
import { cn } from '@hanzo/ui/util'
|
||||
|
||||
import type { Bridge, Network, Token } from '@/domain/types'
|
||||
import BridgeLabel from './bridge-label'
|
||||
|
||||
const ReceiveCard: React.FC<{
|
||||
from: Network
|
||||
to: Network
|
||||
token: Token
|
||||
usdValue: number
|
||||
usdFee: number
|
||||
gasInTokens: number
|
||||
txnTime: string // eg, '~5min'
|
||||
bridges?: Bridge[]
|
||||
bridge?: Bridge
|
||||
onSelect?: (bridge: Bridge) => void
|
||||
className?: string
|
||||
}> = ({
|
||||
from,
|
||||
to,
|
||||
token,
|
||||
usdValue,
|
||||
usdFee,
|
||||
gasInTokens,
|
||||
txnTime, // eg, '~5min'
|
||||
bridge,
|
||||
onSelect,
|
||||
className=''
|
||||
}) => {
|
||||
return (
|
||||
<div
|
||||
className={cn(
|
||||
'border border-muted-4 py-2 px-2',
|
||||
(!!bridge && !!onSelect) ? 'cursor-poiner' : '',
|
||||
className
|
||||
)}
|
||||
onClick={(!!bridge && !!onSelect) ? () => {onSelect(bridge)} : undefined}
|
||||
>
|
||||
<div className='flex flex-col justify-between items-center text-sm'>
|
||||
<span className='block'>Receive on {to.display_name}</span>
|
||||
{bridge ? (
|
||||
<BridgeLabel bridge={bridge} />
|
||||
) : (
|
||||
null
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default ReceiveCard
|
||||
@@ -0,0 +1,68 @@
|
||||
import { useState } from 'react'
|
||||
|
||||
import type { Network } from '@/domain/types'
|
||||
|
||||
// import DecimalInput from './decimal-input'
|
||||
import NetworkCombobox from '../network-combobox'
|
||||
import ReverseButton from './reverse-button'
|
||||
|
||||
const ABS_CENTERED = {
|
||||
position: 'absolute',
|
||||
left: '50%',
|
||||
top: '50%',
|
||||
transform: 'translate(-50%,-50%)'
|
||||
} satisfies React.CSSProperties
|
||||
|
||||
const FromToCard: React.FC<{
|
||||
from: Network | null
|
||||
to: Network | null
|
||||
fromNetworks: Network[]
|
||||
toNetworks: Network[]
|
||||
setFrom: (v: Network | null) => void
|
||||
setTo: (v: Network | null) => void
|
||||
swapFromAndTo: () => void
|
||||
className?: string
|
||||
}> = ({
|
||||
from,
|
||||
to,
|
||||
fromNetworks,
|
||||
toNetworks,
|
||||
setFrom,
|
||||
setTo,
|
||||
swapFromAndTo,
|
||||
className=''
|
||||
}) => {
|
||||
|
||||
|
||||
// 'flex w-full gap-2 relative'
|
||||
return (
|
||||
<div className={className}>
|
||||
<NetworkCombobox
|
||||
networks={fromNetworks}
|
||||
setNetwork={setFrom}
|
||||
network={from}
|
||||
buttonClx='grow pr-4'
|
||||
popoverClx='w-[350px]'
|
||||
popoverAlign='start'
|
||||
label='from'
|
||||
/>
|
||||
<NetworkCombobox
|
||||
networks={toNetworks}
|
||||
setNetwork={setTo}
|
||||
network={to}
|
||||
buttonClx='grow pl-4'
|
||||
popoverClx='w-[350px]'
|
||||
popoverAlign='end'
|
||||
label='to'
|
||||
rightJustified
|
||||
/>
|
||||
<ReverseButton
|
||||
className='p-1 h-auto text-muted active:!bg-level-3'
|
||||
onClick={swapFromAndTo}
|
||||
style={ABS_CENTERED}
|
||||
/>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default FromToCard
|
||||
@@ -0,0 +1,89 @@
|
||||
import React, { useRef, useState } from 'react'
|
||||
|
||||
import type { Network, Token } from '@/domain/types'
|
||||
|
||||
// import DecimalInput from './decimal-input'
|
||||
import TokenCard from '../token-card'
|
||||
import FromToCard from './from-to-card'
|
||||
import { cn } from '@hanzo/ui/util'
|
||||
|
||||
const SwapCard: React.FC<{
|
||||
className?: string
|
||||
fromNetworks: Network[]
|
||||
fromInitial?: Network | null
|
||||
toNetworks: Network[]
|
||||
toInitial?: Network | null
|
||||
}> = ({
|
||||
className='',
|
||||
fromNetworks,
|
||||
fromInitial,
|
||||
toNetworks,
|
||||
toInitial,
|
||||
}) => {
|
||||
|
||||
const _from = useRef<Network | null>(fromInitial ?? null)
|
||||
const _to = useRef<Network | null>(toInitial ?? null)
|
||||
const _fromNetworks = useRef<Network[]>(fromNetworks)
|
||||
const _toNetworks = useRef<Network[]>(toNetworks)
|
||||
const _token = useRef<Token | null>(fromInitial?.currencies![0] ?? null)
|
||||
const _amount = useRef<number>(0)
|
||||
const [triggerUpdate, setTriggerUpdate] = useState<boolean>(false)
|
||||
|
||||
const update = () => {setTriggerUpdate((c) => (!c))}
|
||||
|
||||
const setFrom = (v: Network | null) => {
|
||||
_from.current = v
|
||||
update()
|
||||
}
|
||||
|
||||
const setTo = (v: Network | null) => {
|
||||
_to.current = v
|
||||
update()
|
||||
}
|
||||
|
||||
const setAmount = (n: number) => {
|
||||
_amount.current = n
|
||||
}
|
||||
|
||||
const setToken = (t: Token | null) => {
|
||||
_token.current = t
|
||||
update()
|
||||
}
|
||||
|
||||
const swapFromAndTo = () => {
|
||||
const tmp = _from.current
|
||||
_from.current = _to.current
|
||||
_to.current = tmp
|
||||
const tmpNetworks = _fromNetworks.current
|
||||
_fromNetworks.current = _toNetworks.current
|
||||
_toNetworks.current = tmpNetworks
|
||||
setTriggerUpdate((c) => (!c))
|
||||
}
|
||||
|
||||
return (
|
||||
<div className={cn(
|
||||
'flex flex-col justify-start items-center p-6 rounded border border-muted-4',
|
||||
className
|
||||
)}>
|
||||
<FromToCard
|
||||
swapFromAndTo={swapFromAndTo}
|
||||
from={_from.current}
|
||||
to={_to.current}
|
||||
fromNetworks={_fromNetworks.current}
|
||||
toNetworks={_toNetworks.current}
|
||||
setFrom={setFrom}
|
||||
setTo={setTo}
|
||||
className='flex w-full gap-2 relative'
|
||||
/>
|
||||
<TokenCard
|
||||
tokens={_from.current?.currencies!}
|
||||
token={_token.current}
|
||||
setToken={setToken}
|
||||
usdValue={1}
|
||||
className='w-full rounded-lg mt-2'
|
||||
/>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default SwapCard
|
||||
@@ -0,0 +1,27 @@
|
||||
|
||||
import { ChevronsLeftRight } from 'lucide-react'
|
||||
|
||||
import { Button } from '@hanzo/ui/primitives-common'
|
||||
import { cn } from '@hanzo/ui/util'
|
||||
|
||||
const ReverseButton: React.FC<{
|
||||
onClick: () => void
|
||||
className?: string
|
||||
style?: React.CSSProperties
|
||||
}> = ({
|
||||
onClick,
|
||||
className='',
|
||||
style={}
|
||||
}) => (
|
||||
<Button
|
||||
variant='outline'
|
||||
size='sm'
|
||||
className={cn(className)}
|
||||
onClick={onClick}
|
||||
style={style}
|
||||
>
|
||||
<ChevronsLeftRight className='w-4 h-4'/>
|
||||
</Button>
|
||||
)
|
||||
|
||||
export default ReverseButton
|
||||
@@ -0,0 +1,71 @@
|
||||
import { useState } from 'react'
|
||||
|
||||
import type { Token } from '@/domain/types'
|
||||
import { cn } from '@hanzo/ui/util'
|
||||
|
||||
import CurrencyInput, { type CurrencyInputOnChangeValues } from '../currency-input'
|
||||
import TokenCombobox from '../token-combobox'
|
||||
|
||||
const TokenCard: React.FC<{
|
||||
tokens: Token[]
|
||||
token: Token | null
|
||||
setToken: (token: Token | null) => void
|
||||
usdValue: number | null // value of 1 in USD
|
||||
className?: string
|
||||
}> = ({
|
||||
tokens,
|
||||
token,
|
||||
setToken,
|
||||
usdValue,
|
||||
className=''
|
||||
}) => {
|
||||
|
||||
const [_amount, _setAmount] = useState<number>(0)
|
||||
|
||||
// component ensures a valid number string
|
||||
const onAmountChange = (
|
||||
value: string | undefined,
|
||||
formatted?: string | undefined,
|
||||
values?: CurrencyInputOnChangeValues | undefined
|
||||
) => {
|
||||
_setAmount(value ? Number(value) : 0)
|
||||
}
|
||||
|
||||
return (
|
||||
<div className={cn('border border-muted-4 py-2 pl-3 pr-1.5 has-[:focus]:border-muted', className)}>
|
||||
<div className='flex justify-between items-center gap-1'>
|
||||
<CurrencyInput
|
||||
placeholder='0'
|
||||
decimalsLimit={2}
|
||||
onValueChange={onAmountChange}
|
||||
className={
|
||||
'min-w-0 text-foreground focus:text-accent bg-level-0 p-1 ' +
|
||||
'!border-none focus:outline-none text-xl !placeholder-muted-3'
|
||||
}
|
||||
/>
|
||||
<TokenCombobox
|
||||
tokens={tokens}
|
||||
token={token}
|
||||
setToken={setToken}
|
||||
buttonClx='shrink-0 border-none'
|
||||
popoverAlign='end'
|
||||
/>
|
||||
</div>
|
||||
{ _amount > 0 && usdValue && (
|
||||
<CurrencyInput
|
||||
readOnly
|
||||
prefix='$'
|
||||
decimalsLimit={2}
|
||||
value={_amount * usdValue}
|
||||
className={
|
||||
'cursor-default text-muted bg-level-0 ' +
|
||||
'!border-none focus:outline-none text-sm'
|
||||
}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
export default TokenCard
|
||||
@@ -0,0 +1,67 @@
|
||||
import React from 'react'
|
||||
|
||||
import { Combobox, type ComboboxTriggerProps, type ListAdaptor } from '@hanzo/ui/primitives-common'
|
||||
import { cn } from '@hanzo/ui/util'
|
||||
|
||||
import type { Token } from '@/domain/types'
|
||||
|
||||
const adaptor = {
|
||||
getValue: (el: Token): string => (el.asset),
|
||||
equals: (el1: Token, el2: Token): boolean => (
|
||||
el1.asset.toUpperCase() === el2.asset.toUpperCase()
|
||||
),
|
||||
valueEquals: (el: Token, v: string): boolean => (
|
||||
el.asset.toUpperCase() === v.toUpperCase()
|
||||
),
|
||||
getLabel: (el: Token): string => (el.name),
|
||||
getImageUrl: (el: Token): string => (el.logo),
|
||||
|
||||
} satisfies ListAdaptor<Token>
|
||||
|
||||
const TokenCombobox: React.FC<{
|
||||
tokens: Token[]
|
||||
token: Token | null
|
||||
setToken: (token: Token | null) => void
|
||||
placeholder?: string
|
||||
searchHint?: string
|
||||
disabled?: boolean
|
||||
buttonClx?: string
|
||||
popoverClx?: string
|
||||
popoverAlign? : "center" | "end" | "start"
|
||||
}> = ({
|
||||
tokens,
|
||||
token,
|
||||
setToken,
|
||||
placeholder,
|
||||
searchHint,
|
||||
disabled=false,
|
||||
buttonClx='',
|
||||
popoverClx='',
|
||||
popoverAlign = 'center',
|
||||
}) => (
|
||||
|
||||
<Combobox<Token, ComboboxTriggerProps<Token>>
|
||||
elements={tokens}
|
||||
current={token}
|
||||
setCurrent={setToken}
|
||||
adaptor={adaptor}
|
||||
noCheckmark
|
||||
searchPlaceholder={searchHint}
|
||||
popoverClx={cn('font-sans font-medium w-full', popoverClx)}
|
||||
popoverAlign={popoverAlign}
|
||||
listItemClx='bg-background hover:!bg-level-3'
|
||||
listItemSelectedClx='!bg-level-2'
|
||||
triggerProps={{
|
||||
open: false,
|
||||
current: (token ?? null),
|
||||
currentLabel: null,
|
||||
imageUrl: null,
|
||||
placeholder,
|
||||
imageClx: 'rounded',
|
||||
buttonClx: cn('font-sans font-medium w-auto pl-1.5 pr-2', buttonClx),
|
||||
disabled
|
||||
}}
|
||||
/>
|
||||
)
|
||||
|
||||
export default TokenCombobox
|
||||
@@ -0,0 +1,875 @@
|
||||
[
|
||||
{
|
||||
"inputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "constructor"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "AccessControlBadConfirmation",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "account",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "bytes32",
|
||||
"name": "neededRole",
|
||||
"type": "bytes32"
|
||||
}
|
||||
],
|
||||
"name": "AccessControlUnauthorizedAccount",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "owner",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "OwnableInvalidOwner",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "account",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "OwnableUnauthorizedAccount",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "value",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "length",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "StringsInsufficientHexLength",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "to",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "AdminGranted",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "to",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "AdminRevoked",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "caller",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "uint256",
|
||||
"name": "amt",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "token",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "BridgeBurned",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "recipient",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "token",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "uint256",
|
||||
"name": "amt",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "BridgeMinted",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "recipient",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "token",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "uint256",
|
||||
"name": "amt",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "BridgeWithdrawn",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "MPCOracle",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "NewMPCOracleSet",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "address",
|
||||
"name": "previousOwner",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "address",
|
||||
"name": "newOwner",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "OwnershipTransferred",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "bytes32",
|
||||
"name": "role",
|
||||
"type": "bytes32"
|
||||
},
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "bytes32",
|
||||
"name": "previousAdminRole",
|
||||
"type": "bytes32"
|
||||
},
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "bytes32",
|
||||
"name": "newAdminRole",
|
||||
"type": "bytes32"
|
||||
}
|
||||
],
|
||||
"name": "RoleAdminChanged",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "bytes32",
|
||||
"name": "role",
|
||||
"type": "bytes32"
|
||||
},
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "address",
|
||||
"name": "account",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "address",
|
||||
"name": "sender",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "RoleGranted",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "bytes32",
|
||||
"name": "role",
|
||||
"type": "bytes32"
|
||||
},
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "address",
|
||||
"name": "account",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "address",
|
||||
"name": "sender",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "RoleRevoked",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "bytes",
|
||||
"name": "_key",
|
||||
"type": "bytes"
|
||||
}
|
||||
],
|
||||
"name": "SigMappingAdded",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "depositor",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "uint256",
|
||||
"name": "amt",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "token",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "VaultDeposit",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "receiver",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "uint256",
|
||||
"name": "amt",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "token",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "VaultWithdraw",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "DEFAULT_ADMIN_ROLE",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bytes32",
|
||||
"name": "",
|
||||
"type": "bytes32"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "asset_",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "addNewERC20Vault",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "amount_",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "tokenAddr_",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "bridgeBurn",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "string",
|
||||
"name": "hashedTxId_",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "toTokenAddress_",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "tokenAmount_",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "fromTokenDecimals_",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "receiverAddress_",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "bytes",
|
||||
"name": "signedTXInfo_",
|
||||
"type": "bytes"
|
||||
},
|
||||
{
|
||||
"internalType": "string",
|
||||
"name": "vault_",
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"name": "bridgeMintStealth",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "string",
|
||||
"name": "hashedTxId_",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "toTokenAddress_",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "tokenAmount_",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "fromTokenDecimals_",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "receiverAddress_",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "bytes",
|
||||
"name": "signedTXInfo_",
|
||||
"type": "bytes"
|
||||
},
|
||||
{
|
||||
"internalType": "string",
|
||||
"name": "vault_",
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"name": "bridgeWithdrawStealth",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "feeRate",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "key_",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "getMPCMapDataTx",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "bytes32",
|
||||
"name": "role",
|
||||
"type": "bytes32"
|
||||
}
|
||||
],
|
||||
"name": "getRoleAdmin",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bytes32",
|
||||
"name": "",
|
||||
"type": "bytes32"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "to_",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "grantAdmin",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "bytes32",
|
||||
"name": "role",
|
||||
"type": "bytes32"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "account",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "grantRole",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "bytes32",
|
||||
"name": "role",
|
||||
"type": "bytes32"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "account",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "hasRole",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "bytes",
|
||||
"name": "key_",
|
||||
"type": "bytes"
|
||||
}
|
||||
],
|
||||
"name": "keyExistsTx",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "owner",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "string",
|
||||
"name": "hashedTxId_",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "toTokenAddress_",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "tokenAmount_",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "fromTokenDecimals_",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "receiverAddress_",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "bytes",
|
||||
"name": "signedTXInfo_",
|
||||
"type": "bytes"
|
||||
},
|
||||
{
|
||||
"internalType": "string",
|
||||
"name": "vault_",
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"name": "previewBridgeStealth",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "tokenAddr_",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "previewVaultWithdraw",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "amount_",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "tokenAddr_",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "receiver_",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "pullWithdraw",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "renounceOwnership",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "bytes32",
|
||||
"name": "role",
|
||||
"type": "bytes32"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "callerConfirmation",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "renounceRole",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "to_",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "revokeAdmin",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "bytes32",
|
||||
"name": "role",
|
||||
"type": "bytes32"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "account",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "revokeRole",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "MPCO_",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "setMPCOracle",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address payable",
|
||||
"name": "vault_",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "setVault",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "payoutAddress_",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "feeRate_",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "setpayoutAddressess",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "bytes4",
|
||||
"name": "interfaceId",
|
||||
"type": "bytes4"
|
||||
}
|
||||
],
|
||||
"name": "supportsInterface",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "newOwner",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "transferOwnership",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "vault",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "contract LuxVault",
|
||||
"name": "",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "amount_",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "tokenAddr_",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "vaultDeposit",
|
||||
"outputs": [],
|
||||
"stateMutability": "payable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"stateMutability": "payable",
|
||||
"type": "receive"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,351 @@
|
||||
[
|
||||
{
|
||||
"inputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "constructor"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "spender",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "allowance",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "needed",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "ERC20InsufficientAllowance",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "sender",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "balance",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "needed",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "ERC20InsufficientBalance",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "approver",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "ERC20InvalidApprover",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "receiver",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "ERC20InvalidReceiver",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "sender",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "ERC20InvalidSender",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "spender",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "ERC20InvalidSpender",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "address",
|
||||
"name": "owner",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "address",
|
||||
"name": "spender",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "uint256",
|
||||
"name": "value",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "Approval",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "address",
|
||||
"name": "from",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "address",
|
||||
"name": "to",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "uint256",
|
||||
"name": "value",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "Transfer",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "owner",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "spender",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "allowance",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "spender",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "value",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "approve",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "account",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "balanceOf",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "account",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "amount",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "burn",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "decimals",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint8",
|
||||
"name": "",
|
||||
"type": "uint8"
|
||||
}
|
||||
],
|
||||
"stateMutability": "pure",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "account",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "amount",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "mint",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "name",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "string",
|
||||
"name": "",
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "symbol",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "string",
|
||||
"name": "",
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "totalSupply",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "to",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "value",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "transfer",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "from",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "to",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "value",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "transferFrom",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,380 @@
|
||||
import { type Network } from "@/domain/types"
|
||||
|
||||
const sourceNetworks: Network[] = [
|
||||
{
|
||||
display_name: "Bitcoin",
|
||||
internal_name: "BITCOIN_MAINNET",
|
||||
native_currency: "BTC",
|
||||
logo: "https://cdn.lux.network/bridge/networks/bitcoin_mainnet.png",
|
||||
is_testnet: false,
|
||||
is_featured: true,
|
||||
average_completion_time: "00:04:39.5276290",
|
||||
chain_id: null,
|
||||
status: "active",
|
||||
type: "btc",
|
||||
deposit_address: {
|
||||
address: "bc1qx6t60aknh95vjmnudf48mfjvwm47a607prqv4t"
|
||||
},
|
||||
refuel_amount_in_usd: 1,
|
||||
transaction_explorer_template: "https://btcscan.org/tx/{0}",
|
||||
account_explorer_template: "https://btcscan.org/address/{0}",
|
||||
node: "",
|
||||
currencies: [
|
||||
{
|
||||
name: "BTC",
|
||||
asset: "BTC",
|
||||
contract_address: "",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/btc.png",
|
||||
decimals: 8,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: false,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 0,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
display_name: "Solana",
|
||||
internal_name: "SOLANA_MAINNET",
|
||||
native_currency: "SOL",
|
||||
logo: "https://cdn.lux.network/bridge/networks/solana_mainnet.png",
|
||||
is_testnet: false,
|
||||
is_featured: false,
|
||||
average_completion_time: "00:03:07.9874770",
|
||||
chain_id: null,
|
||||
status: "active",
|
||||
type: "solana",
|
||||
deposit_address: {
|
||||
address: "52n85bTwSqkXuZxsz5sVEtzC7WQDMva228iUY2wZkLN1"
|
||||
},
|
||||
refuel_amount_in_usd: 1,
|
||||
transaction_explorer_template: "https://explorer.solana.com/tx/{0}",
|
||||
account_explorer_template: "https://explorer.solana.com/address/{0}",
|
||||
node: "https://odella-kzfk20-fast-mainnet.helius-rpc.com/",
|
||||
currencies: [
|
||||
{
|
||||
name: "SOL",
|
||||
asset: "SOL",
|
||||
contract_address: null,
|
||||
logo: "https://cdn.lux.network/bridge/currencies/sol.png",
|
||||
decimals: 9,
|
||||
status: "active",
|
||||
is_deposit_enabled: false,
|
||||
is_withdrawal_enabled: false,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 0,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
{
|
||||
name: "WETH",
|
||||
asset: "WETH",
|
||||
contract_address: "7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/ethereum_eth.svg",
|
||||
decimals: 8,
|
||||
status: "active",
|
||||
is_deposit_enabled: false,
|
||||
is_withdrawal_enabled: false,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 0,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "USDC",
|
||||
asset: "USDC",
|
||||
contract_address: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/usdc.png",
|
||||
decimals: 6,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
display_name: "Ton",
|
||||
internal_name: "TON_MAINNET",
|
||||
native_currency: "TON",
|
||||
logo: "https://cdn.lux.network/bridge/networks/ton_mainnet.svg",
|
||||
is_testnet: false,
|
||||
is_featured: false,
|
||||
average_completion_time: "00:04:39.5276290",
|
||||
chain_id: null,
|
||||
status: "active",
|
||||
type: "ton",
|
||||
deposit_address: {
|
||||
address: "UQCdW7qm_Kh3zX6YdBPxK9_bHq1D7gowVkDEb2ekxb9GdR8P",
|
||||
memo: "BCE7D5F9B0A66291B221"
|
||||
},
|
||||
refuel_amount_in_usd: 1,
|
||||
transaction_explorer_template: "https://tonscan.org/tx/{0}",
|
||||
account_explorer_template: "https://tonscan.org/address/{0}",
|
||||
node: "UQAvirnJ3tWyhjU0At4qRr-Miph3bI_38vgp0h73SHTl3TDB",
|
||||
currencies: [
|
||||
{
|
||||
name: "TON",
|
||||
asset: "TON",
|
||||
contract_address: null,
|
||||
logo: "https://cdn.lux.network/bridge/currencies/ton.svg",
|
||||
decimals: 9,
|
||||
status: "active",
|
||||
is_deposit_enabled: false,
|
||||
is_withdrawal_enabled: false,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 0,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
{
|
||||
name: "jUSDC",
|
||||
asset: "jUSDC",
|
||||
contract_address: "EQB-MPwrd1G6WKNkLz_VnV6WqBDd142KMQv-g1O-8QUA3728",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/usdc.png",
|
||||
decimals: 6,
|
||||
status: "active",
|
||||
is_deposit_enabled: false,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 500,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
],
|
||||
}
|
||||
];
|
||||
const destinationNetworks: Network[] = [
|
||||
{
|
||||
display_name: "Lux",
|
||||
internal_name: "LUX_MAINNET",
|
||||
native_currency: "LUX",
|
||||
logo: "https://cdn.lux.network/bridge/networks/lux_mainnet.png",
|
||||
is_testnet: false,
|
||||
is_featured: true,
|
||||
average_completion_time: "00:00:07.7777777",
|
||||
chain_id: 7777,
|
||||
status: "active",
|
||||
type: "evm",
|
||||
refuel_amount_in_usd: 1,
|
||||
transaction_explorer_template: "https://explore.lux.network/tx/{0}",
|
||||
account_explorer_template: "https://explore.lux.network/address/{0}",
|
||||
node: "https://api.lux.network",
|
||||
currencies: [
|
||||
{
|
||||
name: "LUX",
|
||||
asset: "LUX",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/lux.svg",
|
||||
contract_address: "0x0000000000000000000000000000000000000000",
|
||||
decimals: 18,
|
||||
status: "inactive",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
{
|
||||
name: "Lux BTC",
|
||||
asset: "LBTC",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/lbtc.svg",
|
||||
contract_address: "0xebD1Ee9BCAaeE50085077651c1a2dD452fc6b72e",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "Lux ETH",
|
||||
asset: "LETH",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/leth.svg",
|
||||
contract_address: "0x2951A9386df11a4EA8ae5A823B94DC257dEb35Cb",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "Lux POL",
|
||||
asset: "LPOL",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/lpol.svg",
|
||||
contract_address: "0x9F47CeB09cb88362f0274Bb354a9807Fd976D963",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "Lux BNB",
|
||||
asset: "LBNB",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/lbnb.svg",
|
||||
contract_address: "0xcf963Fe4E4cE126047147661e6e06e171f366506",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "Lux FTM",
|
||||
asset: "LFTM",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/lftm.svg",
|
||||
contract_address: "0x15BA7dCA26c63029E33C81f7B3978B54Bc0CB08B",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "Lux CELO",
|
||||
asset: "LCELO",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/lcelo.svg",
|
||||
contract_address: "0xD257ADA332da217c78959A609e97c71ce5214925",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "Lux xDAI",
|
||||
asset: "LXDAI",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/ldai.svg",
|
||||
contract_address: "0x0D15251ad56cE56cC22588F6645c20ee7d77aE39",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "Lux SOL",
|
||||
asset: "LSOL",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/lsol.svg",
|
||||
contract_address: "0x372b3B7Cb87A7aE9Cb024861775f01015A71058C",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "Lux TON",
|
||||
asset: "LTON",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/lton.svg",
|
||||
contract_address: "0xa4AA40ff2F2Cbe4FFcDfa5fF2A466fa7aF3390e5",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "Lux Dollar",
|
||||
asset: "LUSD",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/lusd.svg",
|
||||
contract_address: "0x42b733cA4b3A8FC0237dBE39A47441cfD525f0F1",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
],
|
||||
}
|
||||
];
|
||||
export default { sourceNetworks, destinationNetworks }
|
||||
|
||||
|
||||
@@ -0,0 +1,564 @@
|
||||
import { type Network } from "@/domain/types"
|
||||
|
||||
const sourceNetworks: Network[] = [
|
||||
{
|
||||
display_name: "Bitcoin Testnet",
|
||||
internal_name: "BITCOIN_TESTNET",
|
||||
native_currency: "BTC",
|
||||
logo: "https://cdn.lux.network/bridge/networks/bitcoin_mainnet.png",
|
||||
is_testnet: true,
|
||||
is_featured: true,
|
||||
average_completion_time: "00:04:39.5276290",
|
||||
chain_id: null,
|
||||
status: "active",
|
||||
type: "btc",
|
||||
deposit_address: {
|
||||
address: "tb1qgps3lt0lz3mufdnmj3lhcnpfh48s2u53996xdv",
|
||||
},
|
||||
refuel_amount_in_usd: 1,
|
||||
transaction_explorer_template: "https://blockstream.info/testnet/tx/{0}",
|
||||
account_explorer_template: "https://blockstream.info/testnet/address/{0}",
|
||||
node: "",
|
||||
currencies: [
|
||||
{
|
||||
name: "BTC",
|
||||
asset: "BTC",
|
||||
contract_address: "",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/btc.png",
|
||||
decimals: 8,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: false,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 0,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
display_name: "Ethereum Sepolia",
|
||||
internal_name: "ETHEREUM_SEPOLIA",
|
||||
native_currency: "ETH",
|
||||
logo: "https://cdn.lux.network/bridge/networks/ethereum_sepolia.png",
|
||||
is_testnet: true,
|
||||
is_featured: true,
|
||||
average_completion_time: "00:01:04.0494430",
|
||||
chain_id: 11155111,
|
||||
status: "active",
|
||||
type: "evm",
|
||||
deposit_address: {
|
||||
address: "0xD4952A4c2644469D59F9dE340E0e829e51836Dec",
|
||||
},
|
||||
refuel_amount_in_usd: 0.5,
|
||||
transaction_explorer_template: "https://sepolia.etherscan.io/tx/{0}",
|
||||
account_explorer_template: "https://sepolia.etherscan.io/address/{0}",
|
||||
node: "https://old-green-glade.ethereum-sepolia.quiknode.pro/0523b575936957f0e7eae638096d19465aae8f8c/",
|
||||
currencies: [
|
||||
{
|
||||
name: "ETH",
|
||||
asset: "ETH",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/ethereum_eth.svg",
|
||||
contract_address: "0x0000000000000000000000000000000000000000",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
{
|
||||
name: "USDT",
|
||||
asset: "USDT",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/usdt.png",
|
||||
contract_address: "0xE9FF4E487ffcA25a765D5445CC8665128Ac35820",
|
||||
decimals: 6,
|
||||
status: "inactive",
|
||||
is_deposit_enabled: false,
|
||||
is_withdrawal_enabled: false,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 0,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 1,
|
||||
destination_base_fee: 1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "USDC",
|
||||
asset: "USDC",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/usdc.png",
|
||||
contract_address: "0x299e04DE65090D3C48019893e369A7983124c514",
|
||||
decimals: 6,
|
||||
status: "inactive",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "DAI",
|
||||
asset: "DAI",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/dai.png",
|
||||
contract_address: "0x3FADaC51B852273e11Da42Db30714FddA785b8C5",
|
||||
decimals: 18,
|
||||
status: "inactive",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
display_name: "Base Sepolia",
|
||||
internal_name: "BASE_SEPOLIA",
|
||||
native_currency: "ETH",
|
||||
logo: "https://cdn.lux.network/bridge/networks/base_mainnet.png",
|
||||
is_testnet: true,
|
||||
is_featured: true,
|
||||
average_completion_time: "00:01:04.0494430",
|
||||
chain_id: 84532, //base sepolia
|
||||
status: "active",
|
||||
type: "evm",
|
||||
deposit_address: {
|
||||
address: "0xD4952A4c2644469D59F9dE340E0e829e51836Dec",
|
||||
},
|
||||
refuel_amount_in_usd: 0.5,
|
||||
transaction_explorer_template: "https://sepolia.basescan.org/tx/{0}", // sepolia
|
||||
account_explorer_template: "https://sepolia.basescan.org/address/{0}", // sepolia
|
||||
node: "https://sepolia.base.org", // sepolia
|
||||
currencies: [
|
||||
{
|
||||
name: "ETH",
|
||||
asset: "ETH",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/ethereum_eth.svg",
|
||||
contract_address: "0x0000000000000000000000000000000000000000",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
{
|
||||
name: "USDT",
|
||||
asset: "USDT",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/usdt.png",
|
||||
contract_address: "0x46390FA219b22f739C63F0bF1c165a1FBc30B57c",
|
||||
decimals: 6,
|
||||
status: "inactive",
|
||||
is_deposit_enabled: false,
|
||||
is_withdrawal_enabled: false,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 0,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "USDC",
|
||||
asset: "USDC",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/usdc.png",
|
||||
contract_address: "0xE49355609F94A4B8a2EfC6FBd077542F8EC90080", //sepolia
|
||||
decimals: 6,
|
||||
status: "inactive",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "DAI",
|
||||
asset: "DAI",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/dai.png",
|
||||
contract_address: "0x568BF299E115D78a1fBa57BafdAe0fD8A26BFb7e",
|
||||
decimals: 18,
|
||||
status: "inactive",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
display_name: "Solana Testnet",
|
||||
internal_name: "SOLANA_TESTNET",
|
||||
native_currency: "SOL",
|
||||
logo: "https://cdn.lux.network/bridge/networks/solana_mainnet.png",
|
||||
is_testnet: true,
|
||||
is_featured: false,
|
||||
average_completion_time: "00:03:07.9874770",
|
||||
chain_id: null,
|
||||
status: "active",
|
||||
type: "solana",
|
||||
deposit_address: {
|
||||
address: "DsBiAAy92HtjXKFf78ZTQKCaMDuMGyUeh6v7pPSHrVbY",
|
||||
},
|
||||
refuel_amount_in_usd: 1,
|
||||
transaction_explorer_template:
|
||||
"https://explorer.solana.com/?cluster=testnet/tx/{0}",
|
||||
account_explorer_template:
|
||||
"https://explorer.solana.com/?cluster=testnet/address/{0}",
|
||||
node: "https://api.testnet.solana.com",
|
||||
currencies: [
|
||||
{
|
||||
name: "SOL",
|
||||
asset: "SOL",
|
||||
contract_address: null,
|
||||
logo: "https://cdn.lux.network/bridge/currencies/sol.png",
|
||||
decimals: 9,
|
||||
status: "active",
|
||||
is_deposit_enabled: false,
|
||||
is_withdrawal_enabled: false,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 0,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
display_name: "Solana Devnet",
|
||||
internal_name: "SOLANA_DEVNET",
|
||||
native_currency: "SOL",
|
||||
logo: "https://cdn.lux.network/bridge/networks/solana_mainnet.png",
|
||||
is_testnet: true,
|
||||
is_featured: false,
|
||||
average_completion_time: "00:03:07.9874770",
|
||||
chain_id: null,
|
||||
status: "active",
|
||||
type: "solana",
|
||||
deposit_address: {
|
||||
address: "DsBiAAy92HtjXKFf78ZTQKCaMDuMGyUeh6v7pPSHrVbY",
|
||||
},
|
||||
refuel_amount_in_usd: 1,
|
||||
transaction_explorer_template:
|
||||
"https://explorer.solana.com/?cluster=testnet/tx/{0}",
|
||||
account_explorer_template:
|
||||
"https://explorer.solana.com/?cluster=testnet/address/{0}",
|
||||
node: "https://api.testnet.solana.com",
|
||||
currencies: [
|
||||
{
|
||||
name: "SOL",
|
||||
asset: "SOL",
|
||||
contract_address: null,
|
||||
logo: "https://cdn.lux.network/bridge/currencies/sol.png",
|
||||
decimals: 9,
|
||||
status: "active",
|
||||
is_deposit_enabled: false,
|
||||
is_withdrawal_enabled: false,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 0,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
display_name: "Ton Testnet",
|
||||
internal_name: "TON_TESTNET",
|
||||
native_currency: "TON",
|
||||
logo: "https://cdn.lux.network/bridge/networks/ton_mainnet.svg",
|
||||
is_testnet: false,
|
||||
is_featured: false,
|
||||
average_completion_time: "00:04:39.5276290",
|
||||
chain_id: null,
|
||||
status: "active",
|
||||
type: "ton",
|
||||
deposit_address: {
|
||||
address: "0QDMXrj5n4ldLGoq9l0svifDORdTLnKsOEH6ClAEXX5qj1Sq",
|
||||
memo: "70A09E871BFAFCB0A216",
|
||||
},
|
||||
refuel_amount_in_usd: 1,
|
||||
transaction_explorer_template: "https://tonscan.org/tx/{0}",
|
||||
account_explorer_template: "https://tonscan.org/address/{0}",
|
||||
node: "UQAvirnJ3tWyhjU0At4qRr-Miph3bI_38vgp0h73SHTl3TDB",
|
||||
currencies: [
|
||||
{
|
||||
name: "TON",
|
||||
asset: "TON",
|
||||
contract_address: null,
|
||||
logo: "https://cdn.lux.network/bridge/currencies/ton.svg",
|
||||
decimals: 9,
|
||||
status: "active",
|
||||
is_deposit_enabled: false,
|
||||
is_withdrawal_enabled: false,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 0,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
{
|
||||
name: "jUSDC",
|
||||
asset: "jUSDC",
|
||||
contract_address: "EQB-MPwrd1G6WKNkLz_VnV6WqBDd142KMQv-g1O-8QUA3728",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/usdc.png",
|
||||
decimals: 6,
|
||||
status: "inactive",
|
||||
is_deposit_enabled: false,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 500,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
const destinationNetworks: Network[] = [
|
||||
{
|
||||
display_name: "Lux Testnet",
|
||||
internal_name: "LUX_TESTNET",
|
||||
native_currency: "LUX",
|
||||
logo: "https://cdn.lux.network/bridge/networks/lux_mainnet.png",
|
||||
is_testnet: false,
|
||||
is_featured: true,
|
||||
average_completion_time: "00:00:07.7777777",
|
||||
chain_id: 7777,
|
||||
status: "active",
|
||||
type: "evm",
|
||||
refuel_amount_in_usd: 1,
|
||||
transaction_explorer_template: "https://explore.lux-test.network/tx/{0}",
|
||||
account_explorer_template: "https://explore.lux-test.network/address/{0}",
|
||||
node: "https://api.lux-test.network",
|
||||
currencies: [
|
||||
{
|
||||
name: "LUX",
|
||||
asset: "LUX",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/lux.svg",
|
||||
contract_address: "0x0000000000000000000000000000000000000000",
|
||||
decimals: 18,
|
||||
status: "inactive",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
{
|
||||
name: "Lux BTC",
|
||||
asset: "LBTC",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/lbtc.svg",
|
||||
contract_address: "0xebD1Ee9BCAaeE50085077651c1a2dD452fc6b72e",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "Lux ETH",
|
||||
asset: "LETH",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/leth.svg",
|
||||
contract_address: "0x2951A9386df11a4EA8ae5A823B94DC257dEb35Cb",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "Lux POL",
|
||||
asset: "LPOL",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/lpol.svg",
|
||||
contract_address: "0x9F47CeB09cb88362f0274Bb354a9807Fd976D963",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "Lux BNB",
|
||||
asset: "LBNB",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/lbnb.svg",
|
||||
contract_address: "0xcf963Fe4E4cE126047147661e6e06e171f366506",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "Lux FTM",
|
||||
asset: "LFTM",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/lftm.svg",
|
||||
contract_address: "0x15BA7dCA26c63029E33C81f7B3978B54Bc0CB08B",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "Lux CELO",
|
||||
asset: "LCELO",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/lcelo.svg",
|
||||
contract_address: "0xD257ADA332da217c78959A609e97c71ce5214925",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "Lux xDAI",
|
||||
asset: "LXDAI",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/ldai.svg",
|
||||
contract_address: "0x0D15251ad56cE56cC22588F6645c20ee7d77aE39",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "Lux SOL",
|
||||
asset: "LSOL",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/lsol.svg",
|
||||
contract_address: "0x372b3B7Cb87A7aE9Cb024861775f01015A71058C",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "Lux TON",
|
||||
asset: "LTON",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/lton.svg",
|
||||
contract_address: "0xa4AA40ff2F2Cbe4FFcDfa5fF2A466fa7aF3390e5",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: "Lux Dollar",
|
||||
asset: "LUSD",
|
||||
logo: "https://cdn.lux.network/bridge/currencies/lux/lusd.svg",
|
||||
contract_address: "0x42b733cA4b3A8FC0237dBE39A47441cfD525f0F1",
|
||||
decimals: 18,
|
||||
status: "active",
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
export default { sourceNetworks, destinationNetworks };
|
||||
@@ -0,0 +1,108 @@
|
||||
export const CONTRACTS = {
|
||||
1: {
|
||||
chain_id: 1,
|
||||
teleporter: "",
|
||||
vault: "",
|
||||
},
|
||||
137: {
|
||||
chain_id: 137,
|
||||
teleporter: "",
|
||||
vault: "",
|
||||
},
|
||||
10: {
|
||||
chain_id: 10,
|
||||
teleporter: "",
|
||||
vault: "",
|
||||
},
|
||||
42161: {
|
||||
chain_id: 42161,
|
||||
teleporter: "",
|
||||
vault: "",
|
||||
},
|
||||
42220: {
|
||||
chain_id: 42220,
|
||||
teleporter: "",
|
||||
vault: "",
|
||||
},
|
||||
8453: {
|
||||
chain_id: 8453,
|
||||
teleporter: "",
|
||||
vault: "",
|
||||
},
|
||||
100: {
|
||||
chain_id: 100,
|
||||
teleporter: "",
|
||||
vault: "",
|
||||
},
|
||||
43114: {
|
||||
chain_id: 43114,
|
||||
teleporter: "",
|
||||
vault: "",
|
||||
},
|
||||
250: {
|
||||
chain_id: 250,
|
||||
teleporter: "",
|
||||
vault: "",
|
||||
},
|
||||
1313161554: {
|
||||
chain_id: 1313161554,
|
||||
teleporter: "",
|
||||
vault: "",
|
||||
},
|
||||
7777777: {
|
||||
chain_id: 7777777,
|
||||
teleporter: "",
|
||||
vault: "",
|
||||
},
|
||||
81457: {
|
||||
chain_id: 81457,
|
||||
teleporter: "",
|
||||
vault: "",
|
||||
},
|
||||
59144: {
|
||||
chain_id: 59144,
|
||||
teleporter: "",
|
||||
vault: "",
|
||||
},
|
||||
97: {
|
||||
//bsc testnet
|
||||
chain_id: 97,
|
||||
teleporter: "0x568BF299E115D78a1fBa57BafdAe0fD8A26BFb7e",
|
||||
vault: "0xE49355609F94A4B8a2EfC6FBd077542F8EC90080",
|
||||
},
|
||||
8888: {
|
||||
// lux testnet
|
||||
chain_id: 8888,
|
||||
teleporter: "0x23E4BFDAC278FFE22DbBFAc5c1474E10cE7631CD",
|
||||
vault: "0x43A4Ab078Edcd3e28385C714950fd099c9595279",
|
||||
},
|
||||
84532: {
|
||||
// base testnet
|
||||
chain_id: 84532,
|
||||
teleporter: "0x6374d9d1E0CB5eA5e77D92E9a306f7f2ec41660a",
|
||||
vault: "0x3Aa3179Bd3A8b1d8269dd840E39f8112fb3eD27a",
|
||||
},
|
||||
11155111: {
|
||||
// sepolia
|
||||
chain_id: 11155111,
|
||||
teleporter: "0x306533aaedc8d2e28F05a7d42E999730C45aB5B1",
|
||||
vault: "0xF2d3BE50D818d48A4e516FbaBb61609F9792CfA6",
|
||||
},
|
||||
};
|
||||
|
||||
export const SWAP_PAIRS: Record<string, string[]> = {
|
||||
BTC: ["LBTC"],
|
||||
WETH: ["LETH"],
|
||||
ETH: ["LETH"],
|
||||
TON: ["LTON"],
|
||||
SOL: ["LSOL"],
|
||||
jUSDC: ["LUSD"],
|
||||
POL: ["LPOL"],
|
||||
BNB: ["LBNB"],
|
||||
FTM: ["LFTM"],
|
||||
DAI: ["LUSD"],
|
||||
USDT: ["LUSD"],
|
||||
USDC: ["LUSD"],
|
||||
CELO: ["LCELO"],
|
||||
XDAI: ["LXDAI"],
|
||||
};
|
||||
@@ -0,0 +1,875 @@
|
||||
[
|
||||
{
|
||||
"inputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "constructor"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "AccessControlBadConfirmation",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "account",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "bytes32",
|
||||
"name": "neededRole",
|
||||
"type": "bytes32"
|
||||
}
|
||||
],
|
||||
"name": "AccessControlUnauthorizedAccount",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "owner",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "OwnableInvalidOwner",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "account",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "OwnableUnauthorizedAccount",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "value",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "length",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "StringsInsufficientHexLength",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "to",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "AdminGranted",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "to",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "AdminRevoked",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "caller",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "uint256",
|
||||
"name": "amt",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "token",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "BridgeBurned",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "recipient",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "token",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "uint256",
|
||||
"name": "amt",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "BridgeMinted",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "recipient",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "token",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "uint256",
|
||||
"name": "amt",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "BridgeWithdrawn",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "MPCOracle",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "NewMPCOracleSet",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "address",
|
||||
"name": "previousOwner",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "address",
|
||||
"name": "newOwner",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "OwnershipTransferred",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "bytes32",
|
||||
"name": "role",
|
||||
"type": "bytes32"
|
||||
},
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "bytes32",
|
||||
"name": "previousAdminRole",
|
||||
"type": "bytes32"
|
||||
},
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "bytes32",
|
||||
"name": "newAdminRole",
|
||||
"type": "bytes32"
|
||||
}
|
||||
],
|
||||
"name": "RoleAdminChanged",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "bytes32",
|
||||
"name": "role",
|
||||
"type": "bytes32"
|
||||
},
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "address",
|
||||
"name": "account",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "address",
|
||||
"name": "sender",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "RoleGranted",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "bytes32",
|
||||
"name": "role",
|
||||
"type": "bytes32"
|
||||
},
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "address",
|
||||
"name": "account",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "address",
|
||||
"name": "sender",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "RoleRevoked",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "bytes",
|
||||
"name": "_key",
|
||||
"type": "bytes"
|
||||
}
|
||||
],
|
||||
"name": "SigMappingAdded",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "depositor",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "uint256",
|
||||
"name": "amt",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "token",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "VaultDeposit",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "receiver",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "uint256",
|
||||
"name": "amt",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "address",
|
||||
"name": "token",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "VaultWithdraw",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "DEFAULT_ADMIN_ROLE",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bytes32",
|
||||
"name": "",
|
||||
"type": "bytes32"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "asset_",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "addNewERC20Vault",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "amount_",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "tokenAddr_",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "bridgeBurn",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "string",
|
||||
"name": "hashedTxId_",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "toTokenAddress_",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "tokenAmount_",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "fromTokenDecimals_",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "receiverAddress_",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "bytes",
|
||||
"name": "signedTXInfo_",
|
||||
"type": "bytes"
|
||||
},
|
||||
{
|
||||
"internalType": "string",
|
||||
"name": "vault_",
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"name": "bridgeMintStealth",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "string",
|
||||
"name": "hashedTxId_",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "toTokenAddress_",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "tokenAmount_",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "fromTokenDecimals_",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "receiverAddress_",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "bytes",
|
||||
"name": "signedTXInfo_",
|
||||
"type": "bytes"
|
||||
},
|
||||
{
|
||||
"internalType": "string",
|
||||
"name": "vault_",
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"name": "bridgeWithdrawStealth",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "feeRate",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "key_",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "getMPCMapDataTx",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "bytes32",
|
||||
"name": "role",
|
||||
"type": "bytes32"
|
||||
}
|
||||
],
|
||||
"name": "getRoleAdmin",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bytes32",
|
||||
"name": "",
|
||||
"type": "bytes32"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "to_",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "grantAdmin",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "bytes32",
|
||||
"name": "role",
|
||||
"type": "bytes32"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "account",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "grantRole",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "bytes32",
|
||||
"name": "role",
|
||||
"type": "bytes32"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "account",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "hasRole",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "bytes",
|
||||
"name": "key_",
|
||||
"type": "bytes"
|
||||
}
|
||||
],
|
||||
"name": "keyExistsTx",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "owner",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "string",
|
||||
"name": "hashedTxId_",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "toTokenAddress_",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "tokenAmount_",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "fromTokenDecimals_",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "receiverAddress_",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "bytes",
|
||||
"name": "signedTXInfo_",
|
||||
"type": "bytes"
|
||||
},
|
||||
{
|
||||
"internalType": "string",
|
||||
"name": "vault_",
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"name": "previewBridgeStealth",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "tokenAddr_",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "previewVaultWithdraw",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "amount_",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "tokenAddr_",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "receiver_",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "pullWithdraw",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "renounceOwnership",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "bytes32",
|
||||
"name": "role",
|
||||
"type": "bytes32"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "callerConfirmation",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "renounceRole",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "to_",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "revokeAdmin",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "bytes32",
|
||||
"name": "role",
|
||||
"type": "bytes32"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "account",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "revokeRole",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "MPCO_",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "setMPCOracle",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address payable",
|
||||
"name": "vault_",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "setVault",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "payoutAddress_",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "feeRate_",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "setpayoutAddressess",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "bytes4",
|
||||
"name": "interfaceId",
|
||||
"type": "bytes4"
|
||||
}
|
||||
],
|
||||
"name": "supportsInterface",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "newOwner",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "transferOwnership",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "vault",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "contract LuxVault",
|
||||
"name": "",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "amount_",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "tokenAddr_",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "vaultDeposit",
|
||||
"outputs": [],
|
||||
"stateMutability": "payable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"stateMutability": "payable",
|
||||
"type": "receive"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,351 @@
|
||||
[
|
||||
{
|
||||
"inputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "constructor"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "spender",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "allowance",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "needed",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "ERC20InsufficientAllowance",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "sender",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "balance",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "needed",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "ERC20InsufficientBalance",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "approver",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "ERC20InvalidApprover",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "receiver",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "ERC20InvalidReceiver",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "sender",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "ERC20InvalidSender",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "spender",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "ERC20InvalidSpender",
|
||||
"type": "error"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "address",
|
||||
"name": "owner",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "address",
|
||||
"name": "spender",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "uint256",
|
||||
"name": "value",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "Approval",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"anonymous": false,
|
||||
"inputs": [
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "address",
|
||||
"name": "from",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": true,
|
||||
"internalType": "address",
|
||||
"name": "to",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"indexed": false,
|
||||
"internalType": "uint256",
|
||||
"name": "value",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "Transfer",
|
||||
"type": "event"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "owner",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "spender",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "allowance",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "spender",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "value",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "approve",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "account",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "balanceOf",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "account",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "amount",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "burn",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "decimals",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint8",
|
||||
"name": "",
|
||||
"type": "uint8"
|
||||
}
|
||||
],
|
||||
"stateMutability": "pure",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "account",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "amount",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "mint",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "name",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "string",
|
||||
"name": "",
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "symbol",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "string",
|
||||
"name": "",
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "totalSupply",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "to",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "value",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "transfer",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "from",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "to",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "value",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"name": "transferFrom",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,861 @@
|
||||
import { type Network } from "@/domain/types"
|
||||
|
||||
export const networks: Network[] = [
|
||||
{
|
||||
display_name: 'Ethereum',
|
||||
internal_name: 'ETHEREUM_MAINNET',
|
||||
native_currency: 'ETH',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/ethereum_mainnet.png',
|
||||
is_testnet: false,
|
||||
is_featured: true,
|
||||
average_completion_time: '00:01:04.0494430',
|
||||
chain_id: 1,
|
||||
status: 'active',
|
||||
type: 'evm',
|
||||
refuel_amount_in_usd: 0.5,
|
||||
transaction_explorer_template: 'https://etherscan.io/tx/{0}',
|
||||
account_explorer_template: 'https://etherscan.io/address/{0}',
|
||||
node: 'https://boldest-bold-uranium.quiknode.pro/a5e9ce66d6648e49889274a783acd07aebcc02bc/',
|
||||
currencies: [
|
||||
{
|
||||
name: 'ETH',
|
||||
asset: 'ETH',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/ethereum_eth.svg',
|
||||
contract_address: '0x0000000000000000000000000000000000000000',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
{
|
||||
name: 'USDT',
|
||||
asset: 'USDT',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/usdt.png',
|
||||
contract_address: '0xdac17f958d2ee523a2206206994597c13d831ec7',
|
||||
decimals: 6,
|
||||
status: 'inactive',
|
||||
is_deposit_enabled: false,
|
||||
is_withdrawal_enabled: false,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 0,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'USDC',
|
||||
asset: 'USDC',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/usdc.png',
|
||||
contract_address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
|
||||
decimals: 6,
|
||||
status: 'inactive',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'DAI',
|
||||
asset: 'DAI',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/dai.png',
|
||||
contract_address: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
||||
decimals: 18,
|
||||
status: 'inactive',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
display_name: 'Base',
|
||||
internal_name: 'BASE_MAINNET',
|
||||
native_currency: 'ETH',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/base_mainnet.png',
|
||||
is_testnet: false,
|
||||
is_featured: false,
|
||||
average_completion_time: '00:01:04.0494430',
|
||||
chain_id: 8453,
|
||||
status: 'active',
|
||||
type: 'evm',
|
||||
refuel_amount_in_usd: 0.5,
|
||||
transaction_explorer_template: 'https://basescan.org/tx/{0}',
|
||||
account_explorer_template: 'https://basescan.org/address/{0}',
|
||||
node: 'https://mainnet.base.org',
|
||||
currencies: [
|
||||
{
|
||||
name: 'ETH',
|
||||
asset: 'ETH',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/ethereum_eth.svg',
|
||||
contract_address: '0x0000000000000000000000000000000000000000',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
{
|
||||
name: 'WETH',
|
||||
asset: 'WETH',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/ethereum_eth.svg',
|
||||
contract_address: '0x4200000000000000000000000000000000000006',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'USDT',
|
||||
asset: 'USDT',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/usdt.png',
|
||||
contract_address: '0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2',
|
||||
decimals: 6,
|
||||
status: 'active',
|
||||
is_deposit_enabled: false,
|
||||
is_withdrawal_enabled: false,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 0,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'USDC',
|
||||
asset: 'USDC',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/usdc.png',
|
||||
contract_address: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913',
|
||||
decimals: 6,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'DAI',
|
||||
asset: 'DAI',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/dai.png',
|
||||
contract_address: '0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
display_name: 'Optimism',
|
||||
internal_name: 'OPTIMISM_MAINNET',
|
||||
native_currency: 'ETH',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/optimism_mainnet.png',
|
||||
is_testnet: false,
|
||||
is_featured: true,
|
||||
average_completion_time: '00:00:07.7777777',
|
||||
chain_id: 10,
|
||||
status: 'active',
|
||||
type: 'evm',
|
||||
refuel_amount_in_usd: 1,
|
||||
transaction_explorer_template: 'https://optimistic.etherscan.io/tx/{0}',
|
||||
account_explorer_template: 'https://optimistic.etherscan.io//address/{0}',
|
||||
node: 'https://eth-mainnet.g.alchemy.com/v2/-z4Zrujiou9ajXAplVapFFWWrPuLPSm7',
|
||||
currencies: [
|
||||
{
|
||||
name: 'ETH',
|
||||
asset: 'ETH',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/ethereum_eth.svg',
|
||||
contract_address: '0x0000000000000000000000000000000000000000',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
{
|
||||
name: 'WETH',
|
||||
asset: 'WETH',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/ethereum_eth.svg',
|
||||
contract_address: '0x4200000000000000000000000000000000000006',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'USDT',
|
||||
asset: 'USDT',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/usdt.png',
|
||||
contract_address: '0x94b008aa00579c1307b0ef2c499ad98a8ce58e58',
|
||||
decimals: 6,
|
||||
status: 'active',
|
||||
is_deposit_enabled: false,
|
||||
is_withdrawal_enabled: false,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 0,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'USDC',
|
||||
asset: 'USDC',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/usdc.png',
|
||||
contract_address: '0x0b2c639c533813f4aa9d7837caf62653d097ff85',
|
||||
decimals: 6,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'DAI',
|
||||
asset: 'DAI',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/dai.png',
|
||||
contract_address: '0xda10009cbd5d07dd0cecc66161fc93d7c9000da1',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
display_name: 'Polygon',
|
||||
internal_name: 'POLYGON_MAINNET',
|
||||
native_currency: 'POL',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/polygon_mainnet.png',
|
||||
is_testnet: false,
|
||||
is_featured: true,
|
||||
average_completion_time: '00:00:07.7777777',
|
||||
chain_id: 137,
|
||||
status: 'active',
|
||||
type: 'evm',
|
||||
refuel_amount_in_usd: 1,
|
||||
transaction_explorer_template: 'https://polygonscan.com/tx/{0}',
|
||||
account_explorer_template: 'https://polygonscan.com/address/{0}',
|
||||
node: 'https://polygon-bor-rpc.publicnode.com/',
|
||||
currencies: [
|
||||
{
|
||||
name: 'POL',
|
||||
asset: 'POL',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/pol.png',
|
||||
contract_address: '0x0000000000000000000000000000000000000000',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'WETH',
|
||||
asset: 'WETH',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/ethereum_eth.svg',
|
||||
contract_address: '0x7ceb23fd6bc0add59e62ac25578270cff1b9f619',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'USDT',
|
||||
asset: 'USDT',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/usdt.png',
|
||||
contract_address: '0xc2132d05d31c914a87c6611c10748aeb04b58e8f',
|
||||
decimals: 6,
|
||||
status: 'active',
|
||||
is_deposit_enabled: false,
|
||||
is_withdrawal_enabled: false,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 0,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'USDC',
|
||||
asset: 'USDC',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/usdc.png',
|
||||
contract_address: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359',
|
||||
decimals: 6,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'DAI',
|
||||
asset: 'DAI',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/dai.png',
|
||||
contract_address: '0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
display_name: 'Arbitrum One',
|
||||
internal_name: 'ARBITRUM_MAINNET',
|
||||
native_currency: 'ETH',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/arbitrum_mainnet.png',
|
||||
is_testnet: false,
|
||||
is_featured: false,
|
||||
average_completion_time: '00:01:04.0494430',
|
||||
chain_id: 42161,
|
||||
status: 'inactive',
|
||||
type: 'evm',
|
||||
refuel_amount_in_usd: 0.5,
|
||||
transaction_explorer_template: 'https://arbiscan.io/tx/{0}',
|
||||
account_explorer_template: 'https://arbiscan.io/address/{0}',
|
||||
node: 'https://eth-mainnet.g.alchemy.com/v2/-z4Zrujiou9ajXAplVapFFWWrPuLPSm7',
|
||||
currencies: [],
|
||||
},
|
||||
{
|
||||
display_name: 'Celo',
|
||||
internal_name: 'CELO_MAINNET',
|
||||
native_currency: 'CELO',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/celo_mainnet.svg',
|
||||
is_testnet: false,
|
||||
is_featured: false,
|
||||
average_completion_time: '00:01:04.0494430',
|
||||
chain_id: 42220,
|
||||
status: 'inactive',
|
||||
type: 'evm',
|
||||
refuel_amount_in_usd: 0.5,
|
||||
transaction_explorer_template: 'https://celoscan.io/tx/{0}',
|
||||
account_explorer_template: 'https://celoscan.io/address/{0}',
|
||||
node: 'https://celo.drpc.org',
|
||||
currencies: [],
|
||||
},
|
||||
|
||||
{
|
||||
display_name: 'Binance Smart Chain',
|
||||
internal_name: 'BSC_MAINNET',
|
||||
native_currency: 'BNB',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/bsc_mainnet.png',
|
||||
is_testnet: false,
|
||||
is_featured: false,
|
||||
average_completion_time: '00:01:04.0494430',
|
||||
chain_id: 56,
|
||||
status: 'active',
|
||||
type: 'evm',
|
||||
refuel_amount_in_usd: 0.5,
|
||||
transaction_explorer_template: 'https://bscscan.com/tx/{0}',
|
||||
account_explorer_template: 'https://bscscan.com/address/{0}',
|
||||
node: 'https://data-seed-prebsc-1-s1.bnbchain.org:8545',
|
||||
currencies: [
|
||||
{
|
||||
name: 'BNB',
|
||||
asset: 'BNB',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/bnb.png',
|
||||
contract_address: '0x0000000000000000000000000000000000000000',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
{
|
||||
name: 'WETH',
|
||||
asset: 'WETH',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/ethereum_eth.svg',
|
||||
contract_address: '0x7b03a103fc847348e5e59f8d3b0740c48d597973',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'USDT',
|
||||
asset: 'USDT',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/usdt.png',
|
||||
contract_address: '0x9e5AAC1Ba1a2e6aEd6b32689DFcF62A509Ca96f3',
|
||||
decimals: 6,
|
||||
status: 'active',
|
||||
is_deposit_enabled: false,
|
||||
is_withdrawal_enabled: false,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 0,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'USDC',
|
||||
asset: 'USDC',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/usdc.png',
|
||||
contract_address: '0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d',
|
||||
decimals: 6,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'DAI',
|
||||
asset: 'DAI',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/dai.png',
|
||||
contract_address: '0x1af3f329e8be154074d8769d1ffa4ee058b1dbc3',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
display_name: 'Gnosis',
|
||||
internal_name: 'GNOSIS_MAINNET',
|
||||
native_currency: 'XDAI',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/gnosis_mainnet.png',
|
||||
is_testnet: false,
|
||||
is_featured: false,
|
||||
average_completion_time: '00:01:04.0494430',
|
||||
chain_id: 100,
|
||||
status: 'inactive',
|
||||
type: 'evm',
|
||||
refuel_amount_in_usd: 0.5,
|
||||
transaction_explorer_template: 'https://gnosisscan.io/tx/{0}',
|
||||
account_explorer_template: 'https://gnosisscan.io/address/{0}',
|
||||
node: 'https://rpc.gnosischain.com',
|
||||
currencies: [],
|
||||
},
|
||||
{
|
||||
display_name: 'Avalanche',
|
||||
internal_name: 'AVAX_MAINNET',
|
||||
native_currency: 'AVAX',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/avax_mainnet.png',
|
||||
is_testnet: false,
|
||||
is_featured: true,
|
||||
average_completion_time: '00:00:07.7777777',
|
||||
chain_id: 43114,
|
||||
status: 'inactive',
|
||||
type: 'evm',
|
||||
refuel_amount_in_usd: 1,
|
||||
transaction_explorer_template: 'https://snowtrace.io/tx/{0}',
|
||||
account_explorer_template: 'https://snowtrace.io/address/{0}',
|
||||
node: 'https://api.avax.network/ext/bc/c/rpc',
|
||||
currencies: [],
|
||||
},
|
||||
{
|
||||
display_name: 'Fantom',
|
||||
internal_name: 'FANTOM_MAINNET',
|
||||
native_currency: 'FTM',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/fantom_mainnet.svg',
|
||||
is_testnet: false,
|
||||
is_featured: true,
|
||||
average_completion_time: '00:00:07.7777777',
|
||||
chain_id: 250,
|
||||
status: 'inactive',
|
||||
type: 'evm',
|
||||
refuel_amount_in_usd: 1,
|
||||
transaction_explorer_template: 'https://ftmscan.io/tx/{0}',
|
||||
account_explorer_template: 'https://ftmscan.io/address/{0}',
|
||||
node: 'https://rpcapi.fantom.network',
|
||||
currencies: [],
|
||||
},
|
||||
{
|
||||
display_name: 'Aurora',
|
||||
internal_name: 'AURORA_MAINNET',
|
||||
native_currency: 'ETH',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/aurora_mainnet.png',
|
||||
is_testnet: false,
|
||||
is_featured: true,
|
||||
average_completion_time: '00:00:07.7777777',
|
||||
chain_id: 1313161554,
|
||||
status: 'inactive',
|
||||
type: 'evm',
|
||||
refuel_amount_in_usd: 1,
|
||||
transaction_explorer_template: 'https://explorer.aurora.dev/tx/{0}',
|
||||
account_explorer_template: 'https://explorer.aurora.dev/address/{0}',
|
||||
node: 'https://mainnet.aurora.dev',
|
||||
currencies: [],
|
||||
},
|
||||
{
|
||||
display_name: 'Zora',
|
||||
internal_name: 'ZORA_MAINNET',
|
||||
native_currency: 'ETH',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/zora_mainnet.png',
|
||||
is_testnet: false,
|
||||
is_featured: false,
|
||||
average_completion_time: '00:01:04.0494430',
|
||||
chain_id: 7777777,
|
||||
status: 'inactive',
|
||||
type: 'evm',
|
||||
refuel_amount_in_usd: 0.5,
|
||||
transaction_explorer_template: 'https://explorer.zora.energy/tx/{0}',
|
||||
account_explorer_template: 'https://explorer.zora.energy/address/{0}',
|
||||
node: 'https://rpc.zora.energy',
|
||||
currencies: [],
|
||||
},
|
||||
{
|
||||
display_name: 'Blast',
|
||||
internal_name: 'BLAST_MAINNET',
|
||||
native_currency: 'ETH',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/blast_mainnet.png',
|
||||
is_testnet: false,
|
||||
is_featured: false,
|
||||
average_completion_time: '00:01:04.0494430',
|
||||
chain_id: 81457,
|
||||
status: 'inactive',
|
||||
type: 'evm',
|
||||
refuel_amount_in_usd: 0.5,
|
||||
transaction_explorer_template: 'https://blastscan.io/tx/{0}',
|
||||
account_explorer_template: 'https://blastscan.io/address/{0}',
|
||||
node: 'https://rpc.blast.io',
|
||||
currencies: [],
|
||||
},
|
||||
{
|
||||
display_name: 'Linea',
|
||||
internal_name: 'LINEA_MAINNET',
|
||||
native_currency: 'ETH',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/linea_mainnet.png',
|
||||
is_testnet: false,
|
||||
is_featured: false,
|
||||
average_completion_time: '00:01:12.1184390',
|
||||
chain_id: 59144,
|
||||
status: 'inactive',
|
||||
type: 'evm',
|
||||
refuel_amount_in_usd: 1,
|
||||
transaction_explorer_template: 'https://lineascan.build/tx/{0}',
|
||||
account_explorer_template: 'https://lineascan.build/address/{0}',
|
||||
node: 'https://rpc.linea.build',
|
||||
currencies: [],
|
||||
},
|
||||
{
|
||||
display_name: 'Lux',
|
||||
internal_name: 'LUX_MAINNET',
|
||||
native_currency: 'LUX',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/lux_mainnet.png',
|
||||
is_testnet: false,
|
||||
is_featured: true,
|
||||
average_completion_time: '00:00:07.7777777',
|
||||
chain_id: 7777,
|
||||
status: 'active',
|
||||
type: 'evm',
|
||||
refuel_amount_in_usd: 1,
|
||||
transaction_explorer_template: 'https://explore.lux.network/tx/{0}',
|
||||
account_explorer_template: 'https://explore.lux.network/address/{0}',
|
||||
node: 'https://api.lux.network',
|
||||
currencies: [
|
||||
{
|
||||
name: 'LUX',
|
||||
asset: 'LUX',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/lux.svg',
|
||||
contract_address: '0x0000000000000000000000000000000000000000',
|
||||
decimals: 18,
|
||||
status: 'inactive',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
{
|
||||
name: 'Lux BTC',
|
||||
asset: 'LBTC',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/lbtc.svg',
|
||||
contract_address: '0xebD1Ee9BCAaeE50085077651c1a2dD452fc6b72e',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'Lux ETH',
|
||||
asset: 'LETH',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/leth.svg',
|
||||
contract_address: '0x2951A9386df11a4EA8ae5A823B94DC257dEb35Cb',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'Lux POL',
|
||||
asset: 'LPOL',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/lpol.svg',
|
||||
contract_address: '0x9F47CeB09cb88362f0274Bb354a9807Fd976D963',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'Lux BNB',
|
||||
asset: 'LBNB',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/lbnb.svg',
|
||||
contract_address: '0xcf963Fe4E4cE126047147661e6e06e171f366506',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'Lux FTM',
|
||||
asset: 'LFTM',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/lftm.svg',
|
||||
contract_address: '0x15BA7dCA26c63029E33C81f7B3978B54Bc0CB08B',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'Lux CELO',
|
||||
asset: 'LCELO',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/lcelo.svg',
|
||||
contract_address: '0xD257ADA332da217c78959A609e97c71ce5214925',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'Lux xDAI',
|
||||
asset: 'LXDAI',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/ldai.svg',
|
||||
contract_address: '0x0D15251ad56cE56cC22588F6645c20ee7d77aE39',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'Lux SOL',
|
||||
asset: 'LSOL',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/lsol.svg',
|
||||
contract_address: '0x372b3B7Cb87A7aE9Cb024861775f01015A71058C',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'Lux TON',
|
||||
asset: 'LTON',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/lton.svg',
|
||||
contract_address: '0xa4AA40ff2F2Cbe4FFcDfa5fF2A466fa7aF3390e5',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'Lux Dollar',
|
||||
asset: 'LUSD',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/lusd.svg',
|
||||
contract_address: '0x42b733cA4b3A8FC0237dBE39A47441cfD525f0F1',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
]
|
||||
@@ -0,0 +1,570 @@
|
||||
import { type Network } from "@/domain/types"
|
||||
|
||||
export const networks: Network[] = [
|
||||
{
|
||||
display_name: 'Ethereum Sepolia',
|
||||
internal_name: 'ETHEREUM_SEPOLIA',
|
||||
native_currency: 'ETH',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/ethereum_sepolia.png',
|
||||
is_testnet: true,
|
||||
is_featured: true,
|
||||
average_completion_time: '00:01:04.0494430',
|
||||
chain_id: 11155111,
|
||||
status: 'active',
|
||||
type: 'evm',
|
||||
refuel_amount_in_usd: 0.5,
|
||||
transaction_explorer_template: 'https://sepolia.etherscan.io/tx/{0}',
|
||||
account_explorer_template: 'https://sepolia.etherscan.io/address/{0}',
|
||||
node: 'https://old-green-glade.ethereum-sepolia.quiknode.pro/0523b575936957f0e7eae638096d19465aae8f8c/',
|
||||
currencies: [
|
||||
{
|
||||
name: 'ETH',
|
||||
asset: 'ETH',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/ethereum_eth.svg',
|
||||
contract_address: '0x0000000000000000000000000000000000000000',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
{
|
||||
name: 'USDT',
|
||||
asset: 'USDT',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/usdt.png',
|
||||
contract_address: '0xE9FF4E487ffcA25a765D5445CC8665128Ac35820',
|
||||
decimals: 6,
|
||||
status: 'active',
|
||||
is_deposit_enabled: false,
|
||||
is_withdrawal_enabled: false,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 0,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 1,
|
||||
destination_base_fee: 1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'USDC',
|
||||
asset: 'USDC',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/usdc.png',
|
||||
contract_address: '0x299e04DE65090D3C48019893e369A7983124c514',
|
||||
decimals: 6,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'DAI',
|
||||
asset: 'DAI',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/dai.png',
|
||||
contract_address: '0x3FADaC51B852273e11Da42Db30714FddA785b8C5',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
display_name: 'Holesky Testnet',
|
||||
internal_name: 'HOLESKY_TESTNET',
|
||||
native_currency: 'ETH',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/holesky_testnet.png',
|
||||
is_testnet: true,
|
||||
is_featured: true,
|
||||
average_completion_time: '00:01:04.0494430',
|
||||
chain_id: 17000,
|
||||
status: 'active',
|
||||
type: 'evm',
|
||||
refuel_amount_in_usd: 0.5,
|
||||
transaction_explorer_template: 'https://holesky.etherscan.io/tx/{0}',
|
||||
account_explorer_template: 'https://holesky.etherscan.io/address/{0}',
|
||||
node: 'https://ethereum-holesky-rpc.publicnode.com/',
|
||||
currencies: [
|
||||
{
|
||||
name: 'ETH',
|
||||
asset: 'ETH',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/ethereum_eth.svg',
|
||||
contract_address: '0x0000000000000000000000000000000000000000',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
{
|
||||
name: 'WETH',
|
||||
asset: 'WETH',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/ethereum_eth.svg',
|
||||
contract_address: '0xcf963Fe4E4cE126047147661e6e06e171f366506',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'USDT',
|
||||
asset: 'USDT',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/usdt.png',
|
||||
contract_address: '0xD257ADA332da217c78959A609e97c71ce5214925',
|
||||
decimals: 6,
|
||||
status: 'active',
|
||||
is_deposit_enabled: false,
|
||||
is_withdrawal_enabled: false,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 0,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 1,
|
||||
destination_base_fee: 1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'USDC',
|
||||
asset: 'USDC',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/usdc.png',
|
||||
contract_address: '0x15BA7dCA26c63029E33C81f7B3978B54Bc0CB08B',
|
||||
decimals: 6,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'DAI',
|
||||
asset: 'DAI',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/dai.png',
|
||||
contract_address: '0x9F47CeB09cb88362f0274Bb354a9807Fd976D963',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
display_name: 'Base Sepolia',
|
||||
internal_name: 'BASE_SEPOLIA',
|
||||
native_currency: 'ETH',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/base_mainnet.png',
|
||||
is_testnet: true,
|
||||
is_featured: true,
|
||||
average_completion_time: '00:01:04.0494430',
|
||||
chain_id: 84532, //base sepolia
|
||||
status: 'active',
|
||||
type: 'evm',
|
||||
refuel_amount_in_usd: 0.5,
|
||||
transaction_explorer_template: 'https://sepolia.basescan.org/tx/{0}', // sepolia
|
||||
account_explorer_template: 'https://sepolia.basescan.org/address/{0}', // sepolia
|
||||
node: 'https://sepolia.base.org', // sepolia
|
||||
currencies: [
|
||||
{
|
||||
name: 'ETH',
|
||||
asset: 'ETH',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/ethereum_eth.svg',
|
||||
contract_address: '0x0000000000000000000000000000000000000000',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
{
|
||||
name: 'USDT',
|
||||
asset: 'USDT',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/usdt.png',
|
||||
contract_address: '0x46390FA219b22f739C63F0bF1c165a1FBc30B57c',
|
||||
decimals: 6,
|
||||
status: 'active',
|
||||
is_deposit_enabled: false,
|
||||
is_withdrawal_enabled: false,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 0,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'USDC',
|
||||
asset: 'USDC',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/usdc.png',
|
||||
contract_address: '0xE49355609F94A4B8a2EfC6FBd077542F8EC90080', //sepolia
|
||||
decimals: 6,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'DAI',
|
||||
asset: 'DAI',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/dai.png',
|
||||
contract_address: '0x568BF299E115D78a1fBa57BafdAe0fD8A26BFb7e',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
display_name: 'BSC Testnet',
|
||||
internal_name: 'BSC_TESTNET',
|
||||
native_currency: 'BNB',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/bsc_mainnet.png',
|
||||
is_testnet: true,
|
||||
is_featured: false,
|
||||
average_completion_time: '00:01:04.0494430',
|
||||
chain_id: 97,
|
||||
status: 'active',
|
||||
type: 'evm',
|
||||
refuel_amount_in_usd: 0.5,
|
||||
transaction_explorer_template: 'https://testnet.bscscan.com/tx/{0}',
|
||||
account_explorer_template: 'https://testnet.bscscan.com/address/{0}',
|
||||
node: 'https://data-seed-prebsc-1-s1.bnbchain.org:8545',
|
||||
currencies: [
|
||||
{
|
||||
name: 'BNB',
|
||||
asset: 'BNB',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/bsc_mainnet.png',
|
||||
contract_address: '0x0000000000000000000000000000000000000000',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
{
|
||||
name: 'USDT',
|
||||
asset: 'USDT',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/usdt.png',
|
||||
contract_address: '0x5519582dde6eb1f53F92298622c2ecb39A64369A',
|
||||
decimals: 6,
|
||||
status: 'active',
|
||||
is_deposit_enabled: false,
|
||||
is_withdrawal_enabled: false,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 0,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'USDC',
|
||||
asset: 'USDC',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/usdc.png',
|
||||
contract_address: '0x6a49DbeD52B9Bd9a53E21C3bCb67dc2697cD6697',
|
||||
decimals: 6,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: true,
|
||||
max_withdrawal_amount: 3000,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'DAI',
|
||||
asset: 'DAI',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/dai.png',
|
||||
contract_address: '0x2E8A24dE21105772FD161BF56471A0470A8AF45e',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 500,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
display_name: 'Lux Testnet',
|
||||
internal_name: 'LUX_TESTNET',
|
||||
native_currency: 'LUX',
|
||||
logo: 'https://cdn.lux.network/bridge/networks/lux_mainnet.png',
|
||||
is_testnet: true,
|
||||
is_featured: true,
|
||||
average_completion_time: '00:00:07.7777777',
|
||||
chain_id: 8888,
|
||||
status: 'active',
|
||||
type: 'evm',
|
||||
refuel_amount_in_usd: 1,
|
||||
transaction_explorer_template: 'https://explore.lux-test.network/tx/{0}',
|
||||
account_explorer_template: 'https://explore.lux-test.network/address/{0}',
|
||||
node: 'https://api.lux-test.network',
|
||||
currencies: [
|
||||
{
|
||||
name: 'LUX',
|
||||
asset: 'LUX',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/lux.svg',
|
||||
contract_address: '0x0000000000000000000000000000000000000000',
|
||||
decimals: 18,
|
||||
status: 'inactive',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: true,
|
||||
},
|
||||
{
|
||||
name: 'Lux BTC',
|
||||
asset: 'LBTC',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/lbtc.svg',
|
||||
contract_address: '0xd7bE6F0E47acb95944fcc357a4392cAa5670B9e4',
|
||||
decimals: 18,
|
||||
status: 'inactive',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'Lux ETH',
|
||||
asset: 'LETH',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/leth.svg',
|
||||
contract_address: '0x999Ab39dF1Ae0F0069303B430A52f16FFdaAC69C',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'Lux POL',
|
||||
asset: 'LPOL',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/lpol.svg',
|
||||
contract_address: '0x305B062C74F92d05de7Cbccd1923f19c7B27eAB1',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'Lux BNB',
|
||||
asset: 'LBNB',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/lbnb.svg',
|
||||
contract_address: '0x2c04439Dc52080E56882f61B2C4fb059A412fD5b',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'Lux FTM',
|
||||
asset: 'LFTM',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/lftm.svg',
|
||||
contract_address: '0xE1276a2F675A1D7F69FC2C78Ca6a39d1D951fD35',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'Lux CELO',
|
||||
asset: 'LCELO',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/lcelo.svg',
|
||||
contract_address: '0xe0feC703840364714b97272973B8945FD5eB5600',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'Lux xDAI',
|
||||
asset: 'LXDAI',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/ldai.svg',
|
||||
contract_address: '0xFdAad51cE3C28bfCCC5217AFddCEFc2a3Da6Ab54',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'Lux SOL',
|
||||
asset: 'LSOL',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/lsol.svg',
|
||||
contract_address: '0x4516dcca0EeE9021A1fe6BBe5deE68B501246Cd1',
|
||||
decimals: 18,
|
||||
status: 'inactive',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'Lux TON',
|
||||
asset: 'LTON',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/lton.svg',
|
||||
contract_address: '0xf41380968E9D408a143ddC63322565793d0750f8',
|
||||
decimals: 18,
|
||||
status: 'inactive',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
{
|
||||
name: 'Lux Dollar',
|
||||
asset: 'LUSD',
|
||||
logo: 'https://cdn.lux.network/bridge/currencies/lux/lusd.svg',
|
||||
contract_address: '0xA7EF94FfacA04aA51aCB66Ad93691a10Ce6eAcf4',
|
||||
decimals: 18,
|
||||
status: 'active',
|
||||
is_deposit_enabled: true,
|
||||
is_withdrawal_enabled: true,
|
||||
is_refuel_enabled: false,
|
||||
max_withdrawal_amount: 1,
|
||||
deposit_fee: 0.1,
|
||||
withdrawal_fee: 0.1,
|
||||
source_base_fee: 0.1,
|
||||
destination_base_fee: 0.1,
|
||||
is_native: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
]
|
||||
@@ -0,0 +1,143 @@
|
||||
export const CONTRACTS = {
|
||||
7777: {
|
||||
name: 'LUX_MAINNET',
|
||||
chain_id: 7777,
|
||||
teleporter: '0xC58E07f1C07627af94ad77549499b642aeFf0a3C',
|
||||
vault: '0x7C6e3BE7B72805f0f52d788b96695b9d7e59A00c',
|
||||
},
|
||||
1: {
|
||||
name: 'ETHEREUM_MAINNET',
|
||||
chain_id: 1,
|
||||
teleporter: '0xebD1Ee9BCAaeE50085077651c1a2dD452fc6b72e',
|
||||
vault: '0xcf963Fe4E4cE126047147661e6e06e171f366506',
|
||||
},
|
||||
137: {
|
||||
name: 'POLYGON_MAINNET',
|
||||
chain_id: 137,
|
||||
teleporter: '0xE09C9b6Ed2BADAa97AB00652dF75da05adc6dAeF',
|
||||
vault: '0x217feE2a1a6A31Dda68433270531F56C91EC8D2B',
|
||||
},
|
||||
10: {
|
||||
name: 'OPTIMISM_MAINNET',
|
||||
chain_id: 10,
|
||||
teleporter: '0xbdCE894aEd7d30BA0C0D0B51604ee9d225fc8b95',
|
||||
vault: '0x37d9fB96722ebDDbC8000386564945864675099B',
|
||||
},
|
||||
42161: {
|
||||
name: 'ARBITRUM_MAINNET',
|
||||
chain_id: 42161,
|
||||
teleporter: '',
|
||||
vault: '',
|
||||
},
|
||||
42220: {
|
||||
name: 'CELO_MAINNET',
|
||||
chain_id: 42220,
|
||||
teleporter: '',
|
||||
vault: '',
|
||||
},
|
||||
8453: {
|
||||
name: 'BASE_MAINNET',
|
||||
chain_id: 8453,
|
||||
teleporter: '0x37d9fB96722ebDDbC8000386564945864675099B',
|
||||
vault: '0x3226bb1d3055685EFC1b0E49718B909a1c6Ce18d',
|
||||
},
|
||||
56: {
|
||||
name: 'BSC_MAINNET',
|
||||
chain_id: 56,
|
||||
teleporter: '0xebD1Ee9BCAaeE50085077651c1a2dD452fc6b72e',
|
||||
vault: '0xcf963Fe4E4cE126047147661e6e06e171f366506',
|
||||
},
|
||||
100: {
|
||||
name: 'GNOSIS_MAINNET',
|
||||
chain_id: 100,
|
||||
teleporter: '',
|
||||
vault: '',
|
||||
},
|
||||
43114: {
|
||||
name: 'AVAX_MAINNET',
|
||||
chain_id: 43114,
|
||||
teleporter: '',
|
||||
vault: '',
|
||||
},
|
||||
250: {
|
||||
name: 'FANTOM_MAINNET',
|
||||
chain_id: 250,
|
||||
teleporter: '',
|
||||
vault: '',
|
||||
},
|
||||
1313161554: {
|
||||
name: 'AURORA_MAINNET',
|
||||
chain_id: 1313161554,
|
||||
teleporter: '',
|
||||
vault: '',
|
||||
},
|
||||
7777777: {
|
||||
name: 'ZORA_MAINNET',
|
||||
chain_id: 7777777,
|
||||
teleporter: '',
|
||||
vault: '',
|
||||
},
|
||||
81457: {
|
||||
name: 'BLAST_MAINNET',
|
||||
chain_id: 81457,
|
||||
teleporter: '',
|
||||
vault: '',
|
||||
},
|
||||
59144: {
|
||||
name: 'LINEA_MAINNET',
|
||||
chain_id: 59144,
|
||||
teleporter: '',
|
||||
vault: '',
|
||||
},
|
||||
///////////////////////////////////////// testnets ///////////////////////////////////////////
|
||||
11155111: {
|
||||
name: 'ETHEREUM_SEPOLIA',
|
||||
chain_id: 11155111,
|
||||
teleporter: '0xb34e8a93A56De724c432fD41052E715657Fb0B1D',
|
||||
vault: '0x63139CFe43cEe881332a2264851940108333e8D0',
|
||||
},
|
||||
17000: {
|
||||
name: 'HOLESKY_TESTNET',
|
||||
chain_id: 17000,
|
||||
teleporter: '0x2951A9386df11a4EA8ae5A823B94DC257dEb35Cb',
|
||||
vault: '0xebD1Ee9BCAaeE50085077651c1a2dD452fc6b72e',
|
||||
},
|
||||
84532: {
|
||||
name: 'BASE_SEPOLIA',
|
||||
chain_id: 84532,
|
||||
teleporter: '0xE139056397091c15F860E94b20cCc169520b086A',
|
||||
vault: '0x2c4908f1B607A4448272ea29A054bf9AA08A1D76',
|
||||
},
|
||||
97: {
|
||||
name: 'BSC_TESTNET',
|
||||
chain_id: 97,
|
||||
teleporter: '0xD293337c79A951C0e93aEb6a5E255097d65b671f',
|
||||
vault: '0xe0feC703840364714b97272973B8945FD5eB5600',
|
||||
},
|
||||
8888: {
|
||||
name: 'LUX_TESTNET',
|
||||
chain_id: 8888,
|
||||
teleporter: '0x7d462c69057E404a172690E8C5021563382CAa78',
|
||||
vault: '0xD1496b961855c3F554F3F71A653915EEe035c55e',
|
||||
},
|
||||
}
|
||||
|
||||
export const SWAP_PAIRS: Record<string, string[]> = {
|
||||
LETH: ['ETH'],
|
||||
LBNB: ['BNB'],
|
||||
LFTM: ['FTM'],
|
||||
LPOL: ['POL', 'MATIC'],
|
||||
LUSD: ['USDT', 'USDC', 'DAI'],
|
||||
LCELO: ['CELO'],
|
||||
LXDAI: ['XDAI'],
|
||||
|
||||
ETH: ['LETH'],
|
||||
POL: ['LPOL'],
|
||||
BNB: ['LBNB'],
|
||||
FTM: ['LFTM'],
|
||||
DAI: ['LUSD'],
|
||||
USDT: ['LUSD'],
|
||||
USDC: ['LUSD'],
|
||||
CELO: ['LCELO'],
|
||||
XDAI: ['LXDAI'],
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
interface Bridge {
|
||||
name: string
|
||||
logo: string
|
||||
}
|
||||
|
||||
export {
|
||||
type Bridge as default
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
interface Deposit {
|
||||
address: string,
|
||||
memo?: string
|
||||
}
|
||||
|
||||
export {
|
||||
type Deposit as default
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
export type { default as Bridge } from './bridge'
|
||||
export type { default as Deposit } from './deposit'
|
||||
export type { default as Network } from './network'
|
||||
export type { default as Token } from './token'
|
||||
@@ -0,0 +1,25 @@
|
||||
import Deposit from './deposit'
|
||||
import Token from './token'
|
||||
|
||||
interface Network {
|
||||
display_name: string,
|
||||
internal_name: string,
|
||||
native_currency: string,
|
||||
logo: string,
|
||||
is_testnet: boolean,
|
||||
is_featured: boolean,
|
||||
average_completion_time: string,
|
||||
chain_id: number | null,
|
||||
status: string,
|
||||
type: string,
|
||||
deposit_address?: Deposit,
|
||||
refuel_amount_in_usd: number,
|
||||
transaction_explorer_template: string,
|
||||
account_explorer_template: string,
|
||||
node: string,
|
||||
currencies: Token[],
|
||||
}
|
||||
|
||||
export {
|
||||
type Network as default
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
interface Token {
|
||||
name: string,
|
||||
asset: string,
|
||||
logo: string,
|
||||
contract_address: string | null,
|
||||
decimals: number,
|
||||
status: string,
|
||||
is_deposit_enabled: boolean,
|
||||
is_withdrawal_enabled: boolean,
|
||||
is_refuel_enabled: boolean,
|
||||
max_withdrawal_amount: number,
|
||||
deposit_fee: number,
|
||||
withdrawal_fee: number,
|
||||
source_base_fee: number,
|
||||
destination_base_fee: number,
|
||||
is_native: boolean
|
||||
}
|
||||
|
||||
export {
|
||||
type Token as default
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
import { type LinkDescriptor } from '@remix-run/node'
|
||||
|
||||
type CrossOrigin = "anonymous" | "use-credentials"
|
||||
|
||||
// https://github.com/remix-run/remix/discussions/4963#discussioncomment-4556820
|
||||
export default [
|
||||
{
|
||||
rel: "preload",
|
||||
as: "font",
|
||||
href: "/fonts/Druk-Wide-Medium.ttf",
|
||||
type: "font/ttf",
|
||||
crossOrigin: "anonymous" as CrossOrigin
|
||||
},
|
||||
{
|
||||
rel: "preload",
|
||||
as: "font",
|
||||
href: "/fonts/Druk-Wide-Bold.ttf",
|
||||
type: "font/ttf",
|
||||
crossOrigin: "anonymous" as CrossOrigin,
|
||||
},
|
||||
{
|
||||
rel: "preload",
|
||||
as: "font",
|
||||
href: "/fonts/InterVariable.woff2",
|
||||
type: "font/woff2",
|
||||
crossOrigin: "anonymous" as CrossOrigin,
|
||||
},
|
||||
{
|
||||
rel: "preload",
|
||||
as: "font",
|
||||
href: "/fonts/InterVariable.ttf",
|
||||
type: "font/ttf",
|
||||
crossOrigin: "anonymous" as CrossOrigin,
|
||||
},
|
||||
{
|
||||
rel: "preload",
|
||||
as: "font",
|
||||
href: "/fonts/InterVariable-Italic.woff2",
|
||||
type: "font/woff2",
|
||||
crossOrigin: "anonymous" as CrossOrigin,
|
||||
},
|
||||
{
|
||||
rel: "preload",
|
||||
as: "font",
|
||||
href: "/fonts/InterVariable-Italic.ttf",
|
||||
type: "font/ttf",
|
||||
crossOrigin: "anonymous" as CrossOrigin,
|
||||
},
|
||||
{
|
||||
rel: 'icon',
|
||||
type: 'image/png',
|
||||
sizes: '16x16',
|
||||
href: '/lux-site-icons/favicon-16x16.png'
|
||||
},
|
||||
{
|
||||
rel: 'icon',
|
||||
type: 'image/png',
|
||||
sizes: '32x32',
|
||||
href: '/lux-site-icons/favicon-32x32.png'
|
||||
},
|
||||
{
|
||||
rel: 'icon',
|
||||
type: 'image/png',
|
||||
sizes: '192x192',
|
||||
href: '/lux-site-icons/android-chrome-192x192.png'
|
||||
},
|
||||
{
|
||||
rel: 'icon',
|
||||
type: 'image/png',
|
||||
sizes: '512x512',
|
||||
href: '/lux-site-icons/android-chrome-512x512.png'
|
||||
},
|
||||
{
|
||||
rel: 'apple-touch-icon',
|
||||
type: 'image/png',
|
||||
sizes: "180x180",
|
||||
href: '/lux-site-icons/apple-touch-icon.png'
|
||||
},
|
||||
|
||||
] satisfies LinkDescriptor[]
|
||||
@@ -0,0 +1,40 @@
|
||||
// see https://remix.run/docs/ru/main/route/meta
|
||||
|
||||
export default [
|
||||
{
|
||||
title: 'Lux Bridge'
|
||||
},
|
||||
{
|
||||
name: "description",
|
||||
content: 'Lux Bridge is the only quantum safe and private platform for real world assets (RWAs)',
|
||||
},
|
||||
{
|
||||
name: "application-name",
|
||||
content: 'Lux Bridge',
|
||||
},
|
||||
{
|
||||
name: "author",
|
||||
content: 'Lux Partners Limited',
|
||||
},
|
||||
{
|
||||
name: "keywords",
|
||||
content: "Lux Network, Blockchain Bridge, Multi-Chain, EVM, Solana, Bitcoin, Cross-Chain, Interoperability, Cryptocurrency, Blockchain Technology",
|
||||
},
|
||||
/*
|
||||
openGraph: {
|
||||
title: 'Lux Bridge Explorer - Explore your swaps',
|
||||
description: "Connect across EVM, Solana, Bitcoin, and other blockchains with Lux Network's advanced bridge technology. Experience secure and efficient cross-chain functionality.",
|
||||
images: 'https://explorer.bridge.lux.network/assets/img/opengraph-lux.jpg',
|
||||
type: 'website',
|
||||
href: "https://explorer.bridge.lux.network",
|
||||
|
||||
},
|
||||
twitter: {
|
||||
card: 'summary_large_image',
|
||||
title: 'Lux Bridge Explorer - Explore your swaps',
|
||||
description: "Experience seamless multi-chain connectivity with Lux Network's Blockchain Bridge. EVM, Solana, Bitcoin, and more, united.",
|
||||
images: 'https://explorer.bridge.lux.network/assets/img/opengraph-lux.jpg',
|
||||
site: '@luxdefi'
|
||||
},
|
||||
*/
|
||||
]
|
||||
@@ -0,0 +1,70 @@
|
||||
import React, { PropsWithChildren } from 'react'
|
||||
|
||||
import {
|
||||
Links,
|
||||
Meta,
|
||||
Outlet,
|
||||
Scripts,
|
||||
ScrollRestoration,
|
||||
type MetaFunction,
|
||||
LiveReload
|
||||
} from '@remix-run/react'
|
||||
import type { LinksFunction } from '@vercel/remix'
|
||||
import { Analytics } from '@vercel/analytics/react';
|
||||
|
||||
import { BreakpointIndicator } from '@hanzo/ui/primitives-common'
|
||||
|
||||
import '@luxfi/ui/style/lux-global-non-next.css'
|
||||
import '@luxfi/ui/style/cart-animation.css'
|
||||
import '@luxfi/ui/style/checkout-animation.css'
|
||||
|
||||
import Main from 'app/components/main'
|
||||
import _links from './links';
|
||||
import metadata from './metadata';
|
||||
|
||||
export const config = { runtime: 'edge' }
|
||||
|
||||
const bodyClasses = 'bg-background text-foreground flex flex-col min-h-full '
|
||||
|
||||
export const links: LinksFunction = () => (_links)
|
||||
export const meta: MetaFunction = () => (metadata)
|
||||
|
||||
const Layout: React.FC<PropsWithChildren> = ({
|
||||
children
|
||||
}) => (
|
||||
<html
|
||||
lang='en'
|
||||
suppressHydrationWarning
|
||||
className='hanzo-ui-dark-theme'
|
||||
style={{backgroundColor: '#000'}}
|
||||
>
|
||||
<head>
|
||||
<meta charSet='utf-8' />
|
||||
<meta name='viewport' content='width=device-width, initial-scale=1' />
|
||||
<Meta />
|
||||
<Links />
|
||||
</head>
|
||||
<body className={bodyClasses} >
|
||||
<Main className='gap-4 '>
|
||||
{children}
|
||||
</Main>
|
||||
<ScrollRestoration />
|
||||
<Scripts />
|
||||
{/* https://github.com/remix-run/remix/issues/2958#issuecomment-2188876125
|
||||
process.env.NODE_ENV === 'development' && <LiveReload />
|
||||
*/}
|
||||
{process.env.NODE_ENV === 'development' && <BreakpointIndicator />}
|
||||
<Analytics />
|
||||
</body>
|
||||
</html>
|
||||
)
|
||||
|
||||
const App: React.FC = () => (
|
||||
<Outlet />
|
||||
)
|
||||
|
||||
|
||||
export {
|
||||
Layout,
|
||||
App as default
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
import SwapCard from '@/components/swap-card'
|
||||
import { ApplyTypography } from '@hanzo/ui/primitives-common'
|
||||
|
||||
import { networks } from '@/domain/settings/teleport/networks.mainnets'
|
||||
import type { Network } from '@/domain/types'
|
||||
|
||||
|
||||
const fromInitial = networks.find((el: Network) => (el.display_name === 'Base'))
|
||||
const toInitial = networks.find((el: Network) => (el.display_name === 'Ethereum'))
|
||||
|
||||
const Index: React.FC = () => (<>
|
||||
<ApplyTypography>
|
||||
<h3>Lorem ipsum dolor sit amet, consectetur</h3>
|
||||
</ApplyTypography>
|
||||
<SwapCard
|
||||
className='w-[500px] h-[530px]'
|
||||
fromNetworks={networks}
|
||||
fromInitial={fromInitial}
|
||||
toNetworks={networks}
|
||||
toInitial={toInitial}
|
||||
/>
|
||||
</>)
|
||||
|
||||
export default Index
|
||||
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"name": "@luxbridge/app",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "remix vite:build",
|
||||
"dev": "remix vite:dev",
|
||||
"start": "remix-serve ./build/server/index.js",
|
||||
"tc": "tsc",
|
||||
"typecheck": "tsc",
|
||||
"clean": "rm -rf ./node_modules"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"@hanzo/ui": "catalog:",
|
||||
"@luxfi/ui": "catalog:",
|
||||
"@remix-run/node": "^2.11.2",
|
||||
"@remix-run/react": "^2.11.2",
|
||||
"@remix-run/serve": "^2.11.2",
|
||||
"@vercel/analytics": "^1.3.1",
|
||||
"@vercel/remix": "^2.11.2",
|
||||
"isbot": "^4.4.0",
|
||||
"lucide-react": "catalog:",
|
||||
"mobx": "^6.12.3",
|
||||
"mobx-react-lite": "^4.0.7",
|
||||
"mobx-utils": "^6.1.0",
|
||||
"react": "catalog:",
|
||||
"react-currency-input-field": "^3.9.0",
|
||||
"react-dom": "catalog:"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@originjs/vite-plugin-commonjs": "^1.0.3",
|
||||
"@remix-run/dev": "^2.11.2",
|
||||
"@remix-run/server-runtime": "^2.11.2",
|
||||
"@types/react": "catalog:",
|
||||
"@types/react-dom": "catalog:",
|
||||
"autoprefixer": "^10.4.20",
|
||||
"postcss": "^8.4.49",
|
||||
"tailwindcss": "catalog:",
|
||||
"typescript": "catalog:",
|
||||
"vite": "5.4.11",
|
||||
"vite-tsconfig-paths": "5.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": "20.x"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
export default {
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
autoprefixer: {},
|
||||
},
|
||||
};
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 7.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 6.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 426 B |
Binary file not shown.
|
After Width: | Height: | Size: 831 B |
@@ -0,0 +1,40 @@
|
||||
import type { Config } from 'tailwindcss'
|
||||
import { preset } from '@luxfi/ui/tailwind'
|
||||
|
||||
const fontFamily = {
|
||||
sans: 'inter',
|
||||
heading: 'DrukWide',
|
||||
nav: 'DrukWide',
|
||||
serif: ['ui-serif', 'Georgia', 'Cambria', '"Times New Roman"', 'Times'],
|
||||
mono: [
|
||||
'ui-monospace',
|
||||
'SFMono-Regular',
|
||||
'Menlo',
|
||||
'Monaco',
|
||||
'Consolas',
|
||||
'"Liberation Mono"',
|
||||
'"Courier New"',
|
||||
'monospace',
|
||||
]
|
||||
}
|
||||
|
||||
export default {
|
||||
presets: [preset],
|
||||
content: {
|
||||
files: [
|
||||
'app/**/*.tsx',
|
||||
'./node_modules/@luxfi/ui/**/*.{ts,tsx}',
|
||||
'./node_modules/@hanzo/**/*.{ts,tsx}'
|
||||
]
|
||||
},
|
||||
theme: {
|
||||
fontFamily,
|
||||
extend: {
|
||||
colors: {
|
||||
white: "#ffffff",
|
||||
black: "#000000",
|
||||
gray: "#e5e7eb",
|
||||
}
|
||||
},
|
||||
}
|
||||
} satisfies Config
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"allowJs": true,
|
||||
"baseUrl": ".",
|
||||
"esModuleInterop": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"isolatedModules": true,
|
||||
"jsx": "react-jsx",
|
||||
"lib": [
|
||||
"DOM",
|
||||
"DOM.Iterable",
|
||||
"ES2022"
|
||||
],
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "Bundler",
|
||||
"noEmit": true,
|
||||
"paths": {
|
||||
"@/*": [
|
||||
"./app/*"
|
||||
]
|
||||
},
|
||||
"resolveJsonModule": true,
|
||||
"skipLibCheck": true,
|
||||
"strict": true,
|
||||
"target": "ES2022",
|
||||
"types": [
|
||||
"@remix-run/node",
|
||||
"vite/client",
|
||||
]
|
||||
},
|
||||
"include": [
|
||||
"**/*.ts",
|
||||
"**/*.tsx",
|
||||
"**/.server/**/*.ts",
|
||||
"**/.server/**/*.tsx",
|
||||
"**/.client/**/*.ts",
|
||||
"**/.client/**/*.tsx"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
import { vitePlugin as remix } from '@remix-run/dev'
|
||||
import { vercelPreset } from '@vercel/remix/vite'
|
||||
import { defineConfig } from 'vite'
|
||||
import tsconfigPaths from 'vite-tsconfig-paths'
|
||||
import { viteCommonjs } from '@originjs/vite-plugin-commonjs'
|
||||
|
||||
export default defineConfig({
|
||||
define: {
|
||||
'process.env': {}
|
||||
},
|
||||
plugins: [
|
||||
remix({
|
||||
future: {
|
||||
v3_fetcherPersist: true,
|
||||
v3_relativeSplatPath: true,
|
||||
v3_throwAbortReason: true,
|
||||
},
|
||||
presets: [vercelPreset()],
|
||||
}),
|
||||
tsconfigPaths(),
|
||||
viteCommonjs(),
|
||||
],
|
||||
optimizeDeps: {
|
||||
include: ['react-dom'],
|
||||
// Not excluding these seem to:
|
||||
// a) always force a refresh after initial load (cf(?): https://github.com/vitejs/vite/discussions/14801)
|
||||
// b) optimize an old version!
|
||||
exclude: [
|
||||
'@hanzo/ui/primitives-common',
|
||||
'@hanzo/ui/util',
|
||||
]
|
||||
},
|
||||
})
|
||||
+8
-7
@@ -14,20 +14,21 @@
|
||||
"swap"
|
||||
],
|
||||
"scripts": {
|
||||
"build": "pnpm build:all",
|
||||
"build:all": "pnpm build:app && pnpm build:explorer && pnpm build:sdk",
|
||||
"build:app": "pnpm --filter @luxbridge/app build",
|
||||
"build:all": "pnpm build:bridge && pnpm build:bridge-old && pnpm build:explorer",
|
||||
"build:bridge-old": "pnpm --filter @luxbridge/app-old build",
|
||||
"build:bridge": "pnpm --filter @luxbridge/app build",
|
||||
"build:explorer": "pnpm --filter @luxbridge/explorer build",
|
||||
"build:sdk": "pnpm --filter @luxbridge/sdk build",
|
||||
"build:storybook": "pnpm --filter @luxbridge/app build:storybook",
|
||||
"build:storybook": "pnpm --filter @luxbridge/app-old build:storybook",
|
||||
"start": "pnpm --filter @luxbridge/app start",
|
||||
"dev": "pnpm --filter @luxbridge/app dev"
|
||||
"dev": "pnpm --filter @luxbridge/app dev",
|
||||
"clean:nm": "find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +",
|
||||
"clean:all": "pnpm clean:nm && rm pnpm-lock.yaml"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20",
|
||||
"pnpm": ">=9"
|
||||
},
|
||||
"packageManager": "[email protected]0.0",
|
||||
"packageManager": "[email protected]5.0",
|
||||
"pnpm": {
|
||||
"allowedDeprecatedVersions": {
|
||||
"request": "*"
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
"peerDependencies": {
|
||||
"@hanzo/auth": "catalog:",
|
||||
"@hanzo/commerce": "catalog:",
|
||||
"@hanzo/ui": "catalog:",
|
||||
"react": "catalog:",
|
||||
"react-dom": "catalog:"
|
||||
},
|
||||
|
||||
Generated
+5933
-3552
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -5,7 +5,7 @@ packages:
|
||||
catalog:
|
||||
'@hanzo/auth': 2.5.2
|
||||
'@hanzo/commerce': 7.3.4
|
||||
'@hanzo/ui': 4.1.0
|
||||
'@hanzo/ui': 4.2.0
|
||||
'@luxfi/ui': 5.4.1
|
||||
'@luxfi/data': 1.0.9
|
||||
'@types/node': 20.14.15
|
||||
|
||||
Reference in New Issue
Block a user