📕

BIP-50 Runbook

Proposal
October 1, 2024

Links

Safe transaction
Safe transaction hash
0x19f2d9211b0fe8a005ce12f76f147a95ed8bc14d54614848e0bb60c3d2b5a0bd
Safe transaction nonce
83 (and 82, which removes the SiloFacet)
GitHub PR
GitHub commit hash
Snapshot proposal

diamondCut JSON:

bip-50-part1-remove-silofacet.json2.0KB

[see file above for diamond cut data]

bip-50-part2.json27.6KB
{
    "diamondCut": {
        "diamondCut": [
            [
                "0x0000000000000000000000000000000000000000",
                2,
                [
                    "0x86b40a1b",
                    "0xe9522c08",
                    "0xd9ba32fc",
                    "0x170cf084",
                    "0x9d1d2877",
                    "0xe26f7900",
                    "0x76a7bc84",
                    "0xce5fb821",
                    "0xf18d9ed0",
                    "0x371b5b03",
                    "0x052ebc26",
                    "0xe68a543a",
                    "0x787cee99",
                    "0xfa345569",
                    "0x1acc0a47",
                    "0x1be655e8",
                    "0x9a516cad",
                    "0x087d78b4",
                    "0x7caa025f",
                    "0xbfe2f3be",
                    "0x6de45df2",
                    "0x014a8a49",
                    "0xbb7de478",
                    "0x43cc4ee0",
                    "0xab434eb7",
                    "0xadef4533",
                    "0x9f06b3fa",
                    "0xb8a04d1b",
                    "0x691bcc88",
                    "0xfc6a19df",
                    "0x13ed3cea",
                    "0xd3c73ec8",
                    "0xa33fa99f",
                    "0x33f37f27",
                    "0xc20b8071",
                    "0x06fdde03",
                    "0x95d89b41",
                    "0x0e89341c",
                    "0x488e94dc",
                    "0x764a9874",
                    "0xb1c7a20f",
                    "0xe23c96a4",
                    "0x2a27c499",
                    "0xeedc7ab9",
                    "0x7ba6cbf8",
                    "0xeb0e1215",
                    "0xd1db56b8",
                    "0x69aa7e02",
                    "0xcc88d4f9",
                    "0x673c75f0",
                    "0x64b3496b",
                    "0x93523425",
                    "0x64887852",
                    "0xb2b0556d",
                    "0x141933bf",
                    "0xf98da2de",
                    "0x383f170f",
                    "0xd1943f7f",
                    "0xcb2d0a3c",
                    "0xcce813a1",
                    "0x6af8e5a4",
                    "0x7d23804d",
                    "0x50539159",
                    "0xbbf459a7",
                    "0xf788b47c",
                    "0xa13a3742",
                    "0x93c9e531",
                    "0x5c975abb",
                    "0xe60d7a83",
                    "0x471bcdbe",
                    "0x43def26e",
                    "0xc50b0fb0",
                    "0x3b2ecb70",
                    "0x16ada547",
                    "0x06c499d8",
                    "0x686b6159",
                    "0x597490c0",
                    "0x8456cb59",
                    "0x3f4ba83a",
                    "0x0b385a85",
                    "0xc5644a60",
                    "0x3260c49e",
                    "0xdf18a3ee",
                    "0xf22b49ec",
                    "0x80bd7d33",
                    "0xa8f135a2",
                    "0x82c65124",
                    "0x83601992",
                    "0xeda8156e",
                    "0xa99d840c",
                    "0x845a022b",
                    "0x4214861e",
                    "0x7e2a1fd1",
                    "0xc3e14715",
                    "0xd6af17ab",
                    "0x042ff31d",
                    "0xb1719e59",
                    "0x045d5763",
                    "0x69d9120d",
                    "0x4b4e8d9a",
                    "0x43c5198e",
                    "0xc869c1eb",
                    "0xce133450",
                    "0x6299a9af",
                    "0x0d1a844c",
                    "0x6ee66ddf",
                    "0x7907091f",
                    "0x56ba3e24",
                    "0x32ab68ce",
                    "0x553030d0",
                    "0xadccea12",
                    "0x8fd83ecf",
                    "0xd6be1816",
                    "0xe1d9d628",
                    "0xcb44a6cf",
                    "0x067fcd2e",
                    "0x23dc1142",
                    "0xc0aa6a90",
                    "0x3285008a",
                    "0x4433366d",
                    "0x28593984",
                    "0x12cb5eab",
                    "0x304ec65d",
                    "0xb6f42085",
                    "0x1799b3b2",
                    "0x1edb6be1",
                    "0x9bb4e35a",
                    "0x83e08888",
                    "0xdc6ba285",
                    "0x39448802",
                    "0xc85951a1",
                    "0x9c45a1d5",
                    "0x34af5416",
                    "0x1e223143",
                    "0x29130a66",
                    "0x4d622831",
                    "0x69744dd0",
                    "0xf4a057e2",
                    "0x6ae1c014",
                    "0xd47aee59",
                    "0x4a16607c",
                    "0x4f9a9678",
                    "0xf9c4ebde",
                    "0xa3ef48c9",
                    "0x363591d0",
                    "0x94daa221",
                    "0xe3d4e44c",
                    "0xf255da60",
                    "0x93a39bea",
                    "0x36bfafbd",
                    "0x300dd6cf",
                    "0xaea72f96",
                    "0x00fdd58e",
                    "0x4e1273f4",
                    "0xbc8514cf",
                    "0x3e465a2e",
                    "0x341b94d5",
                    "0xc063989e",
                    "0x838082b5",
                    "0x8915ba24",
                    "0x896651e8",
                    "0x69fbad94",
                    "0xba39dc02",
                    "0xa7bf680f",
                    "0x8eeae310",
                    "0x0fb01e05",
                    "0x8c1e6f22",
                    "0x61449212",
                    "0x98f2b8ad",
                    "0x1ca5f625",
                    "0x96e7f21e",
                    "0x4118140a",
                    "0x9256dccd",
                    "0xa953f06d",
                    "0xe5b17f2a",
                    "0xc25a156c",
                    "0x9b3ec513",
                    "0x7fc06e12",
                    "0xf5cb9097",
                    "0xdc25a650",
                    "0x85167e51",
                    "0x0c9c31bd",
                    "0x9d6a924e",
                    "0xb45ef2eb",
                    "0x9dcf67f0",
                    "0x7d4a51cb",
                    "0x5a8e63e3",
                    "0x3a1b0606",
                    "0xbe6547d2",
                    "0xcb03fb1e",
                    "0xc38b3c18",
                    "0x896ab1c6",
                    "0xbc771977",
                    "0xabed2d41",
                    "0xe923e8d4",
                    "0xfd9de166",
                    "0x46544166",
                    "0x7b52fadf",
                    "0xbc18a8c4",
                    "0x7579e160",
                    "0x548d873a",
                    "0x0e4c2e31",
                    "0x567af763",
                    "0xcc77c379",
                    "0x0b58f073",
                    "0x88fcd169",
                    "0x7c516e94",
                    "0x1f351f6a",
                    "0x4edcab2d",
                    "0xb452c7ae",
                    "0x6e47d07b",
                    "0xcabec62b",
                    "0x08e1a0ab",
                    "0xdd756c4f",
                    "0xa9412a59",
                    "0xb442b398",
                    "0x4935ed43",
                    "0x0a7e880c",
                    "0x1aca6376",
                    "0x4aa06652",
                    "0x24dd285c",
                    "0x505f43ea",
                    "0x1be2cfd8",
                    "0xa9be1acb",
                    "0x1f4f3d55",
                    "0xaed942e9",
                    "0x2b8cde0d",
                    "0xe985e9c5",
                    "0xa22cb465",
                    "0x1302afc2",
                    "0xd9ee1269",
                    "0x2a6a8ef5",
                    "0x8966e0ff",
                    "0x843bc425",
                    "0x5793e485",
                    "0x120b5702",
                    "0xd5770dc7",
                    "0x5a049a47",
                    "0xf984019b",
                    "0xc8cda2a0",
                    "0xb0c22bb1",
                    "0xc84c7727",
                    "0xb362a6e8",
                    "0x64ee4b80",
                    "0xca7b7d7b",
                    "0xfc06d2a6",
                    "0xd8317c71",
                    "0xa8b0bb83"
                ]
            ],
            [
                "0xb7EA01231e518cd22E118165b290f5CC3263F5bB",
                0,
                [
                    "0xfe5b810f",
                    "0xcb3fcc04"
                ]
            ],
            [
                "0x8F66044a9C95FaE9d38B8Bc30665eE04A2456501",
                1,
                [
                    "0xda3e3397",
                    "0x0bc33ce4",
                    "0xfdb28811",
                    "0xb6fc38f9",
                    "0xd4fac45d",
                    "0x6a385ae9",
                    "0x4667fa3d",
                    "0xc3714723",
                    "0x8a65d2e0",
                    "0xa98edb17",
                    "0xb39062e6",
                    "0xbc197c81",
                    "0xf23a6e61",
                    "0x8e8758d8",
                    "0xd3f4ec6f",
                    "0x6204aa43",
                    "0xbd32fac3",
                    "0x1c059365"
                ]
            ]
        ],
        "initFacetAddress": "0xE35c0397dBB43EB7E2cb28a182d857a3A42eFaDB",
        "functionCall": "0xe1c7392a"
    },
    "encoded": "0x1f931c1c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000e35c0397dbb43eb7e2cb28a182d857a3a42efadb00000000000000000000000000000000000000000000000000000000000023e0000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000001fe000000000000000000000000000000000000000000000000000000000000020a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000f886b40a1b00000000000000000000000000000000000000000000000000000000e9522c0800000000000000000000000000000000000000000000000000000000d9ba32fc00000000000000000000000000000000000000000000000000000000170cf084000000000000000000000000000000000000000000000000000000009d1d287700000000000000000000000000000000000000000000000000000000e26f79000000000000000000000000000000000000000000000000000000000076a7bc8400000000000000000000000000000000000000000000000000000000ce5fb82100000000000000000000000000000000000000000000000000000000f18d9ed000000000000000000000000000000000000000000000000000000000371b5b0300000000000000000000000000000000000000000000000000000000052ebc2600000000000000000000000000000000000000000000000000000000e68a543a00000000000000000000000000000000000000000000000000000000787cee9900000000000000000000000000000000000000000000000000000000fa345569000000000000000000000000000000000000000000000000000000001acc0a47000000000000000000000000000000000000000000000000000000001be655e8000000000000000000000000000000000000000000000000000000009a516cad00000000000000000000000000000000000000000000000000000000087d78b4000000000000000000000000000000000000000000000000000000007caa025f00000000000000000000000000000000000000000000000000000000bfe2f3be000000000000000000000000000000000000000000000000000000006de45df200000000000000000000000000000000000000000000000000000000014a8a4900000000000000000000000000000000000000000000000000000000bb7de4780000000000000000000000000000000000000000000000000000000043cc4ee000000000000000000000000000000000000000000000000000000000ab434eb700000000000000000000000000000000000000000000000000000000adef4533000000000000000000000000000000000000000000000000000000009f06b3fa00000000000000000000000000000000000000000000000000000000b8a04d1b00000000000000000000000000000000000000000000000000000000691bcc8800000000000000000000000000000000000000000000000000000000fc6a19df0000000000000000000000000000000000000000000000000000000013ed3cea00000000000000000000000000000000000000000000000000000000d3c73ec800000000000000000000000000000000000000000000000000000000a33fa99f0000000000000000000000000000000000000000000000000000000033f37f2700000000000000000000000000000000000000000000000000000000c20b80710000000000000000000000000000000000000000000000000000000006fdde030000000000000000000000000000000000000000000000000000000095d89b41000000000000000000000000000000000000000000000000000000000e89341c00000000000000000000000000000000000000000000000000000000488e94dc00000000000000000000000000000000000000000000000000000000764a987400000000000000000000000000000000000000000000000000000000b1c7a20f00000000000000000000000000000000000000000000000000000000e23c96a4000000000000000000000000000000000000000000000000000000002a27c49900000000000000000000000000000000000000000000000000000000eedc7ab9000000000000000000000000000000000000000000000000000000007ba6cbf800000000000000000000000000000000000000000000000000000000eb0e121500000000000000000000000000000000000000000000000000000000d1db56b80000000000000000000000000000000000000000000000000000000069aa7e0200000000000000000000000000000000000000000000000000000000cc88d4f900000000000000000000000000000000000000000000000000000000673c75f00000000000000000000000000000000000000000000000000000000064b3496b0000000000000000000000000000000000000000000000000000000093523425000000000000000000000000000000000000000000000000000000006488785200000000000000000000000000000000000000000000000000000000b2b0556d00000000000000000000000000000000000000000000000000000000141933bf00000000000000000000000000000000000000000000000000000000f98da2de00000000000000000000000000000000000000000000000000000000383f170f00000000000000000000000000000000000000000000000000000000d1943f7f00000000000000000000000000000000000000000000000000000000cb2d0a3c00000000000000000000000000000000000000000000000000000000cce813a1000000000000000000000000000000000000000000000000000000006af8e5a4000000000000000000000000000000000000000000000000000000007d23804d000000000000000000000000000000000000000000000000000000005053915900000000000000000000000000000000000000000000000000000000bbf459a700000000000000000000000000000000000000000000000000000000f788b47c00000000000000000000000000000000000000000000000000000000a13a37420000000000000000000000000000000000000000000000000000000093c9e531000000000000000000000000000000000000000000000000000000005c975abb00000000000000000000000000000000000000000000000000000000e60d7a8300000000000000000000000000000000000000000000000000000000471bcdbe0000000000000000000000000000000000000000000000000000000043def26e00000000000000000000000000000000000000000000000000000000c50b0fb0000000000000000000000000000000000000000000000000000000003b2ecb700000000000000000000000000000000000000000000000000000000016ada5470000000000000000000000000000000000000000000000000000000006c499d800000000000000000000000000000000000000000000000000000000686b615900000000000000000000000000000000000000000000000000000000597490c0000000000000000000000000000000000000000000000000000000008456cb59000000000000000000000000000000000000000000000000000000003f4ba83a000000000000000000000000000000000000000000000000000000000b385a8500000000000000000000000000000000000000000000000000000000c5644a60000000000000000000000000000000000000000000000000000000003260c49e00000000000000000000000000000000000000000000000000000000df18a3ee00000000000000000000000000000000000000000000000000000000f22b49ec0000000000000000000000000000000000000000000000000000000080bd7d3300000000000000000000000000000000000000000000000000000000a8f135a20000000000000000000000000000000000000000000000000000000082c65124000000000000000000000000000000000000000000000000000000008360199200000000000000000000000000000000000000000000000000000000eda8156e00000000000000000000000000000000000000000000000000000000a99d840c00000000000000000000000000000000000000000000000000000000845a022b000000000000000000000000000000000000000000000000000000004214861e000000000000000000000000000000000000000000000000000000007e2a1fd100000000000000000000000000000000000000000000000000000000c3e1471500000000000000000000000000000000000000000000000000000000d6af17ab00000000000000000000000000000000000000000000000000000000042ff31d00000000000000000000000000000000000000000000000000000000b1719e5900000000000000000000000000000000000000000000000000000000045d57630000000000000000000000000000000000000000000000000000000069d9120d000000000000000000000000000000000000000000000000000000004b4e8d9a0000000000000000000000000000000000000000000000000000000043c5198e00000000000000000000000000000000000000000000000000000000c869c1eb00000000000000000000000000000000000000000000000000000000ce133450000000000000000000000000000000000000000000000000000000006299a9af000000000000000000000000000000000000000000000000000000000d1a844c000000000000000000000000000000000000000000000000000000006ee66ddf000000000000000000000000000000000000000000000000000000007907091f0000000000000000000000000000000000000000000000000000000056ba3e240000000000000000000000000000000000000000000000000000000032ab68ce00000000000000000000000000000000000000000000000000000000553030d000000000000000000000000000000000000000000000000000000000adccea12000000000000000000000000000000000000000000000000000000008fd83ecf00000000000000000000000000000000000000000000000000000000d6be181600000000000000000000000000000000000000000000000000000000e1d9d62800000000000000000000000000000000000000000000000000000000cb44a6cf00000000000000000000000000000000000000000000000000000000067fcd2e0000000000000000000000000000000000000000000000000000000023dc114200000000000000000000000000000000000000000000000000000000c0aa6a90000000000000000000000000000000000000000000000000000000003285008a000000000000000000000000000000000000000000000000000000004433366d00000000000000000000000000000000000000000000000000000000285939840000000000000000000000000000000000000000000000000000000012cb5eab00000000000000000000000000000000000000000000000000000000304ec65d00000000000000000000000000000000000000000000000000000000b6f42085000000000000000000000000000000000000000000000000000000001799b3b2000000000000000000000000000000000000000000000000000000001edb6be1000000000000000000000000000000000000000000000000000000009bb4e35a0000000000000000000000000000000000000000000000000000000083e0888800000000000000000000000000000000000000000000000000000000dc6ba285000000000000000000000000000000000000000000000000000000003944880200000000000000000000000000000000000000000000000000000000c85951a1000000000000000000000000000000000000000000000000000000009c45a1d50000000000000000000000000000000000000000000000000000000034af5416000000000000000000000000000000000000000000000000000000001e2231430000000000000000000000000000000000000000000000000000000029130a66000000000000000000000000000000000000000000000000000000004d6228310000000000000000000000000000000000000000000000000000000069744dd000000000000000000000000000000000000000000000000000000000f4a057e2000000000000000000000000000000000000000000000000000000006ae1c01400000000000000000000000000000000000000000000000000000000d47aee59000000000000000000000000000000000000000000000000000000004a16607c000000000000000000000000000000000000000000000000000000004f9a967800000000000000000000000000000000000000000000000000000000f9c4ebde00000000000000000000000000000000000000000000000000000000a3ef48c900000000000000000000000000000000000000000000000000000000363591d00000000000000000000000000000000000000000000000000000000094daa22100000000000000000000000000000000000000000000000000000000e3d4e44c00000000000000000000000000000000000000000000000000000000f255da600000000000000000000000000000000000000000000000000000000093a39bea0000000000000000000000000000000000000000000000000000000036bfafbd00000000000000000000000000000000000000000000000000000000300dd6cf00000000000000000000000000000000000000000000000000000000aea72f960000000000000000000000000000000000000000000000000000000000fdd58e000000000000000000000000000000000000000000000000000000004e1273f400000000000000000000000000000000000000000000000000000000bc8514cf000000000000000000000000000000000000000000000000000000003e465a2e00000000000000000000000000000000000000000000000000000000341b94d500000000000000000000000000000000000000000000000000000000c063989e00000000000000000000000000000000000000000000000000000000838082b5000000000000000000000000000000000000000000000000000000008915ba2400000000000000000000000000000000000000000000000000000000896651e80000000000000000000000000000000000000000000000000000000069fbad9400000000000000000000000000000000000000000000000000000000ba39dc0200000000000000000000000000000000000000000000000000000000a7bf680f000000000000000000000000000000000000000000000000000000008eeae310000000000000000000000000000000000000000000000000000000000fb01e05000000000000000000000000000000000000000000000000000000008c1e6f2200000000000000000000000000000000000000000000000000000000614492120000000000000000000000000000000000000000000000000000000098f2b8ad000000000000000000000000000000000000000000000000000000001ca5f6250000000000000000000000000000000000000000000000000000000096e7f21e000000000000000000000000000000000000000000000000000000004118140a000000000000000000000000000000000000000000000000000000009256dccd00000000000000000000000000000000000000000000000000000000a953f06d00000000000000000000000000000000000000000000000000000000e5b17f2a00000000000000000000000000000000000000000000000000000000c25a156c000000000000000000000000000000000000000000000000000000009b3ec513000000000000000000000000000000000000000000000000000000007fc06e1200000000000000000000000000000000000000000000000000000000f5cb909700000000000000000000000000000000000000000000000000000000dc25a6500000000000000000000000000000000000000000000000000000000085167e51000000000000000000000000000000000000000000000000000000000c9c31bd000000000000000000000000000000000000000000000000000000009d6a924e00000000000000000000000000000000000000000000000000000000b45ef2eb000000000000000000000000000000000000000000000000000000009dcf67f0000000000000000000000000000000000000000000000000000000007d4a51cb000000000000000000000000000000000000000000000000000000005a8e63e3000000000000000000000000000000000000000000000000000000003a1b060600000000000000000000000000000000000000000000000000000000be6547d200000000000000000000000000000000000000000000000000000000cb03fb1e00000000000000000000000000000000000000000000000000000000c38b3c1800000000000000000000000000000000000000000000000000000000896ab1c600000000000000000000000000000000000000000000000000000000bc77197700000000000000000000000000000000000000000000000000000000abed2d4100000000000000000000000000000000000000000000000000000000e923e8d400000000000000000000000000000000000000000000000000000000fd9de1660000000000000000000000000000000000000000000000000000000046544166000000000000000000000000000000000000000000000000000000007b52fadf00000000000000000000000000000000000000000000000000000000bc18a8c4000000000000000000000000000000000000000000000000000000007579e16000000000000000000000000000000000000000000000000000000000548d873a000000000000000000000000000000000000000000000000000000000e4c2e3100000000000000000000000000000000000000000000000000000000567af76300000000000000000000000000000000000000000000000000000000cc77c379000000000000000000000000000000000000000000000000000000000b58f0730000000000000000000000000000000000000000000000000000000088fcd169000000000000000000000000000000000000000000000000000000007c516e94000000000000000000000000000000000000000000000000000000001f351f6a000000000000000000000000000000000000000000000000000000004edcab2d00000000000000000000000000000000000000000000000000000000b452c7ae000000000000000000000000000000000000000000000000000000006e47d07b00000000000000000000000000000000000000000000000000000000cabec62b0000000000000000000000000000000000000000000000000000000008e1a0ab00000000000000000000000000000000000000000000000000000000dd756c4f00000000000000000000000000000000000000000000000000000000a9412a5900000000000000000000000000000000000000000000000000000000b442b398000000000000000000000000000000000000000000000000000000004935ed43000000000000000000000000000000000000000000000000000000000a7e880c000000000000000000000000000000000000000000000000000000001aca6376000000000000000000000000000000000000000000000000000000004aa066520000000000000000000000000000000000000000000000000000000024dd285c00000000000000000000000000000000000000000000000000000000505f43ea000000000000000000000000000000000000000000000000000000001be2cfd800000000000000000000000000000000000000000000000000000000a9be1acb000000000000000000000000000000000000000000000000000000001f4f3d5500000000000000000000000000000000000000000000000000000000aed942e9000000000000000000000000000000000000000000000000000000002b8cde0d00000000000000000000000000000000000000000000000000000000e985e9c500000000000000000000000000000000000000000000000000000000a22cb465000000000000000000000000000000000000000000000000000000001302afc200000000000000000000000000000000000000000000000000000000d9ee1269000000000000000000000000000000000000000000000000000000002a6a8ef5000000000000000000000000000000000000000000000000000000008966e0ff00000000000000000000000000000000000000000000000000000000843bc425000000000000000000000000000000000000000000000000000000005793e48500000000000000000000000000000000000000000000000000000000120b570200000000000000000000000000000000000000000000000000000000d5770dc7000000000000000000000000000000000000000000000000000000005a049a4700000000000000000000000000000000000000000000000000000000f984019b00000000000000000000000000000000000000000000000000000000c8cda2a000000000000000000000000000000000000000000000000000000000b0c22bb100000000000000000000000000000000000000000000000000000000c84c772700000000000000000000000000000000000000000000000000000000b362a6e80000000000000000000000000000000000000000000000000000000064ee4b8000000000000000000000000000000000000000000000000000000000ca7b7d7b00000000000000000000000000000000000000000000000000000000fc06d2a600000000000000000000000000000000000000000000000000000000d8317c7100000000000000000000000000000000000000000000000000000000a8b0bb8300000000000000000000000000000000000000000000000000000000000000000000000000000000b7ea01231e518cd22e118165b290f5cc3263f5bb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002fe5b810f00000000000000000000000000000000000000000000000000000000cb3fcc04000000000000000000000000000000000000000000000000000000000000000000000000000000008f66044a9c95fae9d38b8bc30665ee04a2456501000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000012da3e3397000000000000000000000000000000000000000000000000000000000bc33ce400000000000000000000000000000000000000000000000000000000fdb2881100000000000000000000000000000000000000000000000000000000b6fc38f900000000000000000000000000000000000000000000000000000000d4fac45d000000000000000000000000000000000000000000000000000000006a385ae9000000000000000000000000000000000000000000000000000000004667fa3d00000000000000000000000000000000000000000000000000000000c3714723000000000000000000000000000000000000000000000000000000008a65d2e000000000000000000000000000000000000000000000000000000000a98edb1700000000000000000000000000000000000000000000000000000000b39062e600000000000000000000000000000000000000000000000000000000bc197c8100000000000000000000000000000000000000000000000000000000f23a6e61000000000000000000000000000000000000000000000000000000008e8758d800000000000000000000000000000000000000000000000000000000d3f4ec6f000000000000000000000000000000000000000000000000000000006204aa4300000000000000000000000000000000000000000000000000000000bd32fac3000000000000000000000000000000000000000000000000000000001c059365000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004e1c7392a00000000000000000000000000000000000000000000000000000000"
}

