Skip to content

Commit

Permalink
Feat/compass handover (#429)
Browse files Browse the repository at this point in the history
* feat: compass handover

* fix: eth sender retrieval

* fix: apply estimate before attempting to send handover

* chore: update Paloma dep
  • Loading branch information
byte-bandit authored Aug 30, 2024
1 parent 3a87727 commit 327c224
Show file tree
Hide file tree
Showing 8 changed files with 620 additions and 124 deletions.
139 changes: 135 additions & 4 deletions chain/evm/abi/compass/compass.abi
Original file line number Diff line number Diff line change
Expand Up @@ -193,16 +193,21 @@
"inputs":[
{
"indexed":false,
"name":"new_compass",
"name":"contract_address",
"type":"address"
},
{
"indexed":false,
"name":"payload",
"type":"bytes"
},
{
"indexed":false,
"name":"event_id",
"type":"uint256"
}
],
"name":"UpdateCompassAddressInFeeManager",
"name":"UpdateCompass",
"type":"event"
},
{
Expand Down Expand Up @@ -247,6 +252,28 @@
"name":"NodeSaleEvent",
"type":"event"
},
{
"anonymous":false,
"inputs":[
{
"indexed":false,
"name":"child",
"type":"address"
},
{
"indexed":false,
"name":"deployer",
"type":"address"
},
{
"indexed":false,
"name":"event_id",
"type":"uint256"
}
],
"name":"ContractDeployed",
"type":"event"
},
{
"inputs":[
{
Expand Down Expand Up @@ -840,6 +867,20 @@
"name":"consensus",
"type":"tuple"
},
{
"components":[
{
"name":"logic_contract_address",
"type":"address"
},
{
"name":"payload",
"type":"bytes"
}
],
"name":"update_compass_args",
"type":"tuple[]"
},
{
"name":"deadline",
"type":"uint256"
Expand All @@ -849,15 +890,105 @@
"type":"uint256"
},
{
"name":"_new_compass",
"name":"relayer",
"type":"address"
}
],
"name":"compass_update_batch",
"outputs":[

],
"stateMutability":"nonpayable",
"type":"function"
},
{
"inputs":[
{
"components":[
{
"components":[
{
"name":"validators",
"type":"address[]"
},
{
"name":"powers",
"type":"uint256[]"
},
{
"name":"valset_id",
"type":"uint256"
}
],
"name":"valset",
"type":"tuple"
},
{
"components":[
{
"name":"v",
"type":"uint256"
},
{
"name":"r",
"type":"uint256"
},
{
"name":"s",
"type":"uint256"
}
],
"name":"signatures",
"type":"tuple[]"
}
],
"name":"consensus",
"type":"tuple"
},
{
"name":"_deployer",
"type":"address"
},
{
"name":"_bytecode",
"type":"bytes"
},
{
"components":[
{
"name":"relayer_fee",
"type":"uint256"
},
{
"name":"community_fee",
"type":"uint256"
},
{
"name":"security_fee",
"type":"uint256"
},
{
"name":"fee_payer_paloma_address",
"type":"bytes32"
}
],
"name":"fee_args",
"type":"tuple"
},
{
"name":"message_id",
"type":"uint256"
},
{
"name":"deadline",
"type":"uint256"
},
{
"name":"relayer",
"type":"address"
}
],
"name":"update_compass_address_in_fee_manager",
"name":"deploy_contract",
"outputs":[

],
Expand Down
282 changes: 219 additions & 63 deletions chain/evm/abi/compass/compass.go

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion chain/evm/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -160,8 +160,9 @@ type CompassBindingCaller interface {
}

type CompassBindingTransactor interface {
SubmitLogicCall(opts *bind.TransactOpts, consensus compassABI.Struct2, args compassABI.Struct3, fee_args compassABI.Struct4, messageId *big.Int, deadline *big.Int, relayer common.Address) (*ethtypes.Transaction, error)
SubmitLogicCall(opts *bind.TransactOpts, consensus compassABI.Struct2, args compassABI.Struct4, fee_args compassABI.Struct5, messageId *big.Int, deadline *big.Int, relayer common.Address) (*ethtypes.Transaction, error)
UpdateValset(opts *bind.TransactOpts, consensus compassABI.Struct2, newValset compassABI.Struct0, relayer common.Address, gas_estimate *big.Int) (*ethtypes.Transaction, error)
CompassUpdateBatch(opts *bind.TransactOpts, consensus compassABI.Struct2, update_compass_args []compassABI.Struct4, deadline *big.Int, gas_estimate *big.Int, relayer common.Address) (*ethtypes.Transaction, error)
}

type CompassBindingFilterer interface {
Expand Down
Loading

0 comments on commit 327c224

Please sign in to comment.