Skip to content

Commit 6348e9e

Browse files
authored
Fix contract address (#541)
* fix lnbridge opposite mainnet contract * update transfer section label text color * update faucet label style * fix fee rate base
1 parent fa3aadc commit 6348e9e

9 files changed

+31
-14
lines changed

packages/apps/src/bridges/lnbridge-opposite.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ export class LnBridgeOpposite extends LnBridgeBase {
2424
private initContract() {
2525
if (this.sourceChain?.id === ChainID.ARBITRUM && this.targetChain?.id === ChainID.ETHEREUM) {
2626
this.contract = {
27-
sourceAddress: "0x9e523234D36973f9e38642886197D023C88e307e",
28-
targetAddress: "0x9469D013805bFfB7D3DEBe5E7839237e535ec483",
27+
sourceAddress: "0x48d769d5C7ff75703cDd1543A1a2ed9bC9044A23",
28+
targetAddress: "0x48d769d5C7ff75703cDd1543A1a2ed9bC9044A23",
2929
};
3030
} else {
3131
this.contract = {

packages/apps/src/components/faucet.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ export default function Faucet() {
108108
return (
109109
<>
110110
<button
111-
className="text-white/50 transition-colors hover:text-white disabled:cursor-not-allowed disabled:text-white/50"
111+
className="text-primary transition-[color,transform] hover:text-white lg:active:translate-y-1"
112112
onClick={() => setIsOpen(true)}
113113
>
114114
<span className="text-sm font-normal">Faucet</span>

packages/apps/src/components/fee-rate-input.tsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import Input from "@/ui/input";
2+
import { parseFeeRate } from "@/utils/misc";
23

34
export default function FeeRateInput({
45
placeholder,
@@ -9,7 +10,7 @@ export default function FeeRateInput({
910
value?: { formatted: number; value: string };
1011
onChange?: (value: { formatted: number; value: string }) => void;
1112
}) {
12-
const invalid = (value?.formatted || 0) < 0 || 100 < (value?.formatted || 0);
13+
const invalid = (value?.formatted || 0) < 0 || 100000 < (value?.formatted || 0);
1314
return (
1415
<div
1516
className={`gap-small bg-app-bg p-small lg:p-middle normal-input-wrap flex items-center justify-between ${
@@ -22,7 +23,7 @@ export default function FeeRateInput({
2223
onChange={(e) => {
2324
if (e.target.value) {
2425
if (!Number.isNaN(Number(e.target.value))) {
25-
onChange({ value: e.target.value, formatted: Number(e.target.value) });
26+
onChange({ value: e.target.value, formatted: parseFeeRate(e.target.value) });
2627
}
2728
} else {
2829
onChange({ value: e.target.value, formatted: 0 });

packages/apps/src/components/relayer-manage-modal.tsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { useNetwork, useSwitchNetwork } from "wagmi";
1010
import { formatBalance } from "@/utils/balance";
1111
import { useRelayer } from "@/hooks/use-relayer";
1212
import dynamic from "next/dynamic";
13+
import { formatFeeRate } from "@/utils/misc";
1314

1415
type TabKey = "update" | "deposit" | "withdraw";
1516
const Modal = dynamic(() => import("@/ui/modal"), { ssr: false });
@@ -74,7 +75,10 @@ export default function RelayerManageModal({ relayerInfo, isOpen, onClose, onSuc
7475
}
7576

7677
if (relayerInfo?.liquidityFeeRate) {
77-
setFeeRate({ formatted: Number(relayerInfo.liquidityFeeRate), value: `${relayerInfo.liquidityFeeRate}` });
78+
setFeeRate({
79+
formatted: Number(relayerInfo.liquidityFeeRate),
80+
value: `${formatFeeRate(relayerInfo.liquidityFeeRate)}`,
81+
});
7882
}
7983

8084
if (relayerInfo?.bridge === "lnbridgev20-default" && _targetToken && relayerInfo.margin) {

packages/apps/src/components/relayer-register.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import { Token, TokenSymbol } from "@/types/token";
1111
import { BridgeCategory } from "@/types/bridge";
1212
import { useAccount, useNetwork, useSwitchNetwork } from "wagmi";
1313
import Image from "next/image";
14-
import { getChainLogoSrc, getTokenLogoSrc } from "@/utils/misc";
14+
import { formatFeeRate, getChainLogoSrc, getTokenLogoSrc } from "@/utils/misc";
1515
import Tooltip from "@/ui/tooltip";
1616
import StepCompleteItem from "./step-complete-item";
1717
import { BalanceInput } from "./balance-input";
@@ -410,7 +410,7 @@ export default function RelayerRegister() {
410410
balance={margin.formatted}
411411
/>
412412
<StepCompleteItem property="Base Fee" token={sourceToken} balance={baseFee.formatted} />
413-
<StepCompleteItem property="Liquidity Fee Rate" percent={feeRate.formatted} />
413+
<StepCompleteItem property="Liquidity Fee Rate" percent={formatFeeRate(feeRate.formatted)} />
414414
</div>
415415
</>
416416
)}
@@ -527,7 +527,7 @@ export default function RelayerRegister() {
527527
<PrettyBaseFee fee={baseFee.formatted} token={sourceToken} />
528528

529529
<span>Liquidity Fee Rate</span>
530-
<span>{feeRate.formatted}%</span>
530+
<span>{formatFeeRate(feeRate.formatted)}%</span>
531531
</div>
532532

533533
<Divider />

packages/apps/src/components/relayers-table.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import Image from "next/image";
55
import PrettyAddress from "./pretty-address";
66
import { Network } from "@/types/chain";
77
import { getChainConfig } from "@/utils/chain";
8-
import { getChainLogoSrc, getTokenLogoSrc } from "@/utils/misc";
8+
import { formatFeeRate, getChainLogoSrc, getTokenLogoSrc } from "@/utils/misc";
99
import { formatBalance } from "@/utils/balance";
1010
import { useState } from "react";
1111
import Button from "@/ui/button";
@@ -89,8 +89,8 @@ const commonColumns: ColumnType<DataSource>[] = [
8989
/>
9090
),
9191
render: ({ liquidityFeeRate }) =>
92-
liquidityFeeRate ? (
93-
<span className="text-sm font-normal text-white">{`${liquidityFeeRate}%`}</span>
92+
typeof liquidityFeeRate === "number" ? (
93+
<span className="text-sm font-normal text-white">{`${formatFeeRate(liquidityFeeRate)}%`}</span>
9494
) : (
9595
<span>-</span>
9696
),

packages/apps/src/components/transfer.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ function Section({
299299
return (
300300
<div className={`gap-small lg:gap-middle relative flex flex-col ${className}`}>
301301
<div className="absolute -top-8 left-0 flex w-full items-center justify-between">
302-
<span className="text-sm font-normal text-white">{label}</span>
302+
<span className="text-sm font-normal text-white/50">{label}</span>
303303
{extra}
304304
</div>
305305
{children}

packages/apps/src/config/constant.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1-
export {};
1+
/**
2+
* If the fee rate is 10.123%, its value in the contract is 10123 (10.123 * 1000)
3+
*/
4+
export const FEE_RATE_BASE = 1000;

packages/apps/src/utils/misc.ts

+9
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { FEE_RATE_BASE } from "@/config/constant";
12
import { RecordStatus } from "@/types/graphql";
23

34
export function formatRecordStatus(status: RecordStatus) {
@@ -28,3 +29,11 @@ export function getChainLogoSrc(fileName?: string | null) {
2829
export function getBridgeLogoSrc(fileName: string) {
2930
return `/images/bridge/${fileName}`;
3031
}
32+
33+
export function parseFeeRate(rate: string) {
34+
return Math.round(Number(rate) * FEE_RATE_BASE);
35+
}
36+
37+
export function formatFeeRate(rate: number) {
38+
return Number((rate / FEE_RATE_BASE).toFixed(3));
39+
}

0 commit comments

Comments
 (0)