Skip to content

Latest commit

 

History

History
458 lines (440 loc) · 30.1 KB

YPP-0071.md

File metadata and controls

458 lines (440 loc) · 30.1 KB

Proposal

Enable strategy token as a collateral to borrow respective base assets.

Background

This would allow us to increase liquidity and provide leverage capabilities for our user.

Details

Following steps would be taken to get the strategy token as a collateral:

  1. Deploy StrategyOracle (no need for governance approval)
  2. Deploy joins for the strategy assets (no need for governance approval)
  3. Governance Proposal
    1. Orchestrate StrategyOracle
    2. Update StrategyOracle Sources
    3. Orchestrate the new strategy token joins
    4. Add strategy tokens as Assets
    5. Make strategy tokens as ilks
    6. Add strategy tokens as ilks in series

Here is the configuration

export const assetsToAdd: Array<[string, string]> = [
  [YSDAI6MMSASSET, assets.get(YSDAI6MMSASSET) as string],
  [YSDAI6MJDASSET, assets.get(YSDAI6MJDASSET) as string],
  [YSUSDC6MMSASSET, assets.get(YSUSDC6MMSASSET) as string],
  [YSUSDC6MJDASSET, assets.get(YSUSDC6MJDASSET) as string],
  [YSETH6MMSASSET, assets.get(YSETH6MMSASSET) as string],
  [YSETH6MJDASSET, assets.get(YSETH6MJDASSET) as string],
]

export const strategyOracleSources: Array<[string, string]> = [
  [YSDAI6MMSASSET, assets.get(YSDAI6MMSASSET) as string],
  [YSDAI6MJDASSET, assets.get(YSDAI6MJDASSET) as string],
  [YSUSDC6MMSASSET, assets.get(YSUSDC6MMSASSET) as string],
  [YSUSDC6MJDASSET, assets.get(YSUSDC6MJDASSET) as string],
  [YSETH6MMSASSET, assets.get(YSETH6MMSASSET) as string],
  [YSETH6MJDASSET, assets.get(YSETH6MJDASSET) as string],
]

/// @notice Configure an asset as an ilk for a base using the Chainlink Oracle
/// @param Base asset identifier (bytes6 tag)
/// @param Ilk asset identifier (bytes6 tag)
/// @param Collateralization ratio as a fixed point number with 6 decimals
/// @param Debt ceiling, modified by decimals
/// @param Minimum vault debt, modified by decimals
/// @param Decimals to append to debt ceiling and minimum vault debt.
export const newStrategyLimits: Array<[string, string, number, number, number, number]> = [
  [DAI, YSDAI6MMSASSET, 1100000, 10000, 1000, 18],
  [DAI, YSDAI6MJDASSET, 1100000, 10000, 1000, 18],
  [USDC, YSUSDC6MMSASSET, 1100000, 10000, 1000, 6],
  [USDC, YSUSDC6MJDASSET, 1100000, 10000, 1000, 6],
  [ETH, YSETH6MMSASSET, 1100000, 8, 1, 18],
  [ETH, YSETH6MJDASSET, 1100000, 8, 1, 18],
]

// Input data: ilkId, duration, initialOffer, auctionLine, auctionDust, dec
/// @notice Limits to be used in an auction
/// @param base identifier (bytes6 tag)
/// @param duration of auctions in seconds
/// @param initial percentage of the collateral to be offered (fixed point with 6 decimals)
/// @param Maximum concurrently auctionable for this asset, modified by decimals
/// @param Minimum vault collateral, modified by decimals
/// @param Decimals to append to auction ceiling and minimum vault debt.
export const strategyAuctionLimits: Array<[string, number, number, number, number, number]> = [
  [YSDAI6MMSASSET, 3600, 1000000, 10000, 1000, 18],
  [YSDAI6MJDASSET, 3600, 1000000, 10000, 1000, 18],
  [YSUSDC6MMSASSET, 3600, 1000000, 10000, 1000, 6],
  [YSUSDC6MJDASSET, 3600, 1000000, 10000, 1000, 6],
  [YSETH6MMSASSET, 3600, 1000000, 8, 1, 18],
  [YSETH6MJDASSET, 3600, 1000000, 8, 1, 18],
]

/// @notice Ilks to accept for series
/// @param series identifier (bytes6 tag)
/// @param newly accepted ilks (array of bytes6 tags)
export const seriesIlks: Array<[string, string[]]> = [
  [FYDAI2212, [YSDAI6MJDASSET]],
  [FYDAI2303, [YSDAI6MMSASSET]],
  [FYUSDC2212, [YSUSDC6MJDASSET]],
  [FYUSDC2303, [YSUSDC6MMSASSET]],
  [FYETH2212, [YSETH6MJDASSET]],
  [FYETH2303, [YSETH6MMSASSET]],
]

