OP Stack Setting up L2 configuration ERROR - "json: cannot unmarshal string into Go struct field Deployment.args of type []interface {}"

I changed but new log

t=2023-11-29T13:23:21+0000 lvl=info msg="Started generating l2 genesis file and rollup config"
t=2023-11-29T13:23:21+0000 lvl=info msg="Completed working on deploy-config, results:" LOG15_ERROR= LOG15_ERROR="Normalized odd number of arguments by adding nil"
t=2023-11-29T13:23:21+0000 lvl=info msg="The name for reading the deployment file" name=../packages/contracts-bedrock/deployments/avail-optimism/AddressManager.json
t=2023-11-29T13:23:21+0000 lvl=info msg="The name for reading the deployment file" name=../packages/contracts-bedrock/deployments/avail-optimism/L1CrossDomainMessenger.json
t=2023-11-29T13:23:21+0000 lvl=info msg="The name for reading the deployment file" name=../packages/contracts-bedrock/deployments/avail-optimism/L1CrossDomainMessengerProxy.json
t=2023-11-29T13:23:21+0000 lvl=info msg="Unmarshaling the deployments is causing the problem" err="invalid character '\"' after object key:value pair"
t=2023-11-29T13:23:21+0000 lvl=info msg="Hardhat one causing the problem" network= depPath=../packages/contracts-bedrock/deployments/avail-optimism/ err="invalid character '\"' after object key:value pair"
t=2023-11-29T13:23:21+0000 lvl=crit msg="Application failed"              message="invalid character '\"' after object key:value pair"
exit status 1


new problem is here ?

number version forge to use @Rishabh_Agrawal ??
i use forge 0.2.0 (6432031 2023-11-27T00:17:02.532818051Z)

Iā€™m sorry, I accidentally updated the foundry(at the time of checking my version). Now I am on this version forge 0.2.0 (d7d2901 2023-11-29T00:17:24.163799000Z), do you think this is making the problem?

Pls compare your file ./packages/contracts-bedrock/deployments/avail-optimism/L1CrossDomainMessengerProxy.json from my one

