Bug: opBNB->Solana withdraw_execute fails -- RateLimitExceededPerTx (6035) #105
Labels
No labels
agent:implement
agent:ready
backend
bug
cannot-reproduce
confirmed
desktop
docs
documentation
duplicate
enhancement
feature
frontend
good first issue
help wanted
high-risk
in-review
invalid
mobile
needs-triage
P0-critical
P1-high
P2-medium
P3-low
qa
QA
question
ready
report
responsive
security
security-escalate
smart-contract
solana
tablet
test-pass
ux
wallet-issue
wallet:keplr
wallet:metamask
wallet:station
wallet:walletconnect
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
code/cl8y-bridge-monorepo#105
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Mainnet v0.1.82 (
7cb18b3+ operator hotfix 4/10)opBNB->Solana 0.995 testa nonce 17 (hash 0x08dfd2dcd7163791...). Deposit OK, withdrawSubmit OK, operator approved, but withdraw_execute simulation fails:
0.995 testa exceeds the per-tx rate limit configured on the Solana bridge program. BSC->Solana 0.995 testa worked fine, so the rate limit config differs per source chain or the opBNB token mapping has a tighter limit.
Similar pattern to #100 (EVM-side rate limit post-fee issue).
Acceptance criteria:
Rate limit updated by dev (4/10). Same transfer now fails with the opposite error:
RateLimitBelowMin (6034) -- 0.995 testa below configured minimum per transaction (was RateLimitExceededPerTx 6035 before update).
rate_limit.rs:64 instead of :67. The update lowered the max but also raised the min above 0.995.
Fresh opBNB->Solana 9.95 testa nonce 19 (hash 0x044bc4fbf7443af61b3e70a4eb7d8bcbc41d996c53825e8d4c4e847f34a63656). Verify page shows hash never submitted to Solana. Auto-submit failed (403 RPC). "Submit Hash Now" button on verify page redirects back to bridge page instead of submitting. Transfer stuck at step 2.
The 1 testa attempt also stuck at same point -- both below min rate limit AND hash never submitted.
All Solana-destination frontend interactions are broken by the api.mainnet.solana.com 403 polling. Only BSC->Solana worked earlier because auto-submit happened to succeed before the RPC got rate-limited.
@brouie Triage (repo
main):RateLimitExceededPerTxis enforced on normalized payout vsWithdrawRateLimit(per SPL mint). Admin tooling:packages/contracts-solana/scripts/set-mainnet-withdraw-rate-limits.tssets generous explicit caps for the known test SPL mints. If opBNB→Solana still fails after limits are set on-chain, compare normalized payout vs BSC for the same nominal amount (decimals / mapping). Please run or confirm the adminset_rate_limitpath on mainnet and re-test; close if withdrawals succeed.@PlasticDigits Retested all 3 inbound Solana paths today (4/13). Operator approval now works on all paths -- #103 fix confirmed live.
But withdraw_execute fails on ALL Solana-destination paths with RateLimitBelowMin (6034), not just opBNB:
The set-mainnet-withdraw-rate-limits.ts script exists in repo but appears not yet run on mainnet. This blocks all Solana execute steps.
@Brouie This is expected behavior because the minimum is 0.1 for testa, so this can be closed as success. However, we need to open a seperate issue to make sure that when user selects min in frontend, the frontend sends the ACTUAL min, which is min+fees
Closing -- rate limit behavior is expected (amounts below configured minimum). The underlying RateLimitExceededPerTx from original filing is resolved. Frontend UX issue refiled separately -- frontend should show minimum amount or block execute if below threshold instead of letting simulation fail.
mentioned in issue #108