Overview

Init Contract

ReseedL2Migration: 0xE35c0397dBB43EB7E2cb28a182d857a3A42eFaDB

Facets Being Added

Facets Being Removed

All other facets except for:

  • new L1TokenFacet
  • new L2MigrationFacet
  • DiamondCutFacet
  • DiamondLoupeFacet
  • OwnershipFacet

Verifying the Transaction

Setup

  1. Follow 🏗️How to Setup Environment, pulling and compiling the latest changes on the beanstalk-3 branch.

The Diamond Cut Transaction

Add the following bip50part1enc and bip50part2enc tasks to hardhat.config.js per How to Verify Facet Changes.

You can verify that the following data value in the final line of code is the one that corresponds to the BIP transaction by comparing it with the Raw data field on the Safe multisig transactions.

task('bip50part1enc', async function () {
  const bcm = await impersonateBeanstalkOwner()
  await mintEth(bcm.address)
  await bcm.sendTransaction({to: BEANSTALK, value: 0, data: '0x1f931c1c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000b45947ba900000000000000000000000000000000000000000000000000000000f19ed6be00000000000000000000000000000000000000000000000000000000150d5173000000000000000000000000000000000000000000000000000000007d44f5bb00000000000000000000000000000000000000000000000000000000779b3c5c000000000000000000000000000000000000000000000000000000002eb2c2d600000000000000000000000000000000000000000000000000000000f242432a00000000000000000000000000000000000000000000000000000000081d77ba00000000000000000000000000000000000000000000000000000000c56411f600000000000000000000000000000000000000000000000000000000e348f82b0000000000000000000000000000000000000000000000000000000027e047f1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'})
})

