You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> **Note:** This extrinsic only updates the `PendingRelayerFees` counter. To receive real tokens, the validator must call one of the two claim paths in `pallet-shielded-pool`:
83
-
> -`claim_shielded_fees` — receives the fee as a private ZK note (requires a value_proof ZK proof)
78
+
> **Claiming fees:** To receive accumulated relay fees, the validator calls one of the two claim paths in `pallet-shielded-pool` (not in this pallet):
79
+
> -`claim_shielded_fees` — receives fees as a private ZK note (requires a value_proof ZK proof)
84
80
> -`claim_relay_fees_to_evm` — transfers public ORB directly to the H160 mirror AccountId (no proof required; ideal for refilling the relayer's EVM gas wallet)
85
81
86
82
---
@@ -94,7 +90,7 @@ Each node has **two separate identities**:
94
90
|`AccountId` (sr25519/Aura) | Substrate | Aura key | Receives and accumulates fees in `PendingRelayerFees`|
95
91
|`H160` (ECDSA) | EVM |`--evm-relayer-key`| Signs EVM transactions, pays gas |
96
92
97
-
Both are linked at startup via `register_relayer(evm_address)`, which writes both indexes (`RelayerRegistry` and `RelayerByAccount`).
93
+
Both are linked by sudo/governance via `register_relayer(who, evm_address)`, which writes both indexes (`RelayerRegistry` and `RelayerByAccount`). The node derives and logs the EVM address automatically at block #1 (see [Validator registration flow](#validator-registration-flow) below).
98
94
99
95
```
100
96
1. shield(1000)
@@ -162,6 +158,37 @@ In `pallet-shielded-pool` unit tests: a lightweight mock struct in `mock.rs` bac
162
158
163
159
---
164
160
161
+
## Validator registration flow
162
+
163
+
A new validator node does not call `register_relayer` directly — it is a privileged call. The intended flow is:
164
+
165
+
1.**Insert Aura key** into the node keystore:
166
+
```bash
167
+
curl -s -X POST http://localhost:9944 -H 'Content-Type: application/json' \
2.**Restart the node.** At block #1`auto_register` (in `template/node/src/relayer_register.rs`) reads the Aura key from the keystore, derives the EVM address, checks `RelayerRegistry`, and if not registered **prints a log box**:
0 commit comments