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

feat: Submit MsgUpdateClient to tendermint light client #67

Merged
merged 102 commits into from
Jan 28, 2025
Merged
Changes from 1 commit
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
416f85a
feat: relayer binary
rootulp Dec 23, 2024
87c8b21
todo
rootulp Dec 23, 2024
bc194de
Merge branch 'main' into rp/relayer
rootulp Jan 4, 2025
b1eb748
revert: separate relayer binary
rootulp Jan 4, 2025
163b7cc
query events associated with the tx
rootulp Jan 4, 2025
f9349ff
debug: no pending packets after msg transfer
rootulp Jan 4, 2025
22286d5
feat: query pending packet commitments
rootulp Jan 4, 2025
d509523
refactor
rootulp Jan 4, 2025
d7221ca
start querying last trusted state root on EVM contract
rootulp Jan 4, 2025
4be1be9
more todos
rootulp Jan 4, 2025
a592337
make sense of todos
rootulp Jan 4, 2025
095f29c
more cleanup
rootulp Jan 4, 2025
e5683ef
debug: ICS07 light client has unique addresses
rootulp Jan 4, 2025
be9ba01
query client state latest height
rootulp Jan 4, 2025
fc893cf
refactor
rootulp Jan 4, 2025
154de99
start querying the celestia prover
rootulp Jan 4, 2025
653b53b
debug: celestia prover fails to query EVM roll-up
rootulp Jan 4, 2025
3604855
cleanup
rootulp Jan 4, 2025
9f9f526
debug: add curl to celestia-prover to test connectivity
rootulp Jan 6, 2025
195198f
revert URL changes
rootulp Jan 6, 2025
8bc7605
fix: provide SP1 contract address as client ID in request
rootulp Jan 6, 2025
36ca6dc
fix: one error, now another
rootulp Jan 6, 2025
4cb4331
fix: connect celestia-prover to simapp
rootulp Jan 6, 2025
1b381c6
debug: bump timeout
rootulp Jan 6, 2025
962cf35
revert: dockerfile overrides and override via docker compose
rootulp Jan 6, 2025
5871af5
boilerplate for requesting membership proof
rootulp Jan 7, 2025
35bef2c
refactor: remove unused var
rootulp Jan 7, 2025
2917244
revert
rootulp Jan 7, 2025
167bb56
add a doc
rootulp Jan 7, 2025
ab14fc8
resolve todo
rootulp Jan 7, 2025
372e928
reorder
rootulp Jan 7, 2025
59b0a23
refactor: tx hash is not needed
rootulp Jan 7, 2025
d9a81ae
remove unnecessary util
rootulp Jan 7, 2025
35a7f25
refactor: extract out relay
rootulp Jan 7, 2025
54f855a
sort commands in help output
rootulp Jan 7, 2025
984d2ec
refactor more
rootulp Jan 7, 2025
63edd3e
refactor: delete query light client height
rootulp Jan 7, 2025
bb1ad69
todo
rootulp Jan 7, 2025
a8b8d30
Merge branch 'main' into rp/relayer
rootulp Jan 8, 2025
7899f96
debug: assert that balance changes
rootulp Jan 8, 2025
1934fea
Revert "debug: assert that balance changes"
rootulp Jan 8, 2025
6e4a9ff
add a note
rootulp Jan 8, 2025
7ffa2f6
wip: inspiration from ibctesting e2e test
rootulp Jan 8, 2025
acc6873
wip: trying to copy ibc testing combined proof
rootulp Jan 8, 2025
7c5e420
error fetching github.com/srdtrk/solidity-ibc-eureka/e2e/v8/ethereum
rootulp Jan 9, 2025
141cda2
fix: copy ethereum package
rootulp Jan 9, 2025
d337e17
fill in boilerplate for updateTendermintLightClient
rootulp Jan 9, 2025
ec8cee6
go mod tidy
rootulp Jan 9, 2025
1a3353b
revert: ethereum copy, instead use go.mod replace
rootulp Jan 10, 2025
29065fb
bump commit of solidity-ibc-eureka
rootulp Jan 10, 2025
4aec549
ci: attempt to fix test
rootulp Jan 10, 2025
bf0c7d6
ci: make lint check out submodule
rootulp Jan 10, 2025
2b34571
fix: lint
rootulp Jan 10, 2025
84b60f5
fix: need to find an account with balance on EVM
rootulp Jan 10, 2025
ace4c46
receipt status want 1, got 0
rootulp Jan 10, 2025
9db085c
Failed to trace transaction: Method not found
rootulp Jan 10, 2025
d6bc84d
figured out revert reason!
rootulp Jan 10, 2025
9bd5194
enable debug API on reth node
rootulp Jan 10, 2025
e372c33
contract addresses change on each deployment
rootulp Jan 10, 2025
b5cf7a2
fix: update client
rootulp Jan 10, 2025
359960e
wip: debugging from before
rootulp Jan 15, 2025
8bd8724
Merge branch 'main' into rp/relayer
rootulp Jan 17, 2025
e45700c
do not wipe containers on start
rootulp Jan 17, 2025
fb96413
wip: debug relay2
rootulp Jan 17, 2025
1a45161
devx: fetch deployed contract addresses
rootulp Jan 17, 2025
944f710
refactor: delete code moved to utils
rootulp Jan 17, 2025
d296b33
panic while abi packing
rootulp Jan 17, 2025
517f2cc
still panics
rootulp Jan 17, 2025
475d17c
still panics
rootulp Jan 20, 2025
917aa0a
new error: argument count mismatch
rootulp Jan 20, 2025
e5b9954
no more errors, timed out after 30 seconds
rootulp Jan 20, 2025
ac3be0c
clean up
rootulp Jan 20, 2025
34b0e70
still fails even with verifier key from genesis.json
rootulp Jan 20, 2025
59ee292
fix(celestia-prover): return verifier key as 32 bytes
rootulp Jan 20, 2025
45a08bc
docs: info endpoint
rootulp Jan 20, 2025
4ff6c2d
fix: use hash_bytes
rootulp Jan 20, 2025
bbc809d
try hard-coded verifier key
rootulp Jan 20, 2025
a289ab0
fix: explicitly set verifier key
rootulp Jan 21, 2025
b252e0d
update client verifier key
rootulp Jan 21, 2025
07a9975
query verifier key
rootulp Jan 21, 2025
067a537
log hex encoded verifier key
rootulp Jan 21, 2025
adc7b91
Log hex encoded key from Makefile
rootulp Jan 21, 2025
7816331
need to set this in solidity-ibc-eureka justfile
rootulp Jan 22, 2025
90a4e07
verifier hash mismatch bc EVM trying to use PLONK verifier
rootulp Jan 22, 2025
e0ee0e0
debug: client state
rootulp Jan 22, 2025
5fd7d03
debug
rootulp Jan 22, 2025
e4c3b17
delete debug client state
rootulp Jan 22, 2025
81e0b1d
fix: lint
rootulp Jan 23, 2025
9f1aee8
refactor: accept txhash via CLI argument
rootulp Jan 23, 2025
4ce4b7f
debug: verify that public values are within field
rootulp Jan 23, 2025
db27e82
fix: use hex encoded verifier key
rootulp Jan 23, 2025
4f8dd6c
fix: verifier key
rootulp Jan 23, 2025
1c08957
refactor: rename relay2 to relay
rootulp Jan 24, 2025
9578a3a
chore: remove unused deps
rootulp Jan 24, 2025
0dd026e
chore: remove log
rootulp Jan 24, 2025
6aed08b
refactor: remove debug-key
rootulp Jan 24, 2025
a985bd8
refactor: remove debug logs
rootulp Jan 24, 2025
9c2a7f7
refactor: stop using deprecated func
rootulp Jan 24, 2025
b4b6a1c
refactor: remove receive on EVM
rootulp Jan 24, 2025
1f1139f
docs: step to apply diff to justfile
rootulp Jan 24, 2025
3d42d47
Merge branch 'main' into rp/relayer
rootulp Jan 24, 2025
eb4cb2f
docs: add step to modify docker-compose.yml
rootulp Jan 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
more cleanup
rootulp committed Jan 4, 2025

Verified

This commit was signed with the committer’s verified signature.
mattsse Matthias Seitz
commit 095f29c0a92e78a0b7901fe7fbaf9a0b70f9b38b
15 changes: 6 additions & 9 deletions testing/demo/pkg/transfer/main.go
Original file line number Diff line number Diff line change
@@ -46,15 +46,13 @@ func main() {
os.Exit(1)
}

// We need to query the EVM contract for the last trusted state root that exists in the ICS07 Tendermint smart contract on the EVM.
err = QueryLastTrustedHeight()
err = QueryLightClientLatestHeight()
if err != nil {
fmt.Println(err)
os.Exit(1)
}

// TODO
// Query the ICS07 light client on the EVM roll-up for the client state's latest height.
// Ask the Celestia prover for a state transition proof from the last height (previous step) to the most recent height on SimApp.
// Ask the Celestia prover for a state membership proof that the receipt is a merkle leaf of the state root.
// Combine these proofs and packets and submit a MsgUpdateClient and MsgRecvPacket to the EVM rollup.
@@ -122,6 +120,7 @@ func createMsgTransfer() (channeltypesv2.MsgSendPacket, error) {
}, nil
}

// QueryPacketCommitments queries the packet commitments on the SimApp.
func QueryPacketCommitments(txHash string) error {
fmt.Printf("Querying packet commitments on SimApp...\n")

@@ -144,12 +143,10 @@ func QueryPacketCommitments(txHash string) error {
return nil
}

func QueryLastTrustedHeight() error {
fmt.Printf("Querying last trusted state root on EVM...\n")
// The SP1 TM light client on the EVM roll-up has two pieces of state that we want to query:
// 1. trusted client state
// 2. trusted consensus state
// I think we want to query inside the trusted client state to get the last height of SimApp that the light client knows about..
// QueryLightClientLatestHeight queries the ICS07 light client on the EVM roll-up for the client state's latest height.
func QueryLightClientLatestHeight() error {
fmt.Printf("Querying ICS07 light client for the client state's latest height...\n")

// The SP1 TM light client on the EVM roll-up has a field for client state and inside that is the latest height.
return nil
}