Skip to content
This repository was archived by the owner on Apr 4, 2025. It is now read-only.

Commit 9356562

Browse files
committed
try-catch parsing events because reverts happen for no matching events
1 parent 96c0e24 commit 9356562

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

shared/Governance.ts

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,11 +78,26 @@ export const createAndExecuteProposal = async ({
7878
// get ABI
7979
let abi = await getABIFromPolygonscan(target);
8080
let iface = new ethers.utils.Interface(abi);
81-
let events = result.logs.map((log) => iface.parseLog(log));
81+
let events = result.logs.map((log) => {
82+
try {
83+
return iface.parseLog(log);
84+
} catch (e) {
85+
// no matching event
86+
}
87+
});
88+
console.log(`### TARGET ${target} EVENTS ###`);
8289
console.log(events);
90+
console.log(`###################################`);
8391
});
8492

85-
let timelockEvents = result.logs.map((log) => timeLock.interface.parseLog(log));
93+
let timelockEvents = result.logs.map((log) => {
94+
try {
95+
return timeLock.interface.parseLog(log);
96+
} catch (e) {
97+
// no matching event
98+
}
99+
});
100+
console.log(`### TIMELOCK EVENTS ###`);
86101
console.log(timelockEvents);
87102

88103
return proposalId;

shared/Polygonscan.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import fetch from 'node-fetch';
2+
13
export async function getABIFromPolygonscan(address: string) {
24
if (process.env.POLYGONSCAN_API_KEY == undefined) {
35
console.log('Require polygonscan key, exiting...');

0 commit comments

Comments
 (0)