Skip to content

Commit

Permalink
Merge pull request #263 from luxfi/dev/newProd
Browse files Browse the repository at this point in the history
Dev/new prod
  • Loading branch information
venuswhispers authored Nov 30, 2024
2 parents 5a9dd34 + 6655ac5 commit 3b4a4fc
Show file tree
Hide file tree
Showing 5 changed files with 98 additions and 104 deletions.
35 changes: 9 additions & 26 deletions app/bridge/src/components/SwapHistory/SwapDetailsComponent.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,45 +9,28 @@ import { SwapDetailsComponentSkeleton } from '../Skeletons'
import { ExternalLink } from 'lucide-react'
import { type FC } from 'react'
import { type SwapItem, TransactionType } from '../../lib/BridgeApiClient'
//networks
import fireblockNetworksMainnet from '@/components/lux/utila/constants/networks.mainnets'
import fireblockNetworksTestnet from '@/components/lux/utila/constants/networks.sandbox'
import { networks as teleportNetworksMainnet } from '@/components/lux/teleport/constants/networks.mainnets'
import { networks as teleportNetworksTestnet } from '@/components/lux/teleport/constants/networks.sandbox'
import { useSettings } from '@/context/settings'
import type { CryptoNetwork, NetworkCurrency } from '@/Models/CryptoNetwork'

type Props = {
swap: SwapItem
}