task('bip50part2enc', async function () {
  const bcm = await impersonateBeanstalkOwner()
  await mintEth(bcm.address)
  await bcm.sendTransaction({to: BEANSTALK, value: 0, data: '0x1f931c1c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000e35c0397dbb43eb7e2cb28a182d857a3a42efadb00000000000000000000000000000000000000000000000000000000000023e0000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000001fe000000000000000000000000000000000000000000000000000000000000020a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000f886b40a1b00000000000000000000000000000000000000000000000000000000e9522c0800000000000000000000000000000000000000000000000000000000d9ba32fc00000000000000000000000000000000000000000000000000000000170cf084000000000000000000000000000000000000000000000000000000009d1d287700000000000000000000000000000000000000000000000000000000e26f79000000000000000000000000000000000000000000000000000000000076a7bc8400000000000000000000000000000000000000000000000000000000ce5fb82100000000000000000000000000000000000000000000000000000000f18d9ed000000000000000000000000000000000000000000000000000000000371b5b0300000000000000000000000000000000000000000000000000000000052ebc2600000000000000000000000000000000000000000000000000000000e68a543a00000000000000000000000000000000000000000000000000000000787cee9900000000000000000000000000000000000000000000000000000000fa345569000000000000000000000000000000000000000000000000000000001acc0a47000000000000000000000000000000000000000000000000000000001be655e8000000000000000000000000000000000000000000000000000000009a516cad00000000000000000000000000000000000000000000000000000000087d78b4000000000000000000000000000000000000000000000000000000007caa025f00000000000000000000000000000000000000000000000000000000bfe2f3be000000000000000000000000000000000000000000000000000000006de45df200000000000000000000000000000000000000000000000000000000014a8a4900000000000000000000000000000000000000000000000000000000bb7de4780000000000000000000000000000000000000000000000000000000043cc4ee000000000000000000000000000000000000000000000000000000000ab434eb700000000000000000000000000000000000000000000000000000000adef4533000000000000000000000000000000000000000000000000000000009f06b3fa00000000000000000000000000000000000000000000000000000000b8a04d1b00000000000000000000000000000000000000000000000000000000691bcc8800000000000000000000000000000000000000000000000000000000fc6a19df0000000000000000000000000000000000000000000000000000000013ed3cea00000000000000000000000000000000000000000000000000000000d3c73ec800000000000000000000000000000000000000000000000000000000a33fa99f0000000000000000000000000000000000000000000000000000000033f37f2700000000000000000000000000000000000000000000000000000000c20b80710000000000000000000000000000000000000000000000000000000006fdde030000000000000000000000000000000000000000000000000000000095d89b41000000000000000000000000000000000000000000000000000000000e89341c00000000000000000000000000000000000000000000000000000000488e94dc00000000000000000000000000000000000000000000000000000000764a987400000000000000000000000000000000000000000000000000000000b1c7a20f00000000000000000000000000000000000000000000000000000000e23c96a4000000000000000000000000000000000000000000000000000000002a27c49900000000000000000000000000000000000000000000000000000000eedc7ab9000000000000000000000000000000000000000000000000000000007ba6cbf800000000000000000000000000000000000000000000000000000000eb0e121500000000000000000000000000000000000000000000000000000000d1db56b80000000000000000000000000000000000000000000000000000000069aa7e0200000000000000000000000000000000000000000000000000000000cc88d4f900000000000000000000000000000000000000000000000000000000673c75f00000000000000000000000000000000000000000000000000000000064b3496b0000000000000000000000000000000000000000000000000000000093523425000000000000000000000000000000000000000000000000000000006488785200000000000000000000000000000000000000000000000000000000b2b0556d00000000000000000000000000000000000000000000000000000000141933bf00000000000000000000000000000000000000000000000000000000f98da2de00000000000000000000000000000000000000000000000000000000383f170f00000000000000000000000000000000000000000000000000000000d1943f7f00000000000000000000000000000000000000000000000000000000cb2d0a3c00000000000000000000000000000000000000000000000000000000cce813a1000000000000000000000000000000000000000000000000000000006af8e5a4000000000000000000000000000000000000000000000000000000007d23804d000000000000000000000000000000000000000000000000000000005053915900000000000000000000000000000000000000000000000000000000bbf459a700000000000000000000000000000000000000000000000000000000f788b47c00000000000000000000000000000000000000000000000000000000a13a37420000000000000000000000000000000000000000000000000000000093c9e531000000000000000000000000000000000000000000000000000000005c975abb00000000000000000000000000000000000000000000000000000000e60d7a8300000000000000000000000000000000000000000000000000000000471bcdbe0000000000000000000000000000000000000000000000000000000043def26e00000000000000000000000000000000000000000000000000000000c50b0fb0000000000000000000000000000000000000000000000000000000003b2ecb700000000000000000000000000000000000000000000000000000000016ada5470000000000000000000000000000000000000000000000000000000006c499d800000000000000000000000000000000000000000000000000000000686b615900000000000000000000000000000000000000000000000000000000597490c0000000000000000000000000000000000000000000000000000000008456cb59000000000000000000000000000000000000000000000000000000003f4ba83a000000000000000000000000000000000000000000000000000000000b385a8500000000000000000000000000000000000000000000000000000000c5644a60000000000000000000000000000000000000000000000000000000003260c49e00000000000000000000000000000000000000000000000000000000df18a3ee00000000000000000000000000000000000000000000000000000000f22b49ec0000000000000000000000000000000000000000000000000000000080bd7d3300000000000000000000000000000000000000000000000000000000a8f135a20000000000000000000000000000000000000000000000000000000082c65124000000000000000000000000000000000000000000000000000000008360199200000000000000000000000000000000000000000000000000000000eda8156e00000000000000000000000000000000000000000000000000000000a99d840c00000000000000000000000000000000000000000000000000000000845a022b000000000000000000000000000000000000000000000000000000004214861e000000000000000000000000000000000000000000000000000000007e2a1fd100000000000000000000000000000000000000000000000000000000c3e1471500000000000000000000000000000000000000000000000000000000d6af17ab00000000000000000000000000000000000000000000000000000000042ff31d00000000000000000000000000000000000000000000000000000000b1719e5900000000000000000000000000000000000000000000000000000000045d57630000000000000000000000000000000000000000000000000000000069d9120d000000000000000000000000000000000000000000000000000000004b4e8d9a0000000000000000000000000000000000000000000000000000000043c5198e00000000000000000000000000000000000000000000000000000000c869c1eb00000000000000000000000000000000000000000000000000000000ce133450000000000000000000000000000000000000000000000000000000006299a9af000000000000000000000000000000000000000000000000000000000d1a844c000000000000000000000000000000000000000000000000000000006ee66ddf000000000000000000000000000000000000000000000000000000007907091f0000000000000000000000000000000000000000000000000000000056ba3e240000000000000000000000000000000000000000000000000000000032ab68ce00000000000000000000000000000000000000000000000000000000553030d000000000000000000000000000000000000000000000000000000000adccea12000000000000000000000000000000000000000000000000000000008fd83ecf00000000000000000000000000000000000000000000000000000000d6be181600000000000000000000000000000000000000000000000000000000e1d9d62800000000000000000000000000000000000000000000000000000000cb44a6cf00000000000000000000000000000000000000000000000000000000067fcd2e0000000000000000000000000000000000000000000000000000000023dc114200000000000000000000000000000000000000000000000000000000c0aa6a90000000000000000000000000000000000000000000000000000000003285008a000000000000000000000000000000000000000000000000000000004433366d00000000000000000000000000000000000000000000000000000000285939840000000000000000000000000000000000000000000000000000000012cb5eab00000000000000000000000000000000000000000000000000000000304ec65d00000000000000000000000000000000000000000000000000000000b6f42085000000000000000000000000000000000000000000000000000000001799b3b2000000000000000000000000000000000000000000000000000000001edb6be1000000000000000000000000000000000000000000000000000000009bb4e35a0000000000000000000000000000000000000000000000000000000083e0888800000000000000000000000000000000000000000000000000000000dc6ba285000000000000000000000000000000000000000000000000000000003944880200000000000000000000000000000000000000000000000000000000c85951a1000000000000000000000000000000000000000000000000000000009c45a1d50000000000000000000000000000000000000000000000000000000034af5416000000000000000000000000000000000000000000000000000000001e2231430000000000000000000000000000000000000000000000000000000029130a66000000000000000000000000000000000000000000000000000000004d6228310000000000000000000000000000000000000000000000000000000069744dd000000000000000000000000000000000000000000000000000000000f4a057e2000000000000000000000000000000000000000000000000000000006ae1c01400000000000000000000000000000000000000000000000000000000d47aee59000000000000000000000000000000000000000000000000000000004a16607c000000000000000000000000000000000000000000000000000000004f9a967800000000000000000000000000000000000000000000000000000000f9c4ebde00000000000000000000000000000000000000000000000000000000a3ef48c900000000000000000000000000000000000000000000000000000000363591d00000000000000000000000000000000000000000000000000000000094daa22100000000000000000000000000000000000000000000000000000000e3d4e44c00000000000000000000000000000000000000000000000000000000f255da600000000000000000000000000000000000000000000000000000000093a39bea0000000000000000000000000000000000000000000000000000000036bfafbd00000000000000000000000000000000000000000000000000000000300dd6cf00000000000000000000000000000000000000000000000000000000aea72f960000000000000000000000000000000000000000000000000000000000fdd58e000000000000000000000000000000000000000000000000000000004e1273f400000000000000000000000000000000000000000000000000000000bc8514cf000000000000000000000000000000000000000000000000000000003e465a2e00000000000000000000000000000000000000000000000000000000341b94d500000000000000000000000000000000000000000000000000000000c063989e00000000000000000000000000000000000000000000000000000000838082b5000000000000000000000000000000000000000000000000000000008915ba2400000000000000000000000000000000000000000000000000000000896651e80000000000000000000000000000000000000000000000000000000069fbad9400000000000000000000000000000000000000000000000000000000ba39dc0200000000000000000000000000000000000000000000000000000000a7bf680f000000000000000000000000000000000000000000000000000000008eeae310000000000000000000000000000000000000000000000000000000000fb01e05000000000000000000000000000000000000000000000000000000008c1e6f2200000000000000000000000000000000000000000000000000000000614492120000000000000000000000000000000000000000000000000000000098f2b8ad000000000000000000000000000000000000000000000000000000001ca5f6250000000000000000000000000000000000000000000000000000000096e7f21e000000000000000000000000000000000000000000000000000000004118140a000000000000000000000000000000000000000000000000000000009256dccd00000000000000000000000000000000000000000000000000000000a953f06d00000000000000000000000000000000000000000000000000000000e5b17f2a00000000000000000000000000000000000000000000000000000000c25a156c000000000000000000000000000000000000000000000000000000009b3ec513000000000000000000000000000000000000000000000000000000007fc06e1200000000000000000000000000000000000000000000000000000000f5cb909700000000000000000000000000000000000000000000000000000000dc25a6500000000000000000000000000000000000000000000000000000000085167e51000000000000000000000000000000000000000000000000000000000c9c31bd000000000000000000000000000000000000000000000000000000009d6a924e00000000000000000000000000000000000000000000000000000000b45ef2eb000000000000000000000000000000000000000000000000000000009dcf67f0000000000000000000000000000000000000000000000000000000007d4a51cb000000000000000000000000000000000000000000000000000000005a8e63e3000000000000000000000000000000000000000000000000000000003a1b060600000000000000000000000000000000000000000000000000000000be6547d200000000000000000000000000000000000000000000000000000000cb03fb1e00000000000000000000000000000000000000000000000000000000c38b3c1800000000000000000000000000000000000000000000000000000000896ab1c600000000000000000000000000000000000000000000000000000000bc77197700000000000000000000000000000000000000000000000000000000abed2d4100000000000000000000000000000000000000000000000000000000e923e8d400000000000000000000000000000000000000000000000000000000fd9de1660000000000000000000000000000000000000000000000000000000046544166000000000000000000000000000000000000000000000000000000007b52fadf00000000000000000000000000000000000000000000000000000000bc18a8c4000000000000000000000000000000000000000000000000000000007579e16000000000000000000000000000000000000000000000000000000000548d873a000000000000000000000000000000000000000000000000000000000e4c2e3100000000000000000000000000000000000000000000000000000000567af76300000000000000000000000000000000000000000000000000000000cc77c379000000000000000000000000000000000000000000000000000000000b58f0730000000000000000000000000000000000000000000000000000000088fcd169000000000000000000000000000000000000000000000000000000007c516e94000000000000000000000000000000000000000000000000000000001f351f6a000000000000000000000000000000000000000000000000000000004edcab2d00000000000000000000000000000000000000000000000000000000b452c7ae000000000000000000000000000000000000000000000000000000006e47d07b00000000000000000000000000000000000000000000000000000000cabec62b0000000000000000000000000000000000000000000000000000000008e1a0ab00000000000000000000000000000000000000000000000000000000dd756c4f00000000000000000000000000000000000000000000000000000000a9412a5900000000000000000000000000000000000000000000000000000000b442b398000000000000000000000000000000000000000000000000000000004935ed43000000000000000000000000000000000000000000000000000000000a7e880c000000000000000000000000000000000000000000000000000000001aca6376000000000000000000000000000000000000000000000000000000004aa066520000000000000000000000000000000000000000000000000000000024dd285c00000000000000000000000000000000000000000000000000000000505f43ea000000000000000000000000000000000000000000000000000000001be2cfd800000000000000000000000000000000000000000000000000000000a9be1acb000000000000000000000000000000000000000000000000000000001f4f3d5500000000000000000000000000000000000000000000000000000000aed942e9000000000000000000000000000000000000000000000000000000002b8cde0d00000000000000000000000000000000000000000000000000000000e985e9c500000000000000000000000000000000000000000000000000000000a22cb465000000000000000000000000000000000000000000000000000000001302afc200000000000000000000000000000000000000000000000000000000d9ee1269000000000000000000000000000000000000000000000000000000002a6a8ef5000000000000000000000000000000000000000000000000000000008966e0ff00000000000000000000000000000000000000000000000000000000843bc425000000000000000000000000000000000000000000000000000000005793e48500000000000000000000000000000000000000000000000000000000120b570200000000000000000000000000000000000000000000000000000000d5770dc7000000000000000000000000000000000000000000000000000000005a049a4700000000000000000000000000000000000000000000000000000000f984019b00000000000000000000000000000000000000000000000000000000c8cda2a000000000000000000000000000000000000000000000000000000000b0c22bb100000000000000000000000000000000000000000000000000000000c84c772700000000000000000000000000000000000000000000000000000000b362a6e80000000000000000000000000000000000000000000000000000000064ee4b8000000000000000000000000000000000000000000000000000000000ca7b7d7b00000000000000000000000000000000000000000000000000000000fc06d2a600000000000000000000000000000000000000000000000000000000d8317c7100000000000000000000000000000000000000000000000000000000a8b0bb8300000000000000000000000000000000000000000000000000000000000000000000000000000000b7ea01231e518cd22e118165b290f5cc3263f5bb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002fe5b810f00000000000000000000000000000000000000000000000000000000cb3fcc04000000000000000000000000000000000000000000000000000000000000000000000000000000008f66044a9c95fae9d38b8bc30665ee04a2456501000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000012da3e3397000000000000000000000000000000000000000000000000000000000bc33ce400000000000000000000000000000000000000000000000000000000fdb2881100000000000000000000000000000000000000000000000000000000b6fc38f900000000000000000000000000000000000000000000000000000000d4fac45d000000000000000000000000000000000000000000000000000000006a385ae9000000000000000000000000000000000000000000000000000000004667fa3d00000000000000000000000000000000000000000000000000000000c3714723000000000000000000000000000000000000000000000000000000008a65d2e000000000000000000000000000000000000000000000000000000000a98edb1700000000000000000000000000000000000000000000000000000000b39062e600000000000000000000000000000000000000000000000000000000bc197c8100000000000000000000000000000000000000000000000000000000f23a6e61000000000000000000000000000000000000000000000000000000008e8758d800000000000000000000000000000000000000000000000000000000d3f4ec6f000000000000000000000000000000000000000000000000000000006204aa4300000000000000000000000000000000000000000000000000000000bd32fac3000000000000000000000000000000000000000000000000000000001c059365000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004e1c7392a00000000000000000000000000000000000000000000000000000000'})
})

