Make relayer print exception details

This commit is contained in:
Bruce Riley 2022-01-22 19:27:14 +00:00
parent 8c70f88306
commit 1e1684f4cc
1 changed files with 81 additions and 67 deletions

View File

@ -590,11 +590,23 @@ async function relayVaa(vaaBytes: string, t3Payload: Type3Payload) {
); );
if (t3Payload.contractAddress === ethContractData.contractAddress) { if (t3Payload.contractAddress === ethContractData.contractAddress) {
await relayVaaToChain(ethContractData, signedVaaArray, exactIn, native); await relayVaaToChain(
t3Payload,
ethContractData,
signedVaaArray,
exactIn,
native
);
} else if ( } else if (
t3Payload.contractAddress === polygonContractData.contractAddress t3Payload.contractAddress === polygonContractData.contractAddress
) { ) {
await relayVaaToChain(polygonContractData, signedVaaArray, exactIn, native); await relayVaaToChain(
t3Payload,
polygonContractData,
signedVaaArray,
exactIn,
native
);
} else { } else {
logger.error( logger.error(
"relayVaa: unexpected contract: [" + "relayVaa: unexpected contract: [" +
@ -605,6 +617,7 @@ async function relayVaa(vaaBytes: string, t3Payload: Type3Payload) {
} }
async function relayVaaToChain( async function relayVaaToChain(
t3Payload: Type3Payload,
tcd: TargetContractData, tcd: TargetContractData,
signedVaaArray: Uint8Array, signedVaaArray: Uint8Array,
exactIn: boolean, exactIn: boolean,
@ -631,7 +644,9 @@ async function relayVaaToChain(
logger.info( logger.info(
"relayVaaTo" + "relayVaaTo" +
tcd.name + tcd.name +
": exactIn: " + ": contract: [" +
t3Payload.contractAddress +
"], exactIn: " +
exactIn + exactIn +
", native: " + ", native: " +
native + native +
@ -650,72 +665,69 @@ async function relayVaaToChain(
} }
logger.info( logger.info(
"relayVaaTo" + tcd.name + ": exactIn: " + exactIn + ", native: " + native "relayVaaTo" +
tcd.name +
": contract: [" +
t3Payload.contractAddress +
"], exactIn: " +
exactIn +
", native: " +
native
); );
try {
let receipt: any = null;
if (exactIn) { if (exactIn) {
if (native) { if (native) {
await swap receipt = await swap.swapExactInFromVaaNative(
.swapExactInFromVaaNative(tcd.contractWithSigner, signedVaaArray) tcd.contractWithSigner,
.then((receipt) => { signedVaaArray
logger.info(
"relayVaaTo" + tcd.name + ": %o",
receipt.transactionHash
); );
})
.catch((error) => {
logger.error(
"relayVaaTo" + tcd.name + ": transaction failed: %o",
error.transactionHash
);
});
} else { } else {
await swap receipt = await swap.swapExactInFromVaaToken(
.swapExactInFromVaaToken(tcd.contractWithSigner, signedVaaArray) tcd.contractWithSigner,
.then((receipt) => { signedVaaArray
logger.info(
"relayVaaTo" + tcd.name + ": %o",
receipt.transactionHash
); );
})
.catch((error) => {
logger.error(
"relayVaaTo" + tcd.name + ": transaction failed: %o",
error.transactionHash
);
});
} }
} else { } else {
if (native) { if (native) {
await swap receipt = await swap.swapExactOutFromVaaNative(
.swapExactOutFromVaaNative(tcd.contractWithSigner, signedVaaArray) tcd.contractWithSigner,
.then((receipt) => { signedVaaArray
logger.info(
"relayVaaTo" + tcd.name + ": %o",
receipt.transactionHash
); );
})
.catch((error) => {
logger.error(
"relayVaaTo" + tcd.name + ": transaction failed: %o",
error.transactionHash
);
});
} else { } else {
await swap receipt = await swap.swapExactOutFromVaaToken(
.swapExactOutFromVaaToken(tcd.contractWithSigner, signedVaaArray) tcd.contractWithSigner,
.then((receipt) => { signedVaaArray
);
}
}
logger.info( logger.info(
"relayVaaTo" + tcd.name + ": %o", "relayVaaTo" +
tcd.name +
": contract: [" +
t3Payload.contractAddress +
"], exactIn: " +
exactIn +
", native: " +
native +
" succeeded, txHash: " +
receipt.transactionHash receipt.transactionHash
); );
}) } catch (e: any) {
.catch((error) => {
logger.error( logger.error(
"relayVaaTo" + tcd.name + ": transaction failed: %o", "relayVaaTo" +
error.transactionHash tcd.name +
": contract: [" +
t3Payload.contractAddress +
"], exactIn: " +
exactIn +
", native: " +
native +
": transaction failed: %o",
e
); );
});
}
} }
try { try {
@ -737,7 +749,9 @@ async function relayVaaToChain(
logger.info( logger.info(
"relayVaaTo" + "relayVaaTo" +
tcd.name + tcd.name +
": exactIn: " + ": contract: [" +
t3Payload.contractAddress +
"], exactIn: " +
exactIn + exactIn +
", native: " + ", native: " +
native + native +