From 15a40caecbf6f273f49ba0415565143f3578838b Mon Sep 17 00:00:00 2001 From: sunbreak1211 Date: Wed, 20 Nov 2024 22:21:21 -0300 Subject: [PATCH] Improve call resolutions efficiency --- ForeignController.spec | 8 ++++---- MainnetController.spec | 31 ++++++++++++++++--------------- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/ForeignController.spec b/ForeignController.spec index b1a463a..cba12a5 100644 --- a/ForeignController.spec +++ b/ForeignController.spec @@ -41,11 +41,11 @@ methods { function aux.makeAssetKey(bytes32,address) external returns (bytes32) envfree; function aux.makeDomainKey(bytes32,uint32) external returns (bytes32) envfree; // - function _._ => DISPATCH [ + unresolved external in proxy.doCall(address,bytes) => DISPATCH [ _.approve(address,uint256), - _.deposit(address,address,uint256), - _.withdraw(address,address,uint256), - _.depositForBurn(uint256,uint32,bytes32,address) + psm.deposit(address,address,uint256), + psm.withdraw(address,address,uint256), + cctp.depositForBurn(uint256,uint32,bytes32,address) ] default HAVOC_ALL; function _.burnLimitsPerMessage(address token) external => burnLimitsPerMessageSummary() expect uint256; } diff --git a/MainnetController.spec b/MainnetController.spec index 45d1257..e3f1425 100644 --- a/MainnetController.spec +++ b/MainnetController.spec @@ -59,21 +59,22 @@ methods { function sUsds.lastSig() external returns (bytes4) envfree; function aux.makeDomainKey(bytes32,uint32) external returns (bytes32) envfree; // - function _._ => DISPATCH [ - _.approve(address,uint256), - _.transfer(address,uint256), - _.transferFrom(address,address,uint256), - _.depositForBurn(uint256,uint32,bytes32,address), - _.usdsToDai(address,uint256), - _.daiToUsds(address,uint256), - _.usdsToDai(address,uint256), - _.buyGemNoFee(address,uint256), - _.sellGemNoFee(address,uint256), - _.draw(uint256), - _.wipe(uint256), - _.deposit(uint256,address), - _.withdraw(uint256,address,address), - _.redeem(uint256,address,address) + unresolved external in proxy.doCall(address,bytes) => DISPATCH [ + dai.approve(address,uint256), + usds.approve(address,uint256), + usdc.approve(address,uint256), + usds.transfer(address,uint256), + usds.transferFrom(address,address,uint256), + cctp.depositForBurn(uint256,uint32,bytes32,address), + daiUsds.daiToUsds(address,uint256), + daiUsds.usdsToDai(address,uint256), + psm.buyGemNoFee(address,uint256), + psm.sellGemNoFee(address,uint256), + vault.draw(uint256), + vault.wipe(uint256), + sUsds.deposit(uint256,address), + sUsds.withdraw(uint256,address,address), + sUsds.redeem(uint256,address,address) ] default HAVOC_ALL; function _.burnLimitsPerMessage(address token) external => burnLimitsPerMessageSummary() expect uint256; }