📕

BIP-38 Runbook

Proposal
October 13, 2023

Links

Safe transaction
app.safe.global link
Safe transaction hash
0xb66de1705121f0045f25be2f9214e3d60624d4cd3917f20c39bf8d3df583f9e7
Safe transaction nonce
39
GitHub PR
https://github.com/BeanstalkFarms/Beanstalk/pull/655
GitHub commit hash
https://github.com/BeanstalkFarms/Beanstalk/tree/e771833d532ad1437eb7f76342e77acc8293d6c6
Snapshot proposal
https://snapshot.org/#/beanstalkdao.eth/proposal/0x13c1be551a3b96193ab9614814a88535152228520a1ee7bb27db84aa35413d2f

diamondCut JSON:

bip-38.json11.5KB
{
    "diamondCut": {
        "diamondCut": [
            [
                "0x0000000000000000000000000000000000000000",
                2,
                [
                    "0x0bfca7e3",
                    "0x8cd31ca0"
                ]
            ],
            [
                "0xC1Bbee46EcB6445B176F7f172F91976ADF4e21D9",
                1,
                [
                    "0x5a049a47",
                    "0xf984019b",
                    "0xc8cda2a0",
                    "0xb0c22bb1",
                    "0xc84c7727"
                ]
            ],
            [
                "0xDc6B4ef6bA55706B19Bd389eA446d232eFb4E5D4",
                1,
                [
                    "0xb362a6e8"
                ]
            ],
            [
                "0x789e37096Fb0abbD4f64A86B51D720b371853a70",
                1,
                [
                    "0x4aa06652",
                    "0x24dd285c"
                ]
            ],
            [
                "0x3FA7ECcfbFDF4407932D2318401d20464189C5F1",
                0,
                [
                    "0x69744dd0",
                    "0xbb02e10b"
                ]
            ],
            [
                "0x3FA7ECcfbFDF4407932D2318401d20464189C5F1",
                1,
                [
                    "0x304ec65d",
                    "0xb6f42085",
                    "0x1799b3b2",
                    "0x1edb6be1",
                    "0x9bb4e35a",
                    "0x83e08888",
                    "0xdc6ba285",
                    "0x39448802",
                    "0xc85951a1",
                    "0x9c45a1d5",
                    "0x34af5416",
                    "0x1e223143",
                    "0x29130a66",
                    "0x4d622831",
                    "0xf4a057e2",
                    "0x6ae1c014",
                    "0xd47aee59",
                    "0x4a16607c",
                    "0x4f9a9678",
                    "0xf9c4ebde",
                    "0xa3ef48c9"
                ]
            ],
            [
                "0x8aD8dfC3303469A8c2d14763199a99363bF580cc",
                1,
                [
                    "0xc20b8071",
                    "0x06fdde03",
                    "0x95d89b41",
                    "0x0e89341c"
                ]
            ],
            [
                "0x9F2444e6cFAAB6ea16Fc05B989f1017508F84A41",
                0,
                [
                    "0x2b8cde0d"
                ]
            ],
            [
                "0x9F2444e6cFAAB6ea16Fc05B989f1017508F84A41",
                1,
                [
                    "0x505f43ea",
                    "0x1be2cfd8",
                    "0xa9be1acb",
                    "0x1f4f3d55",
                    "0xaed942e9"
                ]
            ],
            [
                "0xAa8c44D0B89864b467C3776a7Dd367ff2aB6992A",
                0,
                [
                    "0x787cee99",
                    "0xa33fa99f"
                ]
            ],
            [
                "0xAa8c44D0B89864b467C3776a7Dd367ff2aB6992A",
                1,
                [
                    "0xa84643e4",
                    "0xfa345569",
                    "0x1acc0a47",
                    "0x1be655e8",
                    "0x9a516cad",
                    "0x6de45df2",
                    "0x014a8a49",
                    "0xbb7de478",
                    "0x43cc4ee0",
                    "0xab434eb7",
                    "0xadef4533",
                    "0x9f06b3fa",
                    "0xb8a04d1b",
                    "0x691bcc88",
                    "0xfc6a19df",
                    "0x13ed3cea",
                    "0xd3c73ec8"
                ]
            ]
        ],
        "initFacetAddress": "0x810468cbC28ecb522C10cB53FEC9e387F1ebc84D",
        "functionCall": "0xe1c7392a"
    },
    "encoded": "0x1f931c1c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000810468cbc28ecb522c10cb53fec9e387f1ebc84d0000000000000000000000000000000000000000000000000000000000000f20000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000560000000000000000000000000000000000000000000000000000000000000088000000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000b400000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000020bfca7e3000000000000000000000000000000000000000000000000000000008cd31ca000000000000000000000000000000000000000000000000000000000000000000000000000000000c1bbee46ecb6445b176f7f172f91976adf4e21d90000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000055a049a4700000000000000000000000000000000000000000000000000000000f984019b00000000000000000000000000000000000000000000000000000000c8cda2a000000000000000000000000000000000000000000000000000000000b0c22bb100000000000000000000000000000000000000000000000000000000c84c772700000000000000000000000000000000000000000000000000000000000000000000000000000000dc6b4ef6ba55706b19bd389ea446d232efb4e5d4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001b362a6e800000000000000000000000000000000000000000000000000000000000000000000000000000000789e37096fb0abbd4f64a86b51d720b371853a700000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000024aa066520000000000000000000000000000000000000000000000000000000024dd285c000000000000000000000000000000000000000000000000000000000000000000000000000000003fa7eccfbfdf4407932d2318401d20464189c5f100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000269744dd000000000000000000000000000000000000000000000000000000000bb02e10b000000000000000000000000000000000000000000000000000000000000000000000000000000003fa7eccfbfdf4407932d2318401d20464189c5f1000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000015304ec65d00000000000000000000000000000000000000000000000000000000b6f42085000000000000000000000000000000000000000000000000000000001799b3b2000000000000000000000000000000000000000000000000000000001edb6be1000000000000000000000000000000000000000000000000000000009bb4e35a0000000000000000000000000000000000000000000000000000000083e0888800000000000000000000000000000000000000000000000000000000dc6ba285000000000000000000000000000000000000000000000000000000003944880200000000000000000000000000000000000000000000000000000000c85951a1000000000000000000000000000000000000000000000000000000009c45a1d50000000000000000000000000000000000000000000000000000000034af5416000000000000000000000000000000000000000000000000000000001e2231430000000000000000000000000000000000000000000000000000000029130a66000000000000000000000000000000000000000000000000000000004d62283100000000000000000000000000000000000000000000000000000000f4a057e2000000000000000000000000000000000000000000000000000000006ae1c01400000000000000000000000000000000000000000000000000000000d47aee59000000000000000000000000000000000000000000000000000000004a16607c000000000000000000000000000000000000000000000000000000004f9a967800000000000000000000000000000000000000000000000000000000f9c4ebde00000000000000000000000000000000000000000000000000000000a3ef48c9000000000000000000000000000000000000000000000000000000000000000000000000000000008ad8dfc3303469a8c2d14763199a99363bf580cc000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000004c20b80710000000000000000000000000000000000000000000000000000000006fdde030000000000000000000000000000000000000000000000000000000095d89b41000000000000000000000000000000000000000000000000000000000e89341c000000000000000000000000000000000000000000000000000000000000000000000000000000009f2444e6cfaab6ea16fc05b989f1017508f84a410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000012b8cde0d000000000000000000000000000000000000000000000000000000000000000000000000000000009f2444e6cfaab6ea16fc05b989f1017508f84a41000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000005505f43ea000000000000000000000000000000000000000000000000000000001be2cfd800000000000000000000000000000000000000000000000000000000a9be1acb000000000000000000000000000000000000000000000000000000001f4f3d5500000000000000000000000000000000000000000000000000000000aed942e900000000000000000000000000000000000000000000000000000000000000000000000000000000aa8c44d0b89864b467c3776a7dd367ff2ab6992a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002787cee9900000000000000000000000000000000000000000000000000000000a33fa99f00000000000000000000000000000000000000000000000000000000000000000000000000000000aa8c44d0b89864b467c3776a7dd367ff2ab6992a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000011a84643e400000000000000000000000000000000000000000000000000000000fa345569000000000000000000000000000000000000000000000000000000001acc0a47000000000000000000000000000000000000000000000000000000001be655e8000000000000000000000000000000000000000000000000000000009a516cad000000000000000000000000000000000000000000000000000000006de45df200000000000000000000000000000000000000000000000000000000014a8a4900000000000000000000000000000000000000000000000000000000bb7de4780000000000000000000000000000000000000000000000000000000043cc4ee000000000000000000000000000000000000000000000000000000000ab434eb700000000000000000000000000000000000000000000000000000000adef4533000000000000000000000000000000000000000000000000000000009f06b3fa00000000000000000000000000000000000000000000000000000000b8a04d1b00000000000000000000000000000000000000000000000000000000691bcc8800000000000000000000000000000000000000000000000000000000fc6a19df0000000000000000000000000000000000000000000000000000000013ed3cea00000000000000000000000000000000000000000000000000000000d3c73ec8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004e1c7392a00000000000000000000000000000000000000000000000000000000"
}

