diff --git a/e2e/app/anvil.go b/e2e/app/anvil.go index 0a8590950..c50d23e06 100644 --- a/e2e/app/anvil.go +++ b/e2e/app/anvil.go @@ -17,7 +17,7 @@ func fundAnvil(ctx context.Context, def Definition) error { return nil } - toFund := eoa.MustAddresses(netconf.Devnet, eoa.AllRolesWithSolver()...) + toFund := eoa.MustAddresses(netconf.Devnet, eoa.AllRoles()...) amt := math.NewInt(1000000).MulRaw(1e18).BigInt() // 1M ETH for _, chain := range def.Testnet.AnvilChains { diff --git a/e2e/app/eoa/eoa.go b/e2e/app/eoa/eoa.go index d4ea126db..ec3e91a0d 100644 --- a/e2e/app/eoa/eoa.go +++ b/e2e/app/eoa/eoa.go @@ -59,15 +59,10 @@ func AllRoles() []Role { RoleUpgrader, RoleTester, RoleXCaller, - // RoleSolver TODO: omitting solver for now. It is just used in devnet and not set for other networks. + RoleSolver, } } -// TODO(corver): Remove this once solver added above. -func AllRolesWithSolver() []Role { - return append(AllRoles(), RoleSolver) -} - func (r Role) Verify() error { for _, role := range AllRoles() { if r == role { diff --git a/e2e/app/eoa/fund.go b/e2e/app/eoa/fund.go index 43f3d88b9..225e0abdc 100644 --- a/e2e/app/eoa/fund.go +++ b/e2e/app/eoa/fund.go @@ -65,6 +65,7 @@ var ( RoleDeployer: thresholdTiny, // Protected chains are only deployed once RoleTester: thresholdLarge, // Tester funds pingpongs, validator updates, etc, on non-mainnet. RoleXCaller: thresholdSmall, // XCaller funds used for sending xmsgs across networks. + RoleSolver: thresholdLarge, // XCaller funds used for sending xmsgs across networks. } dynamicThresholdsByRole = map[Role]dynamicThreshold{ diff --git a/e2e/app/eoa/static.go b/e2e/app/eoa/static.go index f7206a6cd..d8c917cae 100644 --- a/e2e/app/eoa/static.go +++ b/e2e/app/eoa/static.go @@ -27,6 +27,7 @@ var statics = map[netconf.ID][]Account{ secret("0xfE921e06Ed0a22c035b4aCFF0A5D3a434A330c96", RoleRelayer), secret("0x0De553555Fa19d787Af4273B18bDB77282D618c4", RoleMonitor), secret("0xbC0F36A57B666922CF7C01003a01a613D44e993C", RoleXCaller), + secret("0xa2C64d844c177C814b6F0423b41D8644539f5F58", RoleSolver), ), netconf.Omega: flatten( remote("0x64Bf40F5E6C4DE0dfe8fE6837F6339455657A2F5", RoleCold), // we use shared-cold diff --git a/e2e/app/eoa/static_test.go b/e2e/app/eoa/static_test.go index c09174b79..070e0dba7 100644 --- a/e2e/app/eoa/static_test.go +++ b/e2e/app/eoa/static_test.go @@ -105,6 +105,12 @@ func shouldExist(role eoa.Role, id netconf.ID) bool { switch { case role == eoa.RoleTester && id == netconf.Mainnet: // RoleTester not supported on mainnet return false + case role == eoa.RoleSolver: + if id == netconf.Omega || id == netconf.Mainnet { + return false + } + + return true default: return true } diff --git a/e2e/app/eoa/testdata/threshold_reference.json b/e2e/app/eoa/testdata/threshold_reference.json index 09637d858..e9b9eda44 100644 --- a/e2e/app/eoa/testdata/threshold_reference.json +++ b/e2e/app/eoa/testdata/threshold_reference.json @@ -193,6 +193,10 @@ "min": "0.5000", "target": "2.0000" }, + "solver": { + "min": "10.0000", + "target": "50.0000" + }, "tester": { "min": "10.0000", "target": "50.0000" @@ -235,6 +239,10 @@ "min": "250.0000", "target": "1000.0000" }, + "solver": { + "min": "5000.0000", + "target": "25000.0000" + }, "tester": { "min": "5000.0000", "target": "25000.0000" diff --git a/halo/genutil/evm/testdata/TestMakeEVMGenesis.golden b/halo/genutil/evm/testdata/TestMakeEVMGenesis.golden index b81fe5960..92fe16020 100644 --- a/halo/genutil/evm/testdata/TestMakeEVMGenesis.golden +++ b/halo/genutil/evm/testdata/TestMakeEVMGenesis.golden @@ -18890,6 +18890,9 @@ "balance": "0x0", "nonce": "0x1" }, + "a2c64d844c177c814b6f0423b41d8644539f5f58": { + "balance": "0xd3c21bcecceda1000000" + }, "a2f3bf8a254fca542c1fb6571495aad661a10762": { "code": "0x60806040526004361061004a5760003560e01c8063715018a61461004f5780638da5cb5b146100665780639623609d14610093578063ad3cb1cc146100a6578063f2fde38b146100e4575b600080fd5b34801561005b57600080fd5b50610064610104565b005b34801561007257600080fd5b506000546040516001600160a01b0390911681526020015b60405180910390f35b6100646100a1366004610272565b610118565b3480156100b257600080fd5b506100d7604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161008a919061038e565b3480156100f057600080fd5b506100646100ff3660046103a8565b610187565b61010c6101ca565b61011660006101f7565b565b6101206101ca565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061015090869086906004016103c5565b6000604051808303818588803b15801561016957600080fd5b505af115801561017d573d6000803e3d6000fd5b5050505050505050565b61018f6101ca565b6001600160a01b0381166101be57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6101c7816101f7565b50565b6000546001600160a01b031633146101165760405163118cdaa760e01b81523360048201526024016101b5565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101c757600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561028757600080fd5b833561029281610247565b925060208401356102a281610247565b9150604084013567ffffffffffffffff808211156102bf57600080fd5b818601915086601f8301126102d357600080fd5b8135818111156102e5576102e561025c565b604051601f8201601f19908116603f0116810190838211818310171561030d5761030d61025c565b8160405282815289602084870101111561032657600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000815180845260005b8181101561036e57602081850181015186830182015201610352565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006103a16020830184610348565b9392505050565b6000602082840312156103ba57600080fd5b81356103a181610247565b6001600160a01b03831681526040602082018190526000906103e990830184610348565b94935050505056fea26469706673582212203e644249bd999cbe37c6c93843add180d0c31ce0f908a02409c401cd5f18ab8764736f6c63430008180033", "storage": {