Verifying the Diamond Cut

  1. Follow How to Verify Facet Changes.
  2. Verify there are no remaining function selectors from the Facets Being Deprecated section above.
  3. Verify that all function selectors from the Facets Being Added section above are present.

Verifying the Deployed Code

  1. Add the following tasks to hardhat.config.js :
  2. task("verifybip-50", async function () {
      
      // new facets
      facetNames = ["L2MigrationFacet", "L1TokenFacet"]
    
      facetLibraries = {};
    
      deployedFacetAddresses = {
        L2MigrationFacet: "0xb7EA01231e518cd22E118165b290f5CC3263F5bB",
        L1TokenFacet: "0x8F66044a9C95FaE9d38B8Bc30665eE04A2456501"
      };
    
      // get the bytecode by deploying facets.
      data = await getFacetBytecode(facetNames, facetLibraries, true);
      // compare facet bytecode with on-chain bytecode.
      await compareBytecode(data, deployedFacetAddresses, false);
    });
    
    async function getFacetBytecode(facetNames, facetLibraries, verbose = false) {
      if (verbose) {
        console.log("Starting Bytecode Verification");
      }
      data = [];
      // loop through all facets:
      for (const facet of facetNames) {
        if (verbose) {
          console.log(`Deploying ${facet}`);
        }
    
        // check if facet is in facetLibraries:
        if (facet in facetLibraries) {
          // deploy libraries from facet dictionary:
          for (const [libraryName, address] of Object.entries(facetLibraries[facet])) {
            const libraryFactory = await ethers.getContractFactory(libraryName);
            libraryContract = await libraryFactory.deploy();
            await libraryContract.deployed();
            const bytecode = await ethers.provider.getCode(libraryContract.address);
            await network.provider.send("hardhat_setCode", [address, bytecode]);
          }
        }
    
        // deploy facet:
        const facetFactory = await ethers.getContractFactory(facet, {
          libraries: facetLibraries[facet]
        });
    
        facetContract = await facetFactory.deploy();
        await facetContract.deployed();
    
        const bytecode = await ethers.provider.getCode(facetContract.address);
        // add facet to data dictionary:
        facetData = {};
        facetData[facet] = {
          "Contract Creation Code": facetContract.deployTransaction["data"].slice(2),
          "Deployed Bytecode": bytecode
        };
        data.push(facetData);
      }
    
      // write data to file:
      const facetBytecode = `facetBytecode-${Math.floor(Date.now() / 1000)}-${facetNames.length}-facets.json`;
      fs.writeFileSync(`diamondCuts/${facetBytecode}`, JSON.stringify(data, null, 2));
      console.log(`Facet bytecode written to diamondCuts/${facetBytecode}`);
      return data;
    }
    
    async function compareBytecode(data, deployedFacetAddresses, verbose = true) {
      invalidFacets = [];
      validFacets = [];
      for (const facets of data) {
        const [name] = Object.keys(facets);
        address = deployedFacetAddresses[name];
        const onchainBytecode = await ethers.provider.getCode(address);
        const jsonBytecode = facets[name]["Deployed Bytecode"];
    
        if (onchainBytecode != jsonBytecode) {
          invalidFacets.push(name);
        } else {
          validFacets.push(name);
        }
      }
      if (verbose) {
        console.log("valid facets: ", validFacets);
        console.log("invalid facets: ", invalidFacets);
      }
      if (invalidFacets.length > 0) {
        console.log("Invalid Facet Bytecode: ", invalidFacets);
      } else {
        console.log("All Facets Bytecode are valid!");
      }
    }
  3. Verify that each facet has the correct deployed code by:
  4. Runing an anvil node forked from mainnet:

    anvil --fork-url https://eth.llamarpc.com --chain-id 1338 --port 9545

    Runing the script in a separate window in the protocol/ directory:

    npx hardhat clean && npx hardhat compile && npx hardhat verifybip-50 --network localhostL1

    Validate that facet bytecode are correct.

Submitting Message Signature

Once Signers have verified the transaction, they shall submit and sign a verified message on Etherscan with their BCM address (guide).

Template message: Confirming that I have reviewed BIP-50 with BCM transaction nonce 83, Safe transaction hash 0x19f2d9211b0fe8a005ce12f76f147a95ed8bc14d54614848e0bb60c3d2b5a0bd, commit hash faa0ec60a455b0afdd20ad86f28f41cbc52c2e2d and Snapshot proposal https://snapshot.org/#/beanstalkdao.eth/proposal/0xb5f21487caf4e7b0ddd1ac536a4165ea21eb18348987aec95e1cb56148ca916d.