Test for Error
Hands-on exercise: Test for Error
Objectives
By the end of this exercise, you will be able to:
- Verify you can no longer submit transactions after removing your transactor permissions
- Verify you can no longer deploy contracts after removing your deployer permissions
- Recognize the failure modes users will see in wallets and dApps
Prerequisites
Before starting this exercise, ensure you have:
- Completed the previous lesson and removed your wallet from Admin on both allowlist precompiles
- Still connected to your L1 in Core Wallet
Instructions
Step 1: Attempt a normal transaction (should fail)
In your Core Wallet browser extension:
- Stay on your L1 network
- Try to send a small amount of the native token to any address you control
- Confirm the transaction
You should see a failure/revert because the Transaction AllowList blocks your address from submitting transactions.
Step 2: Attempt a contract deployment (should fail)
Use the ICM demo deploy tool (any deployment attempt works — we’re just testing deploy restrictions):
Checking requirements...
When you try to deploy, the transaction should fail because the Contract Deployer AllowList blocks your address from deploying contracts.
Step 3: Record what you observed
Note the exact error messages you see in:
- Core Wallet
- Console UI (if any)
These are the same user-facing symptoms you must plan for when operating a restricted-access L1.
Expected Output
You should see:
- A failed value transfer transaction (blocked by Transaction AllowList)
- A failed contract deployment (blocked by Contract Deployer AllowList)
Verification
To verify you've completed this exercise successfully:
- You cannot send transactions from your wallet on the L1
- You cannot deploy a contract from your wallet on the L1
Troubleshooting
My transaction still succeeds
- You likely still have Enabled access on the Transaction AllowList (or you didn’t enable it at genesis).
- Verify the precompile is enabled and your role is None.
Next Steps
Next we’ll cover how to safely recover from mistakes like this using network upgrades (enable/disable + role recovery).
Is this guide helpful?