-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into vip/VEN-2686
- Loading branch information
Showing
120 changed files
with
42,625 additions
and
1,289 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,7 +8,6 @@ | |
**/build | ||
**/cache | ||
**/cache-zk | ||
**/cache-zl | ||
**/coverage | ||
**/dist | ||
**/node_modules | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
import { parseUnits } from "ethers/lib/utils"; | ||
|
||
import { makeProposal } from "../../../../src/utils"; | ||
|
||
export const XVS_VAULT_TREASURY = "0xaE39C38AF957338b3cEE2b3E5d825ea88df02EfE"; | ||
export const XVS_STORE = "0x1Db646E1Ab05571AF99e47e8F909801e5C99d37B"; | ||
export const XVS = "0xd3CC9d8f3689B83c91b7B59cAB4946B063EB894A"; | ||
export const TRANSFER_AMOUNT = parseUnits("6893", 18); | ||
export const XVS_VAULT = "0xA0882C2D5DF29233A092d2887A258C2b90e9b994"; | ||
export const SPEED = "43055555555555555"; | ||
|
||
export const vip049 = () => { | ||
return makeProposal([ | ||
{ | ||
target: XVS_VAULT_TREASURY, | ||
signature: "fundXVSVault(uint256)", | ||
params: [TRANSFER_AMOUNT], | ||
}, | ||
{ | ||
target: XVS_VAULT, | ||
signature: "setRewardAmountPerBlockOrSecond(address,uint256)", | ||
params: [XVS, SPEED], | ||
}, | ||
]); | ||
}; | ||
|
||
export default vip049; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
import { parseUnits } from "ethers/lib/utils"; | ||
import { NETWORK_ADDRESSES } from "src/networkAddresses"; | ||
import { makeProposal } from "src/utils"; | ||
|
||
const { ethereum } = NETWORK_ADDRESSES; | ||
|
||
const UPPER_BOUND_RATIO = parseUnits("1.01", 18); | ||
const LOWER_BOUND_RATIO = parseUnits("0.99", 18); | ||
const ezETH_ONE_JUMP_REDSTONE_ORACLE = "0x8062dC1b38c0b2CF6188dF605B19cFF3c4dc9b29"; | ||
const ezETH_ONE_JUMP_CHAINLINK_ORACLE = "0xa87E10C6F6DAD7af6C17f82Ce2C00FA5C64d110c"; | ||
export const ezETH = "0xbf5495Efe5DB9ce00f80364C8B423567e58d2110"; | ||
export const vezETH = "0xA854D35664c658280fFf27B6eDC6C4195c3229B3"; | ||
const BOUND_VALIDATOR = "0x1Cd5f336A1d28Dff445619CC63d3A0329B4d8a58"; | ||
export const VTOKEN_RECEIVER = "0x1E3233E8d972cfFc7D0f83aFAE4354a0Db74e34E"; | ||
export const INITIAL_SUPPLY = parseUnits("1.41", 18); | ||
export const SUPPLY_CAP = parseUnits("14000", 18); | ||
export const BORROW_CAP = parseUnits("1400", 18); | ||
const CHAINLINK_ezETH_FEED = "0x636A000262F6aA9e1F094ABF0aD8f645C44f641C"; | ||
const REDSTONE_ezETH_FEED = "0xF4a3e183F59D2599ee3DF213ff78b1B3b1923696"; | ||
const STALE_PERIOD_26H = 60 * 60 * 26; // 26 hours (pricefeeds with heartbeat of 24 hr) ; | ||
const STALE_PERIOD_13H = 60 * 60 * 13; // 13 hours (pricefeeds with heartbeat of 12 hr) ; | ||
const CF = parseUnits("0.8", 18); | ||
const LT = parseUnits("0.85", 18); | ||
export const USDT_PRIME_CONVERTER = "0x4f55cb0a24D5542a3478B0E284259A6B850B06BD"; | ||
export const USDC_PRIME_CONVERTER = "0xcEB9503f10B781E30213c0b320bCf3b3cE54216E"; | ||
export const WBTC_PRIME_CONVERTER = "0xDcCDE673Cd8988745dA384A7083B0bd22085dEA0"; | ||
export const WETH_PRIME_CONVERTER = "0xb8fD67f215117FADeF06447Af31590309750529D"; | ||
export const XVS_VAULT_CONVERTER = "0x1FD30e761C3296fE36D9067b1e398FD97B4C0407"; | ||
export const BaseAssets = [ | ||
"0xdAC17F958D2ee523a2206206994597C13D831ec7", // USDT USDTTokenConverter BaseAsset | ||
"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC USDCTokenConverter BaseAsset | ||
"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", // WBTC WBTCTokenConverter BaseAsset | ||
"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", // WETH WETHTokenConverter BaseAsset | ||
"0xd3CC9d8f3689B83c91b7B59cAB4946B063EB894A", // XVS XVSTokenConverter BaseAsset | ||
]; | ||
|
||
export const vip050 = () => { | ||
return makeProposal([ | ||
// Configure Oracle | ||
{ | ||
target: BOUND_VALIDATOR, | ||
signature: "setValidateConfig((address,uint256,uint256))", | ||
params: [[ezETH, UPPER_BOUND_RATIO, LOWER_BOUND_RATIO]], | ||
}, | ||
{ | ||
target: ethereum.REDSTONE_ORACLE, | ||
signature: "setTokenConfig((address,address,uint256))", | ||
params: [[ezETH, REDSTONE_ezETH_FEED, STALE_PERIOD_13H]], | ||
}, | ||
{ | ||
target: ethereum.CHAINLINK_ORACLE, | ||
signature: "setTokenConfig((address,address,uint256))", | ||
params: [[ezETH, CHAINLINK_ezETH_FEED, STALE_PERIOD_26H]], | ||
}, | ||
{ | ||
target: ethereum.RESILIENT_ORACLE, | ||
signature: "setTokenConfig((address,address[3],bool[3]))", | ||
params: [ | ||
[ | ||
ezETH, | ||
[ezETH_ONE_JUMP_REDSTONE_ORACLE, ezETH_ONE_JUMP_CHAINLINK_ORACLE, ezETH_ONE_JUMP_CHAINLINK_ORACLE], | ||
[true, true, true], | ||
], | ||
], | ||
}, | ||
|
||
// Add Market | ||
{ | ||
target: ethereum.VTREASURY, | ||
signature: "withdrawTreasuryToken(address,uint256,address)", | ||
params: [ezETH, INITIAL_SUPPLY, ethereum.GUARDIAN], | ||
}, | ||
{ | ||
target: ezETH, | ||
signature: "approve(address,uint256)", | ||
params: [ethereum.POOL_REGISTRY, INITIAL_SUPPLY], | ||
}, | ||
{ | ||
target: vezETH, | ||
signature: "setProtocolSeizeShare(uint256)", | ||
params: [parseUnits("0.01", 18)], | ||
}, | ||
{ | ||
target: vezETH, | ||
signature: "setReduceReservesBlockDelta(uint256)", | ||
params: ["7200"], | ||
}, | ||
{ | ||
target: ethereum.POOL_REGISTRY, | ||
signature: "addMarket((address,uint256,uint256,uint256,address,uint256,uint256))", | ||
params: [[vezETH, CF, LT, INITIAL_SUPPLY, VTOKEN_RECEIVER, SUPPLY_CAP, BORROW_CAP]], | ||
}, | ||
|
||
// Conversion config | ||
{ | ||
target: USDT_PRIME_CONVERTER, | ||
signature: "setConversionConfigs(address,address[],(uint256,uint8)[])", | ||
params: [BaseAssets[0], [ezETH], [[0, 1]]], | ||
}, | ||
{ | ||
target: USDC_PRIME_CONVERTER, | ||
signature: "setConversionConfigs(address,address[],(uint256,uint8)[])", | ||
params: [BaseAssets[1], [ezETH], [[0, 1]]], | ||
}, | ||
{ | ||
target: WBTC_PRIME_CONVERTER, | ||
signature: "setConversionConfigs(address,address[],(uint256,uint8)[])", | ||
params: [BaseAssets[2], [ezETH], [[0, 1]]], | ||
}, | ||
{ | ||
target: WETH_PRIME_CONVERTER, | ||
signature: "setConversionConfigs(address,address[],(uint256,uint8)[])", | ||
params: [BaseAssets[3], [ezETH], [[0, 1]]], | ||
}, | ||
{ | ||
target: XVS_VAULT_CONVERTER, | ||
signature: "setConversionConfigs(address,address[],(uint256,uint8)[])", | ||
params: [BaseAssets[4], [ezETH], [[0, 1]]], | ||
}, | ||
]); | ||
}; | ||
|
||
export default vip050; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
import { parseUnits } from "ethers/lib/utils"; | ||
|
||
import { makeProposal } from "../../../../src/utils"; | ||
|
||
export const LIQUID_STAKED_ETH_COMPTROLLER = "0xF522cd0360EF8c2FF48B648d53EA1717Ec0F3Ac3"; | ||
export const vPTweETH26DEC2024LiquidStakedETH = "0x76697f8eaeA4bE01C678376aAb97498Ee8f80D5C"; | ||
export const NEW_SUPPLY_CAP = parseUnits("2400", 18); | ||
|
||
export const vip051 = () => { | ||
return makeProposal([ | ||
{ | ||
target: LIQUID_STAKED_ETH_COMPTROLLER, | ||
signature: "setMarketSupplyCaps(address[],uint256[])", | ||
params: [[vPTweETH26DEC2024LiquidStakedETH], [NEW_SUPPLY_CAP]], | ||
}, | ||
]); | ||
}; | ||
|
||
export default vip051; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
import { makeProposal } from "../../../../src/utils"; | ||
|
||
export const REWARDS_DISTRIBUTOR_CORE_OLD = "0x134bfDEa7e68733921Bc6A87159FB0d68aBc6Cf8"; | ||
export const REWARDS_DISTRIBUTOR_CORE_NEW = "0x886767B62C7ACD601672607373048FFD96Cf27B2"; | ||
export const REWARDS_DISTRIBUTOR_CURVE_NEW = "0x461dE281c453F447200D67C9Dd31b3046c8f49f8"; | ||
export const REWARDS_DISTRIBUTOR_LST_OLD = "0x7A91bEd36D96E4e644d3A181c287E0fcf9E9cc98"; | ||
export const REWARDS_DISTRIBUTOR_LST_NEW = "0x1e25CF968f12850003Db17E0Dba32108509C4359"; | ||
|
||
export const VDAI_CORE = "0xd8AdD9B41D4E1cd64Edad8722AB0bA8D35536657"; | ||
export const VFRAX_CORE = "0x4fAfbDc4F2a9876Bd1764827b26fb8dc4FD1dB95"; | ||
export const VTUSD_CORE = "0x13eB80FDBe5C5f4a7039728E258A6f05fb3B912b"; | ||
export const VUSDC_CORE = "0x17C07e0c232f2f80DfDbd7a95b942D893A4C5ACb"; | ||
export const VUSDT_CORE = "0x8C3e3821259B82fFb32B2450A95d2dcbf161C24E"; | ||
export const VWBTC_CORE = "0x8716554364f20BCA783cb2BAA744d39361fd1D8d"; | ||
export const VWETH_CORE = "0x7c8ff7d2A1372433726f879BD945fFb250B94c65"; | ||
export const VSFRAX_CORE = "0x17142a05fe678e9584FA1d88EfAC1bF181bF7ABe"; | ||
export const VCRVUSD_CORE = "0x672208C10aaAA2F9A6719F449C4C8227bc0BC202"; | ||
|
||
export const VCRVUSD_CURVE = "0x2d499800239C4CD3012473Cb1EAE33562F0A6933"; | ||
export const VCRV_CURVE = "0x30aD10Bd5Be62CAb37863C2BfcC6E8fb4fD85BDa"; | ||
|
||
export const VSFRXETH_LST = "0xF9E9Fe17C00a8B96a8ac20c4E344C8688D7b947E"; | ||
export const VWSTETH_LST = "0x4a240F0ee138697726C8a3E43eFE6Ac3593432CB"; | ||
export const VWETH_LST = "0xc82780Db1257C788F262FBbDA960B3706Dfdcaf2"; | ||
|
||
export const vip052 = () => { | ||
return makeProposal([ | ||
{ | ||
target: REWARDS_DISTRIBUTOR_CORE_OLD, | ||
signature: "setRewardTokenSpeeds(address[],uint256[],uint256[])", | ||
params: [ | ||
[VFRAX_CORE, VSFRAX_CORE, VDAI_CORE, VTUSD_CORE], | ||
["0", "0", "0", "0"], | ||
["0", "0", "0", "0"], | ||
], | ||
}, | ||
{ | ||
target: REWARDS_DISTRIBUTOR_LST_OLD, | ||
signature: "setRewardTokenSpeeds(address[],uint256[],uint256[])", | ||
params: [[VSFRXETH_LST], ["0"], ["0"]], | ||
}, | ||
{ | ||
target: REWARDS_DISTRIBUTOR_CORE_NEW, | ||
signature: "setRewardTokenSpeeds(address[],uint256[],uint256[])", | ||
params: [ | ||
[VCRVUSD_CORE, VUSDC_CORE, VUSDT_CORE, VWBTC_CORE, VWETH_CORE, VFRAX_CORE, VSFRAX_CORE, VDAI_CORE, VTUSD_CORE], | ||
[ | ||
"1388888888888888", | ||
"5625000000000000", | ||
"5625000000000000", | ||
"4687500000000000", | ||
"1562499999999999", | ||
"555555555555555", | ||
"555555555555555", | ||
"462962962962962", | ||
"185185185185185", | ||
], | ||
[ | ||
"2083333333333333", | ||
"8437500000000000", | ||
"8437500000000000", | ||
"7031250000000000", | ||
"2343750000000000", | ||
"833333333333333", | ||
"833333333333333", | ||
"694444444444444", | ||
"277777777777777", | ||
], | ||
], | ||
}, | ||
{ | ||
target: REWARDS_DISTRIBUTOR_CURVE_NEW, | ||
signature: "setRewardTokenSpeeds(address[],uint256[],uint256[])", | ||
params: [ | ||
[VCRVUSD_CURVE, VCRV_CURVE], | ||
["347222222222222", "347222222222222"], | ||
["520833333333333", "520833333333333"], | ||
], | ||
}, | ||
{ | ||
target: REWARDS_DISTRIBUTOR_LST_NEW, | ||
signature: "setRewardTokenSpeeds(address[],uint256[],uint256[])", | ||
params: [ | ||
[VWETH_LST, VWSTETH_LST, VSFRXETH_LST], | ||
["22916250000000000", "8333333333333333", "1851851851851851"], | ||
["53471250000000000", "0", "0"], | ||
], | ||
}, | ||
]); | ||
}; | ||
|
||
export default vip052; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
import { makeProposal } from "../../../../src/utils"; | ||
|
||
export const XVS_VAULT_PROXY = "0x7dc969122450749A8B0777c0e324522d67737988"; | ||
export const XVS_VAULT_TEMP_IMPLEMENTATION = "0xF23CB7f0e4742506EB45ad3D663Fa461512B56B8"; | ||
export const XVS_VAULT_IMPLEMENTATION = "0xc3D1F7CC89dce0A1245803fe9e0E62B8EC351196"; | ||
export const XVS = "0x3E2e61F1c075881F3fB8dd568043d8c221fd5c61"; | ||
|
||
const vip014 = () => { | ||
return makeProposal([ | ||
{ | ||
target: XVS_VAULT_PROXY, | ||
signature: "_setPendingImplementation(address)", | ||
params: [XVS_VAULT_TEMP_IMPLEMENTATION], | ||
}, | ||
{ | ||
target: XVS_VAULT_TEMP_IMPLEMENTATION, | ||
signature: "_become(address)", | ||
params: [XVS_VAULT_PROXY], | ||
}, | ||
{ | ||
target: XVS_VAULT_PROXY, | ||
signature: "setXvsAddress(address)", | ||
params: [XVS], | ||
}, | ||
{ | ||
target: XVS_VAULT_PROXY, | ||
signature: "_setPendingImplementation(address)", | ||
params: [XVS_VAULT_IMPLEMENTATION], | ||
}, | ||
{ | ||
target: XVS_VAULT_IMPLEMENTATION, | ||
signature: "_become(address)", | ||
params: [XVS_VAULT_PROXY], | ||
}, | ||
]); | ||
}; | ||
|
||
export default vip014; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
import { makeProposal } from "../../../../src/utils"; | ||
|
||
export const XVS_VAULT_PROXY = "0xB14A0e72C5C202139F78963C9e89252c1ad16f01"; | ||
export const XVS_VAULT_TEMP_IMPLEMENTATION = "0xc8614663Cc4ee868EF5267891E177586d7105D7F"; | ||
export const XVS_VAULT_IMPLEMENTATION = "0x85B0711FB5Bef4CfeDb90BD2F392b943fd9f556D"; | ||
export const XVS = "0xc2931B1fEa69b6D6dA65a50363A8D75d285e4da9"; | ||
|
||
const vip014 = () => { | ||
return makeProposal([ | ||
{ | ||
target: XVS_VAULT_PROXY, | ||
signature: "_setPendingImplementation(address)", | ||
params: [XVS_VAULT_TEMP_IMPLEMENTATION], | ||
}, | ||
{ | ||
target: XVS_VAULT_TEMP_IMPLEMENTATION, | ||
signature: "_become(address)", | ||
params: [XVS_VAULT_PROXY], | ||
}, | ||
{ | ||
target: XVS_VAULT_PROXY, | ||
signature: "setXvsAddress(address)", | ||
params: [XVS], | ||
}, | ||
{ | ||
target: XVS_VAULT_PROXY, | ||
signature: "_setPendingImplementation(address)", | ||
params: [XVS_VAULT_IMPLEMENTATION], | ||
}, | ||
{ | ||
target: XVS_VAULT_IMPLEMENTATION, | ||
signature: "_become(address)", | ||
params: [XVS_VAULT_PROXY], | ||
}, | ||
]); | ||
}; | ||
|
||
export default vip014; |
Oops, something went wrong.