The Wallet team merged 13 PRs this month:
CHANGELOG:
Remove Oasis Monitor leftovers
CHANGELOG:
Fix warnings and error overlays since parcel@2.14
CHANGELOG:
Update extension release notes
CHANGELOG:
Add instructions inside eth private key dropdown
CHANGELOG:
Migrate Cloudflare preview deploys to wrangler action
CHANGELOG:
Set CSS color-scheme to match grommet dark theme
CHANGELOG:
Remove react-app-polyfill from runtime
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
Related oasisprotocol/oasis-sdk#2217
CHANGELOG:
Update dependencies
CHANGELOG:
Fix importing images in parcel@2.14
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)
Update translations from transifex (#2148)
Show ParaTime transactions in pending transactions section (#2128)
Fix broken link to Ledger help (#2137)
Show Ledger help links on USBTransportError and in extension (#2149)
Fix Explorer link for testnet network (#2144)
Add env vars with updated deploy URLs and refine banner display conditions (#2145)
Fallback to transak button if embedded doesn't initialize after 5sec (#2154)
Improve description of allowance change transactions (#2156)
Update dependencies (#1694, #1799, #1854, #1958, #2133, #2146)
Test hardcoded Consensus transaction fee (#2165)
Migrate Cypress e2e tests to Playwright and remove Oasis Monitor docker config (#2161)
Speedup playwright CI (#2166)
Move favicon to assets.oasis.io (#2167)
Set CSS color-scheme to match grommet dark theme (#2170)
Remove react-app-polyfill from runtime (#2172)
The Cli team merged 23 PRs this month:
This PR simplifies flow for first-time developers building ROFL on Testnet:
oasis1qp2ens0hsp7gh23wajxa4hpetkdek3swyyulyrmz, if none provided (Oasis foundation-managed Testnet node)--show-offers for listing offers and quitFixes #441
Closes #471.
This PR:
--provider name.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)
This could previously cause an incorrect error to be propagated when the host did not have the given binary installed.
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.
Fixes #459
Full Changelog: v0.13.0...v0.13.1
Full Changelog: v0.13.1...v0.13.2
Full Changelog: v0.13.3...v0.13.4
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).
| date | all |
|---|---|
| 2025-05-01 | 16,467 |
| 2025-05-02 | 89,485 |
| 2025-05-03 | 11,097 |
| 2025-05-04 | 10,315 |
| 2025-05-05 | 13,155 |
| 2025-05-06 | 17,668 |
| 2025-05-07 | 16,649 |
| 2025-05-08 | 97,518 |
| 2025-05-09 | 17,837 |
| 2025-05-10 | 18,488 |
| 2025-05-11 | 19,852 |
| 2025-05-12 | 12,199 |
| 2025-05-13 | 12,461 |
| 2025-05-14 | 16,129 |
| 2025-05-15 | 25,473 |
| 2025-05-16 | 122,750 |
| 2025-05-17 | 21,836 |
| 2025-05-18 | 27,479 |
| 2025-05-19 | 29,869 |
| 2025-05-20 | 25,279 |
| 2025-05-21 | 19,413 |
| 2025-05-22 | 38,596 |
| 2025-05-23 | 104,647 |
| 2025-05-24 | 12,372 |
| 2025-05-25 | 11,784 |
| 2025-05-26 | 9,749 |
| 2025-05-27 | 12,447 |
| 2025-05-28 | 12,706 |
| 2025-05-29 | 24,996 |
| 2025-05-30 | 98,837 |
| 2025-05-31 | 11,683 |
| 2025-06-01 | 932 |
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).
| date | all |
|---|---|
| 2025-05-01 | 3,235 |
| 2025-05-02 | 3,543 |
| 2025-05-03 | 3,596 |
| 2025-05-04 | 3,507 |
| 2025-05-05 | 3,390 |
| 2025-05-06 | 3,486 |
| 2025-05-07 | 3,353 |
| 2025-05-08 | 3,708 |
| 2025-05-09 | 3,929 |
| 2025-05-10 | 4,119 |
| 2025-05-11 | 3,791 |
| 2025-05-12 | 4,396 |
| 2025-05-13 | 4,013 |
| 2025-05-14 | 3,720 |
| 2025-05-15 | 4,155 |
| 2025-05-16 | 3,570 |
| 2025-05-17 | 3,546 |
| 2025-05-18 | 3,976 |
| 2025-05-19 | 3,924 |
| 2025-05-20 | 3,653 |
| 2025-05-21 | 3,833 |
| 2025-05-22 | 3,766 |
| 2025-05-23 | 3,911 |
| 2025-05-24 | 3,573 |
| 2025-05-25 | 3,468 |
| 2025-05-26 | 3,817 |
| 2025-05-27 | 3,678 |
| 2025-05-28 | 3,791 |
| 2025-05-29 | 3,730 |
| 2025-05-30 | 3,718 |
| 2025-05-31 | 3,744 |
| 2025-06-01 | 276 |
{{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.
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).
| date | all |
|---|---|
| 2025-05-01 | 8,211 |
| 2025-05-02 | 9,707 |
| 2025-05-03 | 9,126 |
| 2025-05-04 | 9,071 |
| 2025-05-05 | 14,364 |
| 2025-05-06 | 23,053 |
| 2025-05-07 | 21,110 |
| 2025-05-08 | 23,481 |
| 2025-05-09 | 24,037 |
| 2025-05-10 | 43,584 |
| 2025-05-11 | 46,427 |
| 2025-05-12 | 27,241 |
| 2025-05-13 | 20,994 |
| 2025-05-14 | 28,694 |
| 2025-05-15 | 15,567 |
| 2025-05-16 | 8,797 |
| 2025-05-17 | 8,763 |
| 2025-05-18 | 8,759 |
| 2025-05-19 | 9,234 |
| 2025-05-20 | 9,333 |
| 2025-05-21 | 14,904 |
| 2025-05-22 | 14,272 |
| 2025-05-23 | 29,218 |
| 2025-05-24 | 27,121 |
| 2025-05-25 | 16,870 |
| 2025-05-26 | 16,481 |
| 2025-05-27 | 17,585 |
| 2025-05-28 | 20,580 |
| 2025-05-29 | 20,024 |
| 2025-05-30 | 18,571 |
| 2025-05-31 | 16,799 |
| 2025-06-01 | 1,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).
| date | all |
|---|---|
| 2025-05-01 | 3,025 |
| 2025-05-02 | 3,302 |
| 2025-05-03 | 3,299 |
| 2025-05-04 | 3,298 |
| 2025-05-05 | 3,406 |
| 2025-05-06 | 3,458 |
| 2025-05-07 | 3,325 |
| 2025-05-08 | 3,341 |
| 2025-05-09 | 3,351 |
| 2025-05-10 | 3,341 |
| 2025-05-11 | 3,342 |
| 2025-05-12 | 3,369 |
| 2025-05-13 | 3,348 |
| 2025-05-14 | 3,317 |
| 2025-05-15 | 3,353 |
| 2025-05-16 | 3,318 |
| 2025-05-17 | 3,318 |
| 2025-05-18 | 3,329 |
| 2025-05-19 | 3,345 |
| 2025-05-20 | 3,246 |
| 2025-05-21 | 3,339 |
| 2025-05-22 | 3,324 |
| 2025-05-23 | 3,341 |
| 2025-05-24 | 3,307 |
| 2025-05-25 | 5,619 |
| 2025-05-26 | 3,301 |
| 2025-05-27 | 3,348 |
| 2025-05-28 | 3,294 |
| 2025-05-29 | 3,268 |
| 2025-05-30 | 3,264 |
| 2025-05-31 | 3,263 |
| 2025-06-01 | 272 |
{{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.
The Nexus team merged 29 PRs this month:
CHANGELOG:
analyzer/roflmarket: Implement roflmarket analyzer
Fixes: #907
CHANGELOG:
analyzer/consensus: Ensure Node and Entity address preimages are stored
Fixes: #1015
Change is backrwads compatible, providing a single name term works as before.
TODO:
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.
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:
CHANGELOG:
api/runtime: Validate runtime parameter
In some API endpoints the runtime parameter was not validated.
Fixes: #1025
CHANGELOG:
analyzer/runtime: Detect contract candidates via log-emitting addresses
CHANGELOG:
Add periodic VACUUM ANALYZE for accounts_list materialized view
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.
Fixes #996 (for real now)
CHANGELOG:
api/rofl_apps: Support filtering by metadata name fragment
Related to #985
CHANGELOG:
Add icons and origins of some sapphire tokens
Fixes: #996
CHANGELOG:
api/rofl_apps: Support filtering by name
CHANGELOG:
Add dApp URLs to named-addresses
CHANGELOG:
api/transactions: Ensure ordering for txs filtered by related address
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
CHANGELOG:
analyzer/aggregate: Increase pg_statistic sample size for related txs
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 40 PRs this month:
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 |
|---|---|
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
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
Implement Monaco Editor for highlighting contract source code and bytecode display.
CHANGELOG:
Add Monaco Editor for contract source code syntax highlighting
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
Tweak 1: implement page title shortening in table and mobile mode
| Before | After | Comment |
|---|---|---|
| No change in desktop size | ||
| 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.)
Tweak 3:
Enable tool-tip on shortened app ids:
CHANGELOG:
Small tweaks on ROFL add detail pages
Closes #1925
We discussed this offline and decided to call:
ROFL app instances replicas
provider instances machines
CHANGELOG:
Rename ROFL App instances to replicas
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.)
This is how the adaptive trimming method has evolved
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)
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:
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...
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
Part of #1769
Related oasisprotocol/nexus#991
CHANGELOG:
Move dApp URLs into named-addresses
Add RawDataDisplay fields to display Source Code and Contract Metadata in 'Code' tab for verified contracts as displayed in Sourcify.
Fixes: #1881
CHANGELOG:
Display contract Source Code and Contract Metadata fields
Implementing: #1731
CHANGELOG:
Show first 10 ERC-20 and ERC-721 transfers on transaction details page.
CHANGELOG:
Fix RoundedBalance prop combinations
This is built on top of #1960.
Suggested test URLs:
Closes #1969.
CHANGELOG:
Basic support for searching for ROFL apps by app name fragment
Improves #1943 (comment)
CHANGELOG:
Inline copy button next to some account links using AdaptiveTrimmer
CHANGELOG:
Sanitize URL in metadata['net.oasis.rofl.repository']
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
Fixes #1907
CHANGELOG:
Fix details view wrapping on mobile
Also, separate the event handler from the reactive logic.
CHANGELOG:
Avoid twitching on window height changes
Improvements to #1890
CHANGELOG:
Display contract Source Code and Contract Metadata fields
Part of #1769
CHANGELOG:
Make token icons larger
CHANGELOG:
Prevent WithHighlighting from taking up more space than original
Needed for #1955
CHANGELOG:
Update dependencies
CHANGELOG:
Use parcel-transformer-env-variables-injection instead of plasmohq
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
https://github.com/cloudflare/pages-action was archived on Oct 21, 2024
CHANGELOG:
Migrate Cloudflare preview deploys to wrangler action
Clearer multiple results:
https://explorer.dev.oasis.io/search?q=ocean%20token
Single result now auto-redirects:
https://explorer.dev.oasis.io/search?q=Midas%20US%20Treasury
CHANGELOG:
Deduplicate contracts that are also tokens in search results
Fixes #1950
CHANGELOG:
Fix LinkableDiv getting covered by sticky header
It was using string values and alphabetically sorting to determine min-max axis.
Fixes #1940
CHANGELOG:
Fix upside down staking trends
@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 |
|---|---|
CHANGELOG:
Restrict hover-based address highlighting to desktop
Fixes #1942
CHANGELOG:
Fix highlighting address after hovering a tooltip
Slack req. Change affects block,tx,account,validator details and offline banner.
CHANGELOG:
Show seconds in formatted timestamp
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 bridge icon to 24px
CHANGELOG:
Increase bridged tokens size
Closes #1924
Waits for Don
CHANGELOG:
Change background color of expired instances
CHANGELOG:
Update Testnet faucet label
CHANGELOG:
Fix validator delegations value in chart's tooltip
Display contract Source Code and Contract Metadata fields (#1890, #1944)
Display token icons and origins from metadata (#1909)
Move dApp URLs into named-addresses (#1952)
Improve detecting if API is out-of-date (#1876)
Improve token page while loading (#1926)
Handle rofl market event details (#1934)
Fix upside down staking trends (#1946)
Deduplicate contracts that are also tokens in search results (#1948)
Show address of Node ID (#1962)
Sanitize URL in metadata['net.oasis.rofl.repository'] (#1965)
The Oasis Sdk team merged 17 PRs this month:
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
DelegateEvent also returns the amount of new shares received by the delegation.UndelegateDoneEvent includes the undelegation epoch.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.
Fixes #2205
Fixes #2220
Closes #2166. Currently still a WIP.
Useful for oasisprotocol/explorer#1955 (comment)
In these two places, the instance was updated, but no InstanceUpdated event was emitted.
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).
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
The Sapphire Paratime team merged 9 PRs this month:
Alternative of #565, by patching window.dispatchEvent instead of addEventListener.
Fixes #583
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:
Fixes #563
Merge after oasisprotocol/internal#64 is fixed.
May also wait for #565 or make a 2.1.1 bugfix release afterwards.
This PR fixes following issue:
--no-commit flag was updated to --commit in new foundry version, so we can remove it from the CIJust 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.
The Cipher Paratime team merged 1 PRs this month:
1 new releases of cipher-paratime were made this month:The Keymanager Paratime team merged 3 PRs this month:
2 new releases of keymanager-paratime were made this month:The Oasis Web3 Gateway team merged 7 PRs this month:
Update oasis-core, oasis-sdk, sapphire paratime, nexus, explorer versions
| Name | Version |
|---|---|
| Oasis Core | 25.x |
| Emerald Paratime | 11.x.x |
| Sapphire Paratime | 0.10.x |
Full Changelog: v5.2.0-rc2...v5.2.0
The Docs team merged 13 PRs this month:
This PR:
The Playground team merged 5 PRs this month:
"", null, and missing field => null
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.
The Demo Starter team merged 2 PRs this month:
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.
The Demo Rofl Chatbot team merged 1 PRs this month:
In total, 1 pull requests were merged in May.The Demo Rofl team merged 3 PRs this month:
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).
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.
The Demo Rofl Tgbot team merged 1 PRs this month:
Corrected commands inside README.md - example: oasis rofl init...
The Oasis Core team merged 23 PRs this month:
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()
}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.
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.
These changes achieve two things:
ctx from the constructors.ctx when calling on subscribe hooks.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.
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.
Fixes #6121
CHANGELOG:
Fix fetch of TCB info structures for interim TCB-R numbers
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.
CHANGELOG:
runtime: Support HEIGHT_LATEST in `Verifier::sync` implementations
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"}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.
use slices.Equal to simplify code
In Go 1.21, the standard library includes built-in max/min function, which can greatly simplify the code.
make function comment match function name
*** 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
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 3 PRs this month:
2 new releases of oasis-boot were made this month:The following artifacts are included in this release:
ovmf.tdx.fd contains the virtual firmware that performs early boot of a TD.stage1.bin contains the TDX-enabled Stage 1 Linux kernel and initramfs that boot into the first Stage 2 volume which should be a dm-verity device containing a specific layout and a squashfs filesystem with configuration parameters passed via cmdline.stage2-basic.tar.bz2 contains a basic Stage 2 rootfs template that can be used to run a simple Oasis runtime.stage2-podman.tar.bz2 contains a Stage 2 rootfs template that can be used to run Podman containers.All published images are built deterministically, so building locally you should obtain binaries with the following SHA256 hashes:
db47100a7d6a0c1f6983be224137c3f8d7cb09b63bb1c7a5ee7829d8e994a42f ovmf.tdx.fd
02903bd0ddfe1e3552e95767f1be17e801690d73d90bb1e800aa4879ba46c4d7 stage1.bin
72c84d2566959799fdd98fae08c143a8572a5a09ee426be376f9a8bbd1675f2b stage2-basic.tar.bz2
6f2487aa064460384309a58c858ffea9316e739331b5c36789bb2f61117869d6 stage2-podman.tar.bz2
Full Changelog: v0.4.1...v0.4.2
The following artifacts are included in this release:
ovmf.tdx.fd contains the virtual firmware that performs early boot of a TD.stage1.bin contains the TDX-enabled Stage 1 Linux kernel and initramfs that boot into the first Stage 2 volume which should be a dm-verity device containing a specific layout and a squashfs filesystem with configuration parameters passed via cmdline.stage2-basic.tar.bz2 contains a basic Stage 2 rootfs template that can be used to run a simple Oasis runtime.stage2-podman.tar.bz2 contains a Stage 2 rootfs template that can be used to run Podman containers.All published images are built deterministically, so building locally you should obtain binaries with the following SHA256 hashes:
db47100a7d6a0c1f6983be224137c3f8d7cb09b63bb1c7a5ee7829d8e994a42f ovmf.tdx.fd
23877530413a661e9187aad2eccfc9660fc4f1a864a1fbad2f6c7d43512071ca stage1.bin
72c84d2566959799fdd98fae08c143a8572a5a09ee426be376f9a8bbd1675f2b stage2-basic.tar.bz2
631349bef06990dd6ae882812a0420f4b35f87f9fe945b274bcfb10fc08c4ea3 stage2-podman.tar.bz2
Full Changelog: v0.4.2...v0.5.0