Overview

Init Contract

InitMigrateUnripeBean3CrvToBeanEth: 0x810468cbC28ecb522C10cB53FEC9e387F1ebc84D

Facets Being Added

Facet
Address
UnripeFacet
0xAa8c44D0B89864b467C3776a7Dd367ff2aB6992A
FertilizerFacet
0x3FA7ECcfbFDF4407932D2318401d20464189C5F1
ConvertFacet
0xDc6B4ef6bA55706B19Bd389eA446d232eFb4E5D4
ConvertGettersFacet
0x789e37096Fb0abbD4f64A86B51D720b371853a70
MetadataFacet
0x8aD8dfC3303469A8c2d14763199a99363bF580cc
BDVFacet
0xC1Bbee46EcB6445B176F7f172F91976ADF4e21D9
MigrationFacet
0x9F2444e6cFAAB6ea16Fc05B989f1017508F84A41

Facets Being Deprecated

Facet
Address
UnripeFacet
0x261b3ae660504537fbfe15b6c1c664976344eb0a
FertilizerFacet
0xFC7Ed192a24FaB3093c8747c3DDBe6Cacd335B6C
ConvertFacet
0xC2f8F1412d10E4DC79D34a46ab1d3d862517f939
ConvertGettersFacet
0x912f505ecD6536733da22BB4349595aA36806918
MetadataFacet
0x5e6991aFa1352822e769c873200954B4dE6c6E48
BDVFacet
0x9Cb54A8eAcD4d295dd02833cd2bdD385173c7fF5
MigrationFacet
0x141209527f95540e0b018e56edf5a59e1339437f

Verifying the Transaction

Setup

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

The Diamond Cut Transaction

Add the following bip38enc task 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 transaction.

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

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. Follow 🧑‍💻[OLD] How to Verify Deployed Code.
  2. Verify that each facet has verified code on Etherscan.

Submitting Message Signature

Once Signers have verified the transaction, they shall submit and sign a verified message signature on Etherscan.

Template message: Confirming that I have reviewed BIP-38 with BCM transaction nonce 39, Safe transaction hash 0xb66de1705121f0045f25be2f9214e3d60624d4cd3917f20c39bf8d3df583f9e7, commit hash e771833d532ad1437eb7f76342e77acc8293d6c6 and Snapshot proposal https://snapshot.org/#/beanstalkdao.eth/proposal/0x13c1be551a3b96193ab9614814a88535152228520a1ee7bb27db84aa35413d2f.