Commit 971d6ee0 authored by Mark Tyneway's avatar Mark Tyneway

op-upgrade: fix build

The call to `initialize` for building calldata isn't type safe.
This is why we should move to solidity for building this stuff
longer term.

It is able to produce a valid bundle though

```
{
  "version": "",
  "chainId": null,
  "createdAt": 0,
  "meta": {
    "createdFromSafeAddress": "",
    "createdFromOwnerAddress": "",
    "name": "",
    "description": ""
  },
  "transactions": [
    {
      "to": "0x189aBAAaa82DfC015A588A7dbaD6F13b1D3485Bc",
      "value": "0",
      "data": "0x9623609d00000000000000000000000058cc85b8d04ea49cc6dbd3cbffd00b4b8d6cb3ef000000000000000000000000c3c7e6f4ad6a593a9731a39fa883ec1999d7d87300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000016fc5058f25648194471939df75cf27a2fdc48bc00000000000000000000000000000000000000000000000000000000",
      "contractMethod": {
        "inputs": [
          {
            "internalType": "address",
            "name": "_proxy",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "_implementation",
            "type": "address"
          },
          {
            "internalType": "bytes",
            "name": "_data",
            "type": "bytes"
          }
        ],
        "name": "upgradeAndCall",
        "payable": false
      },
      "contractInputsValues": {
        "_data": "0xc4d66de800000000000000000000000016fc5058f25648194471939df75cf27a2fdc48bc",
        "_implementation": "0xC3c7E6f4ad6a593a9731a39FA883eC1999d7D873",
        "_proxy": "0x58Cc85b8D04EA49cC6DBd3CbFFd00B4B8D6cb3ef"
      }
    },
    {
      "to": "0x189aBAAaa82DfC015A588A7dbaD6F13b1D3485Bc",
      "value": "0",
      "data": "0x9623609d000000000000000000000000d83e03d576d23c9aeab8cc44fa98d058d2176d1f000000000000000000000000532cad52e1f812eeb9c9a9571e07fef55993fefa00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000058cc85b8d04ea49cc6dbd3cbffd00b4b8d6cb3ef00000000000000000000000000000000000000000000000000000000",
      "contractMethod": {
        "inputs": [
          {
            "internalType": "address",
            "name": "_proxy",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "_implementation",
            "type": "address"
          },
          {
            "internalType": "bytes",
            "name": "_data",
            "type": "bytes"
          }
        ],
        "name": "upgradeAndCall",
        "payable": false
      },
      "contractInputsValues": {
        "_data": "0xc4d66de800000000000000000000000058cc85b8d04ea49cc6dbd3cbffd00b4b8d6cb3ef",
        "_implementation": "0x532Cad52e1f812EEB9c9A9571E07Fef55993FEfA",
        "_proxy": "0xd83e03D576d23C9AEab8cC44Fa98d058D2176D1f"
      }
    },
    {
      "to": "0x189aBAAaa82DfC015A588A7dbaD6F13b1D3485Bc",
      "value": "0",
      "data": "0x9623609d000000000000000000000000fbb0621e0b23b5478b630bd55a5f21f67730b0f1000000000000000000000000e19c7a2c0bb32287731ea75da9b1c836815964f100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de800000000000000000000000058cc85b8d04ea49cc6dbd3cbffd00b4b8d6cb3ef00000000000000000000000000000000000000000000000000000000",
      "contractMethod": {
        "inputs": [
          {
            "internalType": "address",
            "name": "_proxy",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "_implementation",
            "type": "address"
          },
          {
            "internalType": "bytes",
            "name": "_data",
            "type": "bytes"
          }
        ],
        "name": "upgradeAndCall",
        "payable": false
      },
      "contractInputsValues": {
        "_data": "0xc4d66de800000000000000000000000058cc85b8d04ea49cc6dbd3cbffd00b4b8d6cb3ef",
        "_implementation": "0xE19C7a2C0Bb32287731Ea75dA9B1C836815964F1",
        "_proxy": "0xFBb0621E0B23b5478B630BD55a5f21f67730B0F1"
      }
    },
    {
      "to": "0x189aBAAaa82DfC015A588A7dbaD6F13b1D3485Bc",
      "value": "0",
      "data": "0x9623609d00000000000000000000000016fc5058f25648194471939df75cf27a2fdc48bc000000000000000000000000592b7d3255a8037307d23c16cc8c13a9563c8ab100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
      "contractMethod": {
        "inputs": [
          {
            "internalType": "address",
            "name": "_proxy",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "_implementation",
            "type": "address"
          },
          {
            "internalType": "bytes",
            "name": "_data",
            "type": "bytes"
          }
        ],
        "name": "upgradeAndCall",
        "payable": false
      },
      "contractInputsValues": {
        "_data": "0xc4d66de80000000000000000000000000000000000000000000000000000000000000000",
        "_implementation": "0x592B7D3255a8037307d23C16cC8c13a9563c8Ab1",
        "_proxy": "0x16Fc5058F25648194471939df75CF27A2fdC48BC"
      }
    },
    {
      "to": "0x189aBAAaa82DfC015A588A7dbaD6F13b1D3485Bc",
      "value": "0",
      "data": "0x9623609d000000000000000000000000034edd2a225f7f429a63e0f1d2084b9e0a93b538000000000000000000000000ce77d580e0befbb1561376a722217017651b9dbf00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000184f975e925000000000000000000000000fd1d2e729ae8eee2e146c033bf4400fe7528430100000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000a6fe00000000000000000000000008f23bb38f531600e5d8fddaaec41f13fab46e98c0000000000000000000000000000000000000000000000000000000001c9c38000000000000000000000000057cacbb0d30b01eb2462e5dc940c161aff3230d30000000000000000000000000000000000000000000000000000000001312d00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000",
      "contractMethod": {
        "inputs": [
          {
            "internalType": "address",
            "name": "_proxy",
            "type": "address"
          },
          {
            "internalType": "address",
            "name": "_implementation",
            "type": "address"
          },
          {
            "internalType": "bytes",
            "name": "_data",
            "type": "bytes"
          }
        ],
        "name": "upgradeAndCall",
        "payable": false
      },
      "contractInputsValues": {
        "_data": "0xf975e925000000000000000000000000fd1d2e729ae8eee2e146c033bf4400fe7528430100000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000a6fe00000000000000000000000008f23bb38f531600e5d8fddaaec41f13fab46e98c0000000000000000000000000000000000000000000000000000000001c9c38000000000000000000000000057cacbb0d30b01eb2462e5dc940c161aff3230d30000000000000000000000000000000000000000000000000000000001312d00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000ffffffffffffffffffffffffffffffff",
        "_implementation": "0xce77d580E0bEFbb1561376A722217017651B9dbF",
        "_proxy": "0x034edD2A225f7f429A63E0f1D2084B9E0A93b538"
      }
    }
  ]
}

```
parent bbbffea6
......@@ -269,22 +269,9 @@ func OptimismPortal(batch *safe.Batch, implementations superchain.Implementation
return err
}
var superchainConfigGuardian common.Address
if config != nil {
superchainConfigGuardian = config.SuperchainConfigGuardian
} else {
optimismPortal, err := bindings.NewOptimismPortalCaller(common.HexToAddress(list.OptimismPortalProxy.String()), backend)
if err != nil {
return err
}
guardian, err := optimismPortal.GUARDIAN(&bind.CallOpts{})
if err != nil {
return err
}
superchainConfigGuardian = guardian
}
calldata, err := optimismPortalABI.Pack("initialize", common.HexToAddress(list.L2OutputOracleProxy.String()), superchainConfigGuardian, common.HexToAddress(chainConfig.SystemConfigAddr.String()), false)
// TODO: superchain config address
superchainConfig := common.Address{}
calldata, err := optimismPortalABI.Pack("initialize", superchainConfig)
if err != nil {
return err
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment