The Wallet team merged 3 PRs this month:
CHANGELOG:
Don't throw on failed debonding transaction
Screenshots CI was still broken. https://github.com/oasisprotocol/wallet/actions/workflows/update-screenshots.yml
All causes since #2174:
CHANGELOG:
Fix screenshots CI
The Cli team merged 14 PRs this month:
This PR:
rofl upgrade, if there are any changes to the manifestrofl rm to advanced sectionrofl deploy docs and mentions ROFL marketplacerofl upgrade commandrofl secret commandrofl provider commandRequired by oasisprotocol/docs#1261
Requires at least rofl-scheduler 0.2.0 on the provider side (currently in oasisprotocol/oasis-sdk#2236) with Oasis Core master.
Waiting for client-sdk/go/v0.14.1.
Closes #415.
Use Oasis-managed Mainnet ROFL provider by default.
You typically don't encrypt test accounts when developing ROFLs, so the -y flag comes handy in this case to check the logs.
Full Changelog: v0.13.4...v0.14.0
The number of daily transactions on Sapphire Mainnet fluctuated between 10,591 and 137,055. The monthly average in June was 29,754 transactions per day and was 6% lower compared to the last month (31,588 transactions). The daily maximum was 137,055 transactions on 17 June (compared to 122,750 the last month on 16 May).
| date | all |
|---|---|
| 2025-06-01 | 10,591 |
| 2025-06-02 | 19,286 |
| 2025-06-03 | 13,963 |
| 2025-06-04 | 13,208 |
| 2025-06-05 | 12,122 |
| 2025-06-06 | 17,975 |
| 2025-06-07 | 20,638 |
| 2025-06-08 | 17,940 |
| 2025-06-09 | 15,884 |
| 2025-06-10 | 19,649 |
| 2025-06-11 | 19,698 |
| 2025-06-12 | 18,444 |
| 2025-06-13 | 12,444 |
| 2025-06-14 | 11,596 |
| 2025-06-15 | 15,862 |
| 2025-06-16 | 73,993 |
| 2025-06-17 | 137,055 |
| 2025-06-18 | 24,226 |
| 2025-06-19 | 128,473 |
| 2025-06-20 | 27,408 |
| 2025-06-21 | 18,395 |
| 2025-06-22 | 12,933 |
| 2025-06-23 | 19,379 |
| 2025-06-24 | 18,463 |
| 2025-06-25 | 16,659 |
| 2025-06-26 | 112,841 |
| 2025-06-27 | 21,620 |
| 2025-06-28 | 12,533 |
| 2025-06-29 | 12,599 |
| 2025-06-30 | 16,748 |
| 2025-07-01 | 1,028 |
The number of daily transactions on Emerald Mainnet fluctuated between 3,257 and 3,852. The monthly average in June was 3,484 transactions per day and was 7% lower compared to the last month (3,730 transactions). The daily maximum was 3,852 transactions on 23 June (compared to 4,396 the last month on 12 May).
| date | all |
|---|---|
| 2025-06-01 | 3,261 |
| 2025-06-02 | 3,625 |
| 2025-06-03 | 3,396 |
| 2025-06-04 | 3,510 |
| 2025-06-05 | 3,645 |
| 2025-06-06 | 3,393 |
| 2025-06-07 | 3,310 |
| 2025-06-08 | 3,257 |
| 2025-06-09 | 3,342 |
| 2025-06-10 | 3,696 |
| 2025-06-11 | 3,576 |
| 2025-06-12 | 3,734 |
| 2025-06-13 | 3,709 |
| 2025-06-14 | 3,336 |
| 2025-06-15 | 3,269 |
| 2025-06-16 | 3,372 |
| 2025-06-17 | 3,742 |
| 2025-06-18 | 3,450 |
| 2025-06-19 | 3,311 |
| 2025-06-20 | 3,452 |
| 2025-06-21 | 3,396 |
| 2025-06-22 | 3,663 |
| 2025-06-23 | 3,852 |
| 2025-06-24 | 3,617 |
| 2025-06-25 | 3,427 |
| 2025-06-26 | 3,442 |
| 2025-06-27 | 3,262 |
| 2025-06-28 | 3,372 |
| 2025-06-29 | 3,296 |
| 2025-06-30 | 3,815 |
| 2025-07-01 | 267 |
{{NODE_STATS mainnet}}
No major outages were reported for Oasis foundation-provided services in June. A few-minutes downtimes were encountered by the ... You can check out the details on the Mainnet status page.
We have released Oasis Core 25.4 for TESTNET.
Key highlights include: ➡️ Add support for components like the ROFL scheduler to access logs of other components. ➡️ Add support for component label attestation. ➡️ Various minor bug fixes.
Visit the changelog (https://github.com/oasisprotocol/oasis-core/blob/v25.4/CHANGELOG.md) to view all changes. The upgrade is non-breaking and can be performed at any time by replacing the oasis-node binary and restarting your node. All node operators on TESTNET are encouraged to upgrade. For more information and links to releases, see the updated TESTNET network parameters (https://docs.oasis.io/node/testnet/). Thanks!
The number of daily transactions on Sapphire Testnet fluctuated between 8,579 and 24,696. The monthly average in June was 16,352 transactions per day and was 13% lower compared to the last month (18,773 transactions). The daily maximum was 24,696 transactions on 22 June (compared to 46,427 the last month on 11 May).
| date | all |
|---|---|
| 2025-06-01 | 15,599 |
| 2025-06-02 | 16,867 |
| 2025-06-03 | 17,019 |
| 2025-06-04 | 18,085 |
| 2025-06-05 | 17,437 |
| 2025-06-06 | 17,518 |
| 2025-06-07 | 9,772 |
| 2025-06-08 | 8,584 |
| 2025-06-09 | 8,659 |
| 2025-06-10 | 8,579 |
| 2025-06-11 | 8,747 |
| 2025-06-12 | 8,910 |
| 2025-06-13 | 9,123 |
| 2025-06-14 | 17,207 |
| 2025-06-15 | 17,192 |
| 2025-06-16 | 17,508 |
| 2025-06-17 | 17,547 |
| 2025-06-18 | 17,844 |
| 2025-06-19 | 24,513 |
| 2025-06-20 | 18,197 |
| 2025-06-21 | 17,861 |
| 2025-06-22 | 24,696 |
| 2025-06-23 | 16,880 |
| 2025-06-24 | 17,255 |
| 2025-06-25 | 17,326 |
| 2025-06-26 | 17,192 |
| 2025-06-27 | 18,776 |
| 2025-06-28 | 21,170 |
| 2025-06-29 | 21,521 |
| 2025-06-30 | 22,982 |
| 2025-07-01 | 777 |
The number of daily transactions on Emerald Testnet fluctuated between 3,017 and 3,287. The monthly average in June was 3,259 transactions per day and was 4% lower compared to the last month (3,390 transactions). The daily maximum was 3,287 transactions on 30 June (compared to 5,619 the last month on 25 May).
| date | all |
|---|---|
| 2025-06-01 | 3,017 |
| 2025-06-02 | 3,264 |
| 2025-06-03 | 3,266 |
| 2025-06-04 | 3,280 |
| 2025-06-05 | 3,266 |
| 2025-06-06 | 3,268 |
| 2025-06-07 | 3,262 |
| 2025-06-08 | 3,263 |
| 2025-06-09 | 3,267 |
| 2025-06-10 | 3,265 |
| 2025-06-11 | 3,267 |
| 2025-06-12 | 3,265 |
| 2025-06-13 | 3,261 |
| 2025-06-14 | 3,268 |
| 2025-06-15 | 3,263 |
| 2025-06-16 | 3,269 |
| 2025-06-17 | 3,263 |
| 2025-06-18 | 3,268 |
| 2025-06-19 | 3,263 |
| 2025-06-20 | 3,265 |
| 2025-06-21 | 3,265 |
| 2025-06-22 | 3,263 |
| 2025-06-23 | 3,266 |
| 2025-06-24 | 3,265 |
| 2025-06-25 | 3,266 |
| 2025-06-26 | 3,260 |
| 2025-06-27 | 3,262 |
| 2025-06-28 | 3,281 |
| 2025-06-29 | 3,283 |
| 2025-06-30 | 3,287 |
| 2025-07-01 | 271 |
{{NODE_STATS testnet}}
No major outages were reported for Oasis foundation-provided services in June. A few-minutes downtimes were encountered by the ... You can check out the details on the Testnet status page.
The Nexus team merged 34 PRs this month:
In the old code, when the block analyzer was near the head of the chain, the backoff was almost always at 6 seconds.
See retry interval quickly increasing to 6 seconds on a recently started node that is at the head of the chain:
{"analyzer":"sapphire","caller":"block.go:420","height":12287791,"level":"info","mode":"slow-sync","module":"analysis_service","msg":"no data available; will retry","retry_interval_ms":100,"ts":"2025-06-25T08:36:03.901279912Z"}
{"analyzer":"sapphire","caller":"block.go:420","height":12287791,"level":"info","mode":"slow-sync","module":"analysis_service","msg":"no data available; will retry","retry_interval_ms":200,"ts":"2025-06-25T08:36:04.13376454Z"}
{"analyzer":"sapphire","caller":"block.go:420","height":12287791,"level":"info","mode":"slow-sync","module":"analysis_service","msg":"no data available; will retry","retry_interval_ms":400,"ts":"2025-06-25T08:36:04.570368877Z"}
{"analyzer":"sapphire","caller":"block.go:420","height":12287791,"level":"info","mode":"slow-sync","module":"analysis_service","msg":"no data available; will retry","retry_interval_ms":800,"ts":"2025-06-25T08:36:05.403994745Z"}
{"analyzer":"sapphire","caller":"block.go:420","height":12287792,"level":"info","mode":"slow-sync","module":"analysis_service","msg":"no data available; will retry","retry_interval_ms":1440,"ts":"2025-06-25T08:36:07.952763714Z"}
{"analyzer":"sapphire","caller":"block.go:420","height":12287792,"level":"info","mode":"slow-sync","module":"analysis_service","msg":"no data available; will retry","retry_interval_ms":2880,"ts":"2025-06-25T08:36:10.862558227Z"}
{"analyzer":"sapphire","caller":"block.go:420","height":12287794,"level":"info","mode":"slow-sync","module":"analysis_service","msg":"no data available; will retry","retry_interval_ms":4665,"ts":"2025-06-25T08:36:21.879480568Z"}
{"analyzer":"sapphire","caller":"block.go:420","height":12287798,"level":"info","mode":"slow-sync","module":"analysis_service","msg":"no data available; will retry","retry_interval_ms":6000,"ts":"2025-06-25T08:36:46.568709867Z"}
{"analyzer":"sapphire","caller":"block.go:420","height":12287803,"level":"info","mode":"slow-sync","module":"analysis_service","msg":"no data available; will retry","retry_interval_ms":6000,"ts":"2025-06-25T08:37:21.578675488Z"}
{"analyzer":"sapphire","caller":"block.go:420","height":12287810,"level":"info","mode":"slow-sync","module":"analysis_service","msg":"no data available; will retry","retry_interval_ms":5739,"ts":"2025-06-25T08:38:03.155313823Z"}
{"analyzer":"sapphire","caller":"block.go:420","height":12287817,"level":"info","mode":"slow-sync","module":"analysis_service","msg":"no data available; will retry","retry_interval_ms":5490,"ts":"2025-06-25T08:38:43.316051961Z"}This often caused the analyzers to lag behind the head by 1–2 blocks. There were a couple of reasons for this, so we’ve restructured the code, simplified the logic, and adjusted the backoff behavior for block analyzers.
Summary of changes:
isRecentOutOfRangeError). In such cases, we now poll every 1 second.In practice, a failing analyzer should now send queries less frequently (previously every 6 seconds, now up to a 30-second maximum timeout). However, after recovering, or when at the head of the chain, it should resume polling more quickly (every 1 second).
CHANGELOG:
analyer/block: Simplify and improve batch processing
Fixes #910
abi_parsed_at field in runtime_transactions and events non-nill, to simplify queries and improve index usageTODO:
RuntimeEvmVerifiedContractTxs
QUERY PLAN
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Limit (cost=698040.63..698043.13 rows=1000 width=880) (actual time=134.601..134.607 rows=7 loops=1)
-> Sort (cost=698040.63..698465.63 rows=170000 width=880) (actual time=134.600..134.604 rows=7 loops=1)
Sort Key: tx.round DESC
Sort Method: quicksort Memory: 73kB
-> Nested Loop (cost=0.69..688719.71 rows=170000 width=880) (actual time=95.900..134.496 rows=7 loops=1)
-> Seq Scan on evm_contracts (cost=0.00..854.34 rows=170 width=765) (actual time=0.119..2.820 rows=373 loops=1)
Filter: ((abi IS NOT NULL) AND (runtime = 'sapphire'::runtime))
Rows Removed by Filter: 10437
-> Limit (cost=0.69..4021.27 rows=1000 width=724) (actual time=0.271..0.352 rows=0 loops=373)
-> Index Scan using ix_runtime_transactions_to_round_abi_parsed_at on runtime_transactions tx (cost=0.69..85976.66 rows=21384 width=724) (actual time=0.271..0.352 rows=0 loops=373)
Index Cond: ((runtime = evm_contracts.runtime) AND (("to")::text = (evm_contracts.contract_address)::text) AND (abi_parsed_at < evm_contracts.verification_info_downloaded_at))
Planning Time: 0.424 ms
Execution Time: 134.690 ms
(13 rows)
RuntimeEvmVerifiedContractEvents
QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Limit (cost=361266.87..361269.37 rows=1000 width=982) (actual time=96.899..97.013 rows=1000 loops=1)
-> Sort (cost=361266.87..361691.87 rows=170000 width=982) (actual time=96.897..96.946 rows=1000 loops=1)
Sort Key: e.round DESC
Sort Method: top-N heapsort Memory: 2049kB
-> Nested Loop (cost=1.25..351945.95 rows=170000 width=982) (actual time=29.907..78.912 rows=27234 loops=1)
-> Nested Loop (cost=0.56..2311.66 rows=170 width=786) (actual time=0.105..8.796 rows=360 loops=1)
-> Seq Scan on evm_contracts (cost=0.00..854.34 rows=170 width=765) (actual time=0.074..2.877 rows=373 loops=1)
Filter: ((abi IS NOT NULL) AND (runtime = 'sapphire'::runtime))
Rows Removed by Filter: 10437
-> Index Scan using address_preimages_pkey on address_preimages p (cost=0.56..8.57 rows=1 width=68) (actual time=0.015..0.015 rows=1 loops=373)
Index Cond: ((address)::text = (evm_contracts.contract_address)::text)
-> Limit (cost=0.70..2046.67 rows=1000 width=229) (actual time=0.108..0.187 rows=76 loops=360)
-> Index Scan using ix_runtime_events_abi_parsed_at on runtime_events e (cost=0.70..250573.28 rows=122471 width=229) (actual time=0.107..0.182 rows=76 loops=360)
Index Cond: ((runtime = evm_contracts.runtime) AND ((body ->> 'address'::text) = encode(p.address_data, 'base64'::text)) AND (abi_parsed_at < evm_contracts.verification_info_downloaded_at))
Planning Time: 1.598 ms
Execution Time: 97.192 ms
(16 rows)
CHANGELOG:
evmabi-backfill: Optimize db queries
CHANGELOG:
api/roflmarket: Add endpoints to fetch specific instance/offer
Added `/{runtime}/roflmarket_providers/{address}/instances/{id}` and `/{runtime}/roflmarket_providers/{address}/offers/{id}` api endpoints.
CHANGELOG:
api/rofl_apps: Add support for sorting by creation time
Supports the `sort_by` query parameter:
- `sort_by=created_at`
- `sort_by=created_at_desc`
Example: `GET v1/{runtime}/rofl_apps?sort_by=created_at`
Fixes: #1051
CHANGELOG:
analyzer/runtime: Use events to detect rofl related txs
CHANGELOG:
api/roflmarket_instances: Support filtering by admin address
- The old endpoint `/{runtime}/roflmarket_providers/{address}/instances` has been removed.
- Clients should now use: `/{runtime}/roflmarket_instances?provider={address}` to filter instances by provider address.
Fixes #1062 (likely)
Not sure how I missed this in the initial impl.
CHANGELOG:
storage/roflmarket: Fix roflmarket tables constrains
CHANGELOG:
roflmarket: Properly mark removed instances/offers
Fixes #1039
CHANGELOG:
storage/roflmarket: Fix double hex-encoded fields
CHANGELOG:
api/roflmarket_instances: Support filtering by deployed app id
Initially, rofl apps did not have metadata. Update rofl instances to support metadata and queue refresh of all active rofl apps, so that the instance metadata is fetched.
CHANGELOG:
rofl_instances: Support rofl instance metadata
CHANGELOG:
Add ROFL pools to named accounts
This makes the query ValidatorStakingHistoryUnprocessedEpochs used by validator_history analyzer efficient.
The table and the index are small compared to other tables, so overhead by adding this index is small.
CHANGELOG:
Add epoch index for history.validators
This makes it consistent with other (runtime) block analyzers.
CHANGELOG:
analyzer/consensus: Record timing only for successful requests
Fixes: #1041
CHANGELOG:
api/roflmarket_instances: Node id is optional
CHANGELOG:
api/rofl_apps: Prioritize non-removed apps in ordering
"Active instances" are computed by just looking at the expiration epoch. However removed apps don't have any active instances (even if the expiration has not yet expired). So just don't compute active instances for that case. That will also fix the sorting, since currently it can happen that a removed app will show up before non-removed one, due to the misleading "active instances".
CHANGELOG:
api/rofl_apps: No active instances for removed apps
Includes: oasisprotocol/oasis-sdk#2230
After the fix is confirmed, tag a new oasis-sdk version and update to that.
CHANGELOG:
openapi: Add roflmarket.ProviderUpdate method
For a list of changes in this release, see the Change Log.
NOTE: If you are upgrading from an earlier release, please carefully review
the Change Log for Removals and Breaking changes.
For a list of changes in this release, see the Change Log.
NOTE: If you are upgrading from an earlier release, please carefully review
the Change Log for Removals and Breaking changes.
For a list of changes in this release, see the Change Log.
NOTE: If you are upgrading from an earlier release, please carefully review
the Change Log for Removals and Breaking changes.
For a list of changes in this release, see the Change Log.
NOTE: If you are upgrading from an earlier release, please carefully review
the Change Log for Removals and Breaking changes.
For a list of changes in this release, see the Change Log.
NOTE: If you are upgrading from an earlier release, please carefully review
the Change Log for Removals and Breaking changes.
For a list of changes in this release, see the Change Log.
NOTE: If you are upgrading from an earlier release, please carefully review
the Change Log for Removals and Breaking changes.
For a list of changes in this release, see the Change Log.
NOTE: If you are upgrading from an earlier release, please carefully review
the Change Log for Removals and Breaking changes.
For a list of changes in this release, see the Change Log.
NOTE: If you are upgrading from an earlier release, please carefully review
the Change Log for Removals and Breaking changes.
For a list of changes in this release, see the Change Log.
NOTE: If you are upgrading from an earlier release, please carefully review
the Change Log for Removals and Breaking changes.
The Explorer team merged 33 PRs this month:
Before this change, we executed all text searches looking for an exact match. So if we searched for "apple pie", it matched "apple pie", but not "apple-pie", and definitely not "pie with apple".
However, Nexus has now (oasisprotocol/nexus#1026) enhanced the search feature for rofl apps and evm tokens to cover these cases, too.
So this PR introduces flexible multi-word searching for all text searches. The search query is tokenized, and we are searching for all of them independently. We have a match if all of them are found, in whatever order.
Here are a few test searched with work with this PR, but didn't work earlier:
For reviewers: I suggest going commit by commit.
CHANGELOG:
Enable flexible multi-word searching in names
This is a follow-up to #2002, where @lukaw3d commented:
I somewhat prefer string literals 🤷
So, this PR increases the usage of string literals, instead of Layer and Network constants.
So,
Network.mainnet => 'mainnet'Layer.sapphire => 'sapphire'etc.
CHANGELOG:
Prefer string literals instead of constants
Fixes #2036
https://explorer.oasis.io/testnet/sapphire/address/oasis1qp2ens0hsp7gh23wajxa4hpetkdek3swyyulyrmz
CHANGELOG:
Fix exhausted type error in production (should be a console warning)
CHANGELOG:
Layer handling cleanup
import.meta warning, but it works. not sure how to make it happyCHANGELOG:
Migrate build and tests from parcel/jest to vite/vitest
This PR is an updated version of #1987, rebased on top of #2012, so that it has the latest multi-word flex search.
See demo of flex search in the Rofl app list here: https://pr-2013.oasis-explorer.pages.dev/testnet/sapphire/rofl/app?name=tg+cha
Original description follows.
===========
The Nexus API has already added support for filtering the Rofl app list by name in oasisprotocol/nexus#997.
In Explorer, currently this is only unitized in the global search since #1973/. (So that we can find Rofl apps from the global search field.)
This PR adds name/based filtering to the Rofl app list page itself.
I suggest reviewing commit by commit, because the different commits add different (small) features, and also there were some preparatory code refactorings, which would otherwise obscure the actual changes.
Filtering the list on the desktop
When no match:
On mobile:
On mobile, vertical mode:
No match on mobile:
CHANGELOG:
Add support for filtering Rofl app list by name
Improves #1999
Now a failing query won't collapse the whole consensus dashboard, only the relevant card.
Every card has been split to two component, and the internal parts are now wrapped in the appropriate error boundaries.
The same could be done to the paratime dashboard, too.
Plus, the design could obviously improved, but this already avoids the collapsing of the whole board, so definitely improves the UX.
Instead of this, now we get:
CHANGELOG:
Improve Consensus dashboard resilience
This is a follow-up to #2004; delivering the second part of #1999.
This makes the paratime dashboard more robust.
With almost everything blocked:
CHANGELOG:
Improve runtime dashboard resilience
Fixes #2006.
CHANGELOG:
Don't show fake fiat zero value on Gecko failures
Closes #1767
global search results
https://pr-2026.oasis-explorer.pages.dev/search?q=GateOmega
vs master
https://explorer.dev.oasis.io/search?q=GateOmega
validator without metadata sample
https://pr-2026.oasis-explorer.pages.dev/search?q=oasis1qqs5wnxvsk009swtt7ehm5fslxve96kczszwt47s
vs master
https://explorer.dev.oasis.io/search?q=oasis1qqs5wnxvsk009swtt7ehm5fslxve96kczszwt47s
local search correctly redirects to validator page
https://pr-2026.oasis-explorer.pages.dev/mainnet/consensus/search?q=oasis1qqs5wnxvsk009swtt7ehm5fslxve96kczszwt47s
vs master
https://explorer.dev.oasis.io/mainnet/consensus/search?q=oasis1qqs5wnxvsk009swtt7ehm5fslxve96kczszwt47s
correct buttons in search result
CHANGELOG:
Correctly mark validators accounts in search results
Improves #1943
https://explorer.dev.oasis.io/mainnet/consensus/tx/ef055a0d2e3c04a8bf831a20cede78eca9fff3821acfd4b64e2c9a855c3d5b8e
https://explorer.dev.oasis.io/testnet/consensus/address/oasis1qpwaggvmhwq5uk40clase3knt655nn2tdy39nz2f
https://explorer.dev.oasis.io/mainnet/consensus/validators/oasis1qq0xmq7r0z9sdv02t5j9zs7en3n6574gtg8v9fyt
CHANGELOG:
Inline copy button next to some account links using AdaptiveTrimmer
Changing some basic styling in order to ease transition to the new design and implementation of shadcn components.
CHANGELOG:
Change explorer background, logo and card borders
CHANGELOG:
Simplify VerificationIcon internals
@donouwens has requested some adjustments on the network proposal votes page.
Changes made:
| Before | After |
|---|---|
CHANGELOG:
Votes page: adjust filter positions
Closes #1978
CHANGELOG:
Improve tokens table on mobile
CHANGELOG:
Estimate ROFL app instance expiration time based on epoch
Part of #1769
CHANGELOG:
Add tooltip for token origins
CHANGELOG:
Change border-radius to match new design
CHANGELOG:
Hide label of contract verification badge in a table for mobile screens
Extracted + refactored from #1516
https://pr-2044.oasis-explorer.pages.dev/testnet/sapphire/address/0x0100000000000000000000000000000000000103?page=13
CHANGELOG:
Show method name in subcall transactions
Implementation of Fee proxy support #1742. Displaying fee proxy module and id.
CHANGELOG:
Display fee proxy module and id for rofl transactions
http://localhost:1234/mainnet/sapphire/token
Warning: Failed prop type: Invalid prop
childrensupplied toForwardRef(Tooltip2). Expected an element that can hold a ref. Did you accidentally use a plain function component for an element instead? For more
CHANGELOG:
Fix warnings about tooltip child missing forwardRef
CHANGELOG:
Improve transaction method labels
create/remove/updated:
https://pr-2022.oasis-explorer.pages.dev/mainnet/sapphire/tx/ba977253463f6d627369e9a5131df437e12185b761aaa43fc3d751c437581f46
CHANGELOG:
Render links instead of labels in ROFL apps events
CHANGELOG:
Parse ROFL machine commands in transaction body
Status already differentiates two-step transactions with unknown status as pending. And there are currently no other transactions that are missing these.
CHANGELOG:
Assume "unknown" method and status means encrypted so show a lock icon
TableHeaderToggle took up more vertical space than other table headers. Shrinking it reduces table header height
CHANGELOG:
Fix TableHeaderToggle height
CHANGELOG:
In release-tag.js, mark default cli response
Since we are now using white instead of blue bg, the "title on bg" color must be dark, not white, since it must have a contrast with the white bg.
| Before | After |
|---|---|
Fixes #2049
CHANGELOG:
Adjust the titleOnBackground color in the default theme
I added this by accident in #2026
CHANGELOG:
Remove ui-library directory
Show first 10 ERC-20 and ERC-721 transfers on transaction details page. (#1939)
Basic support for searching for ROFL apps by app name fragment (#1973)
Add Monaco Editor for contract source code syntax highlighting (#1979)
Improve Consensus dashboard resilience (#2004)
Change border-radius to match new design (#2011)
Enable flexible multi-word searching in names (#2012)
Add support for filtering Rofl app list by name (#2013)
Improve runtime dashboard resilience (#2018)
Fix LinkableDiv getting covered by sticky header (#1953)
Fix a regression in adaptive trimming (#1970)
Fix details view wrapping on mobile (#1974)
Fix validator delegations value in chart's tooltip (#1995)
Prevent WithHighlighting from taking up more space than original (#1997)
Inline copy button next to some account links using AdaptiveTrimmer (#1998)
Avoid twitching on window height changes (#2000)
Hide label of contract verification badge in a table for mobile screens (#2003)
Don't show fake fiat zero value on Gecko failures (#2017)
Improve tokens table on mobile (#2021)
Correctly mark validators accounts in search results (#2026)
Speedup CI: use playwright container instead of installing system deps (#1956)
Migrate build and tests from parcel/jest to vite/vitest (#1975)
Update API bindings (#1977)
Migrate Cloudflare preview deploys to wrangler action (#1990)
Layer handling cleanup (#2002)
Prefer string literals instead of constants (#2016)
The Oasis Sdk team merged 17 PRs this month:
Fixes #2229
This PR revamps the Build ROFL chapters:
Requires oasisprotocol/docs#1261 to work.
Prerelease yarn add https://github.com/oasisprotocol/oasis-sdk/raw/732ef972559ec246b38e1dc595cb2f11cd87b357/client-sdk/ts-web/rt/oasisprotocol-client-rt-1.2.1-0.tgz
Fixes #2243 (comment)
Also, add price to offers and add --network parameter to the rofl create command so it's clear where the users can select a different chain.
One of our partners stumbled upon this issue.
Upgrading CLI to 14.0 and Core to 25.4.x for rofl-dev Docker image.
oasis-sdk/rofl-appd/src/routes/tx.rs
Line 73 in 840e66d
oasis-sdk/rofl-appd/src/routes/tx.rs
Line 102 in 840e66d
The Sapphire Paratime team merged 3 PRs this month:
Emails such as oasis@oasisprotocol.org and team@oasisprotocol.org still remain at oasisprotocol.org.
Passing arguments enables url overriding and transport batching control
fixes #590
The Oasis Web3 Gateway team merged 9 PRs this month:
There is a new function added in the go1.21 standard library, which can make the code more concise and easy to read.
fix some typos in comment
The Docs team merged 10 PRs this month:
This PR:
Fixes oasisprotocol/oasis-sdk#2089, oasisprotocol/oasis-sdk#2160, oasisprotocol/oasis-sdk#2171, #1193,
Preview: ROFL Build, ROFL Node
Change links from oasisprotocol.org to oasis.net.
Also replaces the "Oasis Protocol Foundation" in the Network information pages and Getting involved -> Run ParaTime simply with "Oasis".
When merging oasisprotocol/oasis-core#6213 I realized the docs dependabot doesn't want to update the oasis-core external module, because we have it pinned to an ancient v24.2.x.
Instead of bumping the oasis-core repo version each time a new release is made, let's simply have the master branch referenced, and let dependabot follow the latest changes. If any chapters disappear from the core repo (unlikely though), the docs linter will still catch it.
The Demo Rofl Chatbot team merged 1 PRs this month:
I don't know if this is actually behavior we want. But field name was wrong
The Demo Rofl team merged 2 PRs this month:
This adds the contracts from the example to the repository, to make the life of hackers on hackathons easier.
The Demo Quiz team merged 1 PRs this month:
Currently, the task only printed those to stdout which is clumsy for storing to file because of the whitespaces etc.
Add support for writing coupons to a file.
The Dapp Blockvote team merged 15 PRs this month:
Make it possible to set the application title, tagline, background, etc. from the .env settings.
In case of RPC issues, show error messages
that makes it clear that we are having
RPC issues, and not issues with the data.
This is needed because we are often rate limited on our Web3 RPC gateway, and then we get random failures.
With this in place, the reason for failure can be clearly seen, and together with #141, the user can just re-try until success.
By better optimizing frontend code, implementing caching where applicable, etc.
This is needed because we are often rate-limited on the Web3 RPC gateways. With this in place, now we need to send less messages, so there is a smaller chance of failure.
The overall effect is that now there is support for allowing the user for manually re-trying a failed validation.
The idea is that we want to handle all paths
(including non-existent files) with the app routing, and don't want to see 404 page from GH pages at all.
Opening /lido should redirect vote-lido.oasis.io
Follow-up to #143, since the prev. version only worked locally, not after deployment.
Since we are now handing all routing via the app router,
we can now do the redirect using the originally planned method.
Currently we have some failures in the hardhat test cases.
We need the tests passing, so that we can deploy the master branch.
So as a quick and dirty solution, I am skipping the failing test cases.
Follow-up to #145.
Some of the before() hooks is also timing out, so skip that, too.
This changes URLs to a more natural form, like:
(This was not possible earlier because of how deployment was set up, but since #148 all URLs will reach the router, so now we can do this.)
In same cases, when trying to run the app, we can get errors referring to permission problem to '/.config/svgrrc'.
This is because one of the tools is searching for it's configuration file at the wrong location.
Adding this file at the project roots takes care of this issue.
The Oasis Core team merged 15 PRs this month:
These changes enable stateless nodes to retrieve trusted state roots from the block metadata transaction and use untrusted remote nodes to fetch state and run service clients.
Closes #6238
CHANGELOG:
go/worker/storage/committee: Fix stuck storage finalization
Makes sure that service descriptor is created only once and that queries are pushed to the channel immediately.
Fixes #6158
This allows apps to request that the node attests to labels attached to those apps have specific values which can be used to prove specific statements about individual components hosted by a specific node.
CHANGELOG:
Add support for component label attestation
This allows apps to request that the node attests to labels attached to those apps have specific values which can be used to prove specific statements about individual components hosted by a specific node.
Fixes #6230
CometBFT's light client is not safe for concurrent use by multiple goroutines, so we need to verify only one header/block at a time.
Whilst working on #6165 (still WIP) I found iterator code quite hard to follow/debug. I tried to simplify it a bit but am still not 100% convinced by the changes (see comment).
Fixes #6232
CHANGELOG:
go/runtime/localstorage: Fix nil dereference after close
Emails such as oasis@oasisprotocol.org still remains at oasisprotocol.org.
fix some struct field names
fix some function names in comment
For a list of changes in this release, see the Change Log.
NOTE: If you are upgrading from an earlier release, please carefully review
the Change Log for Removals and Breaking changes.
The Oasis Boot team merged 2 PRs this month:
In total, 2 pull requests were merged in June.