independent on-chain read, viem against the Monad testnet RPC, not the SDK, owner 0x45bb4A929828c1442c7B0EF8BDda2d26e410FB4B registry=0xd6c895f5c9254dc6eaafc335fff0930fd7012e6d chain=10143 read_at_block=67546839 grant_block=67546603 revoke_block=67546667 grant tx 0x06f31a1f3cc584ab02ff7439f99a555161951ff751bbc44847062f1ed151825f status=success revoke tx 0xa20403e226a096c2f4311f090a90d7fa617a066bf2d4973667ec5d3e83486ad8 status=success regrant tx 0x969568f9863436c55fc500e674b145e0268143ef10f42a0ee6586d15790827d5 status=success grant_id=12 block=67546715 PASS grant tx receipt status success, sent to the registry PASS revoke tx receipt status success, sent to the registry PASS both txs sent by the passkey-derived owner PASS grantOf.owner is the passkey-derived owner PASS grantOf.nsHash is keccak256(satchel/ns/memory/assistant) PASS grantOf.epoch is 1 PASS grantOf.granteeKeyHash is keccak256 of Fern's public key PASS grantOf.active is false after revoke PASS epochOf(owner, memory/assistant) is 2 PASS an untouched namespace of the same owner (memory/notes) is still epoch 1 PASS revoke mined after grant PASS regrant tx receipt status success, sent to the registry by the owner PASS regrant mined after revoke PASS regrant is a new grant id, not the revoked one PASS grantOf(regrant).owner is the passkey-derived owner and its nsHash is memory/assistant PASS grantOf(regrant).epoch is 2 and it is active PASS grantOf(regrant).granteeKeyHash is keccak256 of Fern's public key PASS the first grant stays inactive after the regrant