Testing

The change has been deployed on a mainnet fork with the following output.

++ dirname ./scripts/governance/add/addCollateral/addStrategyTokenCollateral/strategyTokenCollateral.sh
+ HERE=./scripts/governance/add/addCollateral/addStrategyTokenCollateral
+ export CONF=/Users/praffulsahu/Documents/Crypto/Yield/environments-v2/./scripts/governance/add/addCollateral/addStrategyTokenCollateral/strategyToken.mainnet.config
+ CONF=/Users/praffulsahu/Documents/Crypto/Yield/environments-v2/./scripts/governance/add/addCollateral/addStrategyTokenCollateral/strategyToken.mainnet.config
+ RUN='npx hardhat run --network localhost'
+ npx hardhat run --network localhost ./scripts/governance/add/addCollateral/addStrategyTokenCollateral/../../../deploy/deployJoins.ts
Impersonating 0xC7aE076086623ecEA2450e364C838916a043F9a8 on localhost
Join deployed at 0x65142d171151d0a6F28385c45CE3Fd642C9D155a for 0x7ACFe277dEd15CabA6a8Da2972b1eb93fe1e2cCD
join.grantRoles(ROOT, timelock)
Join deployed at 0xe888E0403e3e992fDbB473650547428e90F9DDFC for 0x1144e14E9B0AA9e181342c7e6E0a9BaDB4ceD295
join.grantRoles(ROOT, timelock)
Join deployed at 0x83e99A843607CfFFC97A3acA15422aC672a463eF for 0xFBc322415CBC532b54749E31979a803009516b5D
join.grantRoles(ROOT, timelock)
Join deployed at 0xA9078E573EC536c4066A5E89F715553Ed67B13E0 for 0x8e8D6aB093905C400D583EfD37fbeEB1ee1c0c39
join.grantRoles(ROOT, timelock)
Join deployed at 0xC4cb2489a845384277564613A0906f50dD66e482 for 0xcf30A5A994f9aCe5832e30C138C9697cda5E1247
join.grantRoles(ROOT, timelock)
Join deployed at 0xE6A63e2166fcEeB447BFB1c0f4f398083214b7aB for 0x831dF23f7278575BA0b136296a285600cD75d076
join.grantRoles(ROOT, timelock)
+ npx hardhat run --network localhost ./scripts/governance/add/addCollateral/addStrategyTokenCollateral/deployStrategyOracle.ts
Impersonating 0xC7aE076086623ecEA2450e364C838916a043F9a8 on localhost
StrategyOracle deployed at 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
strategyOracle.grantRoles(ROOT, timelock)
+ npx hardhat run --network localhost ./scripts/governance/add/addCollateral/addStrategyTokenCollateral/addStrategyToken.ts
Impersonating 0xC7aE076086623ecEA2450e364C838916a043F9a8 on localhost
┌─────────┬──────────────────┬──────────────────────────────────────────────┬──────────────────────────────────────────────┐
│ (index) │        0         │                      1                       │                      2                       │
├─────────┼──────────────────┼──────────────────────────────────────────────┼──────────────────────────────────────────────┤
│    0    │ '0x333000000000' │ '0x7ACFe277dEd15CabA6a8Da2972b1eb93fe1e2cCD' │ '0x65142d171151d0a6F28385c45CE3Fd642C9D155a' │
│    1    │ '0x333100000000' │ '0x1144e14E9B0AA9e181342c7e6E0a9BaDB4ceD295' │ '0xe888E0403e3e992fDbB473650547428e90F9DDFC' │
│    2    │ '0x333200000000' │ '0xFBc322415CBC532b54749E31979a803009516b5D' │ '0x83e99A843607CfFFC97A3acA15422aC672a463eF' │
│    3    │ '0x333300000000' │ '0x8e8D6aB093905C400D583EfD37fbeEB1ee1c0c39' │ '0xA9078E573EC536c4066A5E89F715553Ed67B13E0' │
│    4    │ '0x333400000000' │ '0xcf30A5A994f9aCe5832e30C138C9697cda5E1247' │ '0xC4cb2489a845384277564613A0906f50dD66e482' │
│    5    │ '0x333500000000' │ '0x831dF23f7278575BA0b136296a285600cD75d076' │ '0xE6A63e2166fcEeB447BFB1c0f4f398083214b7aB' │
└─────────┴──────────────────┴──────────────────────────────────────────────┴──────────────────────────────────────────────┘
strategyOracle.grantRoles(gov, timelock)
strategyOracle.grantRole(ROOT, cloak)
strategyOracle.revokeRole(ROOT, deployer)
Setting up 0x7ACFe277dEd15CabA6a8Da2972b1eb93fe1e2cCD as the source for 0x333000000000 at 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Setting up 0x1144e14E9B0AA9e181342c7e6E0a9BaDB4ceD295 as the source for 0x333100000000 at 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Setting up 0xFBc322415CBC532b54749E31979a803009516b5D as the source for 0x333200000000 at 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Setting up 0x8e8D6aB093905C400D583EfD37fbeEB1ee1c0c39 as the source for 0x333300000000 at 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Setting up 0xcf30A5A994f9aCe5832e30C138C9697cda5E1247 as the source for 0x333400000000 at 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Setting up 0x831dF23f7278575BA0b136296a285600cD75d076 as the source for 0x333500000000 at 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
join.revokeRole(ROOT, deployer)
join.grantRole(ROOT, cloak)
cloak.plan(ladle, join(30)): 0xb60adafa7f9c8e9f203856570fc14f29b67499a258909d70e757cec8b0dccbcc
join.revokeRole(ROOT, deployer)
join.grantRole(ROOT, cloak)
cloak.plan(ladle, join(31)): 0x9a660853a32c4454febdfa96058230f84aa8c1a357e2cd7fff96477d1186d152
join.revokeRole(ROOT, deployer)
join.grantRole(ROOT, cloak)
cloak.plan(ladle, join(32)): 0x1860482c417e38f3e94d7c1dcfc3eb3266ebb680796715019b6313056a405d8f
join.revokeRole(ROOT, deployer)
join.grantRole(ROOT, cloak)
cloak.plan(ladle, join(33)): 0x89fcd63884dda85ad2c1cc9239654c8bb5de79f7992dc9d7ada26d056ea00953
join.revokeRole(ROOT, deployer)
join.grantRole(ROOT, cloak)
cloak.plan(ladle, join(34)): 0x95203e901c05779229c0efb0361162a9220174b248f1a85ba7e779d0f0072365
join.revokeRole(ROOT, deployer)
join.grantRole(ROOT, cloak)
cloak.plan(ladle, join(35)): 0x877d32bcf1852d1a7d39b606544bac04ebcd5fe802f10fdcb7fb01b7e3b2c1c3
Using asset at 0x7ACFe277dEd15CabA6a8Da2972b1eb93fe1e2cCD
Using join at 0x65142d171151d0a6F28385c45CE3Fd642C9D155a
Adding asset 0x333000000000 at 0x7ACFe277dEd15CabA6a8Da2972b1eb93fe1e2cCD with join 0x65142d171151d0a6F28385c45CE3Fd642C9D155a
Using asset at 0x1144e14E9B0AA9e181342c7e6E0a9BaDB4ceD295
Using join at 0xe888E0403e3e992fDbB473650547428e90F9DDFC
Adding asset 0x333100000000 at 0x1144e14E9B0AA9e181342c7e6E0a9BaDB4ceD295 with join 0xe888E0403e3e992fDbB473650547428e90F9DDFC
Using asset at 0xFBc322415CBC532b54749E31979a803009516b5D
Using join at 0x83e99A843607CfFFC97A3acA15422aC672a463eF
Adding asset 0x333200000000 at 0xFBc322415CBC532b54749E31979a803009516b5D with join 0x83e99A843607CfFFC97A3acA15422aC672a463eF
Using asset at 0x8e8D6aB093905C400D583EfD37fbeEB1ee1c0c39
Using join at 0xA9078E573EC536c4066A5E89F715553Ed67B13E0
Adding asset 0x333300000000 at 0x8e8D6aB093905C400D583EfD37fbeEB1ee1c0c39 with join 0xA9078E573EC536c4066A5E89F715553Ed67B13E0
Using asset at 0xcf30A5A994f9aCe5832e30C138C9697cda5E1247
Using join at 0xC4cb2489a845384277564613A0906f50dD66e482
Adding asset 0x333400000000 at 0xcf30A5A994f9aCe5832e30C138C9697cda5E1247 with join 0xC4cb2489a845384277564613A0906f50dD66e482
Using asset at 0x831dF23f7278575BA0b136296a285600cD75d076
Using join at 0xE6A63e2166fcEeB447BFB1c0f4f398083214b7aB
Adding asset 0x333500000000 at 0x831dF23f7278575BA0b136296a285600cD75d076 with join 0xE6A63e2166fcEeB447BFB1c0f4f398083214b7aB
0x333000000000
Asset 30 set as ilk on witch at 0x53C3760670f6091E1eC76B4dd27f73ba4CAd5061
cloak.plan(witch, join(30)): 0xf32231b1a11256c0ddc368f6789dc5067e5f58fe6814053dab14e09b23c200b8
0x333100000000
Asset 31 set as ilk on witch at 0x53C3760670f6091E1eC76B4dd27f73ba4CAd5061
cloak.plan(witch, join(31)): 0x7d9d59377e7e3a552a75d90b63c2558edcf7e2818d110d0616aae1ebf72176db
0x333200000000
Asset 32 set as ilk on witch at 0x53C3760670f6091E1eC76B4dd27f73ba4CAd5061
cloak.plan(witch, join(32)): 0x488f8b181c40fb513f412e08cc58c55477598407ccf1443492aaf77c80868d85
0x333300000000
Asset 33 set as ilk on witch at 0x53C3760670f6091E1eC76B4dd27f73ba4CAd5061
cloak.plan(witch, join(33)): 0x543f38d2dc20e4f0e630ad8d6828beea6489ba2cf07dbfa781e8d1c3312d83d1
0x333400000000
Asset 34 set as ilk on witch at 0x53C3760670f6091E1eC76B4dd27f73ba4CAd5061
cloak.plan(witch, join(34)): 0x07bce2feeb63f5af98462c11895fa348a10cfd11d73b867aa699b1384123e2f7
0x333500000000
Asset 35 set as ilk on witch at 0x53C3760670f6091E1eC76B4dd27f73ba4CAd5061
cloak.plan(witch, join(35)): 0xd2626cc03d54b68dacf581e16cedb21822d552d6828883dd46abb9eddfd68c48
Adding for 01/30 from 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Adding for 01/31 from 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Adding for 02/32 from 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Adding for 02/33 from 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Adding for 00/34 from 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Adding for 00/35 from 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Updating 0x303130380000 series with 0x333100000000 ilks
addIlks 0108: 0x333100000000
Updating 0x303130390000 series with 0x333000000000 ilks
addIlks 0109: 0x333000000000
Updating 0x303230380000 series with 0x333300000000 ilks
addIlks 0208: 0x333300000000
Updating 0x303230390000 series with 0x333200000000 ilks
addIlks 0209: 0x333200000000
Updating 0x303030380000 series with 0x333500000000 ilks
addIlks 0008: 0x333500000000
Updating 0x303030390000 series with 0x333400000000 ilks
addIlks 0009: 0x333400000000
Proposal: 0x8e506a5e9d21e008cd6e2e19bef9959219c2b1446d18d8964b7f19286837c249
Proposing
Impersonated 0xC7aE076086623ecEA2450e364C838916a043F9a8
Developer: 0xC7aE076086623ecEA2450e364C838916a043F9a8

gasEstimate: 255031 - ethBalance: 1000000000000000000000000000000000000
Proposed 0x8e506a5e9d21e008cd6e2e19bef9959219c2b1446d18d8964b7f19286837c249
+ npx hardhat run --network localhost ./scripts/governance/add/addCollateral/addStrategyTokenCollateral/addStrategyToken.ts
Impersonating 0xC7aE076086623ecEA2450e364C838916a043F9a8 on localhost
┌─────────┬──────────────────┬──────────────────────────────────────────────┬──────────────────────────────────────────────┐
│ (index) │        0         │                      1                       │                      2                       │
├─────────┼──────────────────┼──────────────────────────────────────────────┼──────────────────────────────────────────────┤
│    0    │ '0x333000000000' │ '0x7ACFe277dEd15CabA6a8Da2972b1eb93fe1e2cCD' │ '0x65142d171151d0a6F28385c45CE3Fd642C9D155a' │
│    1    │ '0x333100000000' │ '0x1144e14E9B0AA9e181342c7e6E0a9BaDB4ceD295' │ '0xe888E0403e3e992fDbB473650547428e90F9DDFC' │
│    2    │ '0x333200000000' │ '0xFBc322415CBC532b54749E31979a803009516b5D' │ '0x83e99A843607CfFFC97A3acA15422aC672a463eF' │
│    3    │ '0x333300000000' │ '0x8e8D6aB093905C400D583EfD37fbeEB1ee1c0c39' │ '0xA9078E573EC536c4066A5E89F715553Ed67B13E0' │
│    4    │ '0x333400000000' │ '0xcf30A5A994f9aCe5832e30C138C9697cda5E1247' │ '0xC4cb2489a845384277564613A0906f50dD66e482' │
│    5    │ '0x333500000000' │ '0x831dF23f7278575BA0b136296a285600cD75d076' │ '0xE6A63e2166fcEeB447BFB1c0f4f398083214b7aB' │
└─────────┴──────────────────┴──────────────────────────────────────────────┴──────────────────────────────────────────────┘
strategyOracle.grantRoles(gov, timelock)
strategyOracle.grantRole(ROOT, cloak)
strategyOracle.revokeRole(ROOT, deployer)
Setting up 0x7ACFe277dEd15CabA6a8Da2972b1eb93fe1e2cCD as the source for 0x333000000000 at 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Setting up 0x1144e14E9B0AA9e181342c7e6E0a9BaDB4ceD295 as the source for 0x333100000000 at 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Setting up 0xFBc322415CBC532b54749E31979a803009516b5D as the source for 0x333200000000 at 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Setting up 0x8e8D6aB093905C400D583EfD37fbeEB1ee1c0c39 as the source for 0x333300000000 at 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Setting up 0xcf30A5A994f9aCe5832e30C138C9697cda5E1247 as the source for 0x333400000000 at 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Setting up 0x831dF23f7278575BA0b136296a285600cD75d076 as the source for 0x333500000000 at 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
join.revokeRole(ROOT, deployer)
join.grantRole(ROOT, cloak)
cloak.plan(ladle, join(30)): 0xb60adafa7f9c8e9f203856570fc14f29b67499a258909d70e757cec8b0dccbcc
join.revokeRole(ROOT, deployer)
join.grantRole(ROOT, cloak)
cloak.plan(ladle, join(31)): 0x9a660853a32c4454febdfa96058230f84aa8c1a357e2cd7fff96477d1186d152
join.revokeRole(ROOT, deployer)
join.grantRole(ROOT, cloak)
cloak.plan(ladle, join(32)): 0x1860482c417e38f3e94d7c1dcfc3eb3266ebb680796715019b6313056a405d8f
join.revokeRole(ROOT, deployer)
join.grantRole(ROOT, cloak)
cloak.plan(ladle, join(33)): 0x89fcd63884dda85ad2c1cc9239654c8bb5de79f7992dc9d7ada26d056ea00953
join.revokeRole(ROOT, deployer)
join.grantRole(ROOT, cloak)
cloak.plan(ladle, join(34)): 0x95203e901c05779229c0efb0361162a9220174b248f1a85ba7e779d0f0072365
join.revokeRole(ROOT, deployer)
join.grantRole(ROOT, cloak)
cloak.plan(ladle, join(35)): 0x877d32bcf1852d1a7d39b606544bac04ebcd5fe802f10fdcb7fb01b7e3b2c1c3
Using asset at 0x7ACFe277dEd15CabA6a8Da2972b1eb93fe1e2cCD
Using join at 0x65142d171151d0a6F28385c45CE3Fd642C9D155a
Adding asset 0x333000000000 at 0x7ACFe277dEd15CabA6a8Da2972b1eb93fe1e2cCD with join 0x65142d171151d0a6F28385c45CE3Fd642C9D155a
Using asset at 0x1144e14E9B0AA9e181342c7e6E0a9BaDB4ceD295
Using join at 0xe888E0403e3e992fDbB473650547428e90F9DDFC
Adding asset 0x333100000000 at 0x1144e14E9B0AA9e181342c7e6E0a9BaDB4ceD295 with join 0xe888E0403e3e992fDbB473650547428e90F9DDFC
Using asset at 0xFBc322415CBC532b54749E31979a803009516b5D
Using join at 0x83e99A843607CfFFC97A3acA15422aC672a463eF
Adding asset 0x333200000000 at 0xFBc322415CBC532b54749E31979a803009516b5D with join 0x83e99A843607CfFFC97A3acA15422aC672a463eF
Using asset at 0x8e8D6aB093905C400D583EfD37fbeEB1ee1c0c39
Using join at 0xA9078E573EC536c4066A5E89F715553Ed67B13E0
Adding asset 0x333300000000 at 0x8e8D6aB093905C400D583EfD37fbeEB1ee1c0c39 with join 0xA9078E573EC536c4066A5E89F715553Ed67B13E0
Using asset at 0xcf30A5A994f9aCe5832e30C138C9697cda5E1247
Using join at 0xC4cb2489a845384277564613A0906f50dD66e482
Adding asset 0x333400000000 at 0xcf30A5A994f9aCe5832e30C138C9697cda5E1247 with join 0xC4cb2489a845384277564613A0906f50dD66e482
Using asset at 0x831dF23f7278575BA0b136296a285600cD75d076
Using join at 0xE6A63e2166fcEeB447BFB1c0f4f398083214b7aB
Adding asset 0x333500000000 at 0x831dF23f7278575BA0b136296a285600cD75d076 with join 0xE6A63e2166fcEeB447BFB1c0f4f398083214b7aB
0x333000000000
Asset 30 set as ilk on witch at 0x53C3760670f6091E1eC76B4dd27f73ba4CAd5061
cloak.plan(witch, join(30)): 0xf32231b1a11256c0ddc368f6789dc5067e5f58fe6814053dab14e09b23c200b8
0x333100000000
Asset 31 set as ilk on witch at 0x53C3760670f6091E1eC76B4dd27f73ba4CAd5061
cloak.plan(witch, join(31)): 0x7d9d59377e7e3a552a75d90b63c2558edcf7e2818d110d0616aae1ebf72176db
0x333200000000
Asset 32 set as ilk on witch at 0x53C3760670f6091E1eC76B4dd27f73ba4CAd5061
cloak.plan(witch, join(32)): 0x488f8b181c40fb513f412e08cc58c55477598407ccf1443492aaf77c80868d85
0x333300000000
Asset 33 set as ilk on witch at 0x53C3760670f6091E1eC76B4dd27f73ba4CAd5061
cloak.plan(witch, join(33)): 0x543f38d2dc20e4f0e630ad8d6828beea6489ba2cf07dbfa781e8d1c3312d83d1
0x333400000000
Asset 34 set as ilk on witch at 0x53C3760670f6091E1eC76B4dd27f73ba4CAd5061
cloak.plan(witch, join(34)): 0x07bce2feeb63f5af98462c11895fa348a10cfd11d73b867aa699b1384123e2f7
0x333500000000
Asset 35 set as ilk on witch at 0x53C3760670f6091E1eC76B4dd27f73ba4CAd5061
cloak.plan(witch, join(35)): 0xd2626cc03d54b68dacf581e16cedb21822d552d6828883dd46abb9eddfd68c48
Adding for 01/30 from 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Adding for 01/31 from 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Adding for 02/32 from 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Adding for 02/33 from 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Adding for 00/34 from 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Adding for 00/35 from 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Updating 0x303130380000 series with 0x333100000000 ilks
addIlks 0108: 0x333100000000
Updating 0x303130390000 series with 0x333000000000 ilks
addIlks 0109: 0x333000000000
Updating 0x303230380000 series with 0x333300000000 ilks
addIlks 0208: 0x333300000000
Updating 0x303230390000 series with 0x333200000000 ilks
addIlks 0209: 0x333200000000
Updating 0x303030380000 series with 0x333500000000 ilks
addIlks 0008: 0x333500000000
Updating 0x303030390000 series with 0x333400000000 ilks
addIlks 0009: 0x333400000000
Proposal: 0x8e506a5e9d21e008cd6e2e19bef9959219c2b1446d18d8964b7f19286837c249
Approving
Impersonated 0xd659565b84bcfcb23b02ee13e46cb51429f4558a
Advancing time
advancing time by 172800 seconds (2 days)
Approved 0x8e506a5e9d21e008cd6e2e19bef9959219c2b1446d18d8964b7f19286837c249
+ npx hardhat run --network localhost ./scripts/governance/add/addCollateral/addStrategyTokenCollateral/addStrategyToken.ts
Impersonating 0xC7aE076086623ecEA2450e364C838916a043F9a8 on localhost
┌─────────┬──────────────────┬──────────────────────────────────────────────┬──────────────────────────────────────────────┐
│ (index) │        0         │                      1                       │                      2                       │
├─────────┼──────────────────┼──────────────────────────────────────────────┼──────────────────────────────────────────────┤
│    0    │ '0x333000000000' │ '0x7ACFe277dEd15CabA6a8Da2972b1eb93fe1e2cCD' │ '0x65142d171151d0a6F28385c45CE3Fd642C9D155a' │
│    1    │ '0x333100000000' │ '0x1144e14E9B0AA9e181342c7e6E0a9BaDB4ceD295' │ '0xe888E0403e3e992fDbB473650547428e90F9DDFC' │
│    2    │ '0x333200000000' │ '0xFBc322415CBC532b54749E31979a803009516b5D' │ '0x83e99A843607CfFFC97A3acA15422aC672a463eF' │
│    3    │ '0x333300000000' │ '0x8e8D6aB093905C400D583EfD37fbeEB1ee1c0c39' │ '0xA9078E573EC536c4066A5E89F715553Ed67B13E0' │
│    4    │ '0x333400000000' │ '0xcf30A5A994f9aCe5832e30C138C9697cda5E1247' │ '0xC4cb2489a845384277564613A0906f50dD66e482' │
│    5    │ '0x333500000000' │ '0x831dF23f7278575BA0b136296a285600cD75d076' │ '0xE6A63e2166fcEeB447BFB1c0f4f398083214b7aB' │
└─────────┴──────────────────┴──────────────────────────────────────────────┴──────────────────────────────────────────────┘
strategyOracle.grantRoles(gov, timelock)
strategyOracle.grantRole(ROOT, cloak)
strategyOracle.revokeRole(ROOT, deployer)
Setting up 0x7ACFe277dEd15CabA6a8Da2972b1eb93fe1e2cCD as the source for 0x333000000000 at 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Setting up 0x1144e14E9B0AA9e181342c7e6E0a9BaDB4ceD295 as the source for 0x333100000000 at 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Setting up 0xFBc322415CBC532b54749E31979a803009516b5D as the source for 0x333200000000 at 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Setting up 0x8e8D6aB093905C400D583EfD37fbeEB1ee1c0c39 as the source for 0x333300000000 at 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Setting up 0xcf30A5A994f9aCe5832e30C138C9697cda5E1247 as the source for 0x333400000000 at 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Setting up 0x831dF23f7278575BA0b136296a285600cD75d076 as the source for 0x333500000000 at 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
join.revokeRole(ROOT, deployer)
join.grantRole(ROOT, cloak)
cloak.plan(ladle, join(30)): 0xb60adafa7f9c8e9f203856570fc14f29b67499a258909d70e757cec8b0dccbcc
join.revokeRole(ROOT, deployer)
join.grantRole(ROOT, cloak)
cloak.plan(ladle, join(31)): 0x9a660853a32c4454febdfa96058230f84aa8c1a357e2cd7fff96477d1186d152
join.revokeRole(ROOT, deployer)
join.grantRole(ROOT, cloak)
cloak.plan(ladle, join(32)): 0x1860482c417e38f3e94d7c1dcfc3eb3266ebb680796715019b6313056a405d8f
join.revokeRole(ROOT, deployer)
join.grantRole(ROOT, cloak)
cloak.plan(ladle, join(33)): 0x89fcd63884dda85ad2c1cc9239654c8bb5de79f7992dc9d7ada26d056ea00953
join.revokeRole(ROOT, deployer)
join.grantRole(ROOT, cloak)
cloak.plan(ladle, join(34)): 0x95203e901c05779229c0efb0361162a9220174b248f1a85ba7e779d0f0072365
join.revokeRole(ROOT, deployer)
join.grantRole(ROOT, cloak)
cloak.plan(ladle, join(35)): 0x877d32bcf1852d1a7d39b606544bac04ebcd5fe802f10fdcb7fb01b7e3b2c1c3
Using asset at 0x7ACFe277dEd15CabA6a8Da2972b1eb93fe1e2cCD
Using join at 0x65142d171151d0a6F28385c45CE3Fd642C9D155a
Adding asset 0x333000000000 at 0x7ACFe277dEd15CabA6a8Da2972b1eb93fe1e2cCD with join 0x65142d171151d0a6F28385c45CE3Fd642C9D155a
Using asset at 0x1144e14E9B0AA9e181342c7e6E0a9BaDB4ceD295
Using join at 0xe888E0403e3e992fDbB473650547428e90F9DDFC
Adding asset 0x333100000000 at 0x1144e14E9B0AA9e181342c7e6E0a9BaDB4ceD295 with join 0xe888E0403e3e992fDbB473650547428e90F9DDFC
Using asset at 0xFBc322415CBC532b54749E31979a803009516b5D
Using join at 0x83e99A843607CfFFC97A3acA15422aC672a463eF
Adding asset 0x333200000000 at 0xFBc322415CBC532b54749E31979a803009516b5D with join 0x83e99A843607CfFFC97A3acA15422aC672a463eF
Using asset at 0x8e8D6aB093905C400D583EfD37fbeEB1ee1c0c39
Using join at 0xA9078E573EC536c4066A5E89F715553Ed67B13E0
Adding asset 0x333300000000 at 0x8e8D6aB093905C400D583EfD37fbeEB1ee1c0c39 with join 0xA9078E573EC536c4066A5E89F715553Ed67B13E0
Using asset at 0xcf30A5A994f9aCe5832e30C138C9697cda5E1247
Using join at 0xC4cb2489a845384277564613A0906f50dD66e482
Adding asset 0x333400000000 at 0xcf30A5A994f9aCe5832e30C138C9697cda5E1247 with join 0xC4cb2489a845384277564613A0906f50dD66e482
Using asset at 0x831dF23f7278575BA0b136296a285600cD75d076
Using join at 0xE6A63e2166fcEeB447BFB1c0f4f398083214b7aB
Adding asset 0x333500000000 at 0x831dF23f7278575BA0b136296a285600cD75d076 with join 0xE6A63e2166fcEeB447BFB1c0f4f398083214b7aB
0x333000000000
Asset 30 set as ilk on witch at 0x53C3760670f6091E1eC76B4dd27f73ba4CAd5061
cloak.plan(witch, join(30)): 0xf32231b1a11256c0ddc368f6789dc5067e5f58fe6814053dab14e09b23c200b8
0x333100000000
Asset 31 set as ilk on witch at 0x53C3760670f6091E1eC76B4dd27f73ba4CAd5061
cloak.plan(witch, join(31)): 0x7d9d59377e7e3a552a75d90b63c2558edcf7e2818d110d0616aae1ebf72176db
0x333200000000
Asset 32 set as ilk on witch at 0x53C3760670f6091E1eC76B4dd27f73ba4CAd5061
cloak.plan(witch, join(32)): 0x488f8b181c40fb513f412e08cc58c55477598407ccf1443492aaf77c80868d85
0x333300000000
Asset 33 set as ilk on witch at 0x53C3760670f6091E1eC76B4dd27f73ba4CAd5061
cloak.plan(witch, join(33)): 0x543f38d2dc20e4f0e630ad8d6828beea6489ba2cf07dbfa781e8d1c3312d83d1
0x333400000000
Asset 34 set as ilk on witch at 0x53C3760670f6091E1eC76B4dd27f73ba4CAd5061
cloak.plan(witch, join(34)): 0x07bce2feeb63f5af98462c11895fa348a10cfd11d73b867aa699b1384123e2f7
0x333500000000
Asset 35 set as ilk on witch at 0x53C3760670f6091E1eC76B4dd27f73ba4CAd5061
cloak.plan(witch, join(35)): 0xd2626cc03d54b68dacf581e16cedb21822d552d6828883dd46abb9eddfd68c48
Adding for 01/30 from 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Adding for 01/31 from 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Adding for 02/32 from 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Adding for 02/33 from 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Adding for 00/34 from 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Adding for 00/35 from 0x3FdDa15EccEE67248048a560ab61Dd2CdBDeA5E6
Updating 0x303130380000 series with 0x333100000000 ilks
addIlks 0108: 0x333100000000
Updating 0x303130390000 series with 0x333000000000 ilks
addIlks 0109: 0x333000000000
Updating 0x303230380000 series with 0x333300000000 ilks
addIlks 0208: 0x333300000000
Updating 0x303230390000 series with 0x333200000000 ilks
addIlks 0209: 0x333200000000
Updating 0x303030380000 series with 0x333500000000 ilks
addIlks 0008: 0x333500000000
Updating 0x303030390000 series with 0x333400000000 ilks
addIlks 0009: 0x333400000000
Proposal: 0x8e506a5e9d21e008cd6e2e19bef9959219c2b1446d18d8964b7f19286837c249
Executing
Impersonated 0xC7aE076086623ecEA2450e364C838916a043F9a8
advancing time by 172800 seconds (2 days)
Executed 0x8e506a5e9d21e008cd6e2e19bef9959219c2b1446d18d8964b7f19286837c249

The following test was executed on a local fork

npx hardhat run --network localhost ./scripts/governance/add/addCollateral/addStrategyTokenCollateral/strategyTokenCollateral.test.ts
Impersonating 0xC7aE076086623ecEA2450e364C838916a043F9a8 on localhost
Impersonated 0x9185df15078547055604f5c0b02fc1c8d93594a5
series: 0x303130380000
ilk: 0x333100000000
vault: 0x40a7ecc227d9b04a93de3ea3
posting 5524590646359446188054 ilk out of 54727213783150322304392
borrowing 5000000000000000000000 FYDAI2212
posted and borrowed
repaying 5000000000000000000000 FYDAI2212 and withdrawing 5524590646359446188054 ilk
repaid and withdrawn
Impersonated 0x232c412d3613d5915fc1ebf6eb8d14f11b6a260d
series: 0x303130390000
ilk: 0x333000000000
vault: 0x80c6280fa5b54e7acd53c8a5
posting 5362555430132144890477 ilk out of 58911811766616243365342
borrowing 5000000000000000000000 FYDAI2303
posted and borrowed
repaying 5000000000000000000000 FYDAI2303 and withdrawing 5362555430132144890477 ilk
repaid and withdrawn
Impersonated 0x64d226daf361f4f2cc5ad48b7501a7ea2598859f
series: 0x303230380000
ilk: 0x333300000000
vault: 0x5aaf243fd9b9d32987ffd3ea
posting 5524840316 ilk out of 798590559279
borrowing 5000000000 FYUSDC2212
posted and borrowed
repaying 5000000000 FYUSDC2212 and withdrawing 5524840316 ilk
repaid and withdrawn
Impersonated 0x3250e201c2eb06d086138f181e0fb6d1fe33f7d1
series: 0x303230390000
ilk: 0x333200000000
vault: 0xc6ee354eea39767f1eb4eb0b
posting 5501807515 ilk out of 582839432736
borrowing 5000000000 FYUSDC2303
posted and borrowed
repaying 5000000000 FYUSDC2303 and withdrawing 5501807515 ilk
repaid and withdrawn