Understanding Pending Operations:
The BME module processes mint/burn requests in epochs (batches of ~10 blocks / ~1 minute), not immediately. There is no CLI command to directly view pending operations waiting in the queue.
However, pending operations can be inferred from vault-state:
- Pending mints: When you mint ACT,
balances.uaktincreases immediately (AKT received by vault), butremint_creditsonly updates after the epoch completes. The difference indicates pending mints. - Pending burns: Similar pattern - ACT is received but AKT isn’t released until epoch processes.
To detect pending operations:
# Check vault stateakash query bme vault-state
# If balances.uakt > remint_credits, there are pending mint operations# The difference = amount of AKT awaiting ACT mintingTests in this category verify epoch behavior through vault-state and bank balance changes before and after waiting for epoch completion.
Available BME query commands:
akash query bme paramsakash query bme statusakash query bme vault-state
Test 4.1: Verify Epoch-Based Processing
Objective: Confirm mint requests are processed in epochs, not immediately
User Actions:
- Record initial vault-state:
Terminal window akash query bme vault-state - Submit mint-act request:
Terminal window akash tx bme mint-act 100000000uakt --from <wallet> -y - Immediately query vault-state again:
Note: AKT should be in vault, but ACT may not yet be minted
Terminal window akash query bme vault-state - Wait for epoch (~1 minute / 10 blocks)
- Query vault-state again and bank balance:
Terminal window akash query bme vault-stateakash query bank balances <wallet>
Expected Results:
- Immediately after tx:
vault-state.balances.uaktincreases - After epoch:
vault-state.balances.uactincreasesvault-state.total_minted.uactincreases- User’s bank balance shows ACT
Test 4.2: Multiple Requests Before Epoch
Objective: Verify multiple requests submitted before epoch are all processed
User Actions:
- Record initial state
- Submit multiple mint-act requests in rapid succession:
Terminal window akash tx bme mint-act 50000000uakt --from <wallet> -yakash tx bme mint-act 50000000uakt --from <wallet> -yakash tx bme mint-act 50000000uakt --from <wallet> -y - Wait for epoch processing (~1 minute)
- Verify all requests processed:
Terminal window akash query bme vault-stateakash query bank balances <wallet>
Expected Results:
- All AKT transfers to vault complete
- After epoch: Total ACT minted reflects all three requests
- Final state is consistent (no lost requests)
Test 4.3: Request During Circuit Breaker
Objective: Verify mint requests fail when circuit breaker is active
Preconditions:
- [Testnet Admin] Trigger circuit breaker (mint_status_halt_cr state)
User Actions:
-
Verify circuit breaker is active:
Terminal window akash query bme statusConfirm:
status: mint_status_halt_crandmints_allowed: false -
Attempt to mint ACT:
Terminal window akash tx bme mint-act 100000000uakt --from <wallet> -y -
Observe result
Expected Results:
- Transaction fails with circuit breaker error
- No AKT transferred to vault
refunds_allowedshould still betrue(users can exit via burn-act)
Test 4.4: Detect Pending Operations via Vault-State
Objective: Verify pending mint operations can be detected before epoch processing
Background: While there’s no pending-records CLI command, pending operations can be detected by comparing balances.uakt (updates immediately) with remint_credits (updates after epoch).
User Actions:
-
Record baseline (should be equal if no pending):
Terminal window akash query bme vault-stateNote:
balances.uaktandremint_credits.uaktvalues -
Submit mint request:
Terminal window akash tx bme mint-act 25000000uakt --from <wallet> -y -
Immediately check vault-state (within 10 seconds):
Terminal window akash query bme vault-state -
Calculate pending amount:
Pending = balances.uakt - remint_credits.uakt -
Wait for epoch (~1-2 minutes):
Terminal window sleep 90akash query bme vault-state
Expected Results:
| Metric | Baseline | Immediately After | After Epoch |
|---|---|---|---|
balances.uakt | X | X + 25M (immediate) | X + 25M |
remint_credits | X | X (unchanged) | X + 25M (caught up) |
balances.uact | Y | Y (unchanged) | Y + (25M × price) |
total_minted.uact | Y | Y (unchanged) | Y + (25M × price) |
Key Insight:
balances.uakt > remint_creditsindicates pending operations- Difference equals the AKT amount awaiting epoch processing
- After epoch:
remint_creditscatches up tobalances.uakt