Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
f290257
feat(staking): browser-wallet signing for validator-join and wizard
MuncleUscles Jul 8, 2026
06564ef
feat(wallet): shared browser-wallet plumbing + all staking writes
MuncleUscles Jul 8, 2026
e987e5d
feat(vesting): browser-wallet signing for all vesting writes
MuncleUscles Jul 8, 2026
f4e0ce5
feat(contracts): browser-wallet signing for deploy and write (Lane B)
MuncleUscles Jul 8, 2026
ab05792
feat(transactions): browser-wallet signing for appeal and finalize (L…
MuncleUscles Jul 8, 2026
eaeca04
feat(wallet): session descriptor + shared timing constants
MuncleUscles Jul 9, 2026
2dcaf1b
feat(wallet): persistent daemon mode on the browser bridge
MuncleUscles Jul 9, 2026
6d43a37
refactor(wallet): split bridge transport; add remote session + client
MuncleUscles Jul 9, 2026
d0bf070
feat(wallet): session daemon runtime, detached spawn, and resolver
MuncleUscles Jul 9, 2026
e387f6d
feat(wallet): wallet connect/status/disconnect commands (+ hidden dae…
MuncleUscles Jul 9, 2026
628edd3
feat(wallet): walletMode config default + per-command session adoption
MuncleUscles Jul 9, 2026
25d3a3e
test(wallet): global open() safety net + regenerated CLI docs
MuncleUscles Jul 9, 2026
f1ad2de
style(wallet): prettier-format session runtime + tests
MuncleUscles Jul 9, 2026
33a9cf4
feat(wallet): live wallet session implies browser mode
MuncleUscles Jul 9, 2026
1213657
feat(staking): wizard lists custom networks and honors live wallet se…
MuncleUscles Jul 9, 2026
b99e4ea
feat(account): account show reflects active network + --network flag
MuncleUscles Jul 9, 2026
c6affb6
feat(balances): add read-only balances view (wallet + vesting + commi…
MuncleUscles Jul 9, 2026
eaa3111
feat(staking): wizard can fund a validator from a vesting contract
MuncleUscles Jul 9, 2026
9c337bb
Merge branch 'feat/balances' into feat/wizard-wallet-connect
MuncleUscles Jul 9, 2026
257e3af
fix(vesting): available-to-stake is the contract balance, not derived…
MuncleUscles Jul 9, 2026
e2eb8a6
fix(balances): a live wallet session is the active identity over the …
MuncleUscles Jul 9, 2026
6ac742e
fix(network): custom networks display their alias as the name
MuncleUscles Jul 9, 2026
379cdba
fix(wallet): detect a closed tab at session acquire + let connect rec…
MuncleUscles Jul 9, 2026
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
9 changes: 9 additions & 0 deletions README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -478,6 +478,7 @@ COMMON OPTIONS (all commands):
OPTIONS (validator-join):
--amount <amount> Amount to stake (in wei or with 'gen' suffix)
--operator <address> Operator address (defaults to signer)
--wallet <mode> 'keystore' (default) or 'browser' (sign in MetaMask)

OPTIONS (delegator-join):
--validator <address> Validator address to delegate to
Expand All@@ -497,6 +498,14 @@ EXAMPLES:
# Join as validator with 42000 GEN
genlayer staking validator-join --amount 42000gen

# Sign the validator-join with a browser wallet (MetaMask) instead of a keystore.
# The CLI serves a page on 127.0.0.1 and opens it; connect + confirm in the wallet.
# Remote/SSH: forward the printed port first (ssh -L <port>:127.0.0.1:<port> ...).
genlayer staking validator-join --amount 42000gen --wallet browser --network testnet-bradbury

# The wizard can also use a browser wallet as the owner (operator keystore is still generated locally):
genlayer staking wizard --wallet browser

# Join as delegator with 42 GEN
genlayer staking delegator-join --validator 0x... --amount 42gen

Expand Down
3 changes: 2 additions & 1 deletion docs/api-references/_meta.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,5 +10,6 @@
"estimate-fees": "estimate-fees",
"finalize": "finalize",
"finalize-batch": "finalize-batch",
"vesting": "vesting"
"vesting": "vesting",
"wallet": "wallet"
}
1 change: 1 addition & 0 deletions docs/api-references/contracts/deploy.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -21,4 +21,5 @@ Deploy intelligent contracts
| | --fee-value &lt;wei&gt; | Fee deposit value to send with the transaction | No | |
| | --valid-until &lt;unixTimestamp&gt; | Unix timestamp after which the transaction is invalid | No | |
| | --args &lt;args...&gt; | Contract arguments. Supported types: | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/contracts/write.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Sends a transaction to a contract method that modifies the state
| | --fee-value &lt;wei&gt; | Fee deposit value to send with the transaction | No | |
| | --valid-until &lt;unixTimestamp&gt; | Unix timestamp after which the transaction is invalid | No | |
| | --args &lt;args...&gt; | Contract arguments. Supported types: | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/finalize-batch.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Finalize a batch of idle transactions in a single call (public call)
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/finalize.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Finalize a transaction that is ready to be finalized (public call)
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/index.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,6 +33,7 @@ Version: `0.39.1`
- `genlayer finalize-batch` — Finalize a batch of idle transactions in a single call (public call)
- `genlayer staking` — Staking operations for validators and delegators
- `genlayer vesting` — Vesting operations for beneficiaries
- `genlayer wallet` — Manage the persistent browser-wallet (MetaMask) signing session

---

Expand Down
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Claim delegator withdrawals after unbonding period
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Exit as a delegator by withdrawing shares from a validator
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Join as a delegator by staking with a validator
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/prime-all.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Prime all validators that need priming
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/set-identity.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -30,4 +30,5 @@ Set validator identity metadata (moniker, website, socials, etc.)
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/set-operator.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Change the operator address for a validator wallet
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -21,4 +21,5 @@ Claim validator withdrawals after unbonding period
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-deposit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Make an additional deposit to a validator wallet
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Exit as a validator by withdrawing shares
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,4 +19,5 @@ Join as a validator by staking tokens
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-prime.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Prime a validator to prepare their stake record for the next epoch
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/wizard.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Interactive wizard to become a validator
| | --skip-identity | Skip identity setup step | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/transactions/appeal.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -18,4 +18,5 @@ Appeal a transaction by its hash
| --- | --- | --- | :---: | --- |
| | --bond &lt;amount&gt; | Appeal bond amount (e.g. 500gen, 0.5gen). Auto-calculated if omitted | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,4 +24,5 @@ Claim vesting delegation withdrawals after unbonding period
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/delegate.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Delegate vesting-held tokens to a validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/undelegate.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,4 +24,5 @@ Undelegate all vesting delegation shares from a validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,12 +16,13 @@ Claim vesting validator withdrawals after unbonding period

| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/validator/create.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Create a vesting-backed validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/deposit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,12 +17,13 @@ Deposit more vesting-held tokens to a validator wallet
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --amount &lt;amount&gt; | Amount to deposit (in wei or with 'eth'/'gen' suffix) | No | |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,12 +17,13 @@ Exit vesting validator self-stake by withdrawing shares
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --shares &lt;shares&gt; | Number of shares to withdraw | No | |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/validator/join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Create a vesting-backed validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all \u003cpre\u003e\u003ccode\u003e blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks"); } } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); } })(); (function(){ try { var __m = "github.com"; var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
f290257
feat(staking): browser-wallet signing for validator-join and wizard
MuncleUscles Jul 8, 2026
06564ef
feat(wallet): shared browser-wallet plumbing + all staking writes
MuncleUscles Jul 8, 2026
e987e5d
feat(vesting): browser-wallet signing for all vesting writes
MuncleUscles Jul 8, 2026
f4e0ce5
feat(contracts): browser-wallet signing for deploy and write (Lane B)
MuncleUscles Jul 8, 2026
ab05792
feat(transactions): browser-wallet signing for appeal and finalize (L…
MuncleUscles Jul 8, 2026
eaeca04
feat(wallet): session descriptor + shared timing constants
MuncleUscles Jul 9, 2026
2dcaf1b
feat(wallet): persistent daemon mode on the browser bridge
MuncleUscles Jul 9, 2026
6d43a37
refactor(wallet): split bridge transport; add remote session + client
MuncleUscles Jul 9, 2026
d0bf070
feat(wallet): session daemon runtime, detached spawn, and resolver
MuncleUscles Jul 9, 2026
e387f6d
feat(wallet): wallet connect/status/disconnect commands (+ hidden dae…
MuncleUscles Jul 9, 2026
628edd3
feat(wallet): walletMode config default + per-command session adoption
MuncleUscles Jul 9, 2026
25d3a3e
test(wallet): global open() safety net + regenerated CLI docs
MuncleUscles Jul 9, 2026
f1ad2de
style(wallet): prettier-format session runtime + tests
MuncleUscles Jul 9, 2026
33a9cf4
feat(wallet): live wallet session implies browser mode
MuncleUscles Jul 9, 2026
1213657
feat(staking): wizard lists custom networks and honors live wallet se…
MuncleUscles Jul 9, 2026
b99e4ea
feat(account): account show reflects active network + --network flag
MuncleUscles Jul 9, 2026
c6affb6
feat(balances): add read-only balances view (wallet + vesting + commi…
MuncleUscles Jul 9, 2026
eaa3111
feat(staking): wizard can fund a validator from a vesting contract
MuncleUscles Jul 9, 2026
9c337bb
Merge branch 'feat/balances' into feat/wizard-wallet-connect
MuncleUscles Jul 9, 2026
257e3af
fix(vesting): available-to-stake is the contract balance, not derived…
MuncleUscles Jul 9, 2026
e2eb8a6
fix(balances): a live wallet session is the active identity over the …
MuncleUscles Jul 9, 2026
6ac742e
fix(network): custom networks display their alias as the name
MuncleUscles Jul 9, 2026
379cdba
fix(wallet): detect a closed tab at session acquire + let connect rec…
MuncleUscles Jul 9, 2026
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
9 changes: 9 additions & 0 deletions README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -478,6 +478,7 @@ COMMON OPTIONS (all commands):
OPTIONS (validator-join):
--amount <amount> Amount to stake (in wei or with 'gen' suffix)
--operator <address> Operator address (defaults to signer)
--wallet <mode> 'keystore' (default) or 'browser' (sign in MetaMask)

OPTIONS (delegator-join):
--validator <address> Validator address to delegate to
Expand All@@ -497,6 +498,14 @@ EXAMPLES:
# Join as validator with 42000 GEN
genlayer staking validator-join --amount 42000gen

# Sign the validator-join with a browser wallet (MetaMask) instead of a keystore.
# The CLI serves a page on 127.0.0.1 and opens it; connect + confirm in the wallet.
# Remote/SSH: forward the printed port first (ssh -L <port>:127.0.0.1:<port> ...).
genlayer staking validator-join --amount 42000gen --wallet browser --network testnet-bradbury

# The wizard can also use a browser wallet as the owner (operator keystore is still generated locally):
genlayer staking wizard --wallet browser

# Join as delegator with 42 GEN
genlayer staking delegator-join --validator 0x... --amount 42gen

Expand Down
3 changes: 2 additions & 1 deletion docs/api-references/_meta.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,5 +10,6 @@
"estimate-fees": "estimate-fees",
"finalize": "finalize",
"finalize-batch": "finalize-batch",
"vesting": "vesting"
"vesting": "vesting",
"wallet": "wallet"
}
1 change: 1 addition & 0 deletions docs/api-references/contracts/deploy.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -21,4 +21,5 @@ Deploy intelligent contracts
| | --fee-value &lt;wei&gt; | Fee deposit value to send with the transaction | No | |
| | --valid-until &lt;unixTimestamp&gt; | Unix timestamp after which the transaction is invalid | No | |
| | --args &lt;args...&gt; | Contract arguments. Supported types: | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/contracts/write.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Sends a transaction to a contract method that modifies the state
| | --fee-value &lt;wei&gt; | Fee deposit value to send with the transaction | No | |
| | --valid-until &lt;unixTimestamp&gt; | Unix timestamp after which the transaction is invalid | No | |
| | --args &lt;args...&gt; | Contract arguments. Supported types: | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/finalize-batch.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Finalize a batch of idle transactions in a single call (public call)
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/finalize.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Finalize a transaction that is ready to be finalized (public call)
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/index.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,6 +33,7 @@ Version: `0.39.1`
- `genlayer finalize-batch` — Finalize a batch of idle transactions in a single call (public call)
- `genlayer staking` — Staking operations for validators and delegators
- `genlayer vesting` — Vesting operations for beneficiaries
- `genlayer wallet` — Manage the persistent browser-wallet (MetaMask) signing session

---

Expand Down
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Claim delegator withdrawals after unbonding period
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Exit as a delegator by withdrawing shares from a validator
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Join as a delegator by staking with a validator
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/prime-all.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Prime all validators that need priming
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/set-identity.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -30,4 +30,5 @@ Set validator identity metadata (moniker, website, socials, etc.)
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/set-operator.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Change the operator address for a validator wallet
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -21,4 +21,5 @@ Claim validator withdrawals after unbonding period
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-deposit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Make an additional deposit to a validator wallet
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Exit as a validator by withdrawing shares
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,4 +19,5 @@ Join as a validator by staking tokens
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-prime.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Prime a validator to prepare their stake record for the next epoch
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/wizard.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Interactive wizard to become a validator
| | --skip-identity | Skip identity setup step | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/transactions/appeal.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -18,4 +18,5 @@ Appeal a transaction by its hash
| --- | --- | --- | :---: | --- |
| | --bond &lt;amount&gt; | Appeal bond amount (e.g. 500gen, 0.5gen). Auto-calculated if omitted | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,4 +24,5 @@ Claim vesting delegation withdrawals after unbonding period
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/delegate.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Delegate vesting-held tokens to a validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/undelegate.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,4 +24,5 @@ Undelegate all vesting delegation shares from a validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,12 +16,13 @@ Claim vesting validator withdrawals after unbonding period

| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/validator/create.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Create a vesting-backed validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/deposit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,12 +17,13 @@ Deposit more vesting-held tokens to a validator wallet
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --amount &lt;amount&gt; | Amount to deposit (in wei or with 'eth'/'gen' suffix) | No | |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,12 +17,13 @@ Exit vesting validator self-stake by withdrawing shares
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --shares &lt;shares&gt; | Number of shares to withdraw | No | |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/validator/join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Create a vesting-backed validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
f290257
feat(staking): browser-wallet signing for validator-join and wizard
MuncleUscles Jul 8, 2026
06564ef
feat(wallet): shared browser-wallet plumbing + all staking writes
MuncleUscles Jul 8, 2026
e987e5d
feat(vesting): browser-wallet signing for all vesting writes
MuncleUscles Jul 8, 2026
f4e0ce5
feat(contracts): browser-wallet signing for deploy and write (Lane B)
MuncleUscles Jul 8, 2026
ab05792
feat(transactions): browser-wallet signing for appeal and finalize (L…
MuncleUscles Jul 8, 2026
eaeca04
feat(wallet): session descriptor + shared timing constants
MuncleUscles Jul 9, 2026
2dcaf1b
feat(wallet): persistent daemon mode on the browser bridge
MuncleUscles Jul 9, 2026
6d43a37
refactor(wallet): split bridge transport; add remote session + client
MuncleUscles Jul 9, 2026
d0bf070
feat(wallet): session daemon runtime, detached spawn, and resolver
MuncleUscles Jul 9, 2026
e387f6d
feat(wallet): wallet connect/status/disconnect commands (+ hidden dae…
MuncleUscles Jul 9, 2026
628edd3
feat(wallet): walletMode config default + per-command session adoption
MuncleUscles Jul 9, 2026
25d3a3e
test(wallet): global open() safety net + regenerated CLI docs
MuncleUscles Jul 9, 2026
f1ad2de
style(wallet): prettier-format session runtime + tests
MuncleUscles Jul 9, 2026
33a9cf4
feat(wallet): live wallet session implies browser mode
MuncleUscles Jul 9, 2026
1213657
feat(staking): wizard lists custom networks and honors live wallet se…
MuncleUscles Jul 9, 2026
b99e4ea
feat(account): account show reflects active network + --network flag
MuncleUscles Jul 9, 2026
c6affb6
feat(balances): add read-only balances view (wallet + vesting + commi…
MuncleUscles Jul 9, 2026
eaa3111
feat(staking): wizard can fund a validator from a vesting contract
MuncleUscles Jul 9, 2026
9c337bb
Merge branch 'feat/balances' into feat/wizard-wallet-connect
MuncleUscles Jul 9, 2026
257e3af
fix(vesting): available-to-stake is the contract balance, not derived…
MuncleUscles Jul 9, 2026
e2eb8a6
fix(balances): a live wallet session is the active identity over the …
MuncleUscles Jul 9, 2026
6ac742e
fix(network): custom networks display their alias as the name
MuncleUscles Jul 9, 2026
379cdba
fix(wallet): detect a closed tab at session acquire + let connect rec…
MuncleUscles Jul 9, 2026
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
9 changes: 9 additions & 0 deletions README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -478,6 +478,7 @@ COMMON OPTIONS (all commands):
OPTIONS (validator-join):
--amount <amount> Amount to stake (in wei or with 'gen' suffix)
--operator <address> Operator address (defaults to signer)
--wallet <mode> 'keystore' (default) or 'browser' (sign in MetaMask)

OPTIONS (delegator-join):
--validator <address> Validator address to delegate to
Expand All@@ -497,6 +498,14 @@ EXAMPLES:
# Join as validator with 42000 GEN
genlayer staking validator-join --amount 42000gen

# Sign the validator-join with a browser wallet (MetaMask) instead of a keystore.
# The CLI serves a page on 127.0.0.1 and opens it; connect + confirm in the wallet.
# Remote/SSH: forward the printed port first (ssh -L <port>:127.0.0.1:<port> ...).
genlayer staking validator-join --amount 42000gen --wallet browser --network testnet-bradbury

# The wizard can also use a browser wallet as the owner (operator keystore is still generated locally):
genlayer staking wizard --wallet browser

# Join as delegator with 42 GEN
genlayer staking delegator-join --validator 0x... --amount 42gen

Expand Down
3 changes: 2 additions & 1 deletion docs/api-references/_meta.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,5 +10,6 @@
"estimate-fees": "estimate-fees",
"finalize": "finalize",
"finalize-batch": "finalize-batch",
"vesting": "vesting"
"vesting": "vesting",
"wallet": "wallet"
}
1 change: 1 addition & 0 deletions docs/api-references/contracts/deploy.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -21,4 +21,5 @@ Deploy intelligent contracts
| | --fee-value &lt;wei&gt; | Fee deposit value to send with the transaction | No | |
| | --valid-until &lt;unixTimestamp&gt; | Unix timestamp after which the transaction is invalid | No | |
| | --args &lt;args...&gt; | Contract arguments. Supported types: | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/contracts/write.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Sends a transaction to a contract method that modifies the state
| | --fee-value &lt;wei&gt; | Fee deposit value to send with the transaction | No | |
| | --valid-until &lt;unixTimestamp&gt; | Unix timestamp after which the transaction is invalid | No | |
| | --args &lt;args...&gt; | Contract arguments. Supported types: | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/finalize-batch.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Finalize a batch of idle transactions in a single call (public call)
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/finalize.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Finalize a transaction that is ready to be finalized (public call)
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/index.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,6 +33,7 @@ Version: `0.39.1`
- `genlayer finalize-batch` — Finalize a batch of idle transactions in a single call (public call)
- `genlayer staking` — Staking operations for validators and delegators
- `genlayer vesting` — Vesting operations for beneficiaries
- `genlayer wallet` — Manage the persistent browser-wallet (MetaMask) signing session

---

Expand Down
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Claim delegator withdrawals after unbonding period
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Exit as a delegator by withdrawing shares from a validator
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Join as a delegator by staking with a validator
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/prime-all.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Prime all validators that need priming
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/set-identity.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -30,4 +30,5 @@ Set validator identity metadata (moniker, website, socials, etc.)
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/set-operator.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Change the operator address for a validator wallet
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -21,4 +21,5 @@ Claim validator withdrawals after unbonding period
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-deposit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Make an additional deposit to a validator wallet
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Exit as a validator by withdrawing shares
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,4 +19,5 @@ Join as a validator by staking tokens
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-prime.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Prime a validator to prepare their stake record for the next epoch
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/wizard.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Interactive wizard to become a validator
| | --skip-identity | Skip identity setup step | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/transactions/appeal.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -18,4 +18,5 @@ Appeal a transaction by its hash
| --- | --- | --- | :---: | --- |
| | --bond &lt;amount&gt; | Appeal bond amount (e.g. 500gen, 0.5gen). Auto-calculated if omitted | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,4 +24,5 @@ Claim vesting delegation withdrawals after unbonding period
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/delegate.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Delegate vesting-held tokens to a validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/undelegate.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,4 +24,5 @@ Undelegate all vesting delegation shares from a validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,12 +16,13 @@ Claim vesting validator withdrawals after unbonding period

| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/validator/create.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Create a vesting-backed validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/deposit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,12 +17,13 @@ Deposit more vesting-held tokens to a validator wallet
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --amount &lt;amount&gt; | Amount to deposit (in wei or with 'eth'/'gen' suffix) | No | |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,12 +17,13 @@ Exit vesting validator self-stake by withdrawing shares
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --shares &lt;shares&gt; | Number of shares to withdraw | No | |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/validator/join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Create a vesting-backed validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length \u003e 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
f290257
feat(staking): browser-wallet signing for validator-join and wizard
MuncleUscles Jul 8, 2026
06564ef
feat(wallet): shared browser-wallet plumbing + all staking writes
MuncleUscles Jul 8, 2026
e987e5d
feat(vesting): browser-wallet signing for all vesting writes
MuncleUscles Jul 8, 2026
f4e0ce5
feat(contracts): browser-wallet signing for deploy and write (Lane B)
MuncleUscles Jul 8, 2026
ab05792
feat(transactions): browser-wallet signing for appeal and finalize (L…
MuncleUscles Jul 8, 2026
eaeca04
feat(wallet): session descriptor + shared timing constants
MuncleUscles Jul 9, 2026
2dcaf1b
feat(wallet): persistent daemon mode on the browser bridge
MuncleUscles Jul 9, 2026
6d43a37
refactor(wallet): split bridge transport; add remote session + client
MuncleUscles Jul 9, 2026
d0bf070
feat(wallet): session daemon runtime, detached spawn, and resolver
MuncleUscles Jul 9, 2026
e387f6d
feat(wallet): wallet connect/status/disconnect commands (+ hidden dae…
MuncleUscles Jul 9, 2026
628edd3
feat(wallet): walletMode config default + per-command session adoption
MuncleUscles Jul 9, 2026
25d3a3e
test(wallet): global open() safety net + regenerated CLI docs
MuncleUscles Jul 9, 2026
f1ad2de
style(wallet): prettier-format session runtime + tests
MuncleUscles Jul 9, 2026
33a9cf4
feat(wallet): live wallet session implies browser mode
MuncleUscles Jul 9, 2026
1213657
feat(staking): wizard lists custom networks and honors live wallet se…
MuncleUscles Jul 9, 2026
b99e4ea
feat(account): account show reflects active network + --network flag
MuncleUscles Jul 9, 2026
c6affb6
feat(balances): add read-only balances view (wallet + vesting + commi…
MuncleUscles Jul 9, 2026
eaa3111
feat(staking): wizard can fund a validator from a vesting contract
MuncleUscles Jul 9, 2026
9c337bb
Merge branch 'feat/balances' into feat/wizard-wallet-connect
MuncleUscles Jul 9, 2026
257e3af
fix(vesting): available-to-stake is the contract balance, not derived…
MuncleUscles Jul 9, 2026
e2eb8a6
fix(balances): a live wallet session is the active identity over the …
MuncleUscles Jul 9, 2026
6ac742e
fix(network): custom networks display their alias as the name
MuncleUscles Jul 9, 2026
379cdba
fix(wallet): detect a closed tab at session acquire + let connect rec…
MuncleUscles Jul 9, 2026
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
9 changes: 9 additions & 0 deletions README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -478,6 +478,7 @@ COMMON OPTIONS (all commands):
OPTIONS (validator-join):
--amount <amount> Amount to stake (in wei or with 'gen' suffix)
--operator <address> Operator address (defaults to signer)
--wallet <mode> 'keystore' (default) or 'browser' (sign in MetaMask)

OPTIONS (delegator-join):
--validator <address> Validator address to delegate to
Expand All@@ -497,6 +498,14 @@ EXAMPLES:
# Join as validator with 42000 GEN
genlayer staking validator-join --amount 42000gen

# Sign the validator-join with a browser wallet (MetaMask) instead of a keystore.
# The CLI serves a page on 127.0.0.1 and opens it; connect + confirm in the wallet.
# Remote/SSH: forward the printed port first (ssh -L <port>:127.0.0.1:<port> ...).
genlayer staking validator-join --amount 42000gen --wallet browser --network testnet-bradbury

# The wizard can also use a browser wallet as the owner (operator keystore is still generated locally):
genlayer staking wizard --wallet browser

# Join as delegator with 42 GEN
genlayer staking delegator-join --validator 0x... --amount 42gen

Expand Down
3 changes: 2 additions & 1 deletion docs/api-references/_meta.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,5 +10,6 @@
"estimate-fees": "estimate-fees",
"finalize": "finalize",
"finalize-batch": "finalize-batch",
"vesting": "vesting"
"vesting": "vesting",
"wallet": "wallet"
}
1 change: 1 addition & 0 deletions docs/api-references/contracts/deploy.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -21,4 +21,5 @@ Deploy intelligent contracts
| | --fee-value &lt;wei&gt; | Fee deposit value to send with the transaction | No | |
| | --valid-until &lt;unixTimestamp&gt; | Unix timestamp after which the transaction is invalid | No | |
| | --args &lt;args...&gt; | Contract arguments. Supported types: | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/contracts/write.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Sends a transaction to a contract method that modifies the state
| | --fee-value &lt;wei&gt; | Fee deposit value to send with the transaction | No | |
| | --valid-until &lt;unixTimestamp&gt; | Unix timestamp after which the transaction is invalid | No | |
| | --args &lt;args...&gt; | Contract arguments. Supported types: | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/finalize-batch.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Finalize a batch of idle transactions in a single call (public call)
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/finalize.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Finalize a transaction that is ready to be finalized (public call)
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/index.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,6 +33,7 @@ Version: `0.39.1`
- `genlayer finalize-batch` — Finalize a batch of idle transactions in a single call (public call)
- `genlayer staking` — Staking operations for validators and delegators
- `genlayer vesting` — Vesting operations for beneficiaries
- `genlayer wallet` — Manage the persistent browser-wallet (MetaMask) signing session

---

Expand Down
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Claim delegator withdrawals after unbonding period
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Exit as a delegator by withdrawing shares from a validator
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Join as a delegator by staking with a validator
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/prime-all.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Prime all validators that need priming
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/set-identity.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -30,4 +30,5 @@ Set validator identity metadata (moniker, website, socials, etc.)
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/set-operator.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Change the operator address for a validator wallet
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -21,4 +21,5 @@ Claim validator withdrawals after unbonding period
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-deposit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Make an additional deposit to a validator wallet
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Exit as a validator by withdrawing shares
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,4 +19,5 @@ Join as a validator by staking tokens
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-prime.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Prime a validator to prepare their stake record for the next epoch
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/wizard.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Interactive wizard to become a validator
| | --skip-identity | Skip identity setup step | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/transactions/appeal.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -18,4 +18,5 @@ Appeal a transaction by its hash
| --- | --- | --- | :---: | --- |
| | --bond &lt;amount&gt; | Appeal bond amount (e.g. 500gen, 0.5gen). Auto-calculated if omitted | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,4 +24,5 @@ Claim vesting delegation withdrawals after unbonding period
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/delegate.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Delegate vesting-held tokens to a validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/undelegate.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,4 +24,5 @@ Undelegate all vesting delegation shares from a validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,12 +16,13 @@ Claim vesting validator withdrawals after unbonding period

| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/validator/create.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Create a vesting-backed validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/deposit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,12 +17,13 @@ Deposit more vesting-held tokens to a validator wallet
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --amount &lt;amount&gt; | Amount to deposit (in wei or with 'eth'/'gen' suffix) | No | |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,12 +17,13 @@ Exit vesting validator self-stake by withdrawing shares
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --shares &lt;shares&gt; | Number of shares to withdraw | No | |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/validator/join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Create a vesting-backed validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
f290257
feat(staking): browser-wallet signing for validator-join and wizard
MuncleUscles Jul 8, 2026
06564ef
feat(wallet): shared browser-wallet plumbing + all staking writes
MuncleUscles Jul 8, 2026
e987e5d
feat(vesting): browser-wallet signing for all vesting writes
MuncleUscles Jul 8, 2026
f4e0ce5
feat(contracts): browser-wallet signing for deploy and write (Lane B)
MuncleUscles Jul 8, 2026
ab05792
feat(transactions): browser-wallet signing for appeal and finalize (L…
MuncleUscles Jul 8, 2026
eaeca04
feat(wallet): session descriptor + shared timing constants
MuncleUscles Jul 9, 2026
2dcaf1b
feat(wallet): persistent daemon mode on the browser bridge
MuncleUscles Jul 9, 2026
6d43a37
refactor(wallet): split bridge transport; add remote session + client
MuncleUscles Jul 9, 2026
d0bf070
feat(wallet): session daemon runtime, detached spawn, and resolver
MuncleUscles Jul 9, 2026
e387f6d
feat(wallet): wallet connect/status/disconnect commands (+ hidden dae…
MuncleUscles Jul 9, 2026
628edd3
feat(wallet): walletMode config default + per-command session adoption
MuncleUscles Jul 9, 2026
25d3a3e
test(wallet): global open() safety net + regenerated CLI docs
MuncleUscles Jul 9, 2026
f1ad2de
style(wallet): prettier-format session runtime + tests
MuncleUscles Jul 9, 2026
33a9cf4
feat(wallet): live wallet session implies browser mode
MuncleUscles Jul 9, 2026
1213657
feat(staking): wizard lists custom networks and honors live wallet se…
MuncleUscles Jul 9, 2026
b99e4ea
feat(account): account show reflects active network + --network flag
MuncleUscles Jul 9, 2026
c6affb6
feat(balances): add read-only balances view (wallet + vesting + commi…
MuncleUscles Jul 9, 2026
eaa3111
feat(staking): wizard can fund a validator from a vesting contract
MuncleUscles Jul 9, 2026
9c337bb
Merge branch 'feat/balances' into feat/wizard-wallet-connect
MuncleUscles Jul 9, 2026
257e3af
fix(vesting): available-to-stake is the contract balance, not derived…
MuncleUscles Jul 9, 2026
e2eb8a6
fix(balances): a live wallet session is the active identity over the …
MuncleUscles Jul 9, 2026
6ac742e
fix(network): custom networks display their alias as the name
MuncleUscles Jul 9, 2026
379cdba
fix(wallet): detect a closed tab at session acquire + let connect rec…
MuncleUscles Jul 9, 2026
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
9 changes: 9 additions & 0 deletions README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -478,6 +478,7 @@ COMMON OPTIONS (all commands):
OPTIONS (validator-join):
--amount <amount> Amount to stake (in wei or with 'gen' suffix)
--operator <address> Operator address (defaults to signer)
--wallet <mode> 'keystore' (default) or 'browser' (sign in MetaMask)

OPTIONS (delegator-join):
--validator <address> Validator address to delegate to
Expand All@@ -497,6 +498,14 @@ EXAMPLES:
# Join as validator with 42000 GEN
genlayer staking validator-join --amount 42000gen

# Sign the validator-join with a browser wallet (MetaMask) instead of a keystore.
# The CLI serves a page on 127.0.0.1 and opens it; connect + confirm in the wallet.
# Remote/SSH: forward the printed port first (ssh -L <port>:127.0.0.1:<port> ...).
genlayer staking validator-join --amount 42000gen --wallet browser --network testnet-bradbury

# The wizard can also use a browser wallet as the owner (operator keystore is still generated locally):
genlayer staking wizard --wallet browser

# Join as delegator with 42 GEN
genlayer staking delegator-join --validator 0x... --amount 42gen

Expand Down
3 changes: 2 additions & 1 deletion docs/api-references/_meta.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,5 +10,6 @@
"estimate-fees": "estimate-fees",
"finalize": "finalize",
"finalize-batch": "finalize-batch",
"vesting": "vesting"
"vesting": "vesting",
"wallet": "wallet"
}
1 change: 1 addition & 0 deletions docs/api-references/contracts/deploy.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -21,4 +21,5 @@ Deploy intelligent contracts
| | --fee-value &lt;wei&gt; | Fee deposit value to send with the transaction | No | |
| | --valid-until &lt;unixTimestamp&gt; | Unix timestamp after which the transaction is invalid | No | |
| | --args &lt;args...&gt; | Contract arguments. Supported types: | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/contracts/write.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Sends a transaction to a contract method that modifies the state
| | --fee-value &lt;wei&gt; | Fee deposit value to send with the transaction | No | |
| | --valid-until &lt;unixTimestamp&gt; | Unix timestamp after which the transaction is invalid | No | |
| | --args &lt;args...&gt; | Contract arguments. Supported types: | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/finalize-batch.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Finalize a batch of idle transactions in a single call (public call)
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/finalize.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Finalize a transaction that is ready to be finalized (public call)
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/index.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,6 +33,7 @@ Version: `0.39.1`
- `genlayer finalize-batch` — Finalize a batch of idle transactions in a single call (public call)
- `genlayer staking` — Staking operations for validators and delegators
- `genlayer vesting` — Vesting operations for beneficiaries
- `genlayer wallet` — Manage the persistent browser-wallet (MetaMask) signing session

---

Expand Down
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Claim delegator withdrawals after unbonding period
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Exit as a delegator by withdrawing shares from a validator
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Join as a delegator by staking with a validator
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/prime-all.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Prime all validators that need priming
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/set-identity.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -30,4 +30,5 @@ Set validator identity metadata (moniker, website, socials, etc.)
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/set-operator.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Change the operator address for a validator wallet
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -21,4 +21,5 @@ Claim validator withdrawals after unbonding period
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-deposit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Make an additional deposit to a validator wallet
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Exit as a validator by withdrawing shares
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,4 +19,5 @@ Join as a validator by staking tokens
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-prime.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Prime a validator to prepare their stake record for the next epoch
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/wizard.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Interactive wizard to become a validator
| | --skip-identity | Skip identity setup step | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/transactions/appeal.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -18,4 +18,5 @@ Appeal a transaction by its hash
| --- | --- | --- | :---: | --- |
| | --bond &lt;amount&gt; | Appeal bond amount (e.g. 500gen, 0.5gen). Auto-calculated if omitted | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,4 +24,5 @@ Claim vesting delegation withdrawals after unbonding period
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/delegate.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Delegate vesting-held tokens to a validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/undelegate.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,4 +24,5 @@ Undelegate all vesting delegation shares from a validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,12 +16,13 @@ Claim vesting validator withdrawals after unbonding period

| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/validator/create.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Create a vesting-backed validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/deposit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,12 +17,13 @@ Deposit more vesting-held tokens to a validator wallet
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --amount &lt;amount&gt; | Amount to deposit (in wei or with 'eth'/'gen' suffix) | No | |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,12 +17,13 @@ Exit vesting validator self-stake by withdrawing shares
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --shares &lt;shares&gt; | Number of shares to withdraw | No | |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/validator/join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Create a vesting-backed validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
f290257
feat(staking): browser-wallet signing for validator-join and wizard
MuncleUscles Jul 8, 2026
06564ef
feat(wallet): shared browser-wallet plumbing + all staking writes
MuncleUscles Jul 8, 2026
e987e5d
feat(vesting): browser-wallet signing for all vesting writes
MuncleUscles Jul 8, 2026
f4e0ce5
feat(contracts): browser-wallet signing for deploy and write (Lane B)
MuncleUscles Jul 8, 2026
ab05792
feat(transactions): browser-wallet signing for appeal and finalize (L…
MuncleUscles Jul 8, 2026
eaeca04
feat(wallet): session descriptor + shared timing constants
MuncleUscles Jul 9, 2026
2dcaf1b
feat(wallet): persistent daemon mode on the browser bridge
MuncleUscles Jul 9, 2026
6d43a37
refactor(wallet): split bridge transport; add remote session + client
MuncleUscles Jul 9, 2026
d0bf070
feat(wallet): session daemon runtime, detached spawn, and resolver
MuncleUscles Jul 9, 2026
e387f6d
feat(wallet): wallet connect/status/disconnect commands (+ hidden dae…
MuncleUscles Jul 9, 2026
628edd3
feat(wallet): walletMode config default + per-command session adoption
MuncleUscles Jul 9, 2026
25d3a3e
test(wallet): global open() safety net + regenerated CLI docs
MuncleUscles Jul 9, 2026
f1ad2de
style(wallet): prettier-format session runtime + tests
MuncleUscles Jul 9, 2026
33a9cf4
feat(wallet): live wallet session implies browser mode
MuncleUscles Jul 9, 2026
1213657
feat(staking): wizard lists custom networks and honors live wallet se…
MuncleUscles Jul 9, 2026
b99e4ea
feat(account): account show reflects active network + --network flag
MuncleUscles Jul 9, 2026
c6affb6
feat(balances): add read-only balances view (wallet + vesting + commi…
MuncleUscles Jul 9, 2026
eaa3111
feat(staking): wizard can fund a validator from a vesting contract
MuncleUscles Jul 9, 2026
9c337bb
Merge branch 'feat/balances' into feat/wizard-wallet-connect
MuncleUscles Jul 9, 2026
257e3af
fix(vesting): available-to-stake is the contract balance, not derived…
MuncleUscles Jul 9, 2026
e2eb8a6
fix(balances): a live wallet session is the active identity over the …
MuncleUscles Jul 9, 2026
6ac742e
fix(network): custom networks display their alias as the name
MuncleUscles Jul 9, 2026
379cdba
fix(wallet): detect a closed tab at session acquire + let connect rec…
MuncleUscles Jul 9, 2026
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
9 changes: 9 additions & 0 deletions README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -478,6 +478,7 @@ COMMON OPTIONS (all commands):
OPTIONS (validator-join):
--amount <amount> Amount to stake (in wei or with 'gen' suffix)
--operator <address> Operator address (defaults to signer)
--wallet <mode> 'keystore' (default) or 'browser' (sign in MetaMask)

OPTIONS (delegator-join):
--validator <address> Validator address to delegate to
Expand All@@ -497,6 +498,14 @@ EXAMPLES:
# Join as validator with 42000 GEN
genlayer staking validator-join --amount 42000gen

# Sign the validator-join with a browser wallet (MetaMask) instead of a keystore.
# The CLI serves a page on 127.0.0.1 and opens it; connect + confirm in the wallet.
# Remote/SSH: forward the printed port first (ssh -L <port>:127.0.0.1:<port> ...).
genlayer staking validator-join --amount 42000gen --wallet browser --network testnet-bradbury

# The wizard can also use a browser wallet as the owner (operator keystore is still generated locally):
genlayer staking wizard --wallet browser

# Join as delegator with 42 GEN
genlayer staking delegator-join --validator 0x... --amount 42gen

Expand Down
3 changes: 2 additions & 1 deletion docs/api-references/_meta.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,5 +10,6 @@
"estimate-fees": "estimate-fees",
"finalize": "finalize",
"finalize-batch": "finalize-batch",
"vesting": "vesting"
"vesting": "vesting",
"wallet": "wallet"
}
1 change: 1 addition & 0 deletions docs/api-references/contracts/deploy.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -21,4 +21,5 @@ Deploy intelligent contracts
| | --fee-value &lt;wei&gt; | Fee deposit value to send with the transaction | No | |
| | --valid-until &lt;unixTimestamp&gt; | Unix timestamp after which the transaction is invalid | No | |
| | --args &lt;args...&gt; | Contract arguments. Supported types: | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/contracts/write.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Sends a transaction to a contract method that modifies the state
| | --fee-value &lt;wei&gt; | Fee deposit value to send with the transaction | No | |
| | --valid-until &lt;unixTimestamp&gt; | Unix timestamp after which the transaction is invalid | No | |
| | --args &lt;args...&gt; | Contract arguments. Supported types: | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/finalize-batch.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Finalize a batch of idle transactions in a single call (public call)
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/finalize.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Finalize a transaction that is ready to be finalized (public call)
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/index.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,6 +33,7 @@ Version: `0.39.1`
- `genlayer finalize-batch` — Finalize a batch of idle transactions in a single call (public call)
- `genlayer staking` — Staking operations for validators and delegators
- `genlayer vesting` — Vesting operations for beneficiaries
- `genlayer wallet` — Manage the persistent browser-wallet (MetaMask) signing session

---

Expand Down
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Claim delegator withdrawals after unbonding period
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Exit as a delegator by withdrawing shares from a validator
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Join as a delegator by staking with a validator
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/prime-all.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Prime all validators that need priming
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/set-identity.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -30,4 +30,5 @@ Set validator identity metadata (moniker, website, socials, etc.)
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/set-operator.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Change the operator address for a validator wallet
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -21,4 +21,5 @@ Claim validator withdrawals after unbonding period
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-deposit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Make an additional deposit to a validator wallet
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Exit as a validator by withdrawing shares
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,4 +19,5 @@ Join as a validator by staking tokens
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-prime.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Prime a validator to prepare their stake record for the next epoch
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/wizard.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Interactive wizard to become a validator
| | --skip-identity | Skip identity setup step | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/transactions/appeal.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -18,4 +18,5 @@ Appeal a transaction by its hash
| --- | --- | --- | :---: | --- |
| | --bond &lt;amount&gt; | Appeal bond amount (e.g. 500gen, 0.5gen). Auto-calculated if omitted | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,4 +24,5 @@ Claim vesting delegation withdrawals after unbonding period
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/delegate.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Delegate vesting-held tokens to a validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/undelegate.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,4 +24,5 @@ Undelegate all vesting delegation shares from a validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,12 +16,13 @@ Claim vesting validator withdrawals after unbonding period

| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/validator/create.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Create a vesting-backed validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/deposit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,12 +17,13 @@ Deposit more vesting-held tokens to a validator wallet
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --amount &lt;amount&gt; | Amount to deposit (in wei or with 'eth'/'gen' suffix) | No | |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,12 +17,13 @@ Exit vesting validator self-stake by withdrawing shares
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --shares &lt;shares&gt; | Number of shares to withdraw | No | |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/validator/join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Create a vesting-backed validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
f290257
feat(staking): browser-wallet signing for validator-join and wizard
MuncleUscles Jul 8, 2026
06564ef
feat(wallet): shared browser-wallet plumbing + all staking writes
MuncleUscles Jul 8, 2026
e987e5d
feat(vesting): browser-wallet signing for all vesting writes
MuncleUscles Jul 8, 2026
f4e0ce5
feat(contracts): browser-wallet signing for deploy and write (Lane B)
MuncleUscles Jul 8, 2026
ab05792
feat(transactions): browser-wallet signing for appeal and finalize (L…
MuncleUscles Jul 8, 2026
eaeca04
feat(wallet): session descriptor + shared timing constants
MuncleUscles Jul 9, 2026
2dcaf1b
feat(wallet): persistent daemon mode on the browser bridge
MuncleUscles Jul 9, 2026
6d43a37
refactor(wallet): split bridge transport; add remote session + client
MuncleUscles Jul 9, 2026
d0bf070
feat(wallet): session daemon runtime, detached spawn, and resolver
MuncleUscles Jul 9, 2026
e387f6d
feat(wallet): wallet connect/status/disconnect commands (+ hidden dae…
MuncleUscles Jul 9, 2026
628edd3
feat(wallet): walletMode config default + per-command session adoption
MuncleUscles Jul 9, 2026
25d3a3e
test(wallet): global open() safety net + regenerated CLI docs
MuncleUscles Jul 9, 2026
f1ad2de
style(wallet): prettier-format session runtime + tests
MuncleUscles Jul 9, 2026
33a9cf4
feat(wallet): live wallet session implies browser mode
MuncleUscles Jul 9, 2026
1213657
feat(staking): wizard lists custom networks and honors live wallet se…
MuncleUscles Jul 9, 2026
b99e4ea
feat(account): account show reflects active network + --network flag
MuncleUscles Jul 9, 2026
c6affb6
feat(balances): add read-only balances view (wallet + vesting + commi…
MuncleUscles Jul 9, 2026
eaa3111
feat(staking): wizard can fund a validator from a vesting contract
MuncleUscles Jul 9, 2026
9c337bb
Merge branch 'feat/balances' into feat/wizard-wallet-connect
MuncleUscles Jul 9, 2026
257e3af
fix(vesting): available-to-stake is the contract balance, not derived…
MuncleUscles Jul 9, 2026
e2eb8a6
fix(balances): a live wallet session is the active identity over the …
MuncleUscles Jul 9, 2026
6ac742e
fix(network): custom networks display their alias as the name
MuncleUscles Jul 9, 2026
379cdba
fix(wallet): detect a closed tab at session acquire + let connect rec…
MuncleUscles Jul 9, 2026
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
9 changes: 9 additions & 0 deletions README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -478,6 +478,7 @@ COMMON OPTIONS (all commands):
OPTIONS (validator-join):
--amount <amount> Amount to stake (in wei or with 'gen' suffix)
--operator <address> Operator address (defaults to signer)
--wallet <mode> 'keystore' (default) or 'browser' (sign in MetaMask)

OPTIONS (delegator-join):
--validator <address> Validator address to delegate to
Expand All@@ -497,6 +498,14 @@ EXAMPLES:
# Join as validator with 42000 GEN
genlayer staking validator-join --amount 42000gen

# Sign the validator-join with a browser wallet (MetaMask) instead of a keystore.
# The CLI serves a page on 127.0.0.1 and opens it; connect + confirm in the wallet.
# Remote/SSH: forward the printed port first (ssh -L <port>:127.0.0.1:<port> ...).
genlayer staking validator-join --amount 42000gen --wallet browser --network testnet-bradbury

# The wizard can also use a browser wallet as the owner (operator keystore is still generated locally):
genlayer staking wizard --wallet browser

# Join as delegator with 42 GEN
genlayer staking delegator-join --validator 0x... --amount 42gen

Expand Down
3 changes: 2 additions & 1 deletion docs/api-references/_meta.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,5 +10,6 @@
"estimate-fees": "estimate-fees",
"finalize": "finalize",
"finalize-batch": "finalize-batch",
"vesting": "vesting"
"vesting": "vesting",
"wallet": "wallet"
}
1 change: 1 addition & 0 deletions docs/api-references/contracts/deploy.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -21,4 +21,5 @@ Deploy intelligent contracts
| | --fee-value &lt;wei&gt; | Fee deposit value to send with the transaction | No | |
| | --valid-until &lt;unixTimestamp&gt; | Unix timestamp after which the transaction is invalid | No | |
| | --args &lt;args...&gt; | Contract arguments. Supported types: | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/contracts/write.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Sends a transaction to a contract method that modifies the state
| | --fee-value &lt;wei&gt; | Fee deposit value to send with the transaction | No | |
| | --valid-until &lt;unixTimestamp&gt; | Unix timestamp after which the transaction is invalid | No | |
| | --args &lt;args...&gt; | Contract arguments. Supported types: | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/finalize-batch.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Finalize a batch of idle transactions in a single call (public call)
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/finalize.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Finalize a transaction that is ready to be finalized (public call)
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/index.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,6 +33,7 @@ Version: `0.39.1`
- `genlayer finalize-batch` — Finalize a batch of idle transactions in a single call (public call)
- `genlayer staking` — Staking operations for validators and delegators
- `genlayer vesting` — Vesting operations for beneficiaries
- `genlayer wallet` — Manage the persistent browser-wallet (MetaMask) signing session

---

Expand Down
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Claim delegator withdrawals after unbonding period
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Exit as a delegator by withdrawing shares from a validator
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Join as a delegator by staking with a validator
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/prime-all.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Prime all validators that need priming
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/set-identity.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -30,4 +30,5 @@ Set validator identity metadata (moniker, website, socials, etc.)
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/set-operator.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Change the operator address for a validator wallet
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -21,4 +21,5 @@ Claim validator withdrawals after unbonding period
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-deposit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Make an additional deposit to a validator wallet
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Exit as a validator by withdrawing shares
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,4 +19,5 @@ Join as a validator by staking tokens
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-prime.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Prime a validator to prepare their stake record for the next epoch
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/wizard.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Interactive wizard to become a validator
| | --skip-identity | Skip identity setup step | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/transactions/appeal.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -18,4 +18,5 @@ Appeal a transaction by its hash
| --- | --- | --- | :---: | --- |
| | --bond &lt;amount&gt; | Appeal bond amount (e.g. 500gen, 0.5gen). Auto-calculated if omitted | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,4 +24,5 @@ Claim vesting delegation withdrawals after unbonding period
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/delegate.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Delegate vesting-held tokens to a validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/undelegate.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,4 +24,5 @@ Undelegate all vesting delegation shares from a validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,12 +16,13 @@ Claim vesting validator withdrawals after unbonding period

| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/validator/create.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Create a vesting-backed validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/deposit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,12 +17,13 @@ Deposit more vesting-held tokens to a validator wallet
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --amount &lt;amount&gt; | Amount to deposit (in wei or with 'eth'/'gen' suffix) | No | |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,12 +17,13 @@ Exit vesting validator self-stake by withdrawing shares
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --shares &lt;shares&gt; | Number of shares to withdraw | No | |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/validator/join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Create a vesting-backed validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
Loading
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
f290257
feat(staking): browser-wallet signing for validator-join and wizard
MuncleUscles Jul 8, 2026
06564ef
feat(wallet): shared browser-wallet plumbing + all staking writes
MuncleUscles Jul 8, 2026
e987e5d
feat(vesting): browser-wallet signing for all vesting writes
MuncleUscles Jul 8, 2026
f4e0ce5
feat(contracts): browser-wallet signing for deploy and write (Lane B)
MuncleUscles Jul 8, 2026
ab05792
feat(transactions): browser-wallet signing for appeal and finalize (L…
MuncleUscles Jul 8, 2026
eaeca04
feat(wallet): session descriptor + shared timing constants
MuncleUscles Jul 9, 2026
2dcaf1b
feat(wallet): persistent daemon mode on the browser bridge
MuncleUscles Jul 9, 2026
6d43a37
refactor(wallet): split bridge transport; add remote session + client
MuncleUscles Jul 9, 2026
d0bf070
feat(wallet): session daemon runtime, detached spawn, and resolver
MuncleUscles Jul 9, 2026
e387f6d
feat(wallet): wallet connect/status/disconnect commands (+ hidden dae…
MuncleUscles Jul 9, 2026
628edd3
feat(wallet): walletMode config default + per-command session adoption
MuncleUscles Jul 9, 2026
25d3a3e
test(wallet): global open() safety net + regenerated CLI docs
MuncleUscles Jul 9, 2026
f1ad2de
style(wallet): prettier-format session runtime + tests
MuncleUscles Jul 9, 2026
33a9cf4
feat(wallet): live wallet session implies browser mode
MuncleUscles Jul 9, 2026
1213657
feat(staking): wizard lists custom networks and honors live wallet se…
MuncleUscles Jul 9, 2026
b99e4ea
feat(account): account show reflects active network + --network flag
MuncleUscles Jul 9, 2026
c6affb6
feat(balances): add read-only balances view (wallet + vesting + commi…
MuncleUscles Jul 9, 2026
eaa3111
feat(staking): wizard can fund a validator from a vesting contract
MuncleUscles Jul 9, 2026
9c337bb
Merge branch 'feat/balances' into feat/wizard-wallet-connect
MuncleUscles Jul 9, 2026
257e3af
fix(vesting): available-to-stake is the contract balance, not derived…
MuncleUscles Jul 9, 2026
e2eb8a6
fix(balances): a live wallet session is the active identity over the …
MuncleUscles Jul 9, 2026
6ac742e
fix(network): custom networks display their alias as the name
MuncleUscles Jul 9, 2026
379cdba
fix(wallet): detect a closed tab at session acquire + let connect rec…
MuncleUscles Jul 9, 2026
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
9 changes: 9 additions & 0 deletions README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -478,6 +478,7 @@ COMMON OPTIONS (all commands):
OPTIONS (validator-join):
--amount <amount> Amount to stake (in wei or with 'gen' suffix)
--operator <address> Operator address (defaults to signer)
--wallet <mode> 'keystore' (default) or 'browser' (sign in MetaMask)

OPTIONS (delegator-join):
--validator <address> Validator address to delegate to
Expand All@@ -497,6 +498,14 @@ EXAMPLES:
# Join as validator with 42000 GEN
genlayer staking validator-join --amount 42000gen

# Sign the validator-join with a browser wallet (MetaMask) instead of a keystore.
# The CLI serves a page on 127.0.0.1 and opens it; connect + confirm in the wallet.
# Remote/SSH: forward the printed port first (ssh -L <port>:127.0.0.1:<port> ...).
genlayer staking validator-join --amount 42000gen --wallet browser --network testnet-bradbury

# The wizard can also use a browser wallet as the owner (operator keystore is still generated locally):
genlayer staking wizard --wallet browser

# Join as delegator with 42 GEN
genlayer staking delegator-join --validator 0x... --amount 42gen

Expand Down
3 changes: 2 additions & 1 deletion docs/api-references/_meta.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,5 +10,6 @@
"estimate-fees": "estimate-fees",
"finalize": "finalize",
"finalize-batch": "finalize-batch",
"vesting": "vesting"
"vesting": "vesting",
"wallet": "wallet"
}
1 change: 1 addition & 0 deletions docs/api-references/contracts/deploy.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -21,4 +21,5 @@ Deploy intelligent contracts
| | --fee-value &lt;wei&gt; | Fee deposit value to send with the transaction | No | |
| | --valid-until &lt;unixTimestamp&gt; | Unix timestamp after which the transaction is invalid | No | |
| | --args &lt;args...&gt; | Contract arguments. Supported types: | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/contracts/write.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Sends a transaction to a contract method that modifies the state
| | --fee-value &lt;wei&gt; | Fee deposit value to send with the transaction | No | |
| | --valid-until &lt;unixTimestamp&gt; | Unix timestamp after which the transaction is invalid | No | |
| | --args &lt;args...&gt; | Contract arguments. Supported types: | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/finalize-batch.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Finalize a batch of idle transactions in a single call (public call)
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/finalize.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Finalize a transaction that is ready to be finalized (public call)
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/index.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -33,6 +33,7 @@ Version: `0.39.1`
- `genlayer finalize-batch` — Finalize a batch of idle transactions in a single call (public call)
- `genlayer staking` — Staking operations for validators and delegators
- `genlayer vesting` — Vesting operations for beneficiaries
- `genlayer wallet` — Manage the persistent browser-wallet (MetaMask) signing session

---

Expand Down
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Claim delegator withdrawals after unbonding period
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Exit as a delegator by withdrawing shares from a validator
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/delegator-join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Join as a delegator by staking with a validator
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/prime-all.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Prime all validators that need priming
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/set-identity.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -30,4 +30,5 @@ Set validator identity metadata (moniker, website, socials, etc.)
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/set-operator.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,4 +23,5 @@ Change the operator address for a validator wallet
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -21,4 +21,5 @@ Claim validator withdrawals after unbonding period
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-deposit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Make an additional deposit to a validator wallet
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Exit as a validator by withdrawing shares
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,4 +19,5 @@ Join as a validator by staking tokens
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/validator-prime.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,4 +22,5 @@ Prime a validator to prepare their stake record for the next epoch
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/staking/staking/wizard.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,4 +17,5 @@ Interactive wizard to become a validator
| | --skip-identity | Skip identity setup step | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --staking-address &lt;address&gt; | Staking contract address (overrides chain config) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/transactions/appeal.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -18,4 +18,5 @@ Appeal a transaction by its hash
| --- | --- | --- | :---: | --- |
| | --bond &lt;amount&gt; | Appeal bond amount (e.g. 500gen, 0.5gen). Auto-calculated if omitted | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,4 +24,5 @@ Claim vesting delegation withdrawals after unbonding period
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/delegate.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Delegate vesting-held tokens to a validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/undelegate.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,4 +24,5 @@ Undelegate all vesting delegation shares from a validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/claim.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -16,12 +16,13 @@ Claim vesting validator withdrawals after unbonding period

| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/validator/create.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Create a vesting-backed validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/deposit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,12 +17,13 @@ Deposit more vesting-held tokens to a validator wallet
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --amount &lt;amount&gt; | Amount to deposit (in wei or with 'eth'/'gen' suffix) | No | |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
3 changes: 2 additions & 1 deletion docs/api-references/vesting/validator/exit.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -17,12 +17,13 @@ Exit vesting validator self-stake by withdrawing shares
| Short | Long | Description | Required | Default |
| --- | --- | --- | :---: | --- |
| | --shares &lt;shares&gt; | Number of shares to withdraw | No | |
| | --wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --validator-wallet &lt;address&gt; | Validator wallet address (deprecated, use positional arg) | No | |
| | --vesting &lt;address&gt; | Vesting contract address (overrides beneficiary lookup) | No | |
| | --account &lt;name&gt; | Account to use | No | |
| | --password &lt;password&gt; | Password to unlock account (skips interactive prompt) | No | |
| | --network &lt;network&gt; | built-in or custom network alias (see: genlayer network list) | No | |
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
1 change: 1 addition & 0 deletions docs/api-references/vesting/validator/join.mdx
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,4 +25,5 @@ Create a vesting-backed validator
| | --rpc &lt;rpcUrl&gt; | RPC URL for the network | No | |
| | --factory &lt;address&gt; | VestingFactory address (overrides AddressManager lookup) | No | |
| | --address-manager &lt;address&gt; | AddressManager address (overrides consensus lookup) | No | |
| | --wallet &lt;mode&gt; | Signing mode: 'keystore' or 'browser' (sign in MetaMask via a local bridge; forward the port for remote/SSH: ssh -L &lt;port&gt;:127.0.0.1:&lt;port&gt;). Defaults to the 'walletMode' config value, else 'keystore'. | No | |
| -h | --help | display help for command | No | |
Loading
Loading