const SwapDetails: FC<Props> = ({ swap }) => {
// make networks
const isMainnet = process.env.NEXT_PUBLIC_API_VERSION === 'mainnet'
const networksFireblock = isMainnet
? [
...fireblockNetworksMainnet.sourceNetworks,
...fireblockNetworksMainnet.destinationNetworks,
]
: [
...fireblockNetworksTestnet.sourceNetworks,
...fireblockNetworksTestnet.destinationNetworks,
]
const networksTeleport = isMainnet
? teleportNetworksMainnet
: teleportNetworksTestnet
const networks = swap.use_teleporter ? networksTeleport : networksFireblock
const { networks } = useSettings()

const sourceNetwork = networks.find(
(n) => n.internal_name === swap.source_network
(n: CryptoNetwork) => n.internal_name === swap.source_network
)
const destinationNetwork = networks.find(
(n) => n.internal_name === swap.destination_network
(n: CryptoNetwork) => n.internal_name === swap.destination_network
)

const sourceAsset = sourceNetwork?.currencies.find(
(c) => c.asset === swap.source_asset
(c: NetworkCurrency) => c.asset === swap.source_asset
)
const destinationAsset = destinationNetwork?.currencies.find(
(c) => c.asset === swap.destination_asset
(c: NetworkCurrency) => c.asset === swap.destination_asset
)

const swapInputTransaction = swap?.transactions?.find(
Expand Down Expand Up @@ -124,7 +107,7 @@ const SwapDetails: FC<Props> = ({ swap }) => {
<div className="flex-shrink-0 h-5 w-5 relative">
<Image
// src={resolveNetworkImage(swap?.destination_network)}
src={destinationNetwork?.logo!}
src={destinationNetwork?.logo ?? ''}
alt="Exchange Logo"
height="60"
width="60"
Expand Down Expand Up @@ -252,7 +235,7 @@ const SwapDetails: FC<Props> = ({ swap }) => {
<div className="flex justify-between items-baseline">
<span className="text-left">Bridge Fee </span>
<span className=" font-normal">
{swap?.fee} {sourceAsset?.asset}
{0} {sourceAsset?.asset}
</span>
</div>
</>
Expand Down
1 change: 0 additions & 1 deletion app/bridge/src/components/SwapHistory/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,6 @@ function TransactionsHistory() {
(n: CryptoNetwork) =>
n.internal_name === swap.source_network
)
console.log(sourceNetwork)
const destinationNetwork = networks.find(
(n: CryptoNetwork) =>
n.internal_name === swap.destination_network
Expand Down
15 changes: 5 additions & 10 deletions app/server/src/lib/swaps.ts
Original file line number Diff line number Diff line change
Expand Up @@ -524,19 +524,13 @@ export async function handlerDepositAction(
console.log(`>> Successfully Created Deposit Action for Swap [${swap.id}]`)
}
/**
*
* @param state
* @param hash
* @param amount
* @param asset
* @param sourceAddress
* @param destinationAddress
* @returns
*
* @param swapId
*/
export async function handlerCheckDeposit(
swapId: string
) {
const swap = await prisma.swap.findFirst({
const swap = await prisma.swap.findUnique({
where: {
id: swapId
},
Expand Down Expand Up @@ -577,8 +571,9 @@ export async function handlerCheckDeposit(
}
})
console.log(`>> Deposit Completed for swap [${swap.id}]`)
} else {
throw new Error(`Deposit is not confirmed yet for this swap`)
}
console.log(`>> Successfully Created Deposit Action for Swap [${swap.id}]`)
}
/**
* handler after deposit is checked
Expand Down
62 changes: 31 additions & 31 deletions app/server/src/routes/utila.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import { Router, Request, Response } from "express";
import { verifyUtilaSignature } from "@/lib/utila";
import logger from "@/logger";
import { handleTransactionCreated, handleTransactionStateUpdated } from "@/lib/utila";
import { handlerUtilaPayoutAction } from "@/lib/swaps";
import { Router, Request, Response } from "express"
import { verifyUtilaSignature } from "@/lib/utila"
import logger from "@/logger"
import { handleTransactionCreated, handleTransactionStateUpdated } from "@/lib/utila"
import { handlerCheckDeposit, handlerUtilaPayoutAction } from "@/lib/swaps"

const router: Router = Router();
const router: Router = Router()

router.get("/payout/:swapId", async (req: Request, res: Response) => {
try {
const swapId = req.params.swapId
const data = await handlerUtilaPayoutAction (swapId)
const data = await handlerUtilaPayoutAction(swapId)
res.status(200).json(data)
} catch (err: any) {
res.status(500).send({
Expand All @@ -18,11 +18,11 @@ router.get("/payout/:swapId", async (req: Request, res: Response) => {
}
})

router.get("/deposit/check/:swapId", async (req: Request, res: Response) => {
router.get("/deposit-check/:swapId", async (req: Request, res: Response) => {
try {
const swapId = req.params.swapId
const data = await handlerUtilaPayoutAction (swapId)
res.status(200).json(data)
await handlerCheckDeposit(swapId)
res.status(200).json({ msg: 'success' })
} catch (err: any) {
res.status(500).send({
error: err?.message
Expand All @@ -44,51 +44,51 @@ router.post("/webhook", verifyUtilaSignature, async (req: Request, res: Response
try {
switch (eventType) {
case "TRANSACTION_CREATED": {
await handleTransactionCreated (req.body)
break;
await handleTransactionCreated(req.body)
break
}

case "TRANSACTION_STATE_UPDATED": {
await handleTransactionStateUpdated (req.body)
break;
await handleTransactionStateUpdated(req.body)
break
}

case "WALLET_CREATED":
// logger.info("Wallet Created", { eventData: req.body });
break;
break

case "WALLET_ADDRESS_CREATED":
// logger.info("Wallet Address Created", { eventData: req.body });
break;
break

default:
// logger.warn("Unknown event type received", { eventData: req.body });
// return res.status(400).json({ error: "Unknown event type" });
// logger.warn("Unknown event type received", { eventData: req.body });
// return res.status(400).json({ error: "Unknown event type" });
}

res.status(200).json({ message: "Webhook received successfully" });
res.status(200).json({ message: "Webhook received successfully" })
} catch (error) {
const errorMessage = error instanceof Error ? error.message : "Unknown error occurred";
const errorStack = error instanceof Error ? error.stack : null;
const errorMessage = error instanceof Error ? error.message : "Unknown error occurred"
const errorStack = error instanceof Error ? error.stack : null

console.error("Error processing webhook", {
message: errorMessage,
stack: errorStack,
});
stack: errorStack
})

res.status(500).json({
error: "Internal Server Error",
details: errorMessage,
});
details: errorMessage
})
}
});
})

/**
* Catch-all for unsupported methods on /webhook
*/
router.all("/webhook", (req: Request, res: Response) => {
logger.warn(`Unsupported method ${req.method} on /webhook`);
res.status(405).json({ error: "Method Not Allowed" });
});
logger.warn(`Unsupported method ${req.method} on /webhook`)
res.status(405).json({ error: "Method Not Allowed" })
})

export default router;
export default router
Loading

0 comments on commit 3b4a4fc

Please sign in to comment.