{
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract AddressManager",
          "name": "_addressManager",
          "type": "address"
        },
        {
          "internalType": "string",
          "name": "_implementationName",
          "type": "string"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "stateMutability": "payable",
      "type": "fallback"
    }
  ],
  "address": "0xE6A90DfB7bD7Cc23e079568a348a01cB5734e071",
  "args": [
    "0x1f917424bF1517fE70EE3EA42e01f8d1322bFA8b",
    "OVM_L1CrossDomainMessenger"
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506040516105f03803806105f083398101604081905261002f91610088565b30600090815260016020908152604080832080546001600160a01b0319166001600160a01b03871617905590829052902061006a8282610203565b5050506102c2565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561009b57600080fd5b82516001600160a01b03811681146100b257600080fd5b602084810151919350906001600160401b03808211156100d157600080fd5b818601915086601f8301126100e557600080fd5b8151818111156100f7576100f7610072565b604051601f8201601f19908116603f0116810190838211818310171561011f5761011f610072565b81604052828152898684870101111561013757600080fd5b600093505b82841015610159578484018601518185018701529285019261013c565b8284111561016a5760008684830101525b8096505050505050509250929050565b600181811c9082168061018e57607f821691505b6020821081036101ae57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156101fe57600081815260208120601f850160051c810160208610156101db5750805b601f850160051c820191505b818110156101fa578281556001016101e7565b5050505b505050565b81516001600160401b0381111561021c5761021c610072565b6102308161022a845461017a565b846101b4565b602080601f831160018114610265576000841561024d5750858301515b600019600386901b1c1916600185901b1785556101fa565b600085815260208120601f198616915b8281101561029457888601518255948401946001909101908401610275565b50858210156102b25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61031f806102d16000396000f3fe608060408181523060009081526001602090815282822054908290529181207fbf40fac1000000000000000000000000000000000000000000000000000000009093529173ffffffffffffffffffffffffffffffffffffffff9091169063bf40fac19061006d9060846101e2565b602060405180830381865afa15801561008a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ae91906102c5565b905073ffffffffffffffffffffffffffffffffffffffff8116610157576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f5265736f6c76656444656c656761746550726f78793a2074617267657420616460448201527f6472657373206d75737420626520696e697469616c697a656400000000000000606482015260840160405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff16600036604051610182929190610302565b600060405180830381855af49150503d80600081146101bd576040519150601f19603f3d011682016040523d82523d6000602084013e6101c2565b606091505b5090925090508115156001036101da57805160208201f35b805160208201fd5b600060208083526000845481600182811c91508083168061020457607f831692505b858310810361023a577f4e487b710000000000000000000000000000000000000000000000000000000085526022600452602485fd5b878601838152602001818015610257576001811461028b576102b6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008616825284151560051b820196506102b6565b60008b81526020902060005b868110156102b057815484820152908501908901610297565b83019750505b50949998505050505050505050565b6000602082840312156102d757600080fd5b815173ffffffffffffffffffffffffffffffffffffffff811681146102fb57600080fd5b9392505050565b818382376000910190815291905056fea164736f6c634300080f000a",
  "deployedBytecode": "0x608060408181523060009081526001602090815282822054908290529181207fbf40fac1000000000000000000000000000000000000000000000000000000009093529173ffffffffffffffffffffffffffffffffffffffff9091169063bf40fac19061006d9060846101e2565b602060405180830381865afa15801561008a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ae91906102c5565b905073ffffffffffffffffffffffffffffffffffffffff8116610157576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f5265736f6c76656444656c656761746550726f78793a2074617267657420616460448201527f6472657373206d75737420626520696e697469616c697a656400000000000000606482015260840160405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff16600036604051610182929190610302565b600060405180830381855af49150503d80600081146101bd576040519150601f19603f3d011682016040523d82523d6000602084013e6101c2565b606091505b5090925090508115156001036101da57805160208201f35b805160208201fd5b600060208083526000845481600182811c91508083168061020457607f831692505b858310810361023a577f4e487b710000000000000000000000000000000000000000000000000000000085526022600452602485fd5b878601838152602001818015610257576001811461028b576102b6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008616825284151560051b820196506102b6565b60008b81526020902060005b868110156102b057815484820152908501908901610297565b83019750505b50949998505050505050505050565b6000602082840312156102d757600080fd5b815173ffffffffffffffffffffffffffffffffffffffff811681146102fb57600080fd5b9392505050565b818382376000910190815291905056fea164736f6c634300080f000a",
  "devdoc": {
    "version": 1,
    "kind": "dev",
    "methods": {
      "constructor": {
        "params": {
          "_addressManager": "Address of the AddressManager.",
          "_implementationName": "implementationName of the contract to proxy to."
        }
      }
    }
  },
  "metadata": "{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract AddressManager\",\"name\":\"_addressManager\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_implementationName\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_addressManager\":\"Address of the AddressManager.\",\"_implementationName\":\"implementationName of the contract to proxy to.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"remappings\":[\"@cwia/=node_modules/clones-with-immutable-args/src/\",\"@openzeppelin/=node_modules/@openzeppelin/\",\"@openzeppelin/contracts-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\"@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/\",\"@rari-capital/=node_modules/@rari-capital/\",\"@rari-capital/solmate/=node_modules/@rari-capital/solmate/\",\"clones-with-immutable-args/=node_modules/clones-with-immutable-args/\",\"ds-test/=node_modules/ds-test/src/\",\"forge-std/=node_modules/forge-std/src/\"],\"optimizer\":{\"enabled\":true,\"runs\":999999},\"metadata\":{\"bytecodeHash\":\"none\"},\"compilationTarget\":{\"contracts/legacy/ResolvedDelegateProxy.sol\":\"ResolvedDelegateProxy\"},\"libraries\":{}},\"sources\":{\"contracts/legacy/AddressManager.sol\":{\"keccak256\":\"0x1fcb990df6473f7fa360d5924d62d39ce2ca97d45668e3901e5405cfbe598b19\",\"urls\":[\"bzz-raw://9d08358b60dea54dbc32e988a1bb7ea909488063eaae3c5ae28a322f125c9b34\",\"dweb:/ipfs/QmZPQwdjLh9gaamNAoTUmWwwbRKj3yHovBYfnTPnfuKvUt\"],\"license\":\"MIT\"},\"contracts/legacy/ResolvedDelegateProxy.sol\":{\"keccak256\":\"0x4d255f1c72f374d14601bd5f7cc9ca7508e2f899679fac4590603826d13645c9\",\"urls\":[\"bzz-raw://78e477abe5699705d9dde017090b856b6488e5f9a46bbc5fdf664b60ff185541\",\"dweb:/ipfs/QmZWqARj6CDh15zgKCgG5jyehYRMYBrgMxp7DnpNZqLHJt\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"],\"license\":\"MIT\"},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"],\"license\":\"MIT\"}},\"version\":1}",
  "numDeployments": 0,
  "receipt": {
    "transactionHash": "0x1b8f361d1a47e8e14ca341944352fff48cedc8af9e141800aea6f24265a05f04",
    "transactionIndex": "0x11",
    "blockHash": "0x1718a45335b1286114700355964b868929ff7edc21e631bd402e43a7a6a10a0f",
    "blockNumber": "0x9a5df4",
    "from": "0x1A6991D7f88414c690DcEf6aB51BAa490287505F",
    "to": null,
    "cumulativeGasUsed": "0x588ff8",
    "gasUsed": "0x44e5e",
    "contractAddress": "0xE6A90DfB7bD7Cc23e079568a348a01cB5734e071",
    "logs": [],
    "status": "0x1",
    "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "type": "0x2",
    "effectiveGasPrice": "0xb2d05e18"
  },
  "solcInputHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "storageLayout": {
    "storage": [
      {
        "astId": 41343,
        "contract": "contracts/legacy/ResolvedDelegateProxy.sol:ResolvedDelegateProxy",
        "label": "implementationName",
        "offset": 0,
        "slot": "0",
        "type": "t_mapping(t_address,t_string_storage)"
      },
      {
        "astId": 41349,
        "contract": "contracts/legacy/ResolvedDelegateProxy.sol:ResolvedDelegateProxy",
        "label": "addressManager",
        "offset": 0,
        "slot": "1",
        "type": "t_mapping(t_address,t_contract(AddressManager)40481)"
      }
    ],
    "types": {
      "t_address": {
        "encoding": "inplace",
        "label": "address",
        "numberOfBytes": "20"
      },
      "t_contract(AddressManager)40481": {
        "encoding": "inplace",
        "label": "contract AddressManager",
        "numberOfBytes": "20"
      },
      "t_mapping(t_address,t_contract(AddressManager)40481)": {
        "encoding": "mapping",
        "key": "t_address",
        "label": "mapping(address => contract AddressManager)",
        "numberOfBytes": "32",
        "value": "t_contract(AddressManager)40481"
      },
      "t_mapping(t_address,t_string_storage)": {
        "encoding": "mapping",
        "key": "t_address",
        "label": "mapping(address => string)",
        "numberOfBytes": "32",
        "value": "t_string_storage"
      },
      "t_string_storage": {
        "encoding": "bytes",
        "label": "string",
        "numberOfBytes": "32"
      }
    }
  },
  "transactionHash": "0x1b8f361d1a47e8e14ca341944352fff48cedc8af9e141800aea6f24265a05f04",
  "userdoc": {
    "version": 1,
    "kind": "user",
    "notice": "ResolvedDelegateProxy is a legacy proxy contract that makes use of the AddressManager to         resolve the implementation address. We're maintaining this contract for backwards         compatibility so we can manage all legacy proxies where necessary."
  }
}

i use diff checker to check
can you see it

fixed L1CrossDomainMessengerProxy.json and it work

i will test now ^^^^^^^^^^^

What is your forge version?

forge 0.2.0 (27956b3 2023-11-30T00:19:22.944113703Z)

@robin-rrt
Hello.
I am currently running a node with the aim of being selected as a validator node, and I am happy to see my name(otemo) on the telemetry recently, but I am very new to this and would like to ask what I need to do if I want to test this Avail-Optimism chain.

My VPS environment is as follows:
6 vCPU Cores
16 GB RAM
400 GB SSD
2 Snapshots
32 TB Traffic
I have a Goldberg testnet node running above, but can I download additional software for Avail-Optimism? It says in the Docs that this needs to be based on Ubuntu 20.04, but I am on Ubuntu 22.04 and I believe there is a problem in this area as well.

Or do I need to prepare another environment in addition to this one that I have now for this Goldberg testnet node?
I am looking forward to your answer.

Hi everyone, I have fixed this. Please pull to the latest; it will resolve this.

2 Likes