mukan-ibc/docs/versioned_docs/version-v8.5.x/03-light-clients/02-localhost/05-state-verification.md
Mukan Erkin Törük 6852832fe8
Some checks failed
CodeQL / Analyze (push) Waiting to run
Docker Build & Push Simapp (main) / docker-build (push) Waiting to run
golangci-lint / lint (push) Waiting to run
Tests / Code Coverage / build (amd64) (push) Waiting to run
Tests / Code Coverage / build (arm64) (push) Waiting to run
Tests / Code Coverage / unit-tests (map[additional-args:-tags="test_e2e" name:e2e path:./e2e]) (push) Waiting to run
Tests / Code Coverage / unit-tests (map[name:08-wasm path:./modules/light-clients/08-wasm]) (push) Waiting to run
Tests / Code Coverage / unit-tests (map[name:ibc-go path:.]) (push) Waiting to run
Deploy to GitHub Pages / Deploy to GitHub Pages (push) Has been cancelled
Buf-Push / push (push) Has been cancelled
initial: sovereign Mukan Network fork
2026-05-11 03:18:28 +03:00

1.3 KiB

title sidebar_label sidebar_position slug
State Verification State Verification 5 /ibc/light-clients/localhost/state-verification

State verification

The localhost client handles state verification through the ClientState interface methods VerifyMembership and VerifyNonMembership by performing read-only operations directly on the core IBC store.

When verifying channel state in handshakes or processing packets the 09-localhost client can simply compare bytes stored under the standardized key paths defined by ICS-24.

For existence proofs via VerifyMembership the 09-localhost client will retrieve the value stored under the provided key path and compare it against the value provided by the caller. In contrast, non-existence proofs via VerifyNonMembership assert the absence of a value at the provided key path.

Relayers are expected to provide a sentinel proof when sending IBC messages. Submission of nil or empty proofs is disallowed in core IBC messaging. The 09-localhost light client module defines a SentinelProof as a single byte. Localhost client state verification will fail if the sentinel proof value is not provided.

var SentinelProof = []byte{0x01}