NEWTON PROTOCOL · POLICY CLIENT
0x8fe2…ebc5revision 2 · current
0x8fe204e53d5f7fdd5463a0f03d518f05aec8ebc5 · 1 of 8 policies · Sepolia
POLICY ID
REVISION
2 of 2
POLICIES
1 of 8
DISTINCT
1
RESPONSE EXPIRY
50 blocks
CHAIN
Sepolia
TASKS · 24H
0
ALLOW RATE
50.0%
Policies — 1
one Rego + WASM pair per slot- 00x811feaca33095f5fde8001ed401946e81322f10e0x811f…f10enot in factory registry50 blocksbounds set expiryexpected_ratifiernot in schema0x4cD178f4DF8244d9DA16a9ca56d9388e06f1aaB3max_cumulative_fill_limitnot in schema500000000000000000000000
policyParams — 121 bytes on chain
0x7b2265787065637465645f7261746966696572223a22307834634431373866344446383234346439444131366139636135366439333838653036663161614233222c226d61785f63756d756c61746976655f66696c6c5f6c696d6974223a22353030303030303030303030303030303030303030303030227d
Each module is evaluated against its own input — {"params": <this slot’s policyParams>, "wasm": <this slot’s WASM output>}. There is no shared data.wasm object and no cross-slot namespace, so slot 1 cannot read slot 0’s WASM output and a policy cannot be written to depend on its neighbours.
Configuration history
2 writes · newest first| Rev | Policy set | Change | Policies | Configured by | Block | Tasks |
|---|---|---|---|---|---|---|
| 2 · current | 0xfafa15f6…b84a | identical re-apply | 0x811feaca33095f5fde8001ed401946e81322f10e | — | 11,853,1410x06c3…5eca | 3 |
| 1 | 0xa7e81006…1702 | first set | 0x811feaca33095f5fde8001ed401946e81322f10e | — | 11,853,1080x116c…33f0 | 0 |
Every write mints a new policyId and revokes every attestation bound to the previous one, because the id commits the client, the chain, the revision counter and the exact ordered list — keccak256(POLICY_SET_DOMAIN, chainId, client, revision, policies). Revision 2 is the only one whose attestations are still spendable. One write here re-applied a byte-identical list. PoliciesUpdated fires anyway and the revision advances anyway, so that write changed nothing about the policies and still killed every outstanding authorization.
Task history — every revision
4 of 4 matchingExport CSVJSON| Task | Sender | Policy | Function | Signers | Result | Age |
|---|---|---|---|---|---|---|
| 0x42684123… | 0xa6bd…60a7 | 0x811feaca33095f5fde8001ed401946e81322f10e | authorizeOfferRoot(bytes32,uint64,uint128) | 2 | NON-COMPLIANT | 14d 18h |
| 0x9060a6ae… | 0xa6bd…60a7 | 0x811feaca33095f5fde8001ed401946e81322f10e | authorizeOfferRoot(bytes32,uint64,uint128) | 2 | COMPLIANT | 14d 18h |
| 0x96dd35ef… | 0xa6bd…60a7 | 0x811feaca33095f5fde8001ed401946e81322f10e | authorizeOfferRoot(bytes32,uint64,uint128) | 2 | COMPLIANT | 14d 18h |
| 0xb2a4b951… | 0xa6bd…60a7 | — | 0x617574686f72697a654f66666572526f6f7428627974657333322c75696e7436342c75696e7431323829 | NON-COMPLIANT | 14d 18h |
The export carries one row per task with the frozen policy set in slot order, and it is the complete filtered history rather than this page. It has no per-policy verdict column: TaskResponse.allowed is a single boolean for the whole set, so which policy denied a task is in no record.