TOC

Oasis May 2025 Engineering update

Wallet and CLI Updates

Wallet

The Wallet team merged 13 PRs this month:

Remove Oasis Monitor leftovers (#2178) ±6288 by lukaw3d @ 2025-05-21.

CHANGELOG:

Remove Oasis Monitor leftovers

Fix warnings and error overlays since parcel@2.14 (#2181) ±103 by lukaw3d @ 2025-05-22.

CHANGELOG:

Fix warnings and error overlays since parcel@2.14

Assemble changes for 2.3.0 release (#2176) ±90 by lukaw3d @ 2025-05-19.

Lets do a release before #2174 and #2173 in case something breaks

Update extension release notes (#2177) ±28 by lukaw3d @ 2025-05-23.

CHANGELOG:

Update extension release notes

Add instructions inside eth private key dropdown (#2171) ±23 by lukaw3d @ 2025-05-06.

image

CHANGELOG:

Add instructions inside eth private key dropdown

Migrate Cloudflare preview deploys to wrangler action (#2185) ±19 by buberdds @ 2025-05-30.

CHANGELOG:

Migrate Cloudflare preview deploys to wrangler action

Update parcel (#2174) ±14 by lukaw3d @ 2025-05-19.

CHANGELOG:

Update dependencies

Set CSS color-scheme to match grommet dark theme (#2170) ±11 by lukaw3d @ 2025-05-06.
Before After
before1 after1
before4 after4
before3 after3
before2 after2

CHANGELOG:

Set CSS color-scheme to match grommet dark theme

Remove react-app-polyfill from runtime (#2172) ±9 by lukaw3d @ 2025-05-06.

CHANGELOG:

Remove react-app-polyfill from runtime

Build APK only on master to speed up PR check (#2179) ±8 by lukaw3d @ 2025-05-23.

APK building takes 2.5 minutes out of 3.5 min ci-build. APK file wasn't even uploaded.

Related 07bf3e3.

CHANGELOG:

Build APK only on master to speed up PR check

Update @oasisprotocol/client (#2173) ±7 by lukaw3d @ 2025-05-19.

Related oasisprotocol/oasis-sdk#2217

CHANGELOG:

Update dependencies

Fix importing images in parcel@2.14 (#2182) ±5 by lukaw3d @ 2025-05-22.

Supersedes #2180
Broken since #2174

CHANGELOG:

Fix importing images in parcel@2.14

Fork @parcel/error-overlay to ignore console.error (for parcel@2.14) (#2184) ±2 by lukaw3d @ 2025-05-27.

Related to #2181

In dev mode since #2174 parcel showed annoying error overlays

Fork diff lukaw3d/parcel-error-overlay-ignore-console@b13a1e1

CHANGELOG:

Fork @parcel/error-overlay to ignore console.error (for parcel@2.14)

1 new releases of wallet were made this month: In total, 13 pull requests were merged in May.


Cli

The Cli team merged 23 PRs this month:

feat(cmd/rofl): Add historic enclave identity support (#448) ±151 by kostko @ 2025-05-06.
rofl deploy: Set default provider address, detect term and take the first offer (#447) ±97 by matevz @ 2025-05-06.

This PR simplifies flow for first-time developers building ROFL on Testnet:

Fixes #441

Use deterministic umask during build (#451) ±58 by kostko @ 2025-05-08.
cmd/network/add-local: Fix absolute path determination (#476) ±49 by abukosek @ 2025-05-26.

Closes #471.

cmd/rofl/deploy: Fix --provider behaviour (#455) ±41 by matevz @ 2025-05-10.

This PR:

cmd: Also remove the deployment from rofl.yaml when removing app (#472) ±38 by matevz @ 2025-05-21.

Fixes #461 by removing the corresponding deployment section from rofl.yaml when removing the ROFL app.

Also, a warning message is now shown:

$ oasis rofl remove
WARNING: Removing this ROFL app will DEREGISTER it, ERASE any on-chain secrets and local configuration!
WARNING: THIS ACTION IS IRREVERSIBLE!
? Remove ROFL app 'rofl1qpjsc3qplf2szw7w3rpzrpq5rqvzv4q5x5j23msu' deployed on network 'testnet' (y/N)
Clear any previously set errors for Docker env (#449) ±37 by kostko @ 2025-05-07.

This could previously cause an incorrect error to be propagated when the host did not have the given binary installed.

cmd/rofl/init: Init git repository if applicable (#475) ±37 by abukosek @ 2025-05-26.

Closes #392.

cmd&build: Push ORCs to Oasis-managed ROFL registry by default (#442) ±26 by anzoman @ 2025-05-06.

Previously, the CLI required configuring an OCI repository manually when using oasis rofl deploy. The changes here simplify this by introducing a default Oasis-managed OCI registry for pushing ROFL ORCs.

feat(build/rofl): Bump latest oasis-boot to v0.4.2 (#456) ±12 by kostko @ 2025-05-10.
feat(build/rofl): Bump latest oasis-boot to v0.5.0 (#477) ±12 by kostko @ 2025-05-27.
feat(build/rofl): Bump latest rofl-containers to v0.5.1 (#468) ±11 by kostko @ 2025-05-19.
fix(cmd/rofl): Add missing term flags to top-up command (#460) ±1 by kostko @ 2025-05-10.

Fixes #459

4 new releases of cli were made this month: In total, 23 pull requests were merged in May.


Network Updates

Mainnet highlights

[2025-05-08] ami.dev:

We've released Sapphire 0.10.3 and Cipher 3.3.3 for the MAINNET.

This release includes new ROFL features and various bug fixes.

For node operators running Oasis Core 25.x on Sapphire and Cipher nodes, your nodes will be automatically upgraded on Fri, 16 May 2025 at the following epochs:
➡️ Epoch 40997: Cipher 3.3.3 ➡️ Epoch 41000: Sapphire 0.10.3

No action is required on your part. However, we recommend monitoring your nodes during and after the upgrade to confirm everything functions correctly. For more information and links to releases see the updated MAINNET network parameters (https://docs.oasis.io/node/mainnet/). Thanks!

[2025-05-20] ami.dev:

We have released Oasis Core 25.2 for MAINNET.

Key features include: ➡️ Support for ROFL-managed bundles ➡️ Configurable CID pool for TDX VMs ➡️ Light client initialization bug fixes

Node operators note that SGX loader configuration has been moved from runtime.sgx_loader -> runtime.sgx.loader. The old option has been deprecated and support may be removed in a future release.

Visit the changelog (https://github.com/oasisprotocol/oasis-core/blob/v25.2/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 MAINNET are encouraged to upgrade. For more information and links to releases see the updated MAINNET network parameters (https://docs.oasis.io/node/mainnet/). Thanks!

[2025-05-22] ami.dev:

We have released Oasis Core 25.3 for MAINNET.

Key highlights include: ➡️ Bug fixes regarding attestation problems ➡️ Other various bug fixes

Visit the changelog (https://github.com/oasisprotocol/oasis-core/blob/v25.3/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 MAINNET are encouraged to upgrade. For more information and links to releases see the updated MAINNET network parameters (https://docs.oasis.io/node/mainnet/). Thanks!

[2025-05-23] ami.dev:

We have released Oasis Web3 Gateway 5.2.0 for MAINNET.

Key highlights include: ➡️ Added support for EIP-1559 transactions ➡️ Various bug fixes

If you're operating the Oasis Web3 Gateway, please upgrade to the latest version.

Visit the changelog (https://github.com/oasisprotocol/oasis-web3-gateway/releases/tag/v5.2.0) to view all changes. For more information and links to releases see the updated MAINNET network parameters (https://docs.oasis.io/node/mainnet/). Thanks!

The number of daily transactions on Sapphire Mainnet fluctuated between 9,749 and 122,750. The monthly average in May was 31,588 transactions per day and was 27% higher compared to the last month (24,842 transactions). The daily maximum was 122,750 transactions on 16 May (compared to 117,903 the last month on 24 April).

dateall
2025-05-0116,467
2025-05-0289,485
2025-05-0311,097
2025-05-0410,315
2025-05-0513,155
2025-05-0617,668
2025-05-0716,649
2025-05-0897,518
2025-05-0917,837
2025-05-1018,488
2025-05-1119,852
2025-05-1212,199
2025-05-1312,461
2025-05-1416,129
2025-05-1525,473
2025-05-16122,750
2025-05-1721,836
2025-05-1827,479
2025-05-1929,869
2025-05-2025,279
2025-05-2119,413
2025-05-2238,596
2025-05-23104,647
2025-05-2412,372
2025-05-2511,784
2025-05-269,749
2025-05-2712,447
2025-05-2812,706
2025-05-2924,996
2025-05-3098,837
2025-05-3111,683
2025-06-01932

The number of daily transactions on Emerald Mainnet fluctuated between 3,235 and 4,396. The monthly average in May was 3,730 transactions per day and was 8% higher compared to the last month (3,463 transactions). The daily maximum was 4,396 transactions on 12 May (compared to 3,899 the last month on 7 April).

dateall
2025-05-013,235
2025-05-023,543
2025-05-033,596
2025-05-043,507
2025-05-053,390
2025-05-063,486
2025-05-073,353
2025-05-083,708
2025-05-093,929
2025-05-104,119
2025-05-113,791
2025-05-124,396
2025-05-134,013
2025-05-143,720
2025-05-154,155
2025-05-163,570
2025-05-173,546
2025-05-183,976
2025-05-193,924
2025-05-203,653
2025-05-213,833
2025-05-223,766
2025-05-233,911
2025-05-243,573
2025-05-253,468
2025-05-263,817
2025-05-273,678
2025-05-283,791
2025-05-293,730
2025-05-303,718
2025-05-313,744
2025-06-01276

{{NODE_STATS mainnet}}

No major outages were reported for Oasis foundation-provided services in May. A few-minutes downtimes were encountered by the ... You can check out the details on the Mainnet status page.

Testnet highlights

[2025-05-21] ami.dev:

We have released Oasis Core 25.3 for TESTNET.

Key highlights include: ➡️ Various bug fixes

Visit the changelog (https://github.com/oasisprotocol/oasis-core/blob/v25.3/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!

[2025-05-23] ami.dev:

We have released Oasis Web3 Gateway 5.2.0 for TESTNET.

Key highlights include: ➡️ Added support for EIP-1559 transactions ➡️ Various bug fixes

If you're operating the Oasis Web3 Gateway, please upgrade to the latest version.

Visit the changelog (https://github.com/oasisprotocol/oasis-web3-gateway/releases/tag/v5.2.0) to view all changes. 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,211 and 46,427. The monthly average in May was 18,773 transactions per day and was 56% higher compared to the last month (12,041 transactions). The daily maximum was 46,427 transactions on 11 May (compared to 20,333 the last month on 29 April).

dateall
2025-05-018,211
2025-05-029,707
2025-05-039,126
2025-05-049,071
2025-05-0514,364
2025-05-0623,053
2025-05-0721,110
2025-05-0823,481
2025-05-0924,037
2025-05-1043,584
2025-05-1146,427
2025-05-1227,241
2025-05-1320,994
2025-05-1428,694
2025-05-1515,567
2025-05-168,797
2025-05-178,763
2025-05-188,759
2025-05-199,234
2025-05-209,333
2025-05-2114,904
2025-05-2214,272
2025-05-2329,218
2025-05-2427,121
2025-05-2516,870
2025-05-2616,481
2025-05-2717,585
2025-05-2820,580
2025-05-2920,024
2025-05-3018,571
2025-05-3116,799
2025-06-011,389

The number of daily transactions on Emerald Testnet fluctuated between 3,025 and 5,619. The monthly average in May was 3,390 transactions per day and was 1% higher compared to the last month (3,352 transactions). The daily maximum was 5,619 transactions on 25 May (compared to 3,715 the last month on 13 April).

dateall
2025-05-013,025
2025-05-023,302
2025-05-033,299
2025-05-043,298
2025-05-053,406
2025-05-063,458
2025-05-073,325
2025-05-083,341
2025-05-093,351
2025-05-103,341
2025-05-113,342
2025-05-123,369
2025-05-133,348
2025-05-143,317
2025-05-153,353
2025-05-163,318
2025-05-173,318
2025-05-183,329
2025-05-193,345
2025-05-203,246
2025-05-213,339
2025-05-223,324
2025-05-233,341
2025-05-243,307
2025-05-255,619
2025-05-263,301
2025-05-273,348
2025-05-283,294
2025-05-293,268
2025-05-303,264
2025-05-313,263
2025-06-01272

{{NODE_STATS testnet}}

No major outages were reported for Oasis foundation-provided services in May. A few-minutes downtimes were encountered by the ... You can check out the details on the Testnet status page.

Oasis Nexus and Explorer

Nexus

The Nexus team merged 29 PRs this month:

analyzer/roflmarket: Implement roflmarket analyzer (#987) ±197362 by ptrus @ 2025-05-16.

CHANGELOG:

analyzer/roflmarket: Implement roflmarket analyzer

analyzer/consensus: Ensure Node and Entity address preimages are inserted (#1001) ±1942 by ptrus @ 2025-05-20.

Fixes: #907

CHANGELOG:

analyzer/consensus: Ensure Node and Entity address preimages are stored

e2e: add db__address_preimages test case (#1002) ±484 by ptrus @ 2025-05-20.
api/{rofl_apps,evm_tokens}: Filter by multiple name fragments (#1026) ±481 by ptrus @ 2025-05-29.

Fixes: #1015

Change is backrwads compatible, providing a single name term works as before.

TODO:

api/rofl_apps: Optimize rofl apps query (#998) ±323 by ptrus @ 2025-05-19.

Fixes: #989

Some fixes/optimisation for the rofl apps query:

TODO:

CHANGELOG:

api/rofl_apps: Optimize rofl apps query
Additionally, the api/rofl_apps is now limited to returning at most 100 responses, down from 1000.

analyzer/runtime: Support runtime EIP-1559 transactions (#1023) ±270 by ptrus @ 2025-05-30.

Fixes #702

Also fixes potential invalid address preimages in the DB.

Tested with the transaction mentioned in the issue:

$ curl http://localhost:8008/v1/sapphire/transactions/bafdf0a3c4ba0d3cdb40ba6c7dacd9ec31ce70cfd4b9f8ce19b0cd6d79106784
{"is_total_count_clipped":false,"total_count":1,"transactions":[{"amount":"1000000000000000000","body":{"address":"Y89emBYgqOcO4iolV4sCR9iqMTo=","data":"M9QlxC2WuzOhf338nPcjev4zkLr+qkz43QXsGbuYTKTvKBM7","value":"DeC2s6dkAAA="},"charged_fee":"28913000000000000","eth_hash":"bafdf0a3c4ba0d3cdb40ba6c7dacd9ec31ce70cfd4b9f8ce19b0cd6d79106784","fee":"103462800000000000","fee_symbol":"TEST","gas_limit":1034628,"gas_used":289130,"hash":"ac23c97ca86f6eda77e41ac72736018818271983415a5b46ad7099b0fa81f34a","index":0,"is_likely_native_token_transfer":false,"method":"evm.Call","nonce_0":62,"round":6548281,"sender_0":"oasis1qqmykrt6zs7f8rd9w8vx9wzy2v78a9sfgqtjetvs","sender_0_eth":"0x4F781Cd8b96A94F63872e85583b2653E340c54E4","signers":[{"address":"oasis1qqmykrt6zs7f8rd9w8vx9wzy2v78a9sfgqtjetvs","address_eth":"0x4F781Cd8b96A94F63872e85583b2653E340c54E4","nonce":62}],"size":181,"success":true,"timestamp":"2024-06-01T16:44:49+02:00","to":"oasis1qr7lgx4e9szzd20r02hegha0x4cnrsufug9pr5tl","to_eth":"0x63Cf5E981620A8E70ee22A25578B0247D8Aa313a"}]}

"charged_fee":"28913000000000000"

Note that this won't fix past, already indexed transactions. But i think that's fine for now.

TODO:

api/runtime: Validate runtime parameter (#992) ±262 by ptrus @ 2025-05-06.

CHANGELOG:

api/runtime: Validate runtime parameter
In some API endpoints the runtime parameter was not validated.

analyzer/runtime: Detect contract candidates via log-emitting addresses (#1027) ±120 by ptrus @ 2025-05-29.

Fixes: #1025

CHANGELOG:

analyzer/runtime: Detect contract candidates via log-emitting addresses

Add periodic VACUUM ANALYZE for accounts_list materialized view (#1029) ±93 by ptrus @ 2025-05-30.

This reclaimed ~400GB of storage on the mainnet DB:

Screenshot 2025-05-30 at 09 14 38

CHANGELOG:

Add periodic VACUUM ANALYZE for accounts_list materialized view

Update go to 1.24.x (#1014) ±60 by ptrus @ 2025-05-26.
api/accounts: Mark accounts belonging to validators (#1003) ±58 by ptrus @ 2025-05-21.

Fixes: #1000

CHANGELOG:

api/accounts: Mark accounts belonging to validators
Two fields added to `/v1/consensus/accounts/{addr}` response:
- `validator_node_for`: The validator address, if this account is a validator node belonging to a validator.
- `validator_entity`: The validator address, if this account *is* a validator entity.

api/rofl_apps: Filter by name fragment (#1007) ±53 by ptrus @ 2025-05-21.

Fixes #996 (for real now)

CHANGELOG:

api/rofl_apps: Support filtering by metadata name fragment

Changelog 0.6.13 (#999) ±52 by ptrus @ 2025-05-19.
Add support for pprof server (#1021) ±49 by ptrus @ 2025-05-27.
Rename validator_node_for -> entity_node_for (#1006) ±42 by ptrus @ 2025-05-21.
Add icons and origins of some sapphire tokens to named-addresses (#988) ±40 by lukaw3d @ 2025-05-02.

Related to #985

CHANGELOG:

Add icons and origins of some sapphire tokens

api/rofl_apps: Support filtering by name (#997) ±40 by ptrus @ 2025-05-16.

Fixes: #996

CHANGELOG:

api/rofl_apps: Support filtering by name

analyzer/consensus: Remove preimage migration code (#1011) ±38 by ptrus @ 2025-05-23.
Changelog 0.6.15 (#1028) ±38 by ptrus @ 2025-05-29.
Changelog 0.6.14 (#1010) ±36 by ptrus @ 2025-05-22.
Add dApp URLs to named-addresses (#991) ±28 by lukaw3d @ 2025-05-06.

CHANGELOG:

Add dApp URLs to named-addresses

Bump pgx to 5.7.5 (#1019) ±15 by ptrus @ 2025-05-27.

CHANGELOG:

deps: Bump pgx to 5.7.5

api/transactions: Ensure ordering for txs filtered by related address (#1012) ±13 by ptrus @ 2025-05-22.

CHANGELOG:

api/transactions: Ensure ordering for txs filtered by related address

storage: add chain.evm_tokens token_name index (#466) ±12 by pro-wh @ 2025-05-29.

from #460

This speeds up searching tokens by name. For simplicity, we're not merging this for now (2024-06) until search proves problematically slow.

CHANGELOG:

storage: add chain.evm_tokens name and symbol indices

analyzer/roflmarket: Fix OfferID and InstanceID deserialization (#1009) ±9 by ptrus @ 2025-05-22.
analyzer/aggregate: Increase pg_statistic sample size for related txs (#994) ±7 by ptrus @ 2025-05-09.

…nsactionshttps://github.com/oasisprotocol/nexus/issues/993

CHANGELOG:

analyzer/aggregate: Increase pg_statistic sample size for related txs

Updated CODEOWNERS to reflect current activity levels (#1005) ±2 by ptrus @ 2025-05-21.
Bump oasis-sdk to latest version (#1016) ±2 by ptrus @ 2025-05-26.
changelog: Fix reference for pprof support (#1030) ±2 by ptrus @ 2025-05-29.
3 new releases of nexus were made this month: In total, 29 pull requests were merged in May.


Explorer

The Explorer team merged 40 PRs this month:

Make adaptive trimmer more resilient (#1963) ±810 by csillag @ 2025-05-21.

Up to now, the adaptive trimmer needed to be inserted in a DOM element
with a fixed width, and overflow-X set to hidden.
(This was required so that it can find the best size to fill it, detecting
overflow.)

This was fragile, because it relied on all parent components being configured
in a particular way.

This changes makes it so that we can detect overflow recursively
on any of the parent elements, which means that there are no
restrictions on parent configuration.

As a side effect, this fixes fixes #1943 and #1957, both regressions on the address
display, caused by changes in CSS configurations on parent nodes, which earlier
confused the adaptive display.

Before After
image image
image image

But besides fixing these regressions, the more important change is that
the adaptive trigger is a lot more resilient now, and no more relies on CSS settings
of parent nodes in the tree, the the probability of future regressions is greatly reduced.

CHANGELOG:

Make adaptive trimmer more resilient

Update API bindings (#1964) ±623 by github-actions[bot] @ 2025-05-21.

Created by https://github.com/oasisprotocol/explorer/blob/master/.github/workflows/generate-openapi.yml

If CI actions and checks don't run in this PR: close it and reopen.
https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs

CHANGELOG:

Update API bindings

Add Monaco Editor for contract source code syntax highlighting (#1979) ±533 by kaja-osojnik @ 2025-05-31.

Implement Monaco Editor for highlighting contract source code and bytecode display.

https://pr-1979.oasis-explorer.pages.dev/mainnet/sapphire/address/0x39d22B78A7651A76Ffbde2aaAB5FD92666Aca520/code#code

Before:
Screenshot 2025-05-27 at 16 12 49
Screenshot 2025-05-27 at 16 12 23
After:
Screenshot 2025-05-27 at 16 10 22
Screenshot 2025-05-27 at 16 11 11

CHANGELOG:

Add Monaco Editor for contract source code syntax highlighting

Show address of Node ID (#1962) ±313 by buberdds @ 2025-05-20.

Closes #1955

Node id/addr table
https://pr-1962.oasis-explorer.pages.dev/mainnet/sapphire/rofl/app/rofl1qpdzzm4h73gtes04xjn4whan84s3k33l5gx787l2/instances#instances

Replica details - Endorsing node address
https://pr-1962.oasis-explorer.pages.dev/mainnet/sapphire/rofl/app/rofl1qpdzzm4h73gtes04xjn4whan84s3k33l5gx787l2/instance/SbxH%2FftZHJ29t9xhiPfz6j3Fq%2Byw6E%2F1EqkWZac%2FH7U%3D

Validator details - Node address
https://pr-1962.oasis-explorer.pages.dev/mainnet/consensus/validators/oasis1qqtmpsavs44vz8868p008uwjulfq03pcjswslutz

CHANGELOG:

Show address of Node ID

ROFL app details page fixes (#1960) ±171 by csillag @ 2025-05-24.

Tweak 1: implement page title shortening in table and mobile mode

Before After Comment
image image No change in desktop size
image image Automatic shortening of title at tablet and mobile sizes

Tweak 2: Enable highlighting matching ROFL addresses on mouse hover

(Currently this is only enabled on desktop.)

image

Tweak 3:

Enable tool-tip on shortened app ids:

image

CHANGELOG:

Small tweaks on ROFL add detail pages

Rename ROFL App instances to replicas (#1938) ±121 by buberdds @ 2025-05-05.

Closes #1925

We discussed this offline and decided to call:
ROFL app instances replicas
provider instances machines

CHANGELOG:

Rename ROFL App instances to replicas

Fix a regression in adaptive trimming (#1970) ±115 by csillag @ 2025-05-23.

This is a follow-up to #1963.

(I found a corner case to break it after merging.)

This change add more resilience to the adaptive trimming process in situations when
React components are mounting and unmounting while the process is ongoing.

(Earlier, in some rare circumstances, the process could get stuck.)

Explanation

This is how the adaptive trimming method has evolved

The original method

In the original implementation of the adaptive trimmer, the idea was that we find out the largest fitting length of text by watching for overflow happening on the element directly containing the content to shorten. This requires all the elements further up in the DOM to have exactly the right CSS settings, otherwise the overflow won't happen, or won't happen at the right place. This was a bit fragile, because changing something in the DOM at a higher level could break the adaptive trimming of the contained adaptive trimmers. (Like it happened in #1943)

Relaxing the CSS requirements

To avoid this fragility, the behavior has been changed to look for overflow happening not only on the exact wrapping element, but at any level above this node, that is, on all parents up to the root. (Sometimes there is already overflow even without our text being too long, so first we do a baseline measurement with a very short text, record which is the first level where we find overflow, and then compare the new situation to this saved baseline when experimenting with longer texts.)

This approach makes it unnecessary to add specific CSS configuration to all wrapping levels, therefore makes the system more robust. But there is a problem:

Solving the interplay of multiple adaptive trimmers working at the same time

In the new approach, we let the components resize, and therefore change the layout of a larger sub-tree of the dom, until they hit an overflow. This works fine if there is only one adaptive trimmer doing this, but if multiple adaptive trimmers are doing this at the same time, then the results are unpredictable. (I.e. we won't know which adaptive trimmer has too long text, causing the overflow at an upper level.) The solution to this was adding a singleton controller object, which orchestrates the whole process:

This way, there will be no confusion with the test results, because at each point in time, there is exactly one adaptive trimmer that is attempting to adapt (to the available size). This has been implemented as part of #1963, and solved several issues. But there is one more problem which was not handled...

Solving the interplay of window resizing, component unmounting and ongoing adaptation

When the window is being resized, we get multiple resize events. Reacting to these events, we do a full round of adaptation. This is relatively fast, but not instantaneous. It's possible that we receive multiple events while still busy, but that is not a problem, we can handle that. The tricky situation is when as the result of enlarging the window size, we go over the limit to desktop territory, so we no longer want to do any trimming at all. This causes the adaptive trimmer to be removed from the DOM altogether. The problem happens if the component removed was the one that has the permission from the controller to do the resizing. This means that the resizing of that component never finishes (since it is removed from the DOM altogether), but the controller is still waiting it to finish, before giving the task to the next instance. This basically causes the adaptive process to freeze. This doesn't happen very often, but can triggered by resizing the window a lot. This is the bug that is currently present in the master branch. The solution to this issue is to make the code for selecting the current/next task more robust, and also add some reactive code to handle when the currently active adapting instance is removed. This PR does that.


At this point, no further problems have been detected, and the current mechanism (with this fix) seems to work reliably, but more testing is always welcome.

CHANGELOG:

Fix a regression in adaptive trimming

Merge config files (#1951) ±111 by lukaw3d @ 2025-05-06.

CHANGELOG:

Merge config files

Move dApp URLs into named-addresses (#1952) ±108 by lukaw3d @ 2025-05-06.

Part of #1769
Related oasisprotocol/nexus#991

CHANGELOG:

Move dApp URLs into named-addresses

Display contract Source Code and Contract Metadata fields (#1890) ±105 by kaja-osojnik @ 2025-05-05.

Add RawDataDisplay fields to display Source Code and Contract Metadata in 'Code' tab for verified contracts as displayed in Sourcify.
Fixes: #1881

Before:
Screenshot 2025-04-10 at 18 30 56

After:
Screenshot 2025-04-10 at 18 31 50
Screenshot 2025-04-10 at 18 32 08
Screenshot 2025-04-10 at 18 32 25
Screenshot 2025-04-10 at 18 32 54
Screenshot 2025-04-10 at 18 33 13

CHANGELOG:

Display contract Source Code and Contract Metadata fields

Show first 10 ERC-20 transfers on Transaction details page (#1939) ±105 by kaja-osojnik @ 2025-05-29.

Implementing: #1731

https://pr-1939.oasis-explorer.pages.dev/mainnet/sapphire/tx/0xc0c9511c5233447830d1769876d3fa16b4f6a64c89309e775ad1c3cb5e96992c

https://pr-1939.oasis-explorer.pages.dev/mainnet/sapphire/tx/0x9ce91f01d822bb4144de04ad4fce4711eb005c7d2824bfe38f670bf2916727ca

Before:
Screenshot 2025-05-05 at 13 02 17

After:
Screenshot 2025-05-05 at 13 01 30

CHANGELOG:

Show first 10 ERC-20 and ERC-721 transfers on transaction details page.

Fix RoundedBalance prop combinations (#1902) ±86 by lukaw3d @ 2025-05-19.

CHANGELOG:

Fix RoundedBalance prop combinations

Assemble changes for 1.21.0 release (#1968) ±80 by buberdds @ 2025-05-21.
Basic support for searching for ROFL apps by app name fragment (#1973) ±69 by csillag @ 2025-05-28.

This is built on top of #1960.

Suggested test URLs:

Closes #1969.

CHANGELOG:

Basic support for searching for ROFL apps by app name fragment

Inline copy button next to some account links using AdaptiveTrimmer (#1998) ±65 by lukaw3d @ 2025-05-30.

Improves #1943 (comment)

CHANGELOG:

Inline copy button next to some account links using AdaptiveTrimmer

Sanitize URL in metadata['net.oasis.rofl.repository'] (#1965) ±39 by lukaw3d @ 2025-05-19.

CHANGELOG:

Sanitize URL in metadata['net.oasis.rofl.repository']

Update API bindings (#1836) ±38 by github-actions[bot] @ 2025-05-16.

Created by https://github.com/oasisprotocol/explorer/blob/master/.github/workflows/generate-openapi.yml

If CI actions and checks don't run in this PR: close it and reopen.
https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs

CHANGELOG:

Follow Nexus API changes

Fix details view wrapping on mobile (#1974) ±37 by lukaw3d @ 2025-05-22.

Fixes #1907
image

CHANGELOG:

Fix details view wrapping on mobile

Adaptive trimmer: don't react to window height change (#2000) ±34 by csillag @ 2025-05-30.

Also, separate the event handler from the reactive logic.

This solves #1535, based on a suggestion by @lukaw3d.

CHANGELOG:

Avoid twitching on window height changes

Show contract entry file as the first file (#1944) ±28 by lukaw3d @ 2025-05-06.

Improvements to #1890

CHANGELOG:

Display contract Source Code and Contract Metadata fields

Make token icons larger (#1945) ±28 by lukaw3d @ 2025-05-06.

Part of #1769

image

CHANGELOG:

Make token icons larger

Prevent WithHighlighting from taking up more space than original (#1997) ±26 by lukaw3d @ 2025-05-30.

CHANGELOG:

Prevent WithHighlighting from taking up more space than original

Bump @oasisprotocol dependencies (#1958) ±24 by buberdds @ 2025-05-14.

Needed for #1955

CHANGELOG:

Update dependencies

Use parcel-transformer-env-variables-injection instead of plasmohq (#1947) ±23 by lukaw3d @ 2025-05-06.

CHANGELOG:

Use parcel-transformer-env-variables-injection instead of plasmohq

Speedup CI: use playwright container instead of installing system deps (#1956) ±21 by lukaw3d @ 2025-05-22.

Same as oasisprotocol/wallet@eb3bb1d

Before:
2m 21s
2m 31s
2m 34s
4m 0s
3m 19s

After:
2m 51s
2m 7s
3m 13s
2m 1s

CHANGELOG:

Speedup CI: use playwright container instead of installing system deps

Migrate Cloudflare preview deploys to wrangler action (#1990) ±19 by buberdds @ 2025-05-30.

https://github.com/cloudflare/pages-action was archived on Oct 21, 2024

CHANGELOG:

Migrate Cloudflare preview deploys to wrangler action

Deduplicate contracts that are also tokens in search results (#1948) ±16 by lukaw3d @ 2025-05-06.

Clearer multiple results:
https://explorer.dev.oasis.io/search?q=ocean%20token
Screenshot from 2025-05-06 02-53-03

Single result now auto-redirects:
https://explorer.dev.oasis.io/search?q=Midas%20US%20Treasury
Screenshot from 2025-05-06 02-52-06

CHANGELOG:

Deduplicate contracts that are also tokens in search results

Fix LinkableDiv getting covered by sticky header (#1953) ±10 by lukaw3d @ 2025-05-22.

Fixes #1950

CHANGELOG:

Fix LinkableDiv getting covered by sticky header

Fix upside down staking trends (#1946) ±8 by lukaw3d @ 2025-05-06.

It was using string values and alphabetically sorting to determine min-max axis.

Fixes #1940

CHANGELOG:

Fix upside down staking trends

Restrict hover-based address highlighting to desktop (#1961) ±8 by csillag @ 2025-05-21.

@donouwens has confirmed that the feature when we highlight all matching addresses on mouse hover should be restricted to desktop.

Currently this decision is not consistently applied.

This change makes sure that this feature is always deactivated on tablet or mobile.

Before After
image image

CHANGELOG:

Restrict hover-based address highlighting to desktop

Fix highlighting address after hovering a tooltip (#1989) ±7 by lukaw3d @ 2025-05-29.

Fixes #1942

CHANGELOG:

Fix highlighting address after hovering a tooltip

Show seconds in formatted timestamp (#1972) ±6 by buberdds @ 2025-05-23.

Slack req. Change affects block,tx,account,validator details and offline banner.

CHANGELOG:

Show seconds in formatted timestamp

Update API bindings (#1977) ±5 by github-actions[bot] @ 2025-05-29.

Created by https://github.com/oasisprotocol/explorer/blob/master/.github/workflows/generate-openapi.yml

If CI actions and checks don't run in this PR: close it and reopen.
https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs

CHANGELOG:

Update API bindings

Increase bridged tokens size (#1996) ±5 by lukaw3d @ 2025-05-30.

#1978 (comment)

Increase bridge icon to 24px

CHANGELOG:

Increase bridged tokens size

Change background color of expired instances (#1937) ±4 by buberdds @ 2025-05-05.

Closes #1924

Waits for Don

CHANGELOG:

Change background color of expired instances

Update Testnet faucet label (#1986) ±3 by buberdds @ 2025-05-28.

CHANGELOG:

Update Testnet faucet label

Fix State Root text (#1988) ±3 by lukaw3d @ 2025-05-29.

Fixes #1941

CHANGELOG:

Fix State Root text

Fix validator delegations value in chart's tooltip (#1995) ±3 by lukaw3d @ 2025-05-30.

#1600 (comment)

CHANGELOG:

Fix validator delegations value in chart's tooltip

1 new releases of explorer were made this month: In total, 40 pull requests were merged in May.


Developer Platform and ParaTime Updates

Oasis Sdk

The Oasis Sdk team merged 17 PRs this month:

rofl-scheduler: Add initial ROFL scheduler (#2179) ±2661 by kostko @ 2025-05-06.

Fixes #2173

Bump Rust toolchain to 2025-02-22 (#2212) ±2555 by kostko @ 2025-05-11.
runtime-sdk/evm: Allow query of known magic storage slots (#2215) ±265 by ptrus @ 2025-05-19.

Fixes: #2096

This should be safe to do since:

So unless a maliciously crafted contract explicitly writes to one of the exposed storage slots (e.g., using inline assembly or manual keccak preimage targeting), nothing of sensitive nature should end up in the exposed slots.

https://docs.soliditylang.org/en/latest/internals/layout_in_storage.html

runtime-sdk/consensus_accounts: Include shares and epoch in delegation events (#2226) ±225 by ptrus @ 2025-05-26.

Made it optional so it's backwards compatible (old events can still be deserialized with the type).

Ensure Nexus deployments are updated first, before a paratime with this change is released.

rofl-containers: Initialize integrity tags on resize (#2214) ±143 by kostko @ 2025-05-15.

Fixes #2205

rofl-scheduler: Add support for transferring instances from nodes (#2221) ±140 by kostko @ 2025-05-21.

Fixes #2220

runtime-sdk/modules/consensus-accounts: Add SharesToTokens method (#2198) ±109 by abukosek @ 2025-05-14.

Closes #2166. Currently still a WIP.

ts-web: 1.2.0 releases (#2217) ±67 by lukaw3d @ 2025-05-13.

Useful for oasisprotocol/explorer#1955 (comment)

client-sdk: Update oasis-core to 25.3 (#2227) ±52 by ptrus @ 2025-05-26.
rofl-scheduler: Prepare 0.1.1 for Mainnet and Testnet (#2219) ±43 by kostko @ 2025-05-16.
docs/rofl: Add section about how to set up persistent volumes (#2210) ±16 by kostko @ 2025-05-11.
runtime-sdk/roflmarket: Add missing instance update events (#2218) ±14 by ptrus @ 2025-05-15.

In these two places, the instance was updated, but no InstanceUpdated event was emitted.

go/client-sdk/core: Add round parameter to MinGasPrice (#2228) ±10 by ptrus @ 2025-05-28.

The Go client method MinGasPrice did not accept a round parameter and always queried the latest round.

Querying MinGasPrice for past rounds is necessary to calculate the charged fee for EVM EIP-1559 transactions, where the effective gas price depends on the base fee at the round of transaction (which corresponds to the min gas price in our case).

ci: Fix ROFL scheduler release workflow (#2202) ±8 by kostko @ 2025-05-08.
examples: Bump Contract SDK version (#2216) ±8 by kostko @ 2025-05-13.
docs: rofl/quickstart - changed brackets from [] to () (#2203) ±4 by JordanGallant @ 2025-05-10.

for MAC users - we get this error when running
TOKEN=$TOKEN python bot.py

the fix is changing the square brackets to ()

Traceback (most recent call last):
File "/Users/jordan/Desktop/testing/demo/bot.py", line 10, in
app = ApplicationBuilder().token(os.getenv["TOKEN"]).build()
TypeError: 'function' object is not subscriptable

docker/rofl-dev: Bump cli to 13.3 and core to 25.3.x (#2224) ±4 by matevz @ 2025-05-20.
7 new releases of oasis-sdk were made this month: In total, 17 pull requests were merged in May.


Sapphire Paratime

The Sapphire Paratime team merged 9 PRs this month:

sapphire-wagmi-v2: Patch dispatchEvent instead of addEventListener (#577) ±124 by lubej @ 2025-05-07.

Alternative of #565, by patching window.dispatchEvent instead of addEventListener.

clients/js: Don't throw on eth_chainId request on non-sapphire chain (#584) ±65 by lukaw3d @ 2025-05-18.

Fixes #583

clients/js: Make NETWORKS compatible with wallet_addEthereumChain (#555) ±30 by matevz @ 2025-05-21.

We have the "Add Sapphire network to Metamask" in the growing number of places (docs, faucet, all the dApps). Since most of those apps explicitly or implicitly import @oasisprotocol/sapphire-paratime, let's unify the network details in a single place.

For now, I made it compatible with https://docs.metamask.io/wallet/reference/json-rpc-methods/wallet_addethereumchain/ so one can directly use it in the UI.

But there seems to be some other competing formats:

examples-wagmi-v2: Fix flaky e2e test (#587) ±14 by lubej @ 2025-05-22.
runtime: Prepare 0.10.3 (#580) ±12 by kostko @ 2025-05-05.
clients/js: Prepare 2.2.0 release (#586) ±12 by matevz @ 2025-05-22.
integrations/wagmi-v2: Prepare 2.1.0 release (#575) ±8 by matevz @ 2025-05-09.

Fixes #563

Merge after oasisprotocol/internal#64 is fixed.

May also wait for #565 or make a 2.1.1 bugfix release afterwards.

Remove --no-commit flag (#582) ±4 by ZigaMr @ 2025-05-08.

This PR fixes following issue:

docs: Ignore tests/auth from solidity docs (#589) ±2 by matevz @ 2025-05-29.

Just ignoring contracts/tests/* is not sufficient. You need to put any subfolders in it too e.g. contracts/tests/auth/*. Double asterisk is not supported yet by foundry.

3 new releases of sapphire-paratime were made this month: In total, 9 pull requests were merged in May.


Cipher Paratime

The Cipher Paratime team merged 1 PRs this month:

runtime: Prepare 3.3.3 (#63) ±6 by kostko @ 2025-05-05.
1 new releases of cipher-paratime were made this month: In total, 1 pull requests were merged in May.


Keymanager Paratime

The Keymanager Paratime team merged 3 PRs this month:

Bump Oasis Core to v25.2 and prepare 0.6.0-testnet (#18) ±18 by kostko @ 2025-05-05.
Prepare 0.6.0 (#20) ±6 by kostko @ 2025-05-28.
ci: Update release workflow (#19) ±4 by kostko @ 2025-05-05.
2 new releases of keymanager-paratime were made this month: In total, 3 pull requests were merged in May.


Oasis Web3 Gateway

The Oasis Web3 Gateway team merged 7 PRs this month:

feat: Update oasis dependendcies (#736) ±111 by ptrus @ 2025-05-20.

Update oasis-core, oasis-sdk, sapphire paratime, nexus, explorer versions

other(localnet): Update sapphire localnet gateway to 5.2.0 (#737) ±2 by ptrus @ 2025-05-21.
1 new releases of oasis-web3-gateway were made this month: In total, 7 pull requests were merged in May.


Docs

The Docs team merged 13 PRs this month:

docs: Update supported Ledger devices list (#1248) ±22 by lukaw3d @ 2025-05-20.
docs/node/mainnet: Bump Core 25.2 (#1251) ±10 by amela @ 2025-05-20.
docs/node/testnet: Bump Core 25.3 (#1252) ±10 by amela @ 2025-05-21.
docs/node/mainnet: Bump Core 25.3 (#1260) ±10 by amela @ 2025-05-22.
docs: Replace oasismonitor with explorer.oasis.io (#1247) ±7 by matevz @ 2025-05-19.

Fixes #987

docs/node/testnet: Add Sapphire 0.10.3-testnet, Cipher 3.3.3-testnet (#1228) ±4 by kostko @ 2025-05-02.
docs/node/mainnet: Add Sapphire 0.10.3, Cipher 3.3.3 (#1233) ±4 by amela @ 2025-05-07.
docs/node/testnet: Bump Web3 gw 5.2.0 (#1253) ±4 by amela @ 2025-05-22.
docs/node/mainnet: Bump Web3 gw 5.2.0 (#1259) ±4 by amela @ 2025-05-22.
docs/node/testnet: Add Key Manager 0.6.0-testnet (#1229) ±3 by kostko @ 2025-05-05.
docs: Fix celer-e2e.png format to actual PNG (#1205) ±0 by matevz @ 2025-05-19.

This PR:

In total, 13 pull requests were merged in May.


Playground

The Playground team merged 5 PRs this month:

Fix link XSS injections (#120) ±177 by lukaw3d @ 2025-05-28.

Fixes #54

Normalize missing licenses and demoUrls (#123) ±107 by lukaw3d @ 2025-05-29.

"", null, and missing field => null

Add automatic build and deploy workflow to gh-pages branch (#119) ±37 by ZigaMr @ 2025-05-29.

Issue: #38

This PR adds ci-build-deploy.yml workflow which builds and deploys the playground App to gh-pages on every push to main branch.

Limit thumbnail max height (#88) ±15 by kaja-osojnik @ 2025-05-22.

Added thumbnail wrapper max height and the child div to cover full height.

Screenshots:
Before
Screenshot 2024-12-03 at 20 07 52

After
Screenshot 2024-12-03 at 20 09 30

Revert unexpected changes in #88 (#118) ±3 by lukaw3d @ 2025-05-23.

This reverts commit 7e4551a from #88.

In total, 5 pull requests were merged in May.


Demo Starter

The Demo Starter team merged 2 PRs this month:

Move brand logos to assets.oasis.io (#31) ±12 by buberdds @ 2025-05-19.
Deploy to localhost domain by default (#33) ±10 by matevz @ 2025-05-30.

In preparation for the Sapphire 101 workshop, npx hardhat deploy should just work. The domain is now localhost, if none provided.

Also, bump deps to latest versions of @oasisprotocol/sapphire-paratime et al to fix the Metamask connect issue and CI node version to 20.

In total, 2 pull requests were merged in May.


Demo Rofl Chatbot

The Demo Rofl Chatbot team merged 1 PRs this month:

Matevz/fix/platform amd64 (#21) ±14 by matevz @ 2025-05-23.

And some other minor changes.

In total, 1 pull requests were merged in May.


Demo Rofl

The Demo Rofl team merged 3 PRs this month:

Rename deployment to "test", update README (#3) ±27 by kostko @ 2025-05-09.

See #2

This is a quick fix for the README. We could probably expand on how to create new deployments of this app and modify the contracts. Currently we just link to the tutorial which explains this.

The reason for renaming the deployment to test is that when you do any rofl-related commands, they would use the default deployment by default. By renaming it, we allow anyone that just copies the rofl.yaml to create their own deployment simply by running oasis rofl create (similar for other steps).

Bump oasis-boot to 0.5.0, rofl-containers to 0.5.1 (#6) ±14 by kostko @ 2025-05-27.
compose: Force linux/amd64 target platform (#5) ±1 by matevz @ 2025-05-26.

This showed up as an issue during EthDam 2025 hackathon. People were compiling docker images for Macs and those weren't executable then on ROFL nodes.

In total, 3 pull requests were merged in May.


Demo Rofl Tgbot

The Demo Rofl Tgbot team merged 1 PRs this month:

Update README.md (#2) ±8 by JordanGallant @ 2025-05-09.

Corrected commands inside README.md - example: oasis rofl init...

In total, 1 pull requests were merged in May.


Core Platform Updates

Oasis Core

The Oasis Core team merged 23 PRs this month:

go/consensus/api: Refactor consensus interfaces (#6177) ±1794 by peternose @ 2025-05-05.

I think it makes sense to remove consensus services from consensus backend, so that you can create the latter and get former for free, as services are currently implemented on top of the consensus backend.

The new interface that captures all backends would look like this:

// Services are consensus services.
type Services interface {
	// Beacon returns the beacon backend.
	Beacon() beacon.Backend

	// Core returns the consensus core backend.
	Core() Backend

	// Governance returns the governance backend.
	Governance() governance.Backend

	// KeyManager returns the keymanager backend.
	KeyManager() keymanager.Backend

	// Registry returns the registry backend.
	Registry() registry.Backend

	// RootHash returns the roothash backend.
	RootHash() roothash.Backend

	// Scheduler returns the scheduler backend.
	Scheduler() scheduler.Backend

	// Staking returns the staking backend.
	Staking() staking.Backend

	// Vault returns the vault backend.
	Vault() vault.Backend
}

func TestSampleUsage() {
	var consensus consensus.Services // or consensus.Service
	staking := backend.Staking()
}
go/consensus/api: Add method GetBlockResults (#6180) ±1520 by peternose @ 2025-05-08.

Method GetBlockResults is needed by the light client node to serve events.

If performance degrades due to unmarshalling block results metadata in every GetEvents call, we can retain the backend interface and use GetCometBFTBlockResults if implemented, falling back to GetBlockResults otherwise.

CHANGELOG:

go/consensus/api: Add method GetBlockResults
A new method has been added to the consensus backend that returns block results for a specified height.

go/runtime: Add log manager (#6197) ±913 by kostko @ 2025-05-27.

Fixes #6064

CHANGELOG:

go/runtime: Add log manager
Components can access logs of the bundles they deployed via the API as long as they have the proper `log_view` permissions.

go/consensus/cometbft: Remove context from backend constructors (#6173) ±890 by peternose @ 2025-05-02.

These changes achieve two things:

go/p2p/peermgmt: Make consensus peer registry optional (#6202) ±308 by peternose @ 2025-05-26.

These changes allow us to create the P2P service without relying on the consensus. The service can now be instantiated upfront and shared with other components immediately. Previously, the light client could only be initialized lazily, after the P2P service was registered, which was not suitable for a stateless light node.

go/consensus/cometbft/api: Truncate block time to seconds (#6205) ±255 by peternose @ 2025-05-27.
go/storage/mkvs/db: Merge Subtree and Batch interface (#6184) ±206 by martintomazic @ 2025-05-07.
go/consensus/api: Remove services backend (#6175) ±205 by peternose @ 2025-05-02.

Halt hooks are only used by full nodes and can be specific to the backend implementation. To simplify the service backend interface, halt hooks were moved to full node. They can be moved back later if needed.

Bump rust-toolchain to 2025-02-22 (#6185) ±163 by kostko @ 2025-05-07.
go/common/sgx/pcs: Add support for specific TCB data evaluation numbers (#6194) ±139 by kostko @ 2025-05-19.

Fixes #6121

CHANGELOG:

Fix fetch of TCB info structures for interim TCB-R numbers

go/storage/mkvs: Clean database API (#6166) ±109 by martintomazic @ 2025-05-04.
go/consensus/api: Deprecate GetSignerNonce (#6207) ±92 by peternose @ 2025-05-29.

The GetSignerNonce method should be deprecated and eventually removed, as it does not belong in the core consensus backend. Callers should retrieve the nonce via the account query in the staking backend instead. If this approach proves too complex, a helper method can be added to the staking backend to simplify access.

runtime: Support HEIGHT_LATEST in Verifier::sync implementations (#6178) ±55 by kostko @ 2025-05-05.

CHANGELOG:

runtime: Support HEIGHT_LATEST in `Verifier::sync` implementations

go/consensus/cometbft/abci/prune: Lazy read earliest version (#6183) ±42 by peternose @ 2025-05-06.

Tested on a client with an empty data dir.

Before (prune starts with 0):

{"caller":"prune.go:174","latest_version":26455298,"level":"debug","log_event":"cometbft/abci/prune","module":"abci-mux/pruner","msg":"Prune: Delete","pruned_version":0,"ts":"2025-05-06T10:38:45.508387156Z"}

After (prune starts with 26456114) :

{"caller":"prune.go:170","latest_version":26456114,"level":"debug","log_event":"cometbft/abci/prune","module":"abci-mux/pruner","msg":"Prune: Delete","pruned_version":26451681,"ts":"2025-05-06T10:34:34.592106051Z"}
changelog: Assemble changes for 25.3 release (#6196) ±32 by kostko @ 2025-05-20.
refactor: use a more modern writing style (#6189) ±17 by yetyear @ 2025-05-09.

Optimize code using a more modern writing style. Official support from Go, for more details visit https://pkg.go.dev/golang.org/x/tools/gopls/internal/analysis/modernize.

refactor: use slices.Equal to simplify code (#6200) ±17 by jinjiadu @ 2025-05-26.

use slices.Equal to simplify code

ci: Bump goreleaser to 2.9.0 (#6188) ±13 by kostko @ 2025-05-08.

Fixes #6187

ci: Release pre-release versions by default (#6179) ±6 by kostko @ 2025-05-05.
refactor: use the built-in max/min to simplify the code (#6174) ±5 by findnature @ 2025-05-02.

In Go 1.21, the standard library includes built-in max/min function, which can greatly simplify the code.

chore: make function comment match function name (#6195) ±4 by carrychair @ 2025-05-20.

make function comment match function name

ci: Bump goreleaser to 2.9.0 (#6198) ±4 by peternose @ 2025-05-20.

Few things that were missed in:

ci: Fix goreleaser path (#6199) ±2 by peternose @ 2025-05-20.
*** Creating release for version 25.3...
  • building binaries
    • building                                       binary=dist/oasis-remote-signer_linux_amd64_v1/oasis-remote-signer
    • building                                       binary=dist/oasis-node_linux_amd64_v1/oasis-node
    • building                                       binary=dist/oasis-net-runner_linux_amd64_v1/oasis-net-runner
1 new releases of oasis-core were made this month: In total, 23 pull requests were merged in May.


Oasis Boot

The Oasis Boot team merged 3 PRs this month:

Bump Linux kernel to 6.12.27 (#16) ±7 by kostko @ 2025-05-26.
Bump podman-compose to 1.4.0 (#15) ±4 by kostko @ 2025-05-22.

Version 1.4.0 has just been released.

stage1-init: Add missing util-linux-blockdev dependency (#14) ±2 by kostko @ 2025-05-08.
2 new releases of oasis-boot were made this month: In total, 3 pull requests were merged in May.