From c39f6ce40e189ea13b0d1131fa64f4865efd2ce5 Mon Sep 17 00:00:00 2001 From: thal0x Date: Fri, 13 Oct 2023 07:57:17 -0500 Subject: [PATCH] Properly track status of single chain transactions --- package-lock.json | 14 +++++++------- package.json | 2 +- src/solve/context.tsx | 3 ++- src/solve/execute-route.ts | 18 ++++++++---------- 4 files changed, 18 insertions(+), 19 deletions(-) diff --git a/package-lock.json b/package-lock.json index d8f9bfc1..f25541ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,7 +36,7 @@ "@radix-ui/react-dialog": "^1.0.4", "@radix-ui/react-toast": "^1.1.4", "@radix-ui/react-tooltip": "^1.0.6", - "@skip-router/core": "^0.0.7", + "@skip-router/core": "^0.0.11", "@tanstack/react-query": "^4.29.5", "@types/node": "20.1.2", "@types/react": "18.2.6", @@ -5233,9 +5233,9 @@ } }, "node_modules/@skip-router/core": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/@skip-router/core/-/core-0.0.7.tgz", - "integrity": "sha512-82OI715qiphIGnfoi6Tfj1bfA7fshAwoZ4lF3E3hUv0A1G60ueh7gRsXu7/WY6EHT6j7GbX0EQh9qXfhC/zZZw==", + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/@skip-router/core/-/core-0.0.11.tgz", + "integrity": "sha512-RC2MSdy26imevEZ0jbc54VMQMO2QktH1uprBED8SyrRChs/v2R6WhFCnRYd75u3E6yfyzq8mAmG7wyXxQBQ4qg==", "dependencies": { "@cosmjs/amino": "^0.31.1", "@cosmjs/cosmwasm-stargate": "^0.31.1", @@ -22540,9 +22540,9 @@ } }, "@skip-router/core": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/@skip-router/core/-/core-0.0.7.tgz", - "integrity": "sha512-82OI715qiphIGnfoi6Tfj1bfA7fshAwoZ4lF3E3hUv0A1G60ueh7gRsXu7/WY6EHT6j7GbX0EQh9qXfhC/zZZw==", + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/@skip-router/core/-/core-0.0.11.tgz", + "integrity": "sha512-RC2MSdy26imevEZ0jbc54VMQMO2QktH1uprBED8SyrRChs/v2R6WhFCnRYd75u3E6yfyzq8mAmG7wyXxQBQ4qg==", "requires": { "@cosmjs/amino": "^0.31.1", "@cosmjs/cosmwasm-stargate": "^0.31.1", diff --git a/package.json b/package.json index 74236642..74319152 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "@radix-ui/react-dialog": "^1.0.4", "@radix-ui/react-toast": "^1.1.4", "@radix-ui/react-tooltip": "^1.0.6", - "@skip-router/core": "^0.0.7", + "@skip-router/core": "^0.0.11", "@tanstack/react-query": "^4.29.5", "@types/node": "20.1.2", "@types/react": "18.2.6", diff --git a/src/solve/context.tsx b/src/solve/context.tsx index 49269b88..62ad1899 100644 --- a/src/solve/context.tsx +++ b/src/solve/context.tsx @@ -18,7 +18,8 @@ export const SkipContext = createContext< export const SkipProvider: FC = ({ children }) => { const { client: walletClient } = useWalletClient(); - const skipClient = new SkipRouter(SKIP_API_URL, { + const skipClient = new SkipRouter({ + apiURL: SKIP_API_URL, getOfflineSigner: async (chainID) => { if (!walletClient) { throw new Error("No offline signer available"); diff --git a/src/solve/execute-route.ts b/src/solve/execute-route.ts index 91622e30..aea30964 100644 --- a/src/solve/execute-route.ts +++ b/src/solve/execute-route.ts @@ -33,7 +33,8 @@ export async function executeRoute( addressList.push(address); } - const skipClient = new SkipRouter(SKIP_API_URL, { + const skipClient = new SkipRouter({ + apiURL: SKIP_API_URL, getOfflineSigner: async (chainID) => { const signerIsLedger = await isLedger(walletClient, chainID); @@ -62,19 +63,16 @@ export async function executeRoute( let i = 0; - await skipClient.executeRoute(route, userAddresses, { - onTransactionSuccess: async (txStatus) => { - const { sendTx } = txStatus.transferSequence[0].packetTXs; - if (!sendTx) { - return; - } - - const explorerLink = getExplorerLinkForTx(sendTx.chainID, sendTx.txHash); + await skipClient.executeRoute({ + route, + userAddresses, + onTransactionSuccess: async (txHash, chainID) => { + const explorerLink = getExplorerLinkForTx(chainID, txHash); onTxSuccess( { explorerLink, - txHash: sendTx.txHash, + txHash, }, i, );