📕

BIP-32 Runbook

Proposal
December 31, 2022

Links

Safe transaction
Safe transaction hash
0x91947cd249b627dcc5449becc73f8476eae6368ce0c3ed708e3869ff3a420b6d
Safe transaction nonce
31
GitHub PR
GitHub commit hash
Snapshot proposal

diamondCut JSON:

bip32.json6.7KB
{
  "diamondCut": {
    "diamondCut": [
      ["0xB1238014b5Bbd945760451F8eD38401E5C3dc2F4", 1, ["0x1f931c1c"]],
      [
        "0xC8ac12FE3bA9426E35c746d3Ce95F31E38F10D5C",
        1,
        ["0x86b40a1b", "0xd8a6aafe"]
      ],
      [
        "0x77c8442Af4ff144A5570C96f39030aE2f16fc639",
        1,
        ["0x8456cb59", "0x3f4ba83a"]
      ],
      ["0x77827e4D9D483848952C96503D2f49635317eE7B", 0, ["0x6929145b"]],
      [
        "0x77827e4D9D483848952C96503D2f49635317eE7B",
        1,
        ["0x4e71e0c8", "0x8da5cb5b", "0x5f504a82", "0xf2fde38b"]
      ],
      [
        "0xf14224733b3fc90433cE7D831746f8835D664eC1",
        1,
        [
          "0x8cd31ca0",
          "0x304ec65d",
          "0xb6f42085",
          "0x1799b3b2",
          "0x1edb6be1",
          "0x9bb4e35a",
          "0x83e08888",
          "0xdc6ba285",
          "0x39448802",
          "0xc85951a1",
          "0x9c45a1d5",
          "0x34af5416",
          "0x1e223143",
          "0x29130a66",
          "0x4d622831",
          "0xf4a057e2",
          "0x6ae1c014",
          "0x0bfca7e3",
          "0xd47aee59",
          "0x4a16607c",
          "0x4f9a9678",
          "0xf9c4ebde",
          "0xa3ef48c9"
        ]
      ],
      [
        "0x2F1D8929aDe28664343bd8b99988386961731E58",
        1,
        [
          "0x4b4e8d9a",
          "0x43c5198e",
          "0xc869c1eb",
          "0xce133450",
          "0x6299a9af",
          "0x0d1a844c",
          "0x6ee66ddf"
        ]
      ]
    ],
    "initFacetAddress": "0x3B0EB84510739833896148F689eB938DaA9D0609",
    "functionCall": "0xe1c7392a"
  },
  "encoded": "0x1f931c1c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000003b0eb84510739833896148f689eb938daa9d060900000000000000000000000000000000000000000000000000000000000009e0000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000b1238014b5bbd945760451f8ed38401e5c3dc2f40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000011f931c1c00000000000000000000000000000000000000000000000000000000000000000000000000000000c8ac12fe3ba9426e35c746d3ce95f31e38f10d5c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000286b40a1b00000000000000000000000000000000000000000000000000000000d8a6aafe0000000000000000000000000000000000000000000000000000000000000000000000000000000077c8442af4ff144a5570c96f39030ae2f16fc6390000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000028456cb59000000000000000000000000000000000000000000000000000000003f4ba83a0000000000000000000000000000000000000000000000000000000000000000000000000000000077827e4d9d483848952c96503d2f49635317ee7b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000016929145b0000000000000000000000000000000000000000000000000000000000000000000000000000000077827e4d9d483848952c96503d2f49635317ee7b0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000044e71e0c8000000000000000000000000000000000000000000000000000000008da5cb5b000000000000000000000000000000000000000000000000000000005f504a8200000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000000000000000000000000000f14224733b3fc90433ce7d831746f8835d664ec10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000178cd31ca000000000000000000000000000000000000000000000000000000000304ec65d00000000000000000000000000000000000000000000000000000000b6f42085000000000000000000000000000000000000000000000000000000001799b3b2000000000000000000000000000000000000000000000000000000001edb6be1000000000000000000000000000000000000000000000000000000009bb4e35a0000000000000000000000000000000000000000000000000000000083e0888800000000000000000000000000000000000000000000000000000000dc6ba285000000000000000000000000000000000000000000000000000000003944880200000000000000000000000000000000000000000000000000000000c85951a1000000000000000000000000000000000000000000000000000000009c45a1d50000000000000000000000000000000000000000000000000000000034af5416000000000000000000000000000000000000000000000000000000001e2231430000000000000000000000000000000000000000000000000000000029130a66000000000000000000000000000000000000000000000000000000004d62283100000000000000000000000000000000000000000000000000000000f4a057e2000000000000000000000000000000000000000000000000000000006ae1c014000000000000000000000000000000000000000000000000000000000bfca7e300000000000000000000000000000000000000000000000000000000d47aee59000000000000000000000000000000000000000000000000000000004a16607c000000000000000000000000000000000000000000000000000000004f9a967800000000000000000000000000000000000000000000000000000000f9c4ebde00000000000000000000000000000000000000000000000000000000a3ef48c9000000000000000000000000000000000000000000000000000000000000000000000000000000002f1d8929ade28664343bd8b99988386961731e580000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000074b4e8d9a0000000000000000000000000000000000000000000000000000000043c5198e00000000000000000000000000000000000000000000000000000000c869c1eb00000000000000000000000000000000000000000000000000000000ce133450000000000000000000000000000000000000000000000000000000006299a9af000000000000000000000000000000000000000000000000000000000d1a844c000000000000000000000000000000000000000000000000000000006ee66ddf000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004e1c7392a00000000000000000000000000000000000000000000000000000000"
}

Overview

Facets Being Added

Facets Being Deprecated

Init Contract

Verifying the Transaction

Setup

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

The Diamond Cut Transaction

Add the following bip32enc task to hardhat.config.js per

.

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

const { impersonateSeraph } = require("./scripts/impersonate");

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

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
    🧑‍💻
    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 Arweave.

Template message: Confirming that I have reviewed BIP-[X] with BCM transaction nonce [Y], Safe transaction hash [tx hash], commit hash [hash], GitHub PR [URL] and Snapshot proposal [URL].