Skip to content

v2.3.0

Latest

Choose a tag to compare

@mixiaowu2023 mixiaowu2023 released this 26 Jun 09:11
b945e7f

Engine-swap + robustness/security hardening baseline. The TVM simulation engine is migrated to @tvmjs, and the failure paths across wallet, Gist, and security headers are systematically reworked to fail honestly — no hangs, no silent failures.

Changed

  • TVM engine swap: the whole VM simulation engine is migrated to @tvmjs (binarytree / block / blockchain / tx / vm / statemanager, etc.); address, energy, bandwidth, feeLimit, callValue, and TRC10/TRC20 parameter semantics are aligned with the TRON spec.
  • Theme sync: the editor switches theme together with the rest of the UI — no more editor/shell theme mismatch.

Fixed

  • Wallet / injected TronWeb no longer hang: signMessage, balance reads, the txRunner sign/build/broadcast path, and tron_requestAccounts are all bounded by timeouts — a dead bridge surfaces an error within a finite time instead of being stuck on "pending…" forever.
  • Distinct wallet-connect states: rejected / locked / stale (dead-bridge demote-and-reconnect hint) are now distinguished; stale/zombie injected bridges are detected rather than trusted from cached state, and a removed bridge is no longer misreported as a user rejection.
  • Gist flow: backfill truncated/empty file content from raw_url; fail clearly on an invalid gist id instead of ignoring it silently; no longer hang on "Saving gist…" when a save fails; honor the GitHub token from the header; reload even when only the URL hash params change.
  • Contract-verification address handling: normalize 41... / 0x... to base58 before querying; stop falsely reporting "found" for an invalid or non-contract address; validate the address before generating the verification package.
  • udapp: render the injected deploy receipt faithfully instead of hanging on "pending…"; keep the contract dropdown and At Address in step with the active file; keep the account list populated when an injected switch falls back to VM.
  • Editor / files: don't blank the editor on a read error; clear instances on workspace switch.
  • File Explorer / static analysis: surface previously silent file/Gist failures; Slither no longer analyzes a stale file and Run is disabled when there is no compilation.
  • Blockchain: flush the network cache on provider re-injection and bound the probes.

Security

  • CSP served as an HTTP response header (not only via <meta>), and X-Frame-Options / X-Content-Type-Options are sent in dev as well; Docker images ship nginx.conf so the headers stay consistent.
  • Clickjacking: a frame-buster is added to index.html.
  • Dependency security: OWASP dependency-check wired in; uuid and similar advisories reviewed and suppressed where appropriate.

Notes

  • On-chain signing/broadcast and the real-world effectiveness of the security headers are environment-bound and require a real TronLink (Nile) and Ops production verification.