Skip to content

Commit

Permalink
fix: via ir
Browse files Browse the repository at this point in the history
  • Loading branch information
fxp3 committed Jul 16, 2024
1 parent 2d10d06 commit 6e5f51b
Show file tree
Hide file tree
Showing 11 changed files with 31 additions and 46 deletions.
Binary file modified bun.lockb
Binary file not shown.
2 changes: 1 addition & 1 deletion configs/foundry/deploy/arbitrum/assets-arbitrum.json
Original file line number Diff line number Diff line change
Expand Up @@ -755,7 +755,7 @@
"10_staleTimeRedstone": 50,
"11_useAdapter": false,
"12_invertPyth": false,
"13_isClosable": true
"13_isClosable": false
}
],
"07_customTradeRoutes": []
Expand Down
2 changes: 1 addition & 1 deletion foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ fs_permissions = [{ access = "read-write", path = "./" }]
ffi = true
solc = '0.8.23'
evm_version = 'paris'
via_ir = false
via_ir = true
optimizer = true
optimizer_runs = 1000
remappings = [
Expand Down
3 changes: 1 addition & 2 deletions justfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
set dotenv-load
import? "../justfile";
import? "../justfile"

alias dd := deploy-local-dry
alias dr := restart
Expand Down Expand Up @@ -32,7 +32,6 @@ exports:
forge flatten src/contracts/core/vault/interfaces/IVault.sol -o out/IVault.sol && \
forge flatten src/contracts/core/vault/interfaces/IVaultRateProvider.sol -o out/IVaultRateProvider.sol

set positional-arguments

@setup:
just deps
Expand Down
6 changes: 5 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,18 +40,22 @@
"@ethersproject/abstract-provider": "^5",
"@ethersproject/abstract-signer": "^5.7.0",
"@ethersproject/providers": "^5.7.2",
"@metamask/eth-sig-util": "^7.0.3",
"@nomicfoundation/hardhat-chai-matchers": "1.0.6",
"@nomicfoundation/hardhat-foundry": "1.0.3",
"@nomicfoundation/hardhat-network-helpers": "1.0.6",
"@nomiclabs/hardhat-ethers": "2.2.3",
"@swc/core": "1.3.107",
"@swc/helpers": "0.5.3",
"@trezor/connect": "^9.3.0",
"@trezor/connect-plugin-ethereum": "^9.0.3",
"@typechain/ethers-v5": "10.2.0",
"@typechain/hardhat": "9.0.0",
"@types/chai": "^4.3.6",
"@types/mocha": "^10.0.2",
"chai": "^4.3.10",
"dotenv": "^16.3.1",
"eth-provider": "^0.13.6",
"ethers": "5.7.2",
"glob": "^10.3.10",
"hardhat": "2.17.1",
Expand All @@ -72,7 +76,7 @@
"tsconfig-paths": "^4.0.0",
"typechain": "^8.1.1",
"typescript": "5.2.2",
"viem": "^2.5.0"
"viem": "^2.17.4"
},
"keywords": [
"blockchain",
Expand Down
4 changes: 2 additions & 2 deletions src/contracts/scripts/SafeExample.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {scdp} from "scdp/SState.sol";
import {ArbDeployAddr} from "kresko-lib/info/ArbDeployAddr.sol";
import {deployPayload} from "scripts/payloads/Payloads.sol";
import {IExtendedDiamondCutFacet} from "diamond/interfaces/IDiamondCutFacet.sol";

import {SafeScript} from "kresko-lib/utils/ffi/SafeScript.s.sol";
// solhint-disable no-empty-blocks, reason-string, state-visibility

contract ExamplePayload0002 is ArbDeployAddr {
Expand All @@ -19,7 +19,7 @@ contract ExamplePayload0002 is ArbDeployAddr {
}
}

contract SafeExample is ArbScript {
contract SafeExample is SafeScript, ArbScript {
using Log for *;

modifier setUp() {
Expand Down
26 changes: 9 additions & 17 deletions src/contracts/scripts/deploy/JSON.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ function getConfig(string memory network, string memory configId) returns (Confi

function getSalts(string memory network, string memory configId) returns (Salts memory) {
string memory dir = CONST.CONFIG_DIR.cc(network, "/");
string memory location = dir.cc("salts-", configId, ".json");
string memory location = string.concat(dir, "salts-", configId, ".json");
if (!mvm.exists(location)) {
return Salts({kresko: bytes32("Kresko"), multicall: bytes32("Multicall")});
}
Expand All @@ -38,19 +38,15 @@ function getSalts(string memory network, string memory configId) returns (Salts
function getConfigFrom(string memory dir, string memory configId) returns (Config memory json) {
Files memory files;

files.params = dir.cc("params-", configId, ".json");
files.params = string.concat(dir, "params-", configId, ".json");
if (!mvm.exists(files.params)) {
revert(files.params.cc(": no configuration exists."));
}
files.assets = dir.cc("assets-", configId, ".json");
if (!mvm.exists(files.assets)) {
revert(files.assets.cc(": no asset configuration exists."));
}

json.params = abi.decode(mvm.parseJson(mvm.readFile(files.params)), (Params));
json.assets = getAssetConfigFrom(dir, configId);

files.users = dir.cc("users-", configId, ".json");
files.users = string.concat(dir, "users-", configId, ".json");
if (mvm.exists(files.users)) {
json.users = abi.decode(mvm.parseJson(mvm.readFile(files.users)), (Users));
}
Expand All @@ -64,19 +60,15 @@ function getConfigFrom(string memory dir, string memory configId) returns (Confi

// stacks too deep so need to split assets into separate function
function getAssetConfig(string memory network, string memory configId) returns (Assets memory json) {
string memory dir = CONST.CONFIG_DIR.cc(network, "/");
return getAssetConfigFrom(dir, configId);
return getAssetConfigFrom(string.concat(CONST.CONFIG_DIR, network, "/"), configId);
}

function getAssetConfigFrom(string memory dir, string memory configId) returns (Assets memory) {
Files memory files;

files.assets = dir.cc("assets-", configId, ".json");
if (!mvm.exists(files.assets)) {
revert(files.assets.cc(": no asset configuration exists."));
function getAssetConfigFrom(string memory dir, string memory configId) returns (Assets memory result) {
string memory location = string.concat(dir, "assets-", configId, ".json");
if (!mvm.exists(location)) {
revert(location.cc(": no asset configuration exists."));
}

return abi.decode(mvm.parseJson(mvm.readFile(files.assets)), (Assets));
result = abi.decode(mvm.parseJson(mvm.readFile(location)), (Assets));
}

function getKrAsset(Config memory cfg, string memory symbol) pure returns (KrAssetParams memory result) {
Expand Down
10 changes: 5 additions & 5 deletions src/contracts/scripts/tasks/AddKrAsset.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import {KrAssetPayload} from "scripts/payloads/KrAssetPayloads.sol";
import {deployPayload} from "scripts/payloads/Payloads.sol";
import {IExtendedDiamondCutFacet} from "diamond/interfaces/IDiamondCutFacet.sol";
import {IERC20} from "kresko-lib/token/IERC20.sol";
import {IData} from "kresko-lib/core/types/Views.sol";

contract AddKrAsset is AssetAdder {
using Log for *;
Expand All @@ -25,10 +26,9 @@ contract AddKrAsset is AssetAdder {
Deployed.factory(factoryAddr);
}

function createFork() public {
broadcastWith(safe);
createAddKrAsset();
states_looseOracles();
function createKrAssetBatch() public broadcasted(safe) {
_createAddKrAsset();
IData(dataAddr).refreshProtocolAssets();
}

function createAddKrAsset() public {
Expand Down Expand Up @@ -60,7 +60,7 @@ contract AddKrAsset is AssetAdder {
Log.br();
}

function _createAddKrAsset() private rebroadcasted(safe) returns (address payable krAssetAddr_) {
function _createAddKrAsset() internal returns (address payable krAssetAddr_) {
krAssetAddr_ = deployKrAsset(assetSymbol);

address payloadAddr = deployPayload(
Expand Down
13 changes: 5 additions & 8 deletions src/contracts/scripts/utils/ArbScript.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -20,22 +20,19 @@ contract ArbScript is Based, ArbDeploy {

IKrMulticall multicall = IKrMulticall(multicallAddr);
IKresko kresko = IKresko(kreskoAddr);
constructor() {
Deployed.factory(factoryAddr);
}

function initialize(string memory mnemonic) internal {
base(mnemonic, "RPC_ARBITRUM_ALCHEMY");
Deployed.factory(factoryAddr);
base(mnemonic, "arbitrum");
}

function initialize(uint256 blockNr) internal {
vm.createSelectFork("arbitrum", blockNr);
Deployed.factory(factoryAddr);
base("arbitrum", blockNr);
states_looseOracles();
}

function initialize() internal {
initialize("MNEMONIC_DEPLOY");
}

function approvals(address spender) internal {
uint256 allowance = type(uint256).max;
USDC.approve(spender, allowance);
Expand Down
9 changes: 1 addition & 8 deletions src/contracts/test/AddKrAsset.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,7 @@ contract AddKrAssetTest is Tested, AddKrAsset {
uint256 testMint;

function setUp() public override {
super.initialize(231869463);
bytes32[] memory tickers = new bytes32[](1);
bytes32[] memory exchanges = new bytes32[](1);
tickers[0] = bytes32("DOGE");
exchanges[0] = bytes32("CRYPTO");
prank(safe);
marketStatus.setTickers(tickers, exchanges);

super.initialize(232814485);
updatePyth();
syncTime();

Expand Down

0 comments on commit 6e5f51b

Please sign in to comment.