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

Periodic xmsgs on mainnet #2275

Open
corverroos opened this issue Oct 24, 2024 · 2 comments
Open

Periodic xmsgs on mainnet #2275

corverroos opened this issue Oct 24, 2024 · 2 comments
Assignees

Comments

@corverroos
Copy link
Collaborator

Problem to Solve

Mainnet xchain isn't busy yet. We'd like to get some load on the system.

Proposed Solution

  • Create a RoleTester for mainnet, but not fireblocks based, rather GCP.
  • Add thresholds for it and ensure it gets funded.
  • Add a package scripts/sendxmsg
  • Write a simple go program that does:
    • Define a -count, -network, -role flags
    • Download role key from GCP
    • Instantiate xconnector
    • Get the ethbackend for the source chain, add the private key to it.
    • Implement and call GetPortal(chainID uint64, backend ethbackend.Backend) bindings.OmniPortal on the xconnector
    • Loop count times:
      • Pick a random source and destination, excluding eth L1s.
      • Do a simple xcall to 0xdead
  • Write a github action in ops repo that:
    • On some predefined cron schedule (few times a day)
    • Call go run github/omni-network/omin/scripts/sendxmsg -count=X -network=mainnet -role="tester"
@Zodomo
Copy link
Contributor

Zodomo commented Oct 25, 2024

I am not yet ready to start making changes to the Go codebase yet, but alternatives external to our infrastructure include automation platforms like Gelato Web3 Functions (50% gas premium on L2s), Chainlink Automation (50% gas premium on L2s), and OpenZeppelin Actions (no cost, self-funded, requires JS/TS).

The primary counterpoint to this is that these platforms might not be quick to support the Omni EVM, so if we want to send messages into Omni, we will likely need to rely on the internal solution described in the issue. I just wanted to provide additional commentary from the perspective of what I can do personally to tackle this issue. Doing it internally costs less, and gives us more flexibility. It just requires Go knowledge to do.

@kc1116
Copy link
Contributor

kc1116 commented Nov 4, 2024

kc1116 added a commit that referenced this issue Nov 5, 2024
This PR adds a new role RoleXCaller that will be used to send xmsgs on
differen't networks and source chain/dest chain combinations. We will
create a github action that will periodically send xmsgs and it will use
this account.

issue: #2275
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

3 participants