From 8649eacb8a370b3747df45ddd575b12669722003 Mon Sep 17 00:00:00 2001 From: Djordje Mijovic Date: Tue, 4 Feb 2025 14:28:29 +0100 Subject: [PATCH] feat: Add mellow vaults. Co-authored-by: Steven Valeri --- safe-batches/add-mellow-vaults.json | 360 ++++++++++++++++++++++++++++ script/RumpelConfig.sol | 238 ++++++++++++++++++ 2 files changed, 598 insertions(+) create mode 100644 safe-batches/add-mellow-vaults.json diff --git a/safe-batches/add-mellow-vaults.json b/safe-batches/add-mellow-vaults.json new file mode 100644 index 0000000..0e95c07 --- /dev/null +++ b/safe-batches/add-mellow-vaults.json @@ -0,0 +1,360 @@ +{ + "version": "1.0", + "chainId": "1", + "createdAt": 1739539340142, + "meta": { + "name": "Transactions Batch", + "description": "add-mellow-vaults", + "txBuilderVersion": "1.10.0", + "createdFromSafeAddress": "0x9D89745fD63Af482ce93a9AdB8B0BbDbb98D3e06", + "createdFromOwnerAddress": "", + "checksum": "0x2ccce27fd0c3d47c003a26f10d19f9e9b8cc9eb61d022efc9326f6f025f4dcf2" + }, + "transactions": [ + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c0000000000000000000000005e362eb2c0706bd1d134689ec75176018385430bf379a7d6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c0000000000000000000000005e362eb2c0706bd1d134689ec75176018385430b2e3d46dc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c0000000000000000000000008c9532a60e0e7c6bbd2b2c1303f63ace1c3e98112e2d2984000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c0000000000000000000000008c9532a60e0e7c6bbd2b2c1303f63ace1c3e9811b460af94000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c0000000000000000000000008c9532a60e0e7c6bbd2b2c1303f63ace1c3e98116e553f65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000c65433845ecd16688eda196497fa9130d6c47bd82e2d2984000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000c65433845ecd16688eda196497fa9130d6c47bd8b460af94000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000c65433845ecd16688eda196497fa9130d6c47bd86e553f65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000064047dd3288276d70a4f8b5df54668c8403f877f5f097d40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000064047dd3288276d70a4f8b5df54668c8403f877f2e3d46dc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000beef69ac7870777598a04b2bd4771c71212e6abc2e2d2984000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000beef69ac7870777598a04b2bd4771c71212e6abcb460af94000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000beef69ac7870777598a04b2bd4771c71212e6abc6e553f65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000024183535a24cf0272841b05047a26e200ffab6962e2d2984000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000024183535a24cf0272841b05047a26e200ffab696b460af94000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000024183535a24cf0272841b05047a26e200ffab6966e553f65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c0000000000000000000000003a828c183b3f382d030136c824844ea30145b4c75f097d40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c0000000000000000000000003a828c183b3f382d030136c824844ea30145b4c72e3d46dc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000049cd586dd9ba227be9654c735a659a1db08232a92e2d2984000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000049cd586dd9ba227be9654c735a659a1db08232a9b460af94000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000049cd586dd9ba227be9654c735a659a1db08232a96e553f65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000b908c9fe885369643adb5fba4407d52bd726c72d2e2d2984000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000b908c9fe885369643adb5fba4407d52bd726c72db460af94000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000b908c9fe885369643adb5fba4407d52bd726c72d6e553f65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c0000000000000000000000004f3cc6359364004b245ad5be36e6ad4e805dc9612e2d2984000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c0000000000000000000000004f3cc6359364004b245ad5be36e6ad4e805dc961b460af94000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c0000000000000000000000004f3cc6359364004b245ad5be36e6ad4e805dc9616e553f65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000d6e09a5e6d719d1c881579c9c8670a210437931b2e2d2984000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000d6e09a5e6d719d1c881579c9c8670a210437931bb460af94000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000d6e09a5e6d719d1c881579c9c8670a210437931b6e553f65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000375a8ee22280076610ca2b4348d37cb1beebeba02e2d2984000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000375a8ee22280076610ca2b4348d37cb1beebeba0b460af94000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000375a8ee22280076610ca2b4348d37cb1beebeba06e553f65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000cc36e5272c422bee9a8144cd2493ac472082ebad2e2d2984000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000cc36e5272c422bee9a8144cd2493ac472082ebadb460af94000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000cc36e5272c422bee9a8144cd2493ac472082ebad6e553f65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000e4357bdae017726ee5e83db3443bcd269bbf125d2e2d2984000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000e4357bdae017726ee5e83db3443bcd269bbf125db460af94000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000e4357bdae017726ee5e83db3443bcd269bbf125d6e553f65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000082dc3260f599f4fc4307209a1122b6eaa007163b2e2d2984000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000082dc3260f599f4fc4307209a1122b6eaa007163bb460af94000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000082dc3260f599f4fc4307209a1122b6eaa007163b6e553f65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c0000000000000000000000007b31f008c48efb65da78ea0f255ee424af8552492e2d2984000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c0000000000000000000000007b31f008c48efb65da78ea0f255ee424af855249b460af94000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c0000000000000000000000007b31f008c48efb65da78ea0f255ee424af8552496e553f65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000008f39b3d75712148dacdb2669c3eacc7f11525472e2d2984000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000008f39b3d75712148dacdb2669c3eacc7f1152547b460af94000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000008f39b3d75712148dacdb2669c3eacc7f11525476e553f65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c0000000000000000000000005e362eb2c0706bd1d134689ec75176018385430ba9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c0000000000000000000000008c9532a60e0e7c6bbd2b2c1303f63ace1c3e9811a9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000c65433845ecd16688eda196497fa9130d6c47bd8a9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000064047dd3288276d70a4f8b5df54668c8403f877fa9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000beef69ac7870777598a04b2bd4771c71212e6abca9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000024183535a24cf0272841b05047a26e200ffab696a9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c0000000000000000000000003a828c183b3f382d030136c824844ea30145b4c7a9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000049cd586dd9ba227be9654c735a659a1db08232a9a9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000b908c9fe885369643adb5fba4407d52bd726c72da9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c0000000000000000000000004f3cc6359364004b245ad5be36e6ad4e805dc961a9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000d6e09a5e6d719d1c881579c9c8670a210437931ba9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000375a8ee22280076610ca2b4348d37cb1beebeba0a9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000cc36e5272c422bee9a8144cd2493ac472082ebada9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000e4357bdae017726ee5e83db3443bcd269bbf125da9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000082dc3260f599f4fc4307209a1122b6eaa007163ba9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c0000000000000000000000007b31f008c48efb65da78ea0f255ee424af855249a9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000008f39b3d75712148dacdb2669c3eacc7f1152547a9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000004e9c3ef86bc1ca1f0bb5c7662861ee93350568a9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c000000000000000000000000004e9c3ef86bc1ca1f0bb5c7662861ee93350568095ea7b3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000020157dbabb84e3bbfe68c349d0d44e48ae7b5ad2a9059cbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + { + "to": "0x9000fef2846a5253fd2c6ed5241de0fddb404302", + "value": "0x0", + "data": "0x5534fa0c00000000000000000000000020157dbabb84e3bbfe68c349d0d44e48ae7b5ad2095ea7b3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + } + ] +} \ No newline at end of file diff --git a/script/RumpelConfig.sol b/script/RumpelConfig.sol index aa87311..06653b2 100644 --- a/script/RumpelConfig.sol +++ b/script/RumpelConfig.sol @@ -107,6 +107,29 @@ library RumpelConfig { address public constant MAINNET_AMPHRETH = 0x5fD13359Ba15A84B76f7F87568309040176167cd; address public constant MAINNET_SYMBIOTIC_LBTC = 0x9C0823D3A1172F9DdF672d438dec79c39a64f448; + address public constant MAINNET_TBTC = 0x18084fbA666a33d37592fA2633fD49a74DD93a88; + address public constant MAINNET_UNIBTC = 0x004E9C3EF86bc1ca1f0bB5C7662861Ee93350568; + address public constant MAINNET_IBTC = 0x20157DBAbb84e3BBFE68C349d0d44E48AE7B5AD2; + + address public constant MAINNET_MELLOW_DVSTETH = 0x5E362eb2c0706Bd1d134689eC75176018385430B; + address public constant MAINNET_MELLOW_RENZO_PZETH = 0x8c9532a60E0E7C6BbD2B2c1303F63aCE1c3E9811; + address public constant MAINNET_MELLOW_RSENA = 0xc65433845ecD16688eda196497FA9130d6C47Bd8; + address public constant MAINNET_MELLOW_AMPHRBTC = 0x64047dD3288276d70A4F8B5Df54668c8403f877F; + address public constant MAINNET_MELLOW_STEAKLRT = 0xBEEF69Ac7870777598A04B2bd4771c71212E6aBc; + address public constant MAINNET_MELLOW_HYVEX = 0x24183535a24CF0272841B05047A26e200fFAB696; + address public constant MAINNET_MELLOW_RE7RTBTC = 0x3a828C183b3F382d030136C824844Ea30145b4c7; + address public constant MAINNET_MELLOW_IFSETH = 0x49cd586dd9BA227Be9654C735A659a1dB08232a9; + address public constant MAINNET_MELLOW_CP0XLRT = 0xB908c9FE885369643adB5FBA4407d52bD726c72d; + address public constant MAINNET_MELLOW_URLRT = 0x4f3Cc6359364004b245ad5bE36E6ad4e805dC961; + address public constant MAINNET_MELLOW_COETH = 0xd6E09a5e6D719d1c881579C9C8670a210437931b; + address public constant MAINNET_MELLOW_HCETH = 0x375A8eE22280076610cA2B4348d37cB1bEEBeba0; + address public constant MAINNET_MELLOW_ISETH = 0xcC36e5272c422BEE9A8144cD2493Ac472082eBaD; + address public constant MAINNET_MELLOW_SIBTC = 0xE4357bDAE017726eE5E83Db3443bcd269BbF125d; + address public constant MAINNET_MELLOW_LUGAETH = 0x82dc3260f599f4fC4307209A1122B6eAa007163b; + address public constant MAINNET_MELLOW_ROETH = 0x7b31F008c48EFb65da78eA0f255EE424af855249; + address public constant MAINNET_MELLOW_RSUNIBTC = 0x08F39b3d75712148dacDB2669C3EAcc7F1152547; + + // YT Yield Claiming address public constant MAINNET_SY_SUSDE = 0xD288755556c235afFfb6316702719C32bD8706e8; address public constant MAINNET_PENDLE_ROUTERV4 = 0x888888888889758F76e7103c6CbF23ABbF58F946; @@ -277,6 +300,8 @@ library RumpelConfig { return getInitialResolvStrategyProtocolGuardConfigs(); } else if (tagHash == keccak256(bytes("symbiotic-expansion-batch-1"))) { return getSymbioticExpansionBatch1ProtocolGuardConfigs(); + } else if (tagHash == keccak256(bytes("add-mellow-vaults"))) { + return getMellowVaultsGuardProtocolConfigs(); } revert("Unsupported tag"); @@ -337,6 +362,8 @@ library RumpelConfig { return getInitialResolvStrategyTokenGuardConfigs(); } else if (tagHash == keccak256(bytes("symbiotic-expansion-batch-1"))) { return getSymbioticExpansionBatch1TokenGuardConfigs(); + } else if (tagHash == keccak256(bytes("add-mellow-vaults"))) { + return getMellowVaultsGuardTokenConfigs(); } revert("Unsupported tag"); @@ -394,6 +421,8 @@ library RumpelConfig { return new TokenModuleConfig[](0); } else if (tagHash == keccak256(bytes("symbiotic-expansion-batch-1"))) { return new TokenModuleConfig[](0); + } else if (tagHash == keccak256(bytes("add-mellow-vaults"))) { + return new TokenModuleConfig[](0); } revert("Unsupported tag"); @@ -448,6 +477,8 @@ library RumpelConfig { return new ProtocolModuleConfig[](0); } else if (tagHash == keccak256(bytes("symbiotic-expansion-batch-1"))) { return new ProtocolModuleConfig[](0); + } else if (tagHash == keccak256(bytes("add-mellow-vaults"))) { + return new ProtocolModuleConfig[](0); } revert("Unsupported tag"); @@ -675,6 +706,193 @@ library RumpelConfig { return configs; } + function getProtocolGuardConfigMellowSymbiotic(address vault) internal pure returns (ProtocolGuardConfig memory config) { + config = ProtocolGuardConfig({target: vault, selectorStates: new SelectorState[](3)}); + config.selectorStates[0] = + SelectorState({selector: IERC4626Mellow.deposit.selector, state: RumpelGuard.AllowListState.ON}); + config.selectorStates[1] = + SelectorState({selector: IERC4626.withdraw.selector, state: RumpelGuard.AllowListState.ON}); + config.selectorStates[2] = + SelectorState({selector: IERC4626.deposit.selector, state: RumpelGuard.AllowListState.ON}); + } + + // Mellow Vaults ---- + function getMellowVaultsGuardProtocolConfigs() internal pure returns (ProtocolGuardConfig[] memory) { + ProtocolGuardConfig[] memory configs = new ProtocolGuardConfig[](17); + + // Mellow Simple Lido DV + configs[0] = ProtocolGuardConfig({target: MAINNET_MELLOW_DVSTETH, selectorStates: new SelectorState[](2)}); + configs[0].selectorStates[0] = + SelectorState({selector: IMellowT1.deposit.selector, state: RumpelGuard.AllowListState.ON}); + configs[0].selectorStates[1] = + SelectorState({selector: IMellowT1.registerWithdrawal.selector, state: RumpelGuard.AllowListState.ON}); + + // Mellow pzETH + configs[1] = getProtocolGuardConfigMellowSymbiotic(MAINNET_MELLOW_RENZO_PZETH); + + // Mellow rsENA + configs[2] = getProtocolGuardConfigMellowSymbiotic(MAINNET_MELLOW_RSENA); + + // Mellow amphrBTC + configs[3] = ProtocolGuardConfig({target: MAINNET_MELLOW_AMPHRBTC, selectorStates: new SelectorState[](2)}); + configs[3].selectorStates[0] = + SelectorState({selector: IMellow.deposit.selector, state: RumpelGuard.AllowListState.ON}); + configs[3].selectorStates[1] = + SelectorState({selector: IMellow.registerWithdrawal.selector, state: RumpelGuard.AllowListState.ON}); + + // Mellow steakLRT + configs[4] = getProtocolGuardConfigMellowSymbiotic(MAINNET_MELLOW_STEAKLRT); + + // Mellow HYVEX + configs[5] = getProtocolGuardConfigMellowSymbiotic(MAINNET_MELLOW_HYVEX); + + // Mellow Re7rtBTC + configs[6] = ProtocolGuardConfig({target: MAINNET_MELLOW_RE7RTBTC, selectorStates: new SelectorState[](2)}); + configs[6].selectorStates[0] = + SelectorState({selector: IMellow.deposit.selector, state: RumpelGuard.AllowListState.ON}); + configs[6].selectorStates[1] = + SelectorState({selector: IMellow.registerWithdrawal.selector, state: RumpelGuard.AllowListState.ON}); + + // Mellow ifsETH + configs[7] = getProtocolGuardConfigMellowSymbiotic(MAINNET_MELLOW_IFSETH); + + // Mellow cp0xLRT + configs[8] = getProtocolGuardConfigMellowSymbiotic(MAINNET_MELLOW_CP0XLRT); + + // Mellow urLRT + configs[9] = getProtocolGuardConfigMellowSymbiotic(MAINNET_MELLOW_URLRT); + + // Mellow coETH + configs[10] = getProtocolGuardConfigMellowSymbiotic(MAINNET_MELLOW_COETH); + + // Mellow hcETH + configs[11] = getProtocolGuardConfigMellowSymbiotic(MAINNET_MELLOW_HCETH); + + // Mellow isETH + configs[12] = getProtocolGuardConfigMellowSymbiotic(MAINNET_MELLOW_ISETH); + + // Mellow siBTC + configs[13] = getProtocolGuardConfigMellowSymbiotic(MAINNET_MELLOW_SIBTC); + + // Mellow LUGAETH + configs[14] = getProtocolGuardConfigMellowSymbiotic(MAINNET_MELLOW_LUGAETH); + + // Mellow roETH + configs[15] = getProtocolGuardConfigMellowSymbiotic(MAINNET_MELLOW_ROETH); + + // Mellow rsuniBTC + configs[16] = getProtocolGuardConfigMellowSymbiotic(MAINNET_MELLOW_RSUNIBTC); + + return configs; + } + + function getMellowVaultsGuardTokenConfigs() internal pure returns (TokenGuardConfig[] memory) { + TokenGuardConfig[] memory configs = new TokenGuardConfig[](20); + + configs[0] = TokenGuardConfig({ + token: MAINNET_MELLOW_DVSTETH, + transferAllowState: RumpelGuard.AllowListState.ON, + approveAllowState: RumpelGuard.AllowListState.OFF + }); + configs[1] = TokenGuardConfig({ + token: MAINNET_MELLOW_RENZO_PZETH, + transferAllowState: RumpelGuard.AllowListState.ON, + approveAllowState: RumpelGuard.AllowListState.OFF + }); + configs[2] = TokenGuardConfig({ + token: MAINNET_MELLOW_RSENA, + transferAllowState: RumpelGuard.AllowListState.ON, + approveAllowState: RumpelGuard.AllowListState.OFF + }); + configs[3] = TokenGuardConfig({ + token: MAINNET_MELLOW_AMPHRBTC, + transferAllowState: RumpelGuard.AllowListState.ON, + approveAllowState: RumpelGuard.AllowListState.OFF + }); + configs[4] = TokenGuardConfig({ + token: MAINNET_MELLOW_STEAKLRT, + transferAllowState: RumpelGuard.AllowListState.ON, + approveAllowState: RumpelGuard.AllowListState.OFF + }); + configs[5] = TokenGuardConfig({ + token: MAINNET_MELLOW_HYVEX, + transferAllowState: RumpelGuard.AllowListState.ON, + approveAllowState: RumpelGuard.AllowListState.OFF + }); + configs[6] = TokenGuardConfig({ + token: MAINNET_MELLOW_RE7RTBTC, + transferAllowState: RumpelGuard.AllowListState.ON, + approveAllowState: RumpelGuard.AllowListState.OFF + }); + configs[7] = TokenGuardConfig({ + token: MAINNET_MELLOW_IFSETH, + transferAllowState: RumpelGuard.AllowListState.ON, + approveAllowState: RumpelGuard.AllowListState.OFF + }); + configs[8] = TokenGuardConfig({ + token: MAINNET_MELLOW_CP0XLRT, + transferAllowState: RumpelGuard.AllowListState.ON, + approveAllowState: RumpelGuard.AllowListState.OFF + }); + configs[9] = TokenGuardConfig({ + token: MAINNET_MELLOW_URLRT, + transferAllowState: RumpelGuard.AllowListState.ON, + approveAllowState: RumpelGuard.AllowListState.OFF + }); + configs[10] = TokenGuardConfig({ + token: MAINNET_MELLOW_COETH, + transferAllowState: RumpelGuard.AllowListState.ON, + approveAllowState: RumpelGuard.AllowListState.OFF + }); + configs[11] = TokenGuardConfig({ + token: MAINNET_MELLOW_HCETH, + transferAllowState: RumpelGuard.AllowListState.ON, + approveAllowState: RumpelGuard.AllowListState.OFF + }); + configs[12] = TokenGuardConfig({ + token: MAINNET_MELLOW_ISETH, + transferAllowState: RumpelGuard.AllowListState.ON, + approveAllowState: RumpelGuard.AllowListState.OFF + }); + configs[13] = TokenGuardConfig({ + token: MAINNET_MELLOW_SIBTC, + transferAllowState: RumpelGuard.AllowListState.ON, + approveAllowState: RumpelGuard.AllowListState.OFF + }); + configs[14] = TokenGuardConfig({ + token: MAINNET_MELLOW_LUGAETH, + transferAllowState: RumpelGuard.AllowListState.ON, + approveAllowState: RumpelGuard.AllowListState.OFF + }); + configs[15] = TokenGuardConfig({ + token: MAINNET_MELLOW_ROETH, + transferAllowState: RumpelGuard.AllowListState.ON, + approveAllowState: RumpelGuard.AllowListState.OFF + }); + configs[16] = TokenGuardConfig({ + token: MAINNET_MELLOW_RSUNIBTC, + transferAllowState: RumpelGuard.AllowListState.ON, + approveAllowState: RumpelGuard.AllowListState.OFF + }); + configs[17] = TokenGuardConfig({ + token: MAINNET_TBTC, + transferAllowState: RumpelGuard.AllowListState.ON, + approveAllowState: RumpelGuard.AllowListState.ON + }); + configs[18] = TokenGuardConfig({ + token: MAINNET_UNIBTC, + transferAllowState: RumpelGuard.AllowListState.ON, + approveAllowState: RumpelGuard.AllowListState.ON + }); + configs[19] = TokenGuardConfig({ + token: MAINNET_IBTC, + transferAllowState: RumpelGuard.AllowListState.ON, + approveAllowState: RumpelGuard.AllowListState.ON + }); + + return configs; + } + function getInitialYTsAndAmphrETHGuardTokenConfigs() internal pure returns (TokenGuardConfig[] memory) { TokenGuardConfig[] memory configs = new TokenGuardConfig[](11); @@ -1538,6 +1756,26 @@ interface IMellow { ) external; } +interface IMellowT1 { + function deposit(address to, uint256[] memory amounts, uint256 minLpAmount, uint256 deadline, uint256 referralCode) + external + returns (uint256[] memory actualAmounts, uint256 lpAmount); + function registerWithdrawal( + address to, + uint256 lpAmount, + uint256[] memory minAmounts, + uint256 deadline, + uint256 requestDeadline, + bool closePrevious + ) external; +} + +interface IERC4626Mellow { + function deposit(uint256 assets, address receiver, address referral) + external + returns (uint256 shares); +} + interface IFluidVaultT1 { function operate(uint256 nftId_, int256 newCol_, int256 newDebt_, address to_) external; }