Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BuildBear Integration #19

Open
RaoulSchaffranek opened this issue Oct 17, 2024 · 0 comments
Open

BuildBear Integration #19

RaoulSchaffranek opened this issue Oct 17, 2024 · 0 comments

Comments

@RaoulSchaffranek
Copy link
Member

The following instructions serve to test the Simbolik+BuildBear integration.

  1. Follow the Getting Started Guide to install Simbolik, and the BuildBear Guide to set up a sandbox.
  2. Choose the tx you want to debug; remember the tx hash, the chain ID, the JSON RPC URL, and the Sourcify URL. If you're testing the first time, we recommend you check out our simbolik-examples repository and start debugging the AMM contract. You can use the tx from my sandbox.
  3. Create a file called .vscode/launch.json and create a debugging configuration with the data from step2. For example:
    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "BuildBear: Alice adds Liquidity",
                "type": "solidity",
                "request": "attach",
                "txHash": "0x6a6f6c719243ef4e566643e7df156f0621aed3cfd6a0be14f12e5b4ac67f0613",
                "jsonRpcUrl": "https://rpc.buildbear.io/raoul",
                "sourcifyUrl": "https://rpc.buildbear.io/verify/sourcify/server/raoul",
                "stopAtFirstOpcode": true,
                "chainId": 21027
            }
        ]
    }
  4. Navigate to the debugging panel in VSCode and select the debugging configuration in the dropdown at the top-left corner:
    image
    The startup process is yet unoptimized and can take up to 20s. You should see a loading indicator at the bottom-right corner:
    image
  5. Please report any issues and feature requests to this repository.

Known Limitations

  1. The contracts SHOULD be compiled without any optimizations, or the "step to next line" feature will be broken broken. The disassembly view and EVM state are unaffected.
  2. The contracts MUST be compilable with solc v0.8.28.
  3. All contracts SHOULD be source code verified, or you can only debug it on the VM level.
  4. Decoding Solidity Variables is still experimental. We try to be very conservative, and in doubt, we rather display "Unaivable" than a possible incorrect variable value. However, until the ETH Debug format lands, our approach is purely heuristic and may fail. Please be cautious!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant