A feed of development activity from across Sia Foundation GitHub repositories.
- Fixed an issue where the global files view was not showing full file paths.
- This PR refactors out
uploadManager
as a distinct context, it was previously part of thefiles
context. Originally this made sense but as the features have evolved it became convoluted. With all the other changes we now have four clear contexts related to files and uploads:filesManager
,files
,uploadsManager
, anduploads
.
- The uploads list now has two views, one for local uploads only and one for all uploads including from other devices.
- This improves the UX but was also just necessary for the UX to make sense since we no longer immediately create multi part uploads with the daemon for queued uploads (changed in https://github.com/SiaFoundation/web/pull/880), so the uploads list fetched from the daemon was no longer could be relied on as a exhaustive list of all uploads.
- The application no longer lags when uploading thousands of files.
- The performance was improved with the following two changes:
- The uploads state map which can store thousands of records and receive hundreds of progress updates per second was moved to ref-based mutable state.
- Multipart uploads are now created when they are popped off the queue and start uploading, previously adding a directory with thousands of files would immediately create a multpart upload session for every file.
- Files are now downloaded directly in the browser with cookie based auth. (instead of first into memory)
- The transfers bar no longer includes a download list.
- Subject to change based on https://github.com/SiaFoundation/renterd/pull/1806
- Added the auth API.
- Subject to change based on https://github.com/SiaFoundation/renterd/pull/1806
- Updated test suites to pass with the changes introduced in #873
Signing v2 transactions has a slightly different flow and structure from V1.
- Build the transaction
- Calculate the input sig hash
- Sign the input sighash for each siacoin and siafund input using its private key
const state, network; // should be retrieved from the API const txn = { "siacoinInputs": [ { "parent": { "id": "a2b01527c128eebd19056d5048d6b18b31df1fa9589993c55d50607dc097e69c", "stateElement": { "leafIndex": 4646, "merkleProof": [ "aac548e6cdd2f05daa89ce83b1935bb1f2d4b363a1d27ed3158f8157d209eea7", "211e336ba260f72dbe8059e7e564414cda75386ebaf79720ee1078e6aa513e15", "3ad4326fae446f729679cdb80fd1ea55c184c025bf228cd4cf49471be9c517f6" ] }, "siacoinOutput": { "value": "424999930000000000000000000000", "address": "2b8fc779876872055333fa0609f37a604be076e97bfeeab4d1c7df7d02f9cff3b8e6317047fa" }, "maturityHeight": 0 } } ], "siacoinOutputs": [ { "value": "15000000000000000000000000000", "address": "2e5716a6ba598292b2c0233fcc9e21f992c5f536ae1e0634907855224d5e9216a0c1256e0085" }, { "value": "409999918000000000000000000000", "address": "2b8fc779876872055333fa0609f37a604be076e97bfeeab4d1c7df7d02f9cff3b8e6317047fa" } ], "minerFee": "12000000000000000000000" }, sigHash = wallet.v2TransactionInputSigHash(state, network, txn); txn.siacoinInputs.forEach((input) => { const privateKey = getPrivateKeyForAddress(input.parent.siacoinOutput.address), unlockCondtions = getUnlockConditionsForAddress(input.parent.siacoinOutput.address); // I can't remember if you store this as the policy or unlock conditions on the address or in the local storage input.satisfiedPolicy = { "policy": { "type": "uc", "policy": unlockCondtions }, "signatures": [ wallet.signHash(privateKey, sigHash) ] }; }); txn.siafundInputs.forEach((input) => { const privateKey = getPrivateKeyForAddress(input.parent.siacoinOutput.address), unlockCondtions = getUnlockConditionsForAddress(input.parent.siacoinOutput.address); input.satisfiedPolicy = { "policy": { "type": "uc", "policy": unlockCondtions }, "signatures": [ wallet.signHash(privateKey, sigHash) ] }; }); /* { "siacoinInputs": [ { "parent": { "id": "a2b01527c128eebd19056d5048d6b18b31df1fa9589993c55d50607dc097e69c", "stateElement": { "leafIndex": 4646, "merkleProof": [ "aac548e6cdd2f05daa89ce83b1935bb1f2d4b363a1d27ed3158f8157d209eea7", "211e336ba260f72dbe8059e7e564414cda75386ebaf79720ee1078e6aa513e15", "3ad4326fae446f729679cdb80fd1ea55c184c025bf228cd4cf49471be9c517f6" ] }, "siacoinOutput": { "value": "424999930000000000000000000000", "address": "2b8fc779876872055333fa0609f37a604be076e97bfeeab4d1c7df7d02f9cff3b8e6317047fa" }, "maturityHeight": 0 }, "satisfiedPolicy": { "policy": { "type": "uc", "policy": { "timelock": 0, "publicKeys": [ "ed25519:9dd50ac053764d67b6bcee937a1186c7d3341daedd326f6022afca8c4021d6bb" ], "signaturesRequired": 1 } }, "signatures": [ "c21ac65cd105460879dfdaa37cf7efabf42e7978f85c7e1fe73f95c4637b3e0b64dd43f052a9f59194abfc0ba678d4c9e9122a821c9a7a5b45c4c204e8d2470d" ] } } ], "siacoinOutputs": [ { "value": "15000000000000000000000000000", "address": "2e5716a6ba598292b2c0233fcc9e21f992c5f536ae1e0634907855224d5e9216a0c1256e0085" }, { "value": "409999918000000000000000000000", "address": "2b8fc779876872055333fa0609f37a604be076e97bfeeab4d1c7df7d02f9cff3b8e6317047fa" } ], "minerFee": "12000000000000000000000" } */
I'm hoping you'll be able to use this API to construct the transaction instead of using /fund
and /fundsf
separately: https://github.com/SiaFoundation/walletd/pull/211
The request body is the Siacoin and Siafund recipients. The response is an unsigned transaction.
If only we had an api
package 🤔
This PR was created automatically. Merging it will create a new release for 0.9.1
- Fix account JSON encoding
Fixes the implementation of encoding.TextMarshaler
on the rhp4.Account type. Will change the JSON encoding of an account from an array to a string.
Fixes an issue raised in https://github.com/SiaFoundation/web/pull/895
Uses standard locations for application data instead of the current directory. This brings renterd
in line with other system services and makes it easier to manage application data.
Linux, FreeBSD, OpenBSD
- Configuration:
/etc/walletd/walletd.yml
- Data directory:
/var/lib/walletd
macOS
- Configuration:
~/Library/Application Support/walletd.yml
- Data directory:
~/Library/Application Support/walletd
Windows
- Configuration:
%APPDATA%\SiaFoundation\walletd.yml
- Data directory:
%APPDATA%\SiaFoundation\walletd
Docker
- Configuration:
/data/walletd.yml
- Data directory:
/data
@alexfreska ran into issues integrating our new endpoint since the cookie is set to Domain=localhost
as the request appears to be coming from the local proxy.
This PR implements one potential solution to this issue by adding proper handling for the X-Forwarded-Host header to renterd
which means that reverse proxies can set using that header to the domain they are proxying for which then binds the cookie to that given domain rather than localhost.
NOTE: This PR also makes the cookie secure. Apparently Firefox and Chromium started treating localhost
as a secure origin a while ago so this should work for our use-case. But we might still want to verify it.
ALTERNATIVE: An alternative approach now that we can hand out short-lived tokens would be query parameters. Which I would like to avoid but it would require less user configuration when running with a reverse proxy. Although one could argue that if you are willing to set up a reverse proxy adding that one line of extra configuration is acceptable.
This PR was created automatically. Merging it will finalize the changelog for 2.0.2
- Add missing database index for migrated nodes
- Added "sqlite integrity" command
- Fixed an issue with contracts sometimes being rejected if one of their parent transactions was confirmed in an earlier block
Refactors migrations to have one migration per transaction and adds a test to ensure schema consistency between migrations.
Uses standard locations for application data instead of the current directory. This brings walletd
in line with other system services and makes it easier to manage application data.
Linux, FreeBSD, OpenBSD
- Configuration:
/etc/walletd/walletd.yml
- Data directory:
/var/lib/walletd
macOS
- Configuration:
~/Library/Application Support/walletd.yml
- Data directory:
~/Library/Application Support/walletd
Windows
- Configuration:
%APPDATA%\SiaFoundation\walletd.yml
- Data directory:
%APPDATA%\SiaFoundation\walletd
Docker
- Configuration:
/data/walletd.yml
- Data directory:
/data
This fixes a regression where a transaction set cannot be rebroadcast if one of its parents is already confirmed causing otherwise valid contract formations to be rejected.
What's, effectively, happening now is:
- form a contract using an ephemeral output
- The formation set includes [
ephemeralParent
,formationTxn
] ephemeralParent
is confirmed, but for some reasonformationTxn
is not.formationTxn
is technically still valid, butAddPoolTransactions
fails with "siacoin input 0 spends nonexistent siacoin output" sinceephemeralParent
is already confirmed
The additional lifecycle test confirms this behavior
There are two tests where we manually close/remove a host, TestContractFundsReturnWhenHostOffline
and TestHostScan
, turns out calling Close
on a test host twice causes a potential deadlock in the syncer because we Connect
after closing. This has to be fixed in the syncer of course but on our end we can avoid calling Close
twice and properly remove the host from the cluster instead.
Closes https://github.com/SiaFoundation/renterd/issues/1803
Some users have been reporting that creating this index fails due to the directory reference being missing on the objects
table. Which happens when the migrations were run out of order. Easiest fix is to avoid that migration altogether since the table was dropped.
Replacing the API here forced a decision around event display, so this has some small UI changes:
- References to transactions in the upper right corner and the tab are now "events". Changed the skeleton to match.
- Items in the event list are now labeled more granularly with the type of event and hopefully all the relevant linking. (Need a check on this for sure)
Refactors migrations to have each migration run in an isolated transaction and adds a consistency test from the first version of hostd
's schema. This ensures the database remains consistent between migrations.
The race:
=== RUN TestPricesCache
==================
WARNING: DATA RACE
Write at 0x00c000138c28 by goroutine 9:
go.sia.tech/renterd/internal/prices.(*cachedPrices).fetch()
/home/runner/work/renterd/renterd/internal/prices/prices.go:125 +0x8d0
go.sia.tech/renterd/internal/prices.(*PricesCache).Fetch()
/home/runner/work/renterd/renterd/internal/prices/prices.go:66 +0x304
go.sia.tech/renterd/internal/prices.TestPricesCache.gowrap1()
/home/runner/work/renterd/renterd/internal/prices/prices_test.go:69 +0xa4
Previous read at 0x00c000138c28 by goroutine 8:
go.sia.tech/renterd/internal/prices.(*cachedPrices).fetch()
/home/runner/work/renterd/renterd/internal/prices/prices.go:90 +0x10e
go.sia.tech/renterd/internal/prices.(*PricesCache).Fetch()
/home/runner/work/renterd/renterd/internal/prices/prices.go:66 +0x304
go.sia.tech/renterd/internal/prices.TestPricesCache()
/home/runner/work/renterd/renterd/internal/prices/prices_test.go:84 +0x87c
testing.tRunner()
/opt/hostedtoolcache/go/1.23.4/x64/src/testing/testing.go:1690 +0x226
testing.(*T).Run.gowrap1()
/opt/hostedtoolcache/go/1.23.4/x64/src/testing/testing.go:1743 +0x44
Goroutine 9 (running) created at:
go.sia.tech/renterd/internal/prices.TestPricesCache()
/home/runner/work/renterd/renterd/internal/prices/prices_test.go:69 +0x685
testing.tRunner()
/opt/hostedtoolcache/go/1.23.4/x64/src/testing/testing.go:1690 +0x226
testing.(*T).Run.gowrap1()
/opt/hostedtoolcache/go/1.23.4/x64/src/testing/testing.go:1743 +0x44
Goroutine 8 (running) created at:
testing.(*T).Run()
/opt/hostedtoolcache/go/1.23.4/x64/src/testing/testing.go:1743 +0x825
testing.runTests.func1()
/opt/hostedtoolcache/go/1.23.4/x64/src/testing/testing.go:2168 +0x85
testing.tRunner()
/opt/hostedtoolcache/go/1.23.4/x64/src/testing/testing.go:1690 +0x226
testing.runTests()
/opt/hostedtoolcache/go/1.23.4/x64/src/testing/testing.go:2166 +0x8be
testing.(*M).Run()
/opt/hostedtoolcache/go/1.23.4/x64/src/testing/testing.go:2034 +0xf17
main.main()
_testmain.go:47 +0x164
==================
testing.go:1399: race detected during execution of test
--- FAIL: TestPricesCache (0.05s)
Bumps the all-dependencies group with 1 update: golang.org/x/crypto.
Updates golang.org/x/crypto
from 0.31.0 to 0.32.0
Commits
8929309
go.mod: update golang.org/x dependencies4a75ba5
all: make function and struct comments match the names- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Bumps the dependencies group with 1 update: go.sia.tech/coreutils.
Updates go.sia.tech/coreutils
from 0.9.0 to 0.9.1
Release notes
Sourced from go.sia.tech/coreutils's releases.
0.9.1 (2025-01-12)
Fixes
- Release locked host UTXOs if contract formation, renewal, or refresh fails
- Release locked UTXOs if contract formation, renewal, or refresh fails
Changelog
Sourced from go.sia.tech/coreutils's changelog.
0.9.1 (2025-01-12)
Fixes
- Release locked host UTXOs if contract formation, renewal, or refresh fails
- Release locked UTXOs if contract formation, renewal, or refresh fails
Commits
549d02f
Merge pull request #148 from SiaFoundation/releasee3d0db1
chore: prepare release 0.9.10d63b63
Merge pull request #149 from SiaFoundation/nate/server-release-utxosb6af4d2
rhp4: release host utxos when formation, refresh, or renew failsedda581
Merge pull request #147 from mike76-dev/fix-release-inputs54a0611
chore: document change09d33c2
Release inputs if RPCFormContract, RPCRenewContract, or RPCRefreshContract fail- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
This PR was created automatically. Merging it will finalize the changelog for 2.0.1
- Fixed an issue with alert content not showing in the UI
Adds some missing change sets from before we started using Knope
Bumps the all-dependencies group with 1 update: go.sia.tech/coreutils.
Updates go.sia.tech/coreutils
from 0.9.0 to 0.9.1
Release notes
Sourced from go.sia.tech/coreutils's releases.
0.9.1 (2025-01-12)
Fixes
- Release locked host UTXOs if contract formation, renewal, or refresh fails
- Release locked UTXOs if contract formation, renewal, or refresh fails
Changelog
Sourced from go.sia.tech/coreutils's changelog.
0.9.1 (2025-01-12)
Fixes
- Release locked host UTXOs if contract formation, renewal, or refresh fails
- Release locked UTXOs if contract formation, renewal, or refresh fails
Commits
549d02f
Merge pull request #148 from SiaFoundation/releasee3d0db1
chore: prepare release 0.9.10d63b63
Merge pull request #149 from SiaFoundation/nate/server-release-utxosb6af4d2
rhp4: release host utxos when formation, refresh, or renew failsedda581
Merge pull request #147 from mike76-dev/fix-release-inputs54a0611
chore: document change09d33c2
Release inputs if RPCFormContract, RPCRenewContract, or RPCRefreshContract fail- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Adds two new endpoints to construct transactions. This combines and simplifies the existing fund flow for sending siacoin and siafund transactions.
Requires #210
Fixed that issue loading alerts in previous PR and decided to just fully sync up the UX with renterd.
- The hostd alerts feature is now a full page and matches the user experience of renterd alerts.
- The only difference is the alerts are client-filtered whereas the renterd API accepts a severity parameter so renterd uses server filtering.
Changes the indexer to skip Siafund claim events and UTXOs with zero value since they do not affect the wallet. This is inline with the indexing behavior of transactions that do not spend or create UTXOs.
When we fetch used sectors we take into account that the contracts could have been renewed during the upload, we don't take into account however that a contract might've been archived in the mean time. This results in a scan failure and eventually ends up failing the upload.
I encountered these upload failures on my node and found out we don't properly refresh the uploader's contract ID if it got refreshed/renewed in the background. Possible solution was a host store but I think this is superior, avoids a lot of dependency injection and most annoyingly I found that it's quite cumbersome to get at api.HostInfo
for a single host...
2025-01-10T13:51:23Z DEBUG worker.worker.uploadmanager sector upload failure was ignored {"uploadError": "failed to upload sector to contract e6237a2a66ffe5d4e6d1e017983d2cffe039f07bbb9f73b82ac5b5ceedb9ef68; contract has reached the maximum number of revisions", "uploadDuration": "0s", "totalDuration": "28.417729ms", "overdrive": false, "hk": "ed25519:05e1b50b4d0104bc1ec30f3ec570f3abcea34e38b903cd24896b718032ef2c6a"}
Bumps the all-dependencies group with 3 updates: go.sia.tech/coreutils, go.sia.tech/web/renterd and golang.org/x/crypto.
Updates go.sia.tech/coreutils
from 0.9.0 to 0.9.1
Release notes
Sourced from go.sia.tech/coreutils's releases.
0.9.1 (2025-01-12)
Fixes
- Release locked host UTXOs if contract formation, renewal, or refresh fails
- Release locked UTXOs if contract formation, renewal, or refresh fails
Changelog
Sourced from go.sia.tech/coreutils's changelog.
0.9.1 (2025-01-12)
Fixes
- Release locked host UTXOs if contract formation, renewal, or refresh fails
- Release locked UTXOs if contract formation, renewal, or refresh fails
Commits
549d02f
Merge pull request #148 from SiaFoundation/releasee3d0db1
chore: prepare release 0.9.10d63b63
Merge pull request #149 from SiaFoundation/nate/server-release-utxosb6af4d2
rhp4: release host utxos when formation, refresh, or renew failsedda581
Merge pull request #147 from mike76-dev/fix-release-inputs54a0611
chore: document change09d33c2
Release inputs if RPCFormContract, RPCRenewContract, or RPCRefreshContract fail- See full diff in compare view
Updates go.sia.tech/web/renterd
from 0.72.0 to 0.73.0
Release notes
Sourced from go.sia.tech/web/renterd's releases.
[email protected]
Minor Changes
- 7f6c64a9: Alerts with large errors are now collapsed by default and have a control to expand and collapse the full contents.
Patch Changes
- 56630e16: The copyable file download URLs in the file context menu have been updated to match the new API.
- e1a49ed0: Fixed an issue with the contract churn alert's overall churn percentage.
Commits
40be955
chore: release packages7f6c64a
feat(renterd): alerts collapse large errors7f8400c
chore: upgrade cluster7afc02c
fix(hostd): alerts list not showinge1a49ed
fix(renterd): contract churn alert percentagefb02d90
test(explorer): change address transaction for click through test2a9d193
fix(hostd): net address and wallet address view on siascan changes56630e1
fix(renterd): object download urlsc9477b9
chore: export renterd/v0.72.0 hostd/v0.55.0 walletd/v0.27.0- See full diff in compare view
Updates golang.org/x/crypto
from 0.31.0 to 0.32.0
Commits
8929309
go.mod: update golang.org/x dependencies4a75ba5
all: make function and struct comments match the names- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Fixes a major performance regression in v2.0.0 when uploading new sectors on decently sized nodes and adjusts the benchmarks to create a volume with at least 10TB to better emulate production nodes.
Version | Read Sector | Write Sector |
---|---|---|
v1.1.2 | 0.03ms | 0.15ms |
v2.0.0-beta.5 | 0.024 ms | 386 ms |
nate/fix-upload-regression | 0.024ms | 0.12ms |
hostd
images built on the current version of Docker with the scratch
base layer are different from the current stable image. This switches the base image from scratch
to debian:bookworm-slim
in hopes that SQLite behaves better. The alternative is setting the SQLITE_TEMPDIR
environment variable in the image, but there are other inconsistencies caused by using scratch
.
- Fixed an issue where the list of alerts was not showing.
The current threshold is set at 100ms which I believe is too tight. We have slow query log fatigue. The majority of my log entries are for queries that took 1-200ms, we've grown accustomed to seeing those and we're not going to spend time rewriting the queries in the short term. Therefor I propose we increase it to 500ms, a quite large but good value I think. At the very least when we see one of those it'll spike our interest to go and investigate.
I ran into a deadlock on my node forcing a rescan. Because it closes a channel you can even make it panic if you request a rescan twice in short succession. I figured a decent approach would be to keep around a cancel function for the ongoing scan... This allows us to get rid of shutdownChan
and interruptChan
and is overall more readable imo.
a scan is started, which we derive from the context given down to us. If we have to re-scan we can call cancel and wait for ongoing scans to be interrupted and start again.
- Fixed an issue with the contract churn alert's overall churn percentage.
- The percentage is now the size of contracts in the churn alert that have moved to a 'bad' state over the total size of all contracts. Previously it was assumed the churn alert always included all contracts.
- The host net address context menu no longer has a view on siascan option. https://github.com/SiaFoundation/hostd/issues/554
- The host wallet address context menu now has a view on siascan option.
- The copyable file download URLs in the file context menu have been updated to match the new API.
- The URL was still objects/:key instead of object/:key
Fixes the download manager using cfg.UploadMaxMemory Prevents the pruning endpoint from returning an error when no sectors for pruning were found to prevent unnecessary errors in logs
Makes it easier for scripts to parse startup issues
Fixes #203
I want to propose a change in how we redistribute wallet outputs. I understand this feels a little arbitrary but my node runs so much smoother after making this change and I personally don't understand why we wouldn't give ourselves a little leeway when it comes to spendable and usable outputs in our wallet. The current logic really doesn't make sense to me, so definitely we have to tweak it a bit I think.
Some extra context:
On my node I ran into several occasions where my wallet was trying to spend nonexisting siacoin outputs. I can't reproduce it and the logging I had was not sufficient to debug it any further. I only had an output ID but it never appeared in the logs other than the error message, it wasn't present in the database either so I'm a bit puzzled.
It happend on contract formations and renewals which all allow to use unconfirmed transaction, I'm going to see if we have a test, or maybe I can tweak a test to assert that works properly but also that we can properly chain it a couple of times. I have seen that work though, so really not sure what happened. I had one 50KS output and for multiple hours my node was unable to fragment the wallet, nor refresh any of my contracts because I was stuck. I don't think I've seen this on any other node but this one (mine) though..
Moves UTXO selection out of the API and into the wallet manager in preparation for a transaction construction endpoint.
We already log some startup errors to stderr
but it seems like some fell through the cracks.
Having spent some time in our renterd.log
recently I noticed a lot of entries that appear to log an object rather than the structured logs with context you would expect. I think we string replaced err
to zap.Error(err)
or something and forgot to check the instances where we have to switch the logging method and use the one that logs the variadic key pairs.
Example:
2025-01-08T14:28:58Z DEBUG worker.worker.fallbackdialer Failed to resolve host, using cached IP{error 26 0 dial tcp: lookup pikrue.spdns.org: operation was canceled} {"hostKey": "ed25519:82aec15c5786b9037b74ca0b59e958724641c4c71093916c2749dc22a5392de3", "host": "pikrue.spdns.org"}
In v2, we removed pending contracts from the contract metrics. There was a single spot where this was not taken into account, when an active contract is reverted back to pending after a reorg. Difficult to detect since the exact situation would require a reorg to occur at the same height as a formation. Added an additional lifecycle test to test reorgs and ensure all of the metrics revert cleanly.
panic: unexpected contract status: pending
goroutine 225 [running]:
go.sia.tech/hostd/persist/sqlite.contractStatusMetric(0x96?)
go.sia.tech/hostd/persist/sqlite/consensus.go:845 +0xbf
go.sia.tech/hostd/persist/sqlite.updateStatusMetrics(0x2?, 0x0, 0xc004f26c00)
go.sia.tech/hostd/persist/sqlite/consensus.go:862 +0x98
go.sia.tech/hostd/persist/sqlite.revertContractFormation(0xc002800260, {0xc004a60b60, 0x1, 0xc00481a9c8?})
go.sia.tech/hostd/persist/sqlite/consensus.go:1208 +0x5d2
go.sia.tech/hostd/persist/sqlite.(*updateTx).RevertContracts(_, {0x7b2f8, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...}}, ...)
go.sia.tech/hostd/persist/sqlite/consensus.go:356 +0x3a
go.sia.tech/hostd/host/contracts.(*Manager).UpdateChainState(0xc0014a21e0, {0x7006ceba4258, 0xc002800270}, {0xc001441908, 0x1, 0xf11b69?}, {0xc004b6a008, 0x4, 0x7006ceb6bc18?})
go.sia.tech/hostd/host/contracts/update.go:548 +0x37e
go.sia.tech/hostd/index.(*Manager).syncDB.func1({0x186a6f0, 0xc002800270})
go.sia.tech/hostd/index/update.go:57 +0x165
go.sia.tech/hostd/persist/sqlite.(*Store).UpdateChainState.func1(0xc002800260)
go.sia.tech/hostd/persist/sqlite/consensus.go:564 +0x5c
go.sia.tech/hostd/persist/sqlite.doTransaction(0xc00049d080?, 0xc00049d100, 0xc00481e8f0)
go.sia.tech/hostd/persist/sqlite/store.go:115 +0x17f
go.sia.tech/hostd/persist/sqlite.(*Store).transaction(0xc00049e0d0, 0xc00481e8f0)
go.sia.tech/hostd/persist/sqlite/store.go:49 +0x3ec
go.sia.tech/hostd/persist/sqlite.(*Store).UpdateChainState(0x7b2fb?, 0x0?)
go.sia.tech/hostd/persist/sqlite/consensus.go:563 +0x29
go.sia.tech/hostd/index.(*Manager).syncDB(0xc0004ce140, {0x18640b0, 0xc000002190})
go.sia.tech/hostd/index/update.go:54 +0x362
go.sia.tech/hostd/index.NewManager.func2()
go.sia.tech/hostd/index/manager.go:153 +0x248
created by go.sia.tech/hostd/index.NewManager in goroutine 1
go.sia.tech/hostd/index/manager.go:138 +0x4d9
Fixes an error starting up when the data directory is unset and an existing database exists in the current directory.
In the v2 beta, the price pinning loop was not being started correctly. This refactors the manager so it is implicitly started when the Pinner is initialized.
The RHP3 registry will not be supported in RHP4 and should be considered deprecated. This sets the default number of registry entries to 0 for new hosts. The registry will be removed at the same time as RHP2 and RHP3.
Fixes #451
In the current v2 beta, the rejection buffer is unset meaning if the contract is not confirmed in a single block it will be marked as rejected and not retried. This sets the default rejection buffer back to 18 blocks.
Bumps the all-dependencies group with 1 update: golang.org/x/term.
Updates golang.org/x/term
from 0.27.0 to 0.28.0
Commits
40b02d6
go.mod: update golang.org/x dependencies- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
I noticed that hosts which fail the checks before the actual scan appeared quite a lot in the logs of gompa. Turns out that we never consider these hosts scanned which caused them to end up in every batch of the scans. This PR fixes that.
Adds prometheus responses to [GET] /consensus/tip
and [GET] /index/tip
Bumps the dependencies group with 4 updates: github.com/cloudflare/cloudflare-go, golang.org/x/sys, golang.org/x/term and golang.org/x/time.
Updates github.com/cloudflare/cloudflare-go
from 0.112.0 to 0.113.0
Release notes
Sourced from github.com/cloudflare/cloudflare-go's releases.
v0.113.0
ENHANCEMENTS:
- teams_location: make location parameters optional (#3758)
DEPENDENCIES:
- deps: bumps golang.org/x/net from 0.32.0 to 0.33.0 (#3756)
Changelog
Sourced from github.com/cloudflare/cloudflare-go's changelog.
0.113.0 (January 1st, 2025)
ENHANCEMENTS:
- teams_location: make location parameters optional (#3758)
DEPENDENCIES:
- deps: bumps golang.org/x/net from 0.32.0 to 0.33.0 (#3756)
Commits
1b10fa5
Update CHANGELOG.md448cac5
Update CHANGELOG.md07c1cf4
Update CHANGELOG.mddff7683
generate changelog98a46a7
Merge pull request #3758 from rexscaria/rex/update-teams-docse11e6c1
Merge remote-tracking branch 'origin' into rex/update-teams-docs603f60f
feat: make teams location params optionale0e1dcd
Merge pull request #3756 from cloudflare/dependabot/go_modules/golang.org/x/n...80f18cf
add CHANGELOG for #375668bf50a
Bump golang.org/x/net from 0.32.0 to 0.33.0- See full diff in compare view
Updates golang.org/x/sys
from 0.28.0 to 0.29.0
Commits
d4ac05d
windows: update NewLazyDLL, LoadDLL docs to point to NewLazySystemDLL680bd24
windows: remove unused errString typea7f19e9
unix: add Dup3 on dragonfly- See full diff in compare view
Updates golang.org/x/term
from 0.27.0 to 0.28.0
Commits
40b02d6
go.mod: update golang.org/x dependencies- See full diff in compare view
Updates golang.org/x/time
from 0.8.0 to 0.9.0
Commits
1ce61fe
rate: make function comment match function name- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Uses standard locations for application data instead of the current directory. This brings hostd
in line with other system services and makes it easier to manage application data. This should fall back to PWD
if a database file already exists.
Linux, FreeBSD, OpenBSD
- Configuration:
/etc/hostd
- Data directory:
/var/lib/hostd
macOS
- Configuration:
~/Library/Application Support/hostd
- Data directory:
~/Library/Application Support/hostd
Windows
- Configuration:
%APPDATA%\SiaFoundation\hostd
- Data directory:
%APPDATA%\SiaFoundation\hostd
Docker
- Configuration:
/data
- Data directory:
/data
Bumps the all-dependencies group with 1 update: golang.org/x/sys.
Updates golang.org/x/sys
from 0.28.0 to 0.29.0
Commits
d4ac05d
windows: update NewLazyDLL, LoadDLL docs to point to NewLazySystemDLL680bd24
windows: remove unused errString typea7f19e9
unix: add Dup3 on dragonfly- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Bumps the all-dependencies group with 1 update: go.sia.tech/web/walletd.
Updates go.sia.tech/web/walletd
from 0.26.0 to 0.27.0
Release notes
Sourced from go.sia.tech/web/walletd's releases.
[email protected]
Minor Changes
- b7e5ea12: Data tables now show an empty state when viewing a page greater than the first page with no data.
Patch Changes
- b7e5ea12: Fixed a bug where the transaction list would show pending transactions when viewing pages other than the first page.
Commits
f3f9940
chore: release packages5958be2
feat: renterd zen config values32f9a8b
fix: hostd unused prop error8d8d14a
fix: fonts2003a88
refactor: chartxy, y axis, font classesb923aa4
refactor: extract fonts libbb976b5
fix: revert can upload change141a7e4
fix: renterd update contract list, walletd types1af82db
feat: renterd migration surcharge multiplierf3e8cfe
feat: renterd contract state- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Bumps the dependencies group with 2 updates: github.com/cloudflare/cloudflare-go and go.sia.tech/web/hostd.
Updates github.com/cloudflare/cloudflare-go
from 0.111.0 to 0.112.0
Release notes
Sourced from github.com/cloudflare/cloudflare-go's releases.
v0.112.0
ENHANCEMENTS:
- access_application: support Access service token + multi-valued authentication for SCIM provisioning (#3708)
- certificate_authorities: add new methods to interact with Certificate Authorities Hostname Associations API (#3740)
- content_scanning: Add new support for CRUD operations (#3700)
- teams: sync latest doc changes (#3743)
- teams_location: add support for
dns_destination_ipv6_block_id
to the location payload (#3738)- teams_locations: Add dns_destination_ips_id and ipv4_destination_backup (#3699)
BUG FIXES:
- certificate_authorities: fixes for methods to interact with Certificate Authorities Hostname Associations API (#3742)
DEPENDENCIES:
Changelog
Sourced from github.com/cloudflare/cloudflare-go's changelog.
0.112.0 (December 18th, 2024)
ENHANCEMENTS:
- access_application: support Access service token + multi-valued authentication for SCIM provisioning (#3708)
- certificate_authorities: add new methods to interact with Certificate Authorities Hostname Associations API (#3740)
- content_scanning: Add new support for CRUD operations (#3700)
- teams: sync latest doc changes (#3743)
- teams_location: add support for
dns_destination_ipv6_block_id
to the location payload (#3738)- teams_locations: Add dns_destination_ips_id and ipv4_destination_backup (#3699)
BUG FIXES:
- certificate_authorities: fixes for methods to interact with Certificate Authorities Hostname Associations API (#3742)
DEPENDENCIES:
Commits
ed202ab
Update CHANGELOG.mdc0f19d6
generate CHANGELOG1007e86
Merge pull request #3743 from rexscaria/rex/update-teams-docs455002b
prefix exported structs with Teams namespacef2d8cac
Merge pull request #3742 from ebisso/bugfix/certificate-authorities-param7005664
feat: sync teams gateway docse830fd4
add changelog for #3742c7be137
bugfix: certificate_authorities: fix wrong result structurebd029a5
bugfix: certificate_authorities: add mtls_certificate_id to query params8d86952
Merge pull request #3741 from cloudflare/update-doc-urls- Additional commits viewable in compare view
Updates go.sia.tech/web/hostd
from 0.54.0 to 0.55.0
Release notes
Sourced from go.sia.tech/web/hostd's releases.
[email protected]
Minor Changes
- b7e5ea12: Data tables now show an empty state when viewing a page greater than the first page with no data.
Patch Changes
- b7e5ea12: Fixed a bug where the transaction list would show pending transactions when viewing pages other than the first page.
Commits
3dbd63b
chore: release packagese983c15
test(renterd): files and uploads pagination2f3f9ab
refactor: visible columnsb7e5ea1
refactor: dataset and datastatea5a5d09
refactor(renterd): contracts no longer provide hostIP1f8a806
chore: export renterd/v0.71.0 hostd/v0.54.0- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Updates core and coreutils to v0.9.0 to fully support the v2 hardfork.
- Tests for renterd files and uploads pagination.
- Test for hostd contracts and volumes pagination.
- e2e: Added support for uploading files of a specific size.
Updates the UI to v0.54.1 updates the net address placeholder on the configuration page
The following feature have been removed, relates to https://github.com/SiaFoundation/renterd/issues/1747
- The contracts explorer no longer includes a column for host IP.
- The contracts explorer no longer supports filtering by host IP.
- The contracts multi-select menu no longer supports bulk blocklist actions.
- The blocklist dialog no longer shows how many active contacts match a suggestion.
Changes the Knope config to exclude conventional commits so that only explicit change set files will be included in the final change log.
v2.0.0 has a number of config changes that are incompatible with existing configs. Currently, hostd
will exit if the config contains unexpected fields. This adds support for upgrading an existing v1.1.2 config file to the v2.0.0 config format.
- Updates
core
andcoreutils
to v0.9.0 to fully support the V2 hardfork. - Updates the UI to make the net address changes clearer
- Fixed an issue with the copy file metadata action in the file context menu.
- The object response has been updated in v2.
- Fixed an issue where selecting the entire page of files would select the parent navigation row.
- Address configuration setting now expects only the hostname without a port. https://github.com/SiaFoundation/hostd/issues/536
Fixes an NDF in TestContractLifecycle when running on slow CI nodes
Fixes a panic that occurs when the consensus database is deleted and the node is attempting to sync. This will remove all existing consensus state from the database and rescan from genesis without affecting the wallet data.
Fixes #204
This PR was created automatically. Merging it will create a new release for 0.9.0
- Add host public key to AccountToken
- Add helper for generating account tokens
- Allow v1 contracts to be resolved immediately
After careful testing, I found that siad
does allow a contract to be resolved within the same block it was created. In short:
- Contracts must have a
WindowStart
of at leastcurrentHeight+1
- Storage proofs check that
currentHeight
is not greater than the "trigger height," which isWindowStart - 1
- Therefore, if you create a contract with
WindowStart = currentHeight + 1
, its trigger height will becurrentHeight
, so a storage proof is allowed.
So in fact, you can create, revise, and resolve a v1 contract all in the same block! (On that note, the update docstrings are more descriptive now.)
Note that v2 contracts do NOT share this property. There is no such thing as an ephemeral v2 contract; that is, you can't use types.UnassignedLeafIndex
when referencing a v2 contract. (We could support this, but I see little reason to.)
Lastly, I improved the validation tests by checking for specific error strings, and switched the consensus errors to use %v
formatting for SC amounts, rather than Hastings.
I played with the positioning of these two buttons (next to block height, center, etc) and whether to write out "previous block" and "next block" or not. I settled with this and a tooltip. Included catching the < 1 and > current block height cases.
The net address in the host settings was changed to only include the hostname
instead of hostname:port
. This broke DDNS updates as the port was still expected to be on the hostname. This adds additional validation to the host's net address setting and fixes DDNS updates.
Adds a helper for generating a signed RHP4 account token
Bumps the dependencies group with 1 update in the / directory: go.sia.tech/web/hostd.
Updates go.sia.tech/web/hostd
from 0.52.0 to 0.53.0
Release notes
Sourced from go.sia.tech/web/hostd's releases.
[email protected]
Minor Changes
- c909ad28: Multi-select now supports single select, toggle select, and range selection interactions, with click, ctrl-click, and shift-click.
Commits
11aff94
chore: release packagesc909ad2
refactor: improve multiselect behavioursf3d2a95
chore: export renterd/v0.68.0 hostd/v0.52.0 walletd/v0.25.0- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Bumps the dependencies group with 3 updates: go.sia.tech/core, go.sia.tech/coreutils and go.sia.tech/web/hostd.
Updates go.sia.tech/core
from 0.7.1 to 0.8.0
Release notes
Sourced from go.sia.tech/core's releases.
0.8.0 (2024-12-13)
Breaking Changes
Add revisable to RPCLatestRevision
Adds two additional flags to the RPCLatestRevision response. The
Revisable
field indicates whether the host will accept further revisions to the contract. A host will not accept revisions too close to the proof window or revisions on contracts that have already been resolved. TheRenewed
field indicates whether the contract was renewed. If the contract was renewed, the renter can useFileContractID.V2RenewalID
to get the ID of the new contract.0.7.3 (2024-12-12)
Features
- Update
golang.org/x/crypto
from 0.30.0 to 0.31.00.7.2 (2024-12-12)
Features
Allow revisions to set MaxRevisionNumber
MaxRevisionNumber
was previously used to finalize contracts, but that is not the case anymore, so the restriction can be removed.Fixes
- Include storage cost in renter renewal cost
Changelog
Sourced from go.sia.tech/core's changelog.
0.8.0 (2024-12-13)
Breaking Changes
Add revisable to RPCLatestRevision
Adds two additional flags to the RPCLatestRevision response. The
Revisable
field indicates whether the host will accept further revisions to the contract. A host will not accept revisions too close to the proof window or revisions on contracts that have already been resolved. TheRenewed
field indicates whether the contract was renewed. If the contract was renewed, the renter can useFileContractID.V2RenewalID
to get the ID of the new contract.0.7.3 (2024-12-12)
Features
- Update
golang.org/x/crypto
from 0.30.0 to 0.31.00.7.2 (2024-12-12)
Features
Allow revisions to set MaxRevisionNumber
MaxRevisionNumber
was previously used to finalize contracts, but that is not the case anymore, so the restriction can be removed.Fixes
- Include storage cost in renter renewal cost
Commits
b590860
Merge pull request #256 from SiaFoundation/release35e29c0
chore: prepare release 0.8.0f81268e
Merge pull request #255 from SiaFoundation/nate/rhp4-revision-revisable8383d65
improve docstring0875745
add revisable and renewed to RPCLatestRevision responsec36fa2a
chore: fix go.mod version109d18f
chore: fix missing changelog entry2321b69
chore: cleanup old changesets6fc49ab
build(deps): bump golang.org/x/crypto in the go_modules group67ca48e
chore: prepare release 0.7.2- Additional commits viewable in compare view
Updates go.sia.tech/coreutils
from 0.7.1-0.20241203172514-7bf95dd18f31 to 0.8.0
Release notes
Sourced from go.sia.tech/coreutils's releases.
0.8.0 (2024-12-13)
Breaking Changes
Add revised and renewed fields to RPCLatestRevision
Adds two additional fields to the RPCLatestRevision response. The Revisable field indicates whether the host will accept further revisions to the contract. A host will not accept revisions too close to the proof window or revisions on contracts that have already been resolved. The Renewed field indicates whether the contract was renewed. If the contract was renewed, the renter can use FileContractID.V2RenewalID to get the ID of the new contract.
- Remove unused duration param from
rhp4.RPCWrite
Features
Add support for block pruning in v2
The chain manager can now automatically delete blocks after a configurable number of confirmations. Note that this does not apply retroactively.
Fixes
- Return 0 balance for nonexistent accounts instead of an error
- Extended TestRPCRenew and TestRPCRefresh with an initial sector upload
- Fix panic when fetching block with empty block id from ChainManager
Changelog
Sourced from go.sia.tech/coreutils's changelog.
0.8.0 (2024-12-13)
Breaking Changes
Add revised and renewed fields to RPCLatestRevision
Adds two additional fields to the RPCLatestRevision response. The Revisable field indicates whether the host will accept further revisions to the contract. A host will not accept revisions too close to the proof window or revisions on contracts that have already been resolved. The Renewed field indicates whether the contract was renewed. If the contract was renewed, the renter can use FileContractID.V2RenewalID to get the ID of the new contract.
- Remove unused duration param from
rhp4.RPCWrite
Features
Add support for block pruning in v2
The chain manager can now automatically delete blocks after a configurable number of confirmations. Note that this does not apply retroactively.
Fixes
- Return 0 balance for nonexistent accounts instead of an error
- Extended TestRPCRenew and TestRPCRefresh with an initial sector upload
- Fix panic when fetching block with empty block id from ChainManager
Commits
- See full diff in compare view
Updates go.sia.tech/web/hostd
from 0.52.0 to 0.53.0
Release notes
Sourced from go.sia.tech/web/hostd's releases.
[email protected]
Minor Changes
- c909ad28: Multi-select now supports single select, toggle select, and range selection interactions, with click, ctrl-click, and shift-click.
Commits
11aff94
chore: release packagesc909ad2
refactor: improve multiselect behavioursf3d2a95
chore: export renterd/v0.68.0 hostd/v0.52.0 walletd/v0.25.0- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Bumps the all-dependencies group with 3 updates: go.sia.tech/core, go.sia.tech/coreutils and go.sia.tech/web/walletd.
Updates go.sia.tech/core
from 0.7.1 to 0.8.0
Release notes
Sourced from go.sia.tech/core's releases.
0.8.0 (2024-12-13)
Breaking Changes
Add revisable to RPCLatestRevision
Adds two additional flags to the RPCLatestRevision response. The
Revisable
field indicates whether the host will accept further revisions to the contract. A host will not accept revisions too close to the proof window or revisions on contracts that have already been resolved. TheRenewed
field indicates whether the contract was renewed. If the contract was renewed, the renter can useFileContractID.V2RenewalID
to get the ID of the new contract.0.7.3 (2024-12-12)
Features
- Update
golang.org/x/crypto
from 0.30.0 to 0.31.00.7.2 (2024-12-12)
Features
Allow revisions to set MaxRevisionNumber
MaxRevisionNumber
was previously used to finalize contracts, but that is not the case anymore, so the restriction can be removed.Fixes
- Include storage cost in renter renewal cost
Changelog
Sourced from go.sia.tech/core's changelog.
0.8.0 (2024-12-13)
Breaking Changes
Add revisable to RPCLatestRevision
Adds two additional flags to the RPCLatestRevision response. The
Revisable
field indicates whether the host will accept further revisions to the contract. A host will not accept revisions too close to the proof window or revisions on contracts that have already been resolved. TheRenewed
field indicates whether the contract was renewed. If the contract was renewed, the renter can useFileContractID.V2RenewalID
to get the ID of the new contract.0.7.3 (2024-12-12)
Features
- Update
golang.org/x/crypto
from 0.30.0 to 0.31.00.7.2 (2024-12-12)
Features
Allow revisions to set MaxRevisionNumber
MaxRevisionNumber
was previously used to finalize contracts, but that is not the case anymore, so the restriction can be removed.Fixes
- Include storage cost in renter renewal cost
Commits
b590860
Merge pull request #256 from SiaFoundation/release35e29c0
chore: prepare release 0.8.0f81268e
Merge pull request #255 from SiaFoundation/nate/rhp4-revision-revisable8383d65
improve docstring0875745
add revisable and renewed to RPCLatestRevision responsec36fa2a
chore: fix go.mod version109d18f
chore: fix missing changelog entry2321b69
chore: cleanup old changesets6fc49ab
build(deps): bump golang.org/x/crypto in the go_modules group67ca48e
chore: prepare release 0.7.2- Additional commits viewable in compare view
Updates go.sia.tech/coreutils
from 0.7.1-0.20241203172514-7bf95dd18f31 to 0.8.0
Release notes
Sourced from go.sia.tech/coreutils's releases.
0.8.0 (2024-12-13)
Breaking Changes
Add revised and renewed fields to RPCLatestRevision
Adds two additional fields to the RPCLatestRevision response. The Revisable field indicates whether the host will accept further revisions to the contract. A host will not accept revisions too close to the proof window or revisions on contracts that have already been resolved. The Renewed field indicates whether the contract was renewed. If the contract was renewed, the renter can use FileContractID.V2RenewalID to get the ID of the new contract.
- Remove unused duration param from
rhp4.RPCWrite
Features
Add support for block pruning in v2
The chain manager can now automatically delete blocks after a configurable number of confirmations. Note that this does not apply retroactively.
Fixes
- Return 0 balance for nonexistent accounts instead of an error
- Extended TestRPCRenew and TestRPCRefresh with an initial sector upload
- Fix panic when fetching block with empty block id from ChainManager
Changelog
Sourced from go.sia.tech/coreutils's changelog.
0.8.0 (2024-12-13)
Breaking Changes
Add revised and renewed fields to RPCLatestRevision
Adds two additional fields to the RPCLatestRevision response. The Revisable field indicates whether the host will accept further revisions to the contract. A host will not accept revisions too close to the proof window or revisions on contracts that have already been resolved. The Renewed field indicates whether the contract was renewed. If the contract was renewed, the renter can use FileContractID.V2RenewalID to get the ID of the new contract.
- Remove unused duration param from
rhp4.RPCWrite
Features
Add support for block pruning in v2
The chain manager can now automatically delete blocks after a configurable number of confirmations. Note that this does not apply retroactively.
Fixes
- Return 0 balance for nonexistent accounts instead of an error
- Extended TestRPCRenew and TestRPCRefresh with an initial sector upload
- Fix panic when fetching block with empty block id from ChainManager
Commits
- See full diff in compare view
Updates go.sia.tech/web/walletd
from 0.25.0 to 0.26.0
Release notes
Sourced from go.sia.tech/web/walletd's releases.
[email protected]
Minor Changes
- c909ad28: Multi-select now supports single select, toggle select, and range selection interactions, with click, ctrl-click, and shift-click.
Commits
e4c8aca
chore: release packages5bcfaf6
ci: fix publishing copy prep script16b7df4
fix: renterd hostd wallet balance detailse04a35c
fix: renterd and hostd wallet onboardingc54455f
fix: explorer siafund address total3c5f490
fix: explorer address transaction values723803a
fix: explorer host error6fc53f4
fix: renterd onboarding, host setting7a0f954
fix: website map00041ed
fix: website downloads- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
The contract state was not being correctly handled when rescanning the blockchain leading to issues with metric calculation.
This PR was created automatically. Merging it will create a new release for 0.8.0
Adds two additional flags to the RPCLatestRevision response. The Revisable
field indicates whether the host will accept further revisions to the contract. A host will not accept revisions too close to the proof window or revisions on contracts that have already been resolved. The Renewed
field indicates whether the contract was renewed. If the contract was renewed, the renter can use FileContractID.V2RenewalID
to get the ID of the new contract.
Adds two additional fields to the RPCLatestRevision response.
The Revisable
field indicates whether the host will accept further revisions to the contract. A host will not accept revisions too close to the proof window or for contracts that have already been resolved.
The Renewed
field indicates whether the contract was renewed. If the contract was renewed, the renter can use FileContractID.V2RenewalID
to get the ID of the new contract
Closes #246
This PR was created automatically. Merging it will create a new release for 0.7.3
MaxRevisionNumber
was previously used to finalize contracts, but that is not the case anymore, so the restriction can be removed.
Bumps the go_modules group with 1 update: golang.org/x/crypto.
Updates golang.org/x/crypto
from 0.30.0 to 0.31.0
Commits
b4f1988
ssh: make the public key cache a 1-entry FIFO cache- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions You can disable automated security fix PRs for this repo from the Security Alerts page.
This PR was created automatically. Merging it will create a new release for 0.7.2
MaxRevisionNumber
was previously used to finalize contracts, but that is not the case anymore, so the restriction can be removed.
- Include storage cost in renter renewal cost
Slightly different implementation of #251 that does not change the function signature
Related to the failing tests in https://github.com/SiaFoundation/coreutils/pull/134. Broadcasting the revision fails with siacoin inputs (600274999999999999906047180800 H) do not equal outputs (600274999999999999910241484800 H)
which seems to exactly match the storage cost. After verifying it by setting the storage price to 0, I confirmed that this change fixes the error.
Bumps the all-dependencies group with 3 updates: go.sia.tech/core, go.sia.tech/web/walletd and golang.org/x/term.
Updates go.sia.tech/core
from 0.7.1-0.20241203090808-c6a988d759d6 to 0.7.1
Commits
- See full diff in compare view
Updates go.sia.tech/web/walletd
from 0.24.0 to 0.25.0
Release notes
Sourced from go.sia.tech/web/walletd's releases.
[email protected]
Minor Changes
- 5e7fedb9: The wallet balance is now refreshed at least every 15 seconds.
Commits
5e3105c
chore: release packages7f020f8
fix: hostd volumes error642e0a1
chore: copy md files for release566487d
chore: lockfiledbbd5d9
ci: changeset version37ca8d8
chore: release packages709026a
chore: design-system publish css,js assets1c376d0
chore: package publishing format9c2325d
chore: export renterd/v0.30.0 hostd/v0.24.0 walletd/v0.12.0- See full diff in compare view
Updates golang.org/x/term
from 0.26.0 to 0.27.0
Commits
442846a
go.mod: update golang.org/x dependencies- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
MaxRevisionNumber
no longer has any relevance to consensus (aside from preventing any further revisions). Previously it was used when resolving contracts, but that is not the case anymore. We might as well keep the constant around, though; removing it would be a breaking API change, and maybe there's a usecase for finalizing a contract without resolving it.
Bumps the all-dependencies group with 2 updates: golang.org/x/crypto and golang.org/x/sys.
Updates golang.org/x/crypto
from 0.29.0 to 0.30.0
Commits
7042ebc
openpgp/clearsign: just use rand.Reader in tests3e90321
go.mod: update golang.org/x dependencies8c4e668
x509roots/fallback: update bundle- See full diff in compare view
Updates golang.org/x/sys
from 0.27.0 to 0.28.0
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Just something that was nagging me for a while.
This PR was created automatically. Merging it will create a new release for 0.7.1
- Automate releases
This makes PRs slightly more annoying because they will need to have either a documented change set or conventional commits, but this will automate the release process and improve documentation. This is mostly the same setup as renterd and hostd with the addition of tagging the release when the preview PR closes.
(sorry)
Did not notice this until after trying to update coreutils with #238. The new renewal validation logic was checking the individual payout values against the parent file contract element. This does not account for the payouts changing in an unbroadcast revision. This changes the logic to check that the sum of the outputs is equal to the sum of the parent outputs. Also adds some additional validation tests.
"Pool" was always a bit of a misnomer, because making a siafund claim doesn't subtract value from the "pool." Its actual function is to record the total revenue at specific points in time, so that we can calculate the delta between two points and thereby determine the value of the dividend.
I also slightly tweaked how dividends are calculated in v2. Previously, all file contract taxes were rounded down to a multiple of 10,000 H, so that they would be evenly divisible by the number of siafunds. But this isn't actually necessary; you can just divide when you calculate the claim value, and the rounding will occur then. This is slightly more fair anyway: as an extreme example, if all contract taxes had a value of 9999 H, siafund holders would never receive any dividends, no matter how many contracts were formed.
The tradeoff is that resolution transactions can't contain other outputs. That doesn't seem too restrictive to me, but maybe I'm forgetting a use case that requires it?
I also noticed that a renewal's FinalRevision
wasn't being applied to the accumulator that way; instead, the accumulator would contain the most recent revision of the contract. Not a huge deal, just felt inconsistent.
v2 transactions have a NewFoundationAddress
field, which, if present, updates both the primary and failsafe addresses. This PR tweaks the update logic slightly: if the new address is types.VoidAddress
, only the primary address is updated. (State).FoundationSubsidy
also now returns false
if the primary address is types.VoidAddress
. Together, these changes allow the Foundation to effectively waive the subsidy until a new, non-void primary address is set. This is preferable to receiving and then later burning the subsidy; instead, the subsidy is simply not created in the first place.
I also renamed "primary" and "failsafe" to "subsidy" and "management" to reflect the function of these addresses in v2. The "subsidy" address receives the subsidies, while the "management" address is used to update addresses. (Note that, thanks to spend policies, the old "primary" and "failsafe" can be combined into one address using a threshold policy.)
Checking for types.VoidAddress
might seem like a bit of a hack. Alternatively, we could expand the definition of NewFoundationAddress
. Technically, this would change the encoding of V2Transaction
; however, AFAICT, it would not actually cause any breakage, as the field is a pointer and has never been used in the v2 testnet (hence always encoded as false
).
Bumps the all-dependencies group with 1 update: go.sia.tech/core.
Updates go.sia.tech/core
from 0.6.2 to 0.6.3
Commits
d3d9f55
Merge pull request #236 from SiaFoundation/large-policiesbf93a07
types: Fully test (SpendPolicy).Verify788be94
types: Move complexity check to (SpendPolicy).Verify611d481
Merge pull request #228 from SiaFoundation/v2-headerdae65a3
types,gateway: Refactor BlockHeader4a72a16
types: Add EncodePtrCast and DecodePtrCast51068a3
docs: fix docstringbafdc34
fix linta74ae6f
rhp4: hard code temp sector duration88d9985
Merge pull request #234 from SiaFoundation/encoding- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Same rationale as #234: this logic wasn't present in UnmarshalJSON
, leading to inconsistency.
I also tweaked the behavior of thresh
. thresh
is supposed to require exactly n
policies to be satisfied (so I suppose "threshold" is a bit of a misnomer), so opaque
is used to hide unsatisfied policies. But Verify
was only checking that pk
and h
policies were replaced with opaque
; above
and after
were allowed to fail without causing the entire policy to fail. This isn't necessarily wrong -- and in fact, it's slightly more space-efficient -- but it feels inconsistent, and it's more ambiguous. I like how requiring opaque
forces you to be explicit about which sub-policies you're using (and also makes it obvious to the reader which sub-policies are being satisfied).
This introduces two changes to simplify client DX. These settings felt very similar to the batch size settings in RHP2 -- the host could technically change them, but actual renter code just assumed the default 17.83 MB was valid. This enforces a safe default assumption and reduces potential complexity around hosts with differing settings.
Bumps the all-dependencies group with 2 updates: go.sia.tech/core and go.sia.tech/web/walletd.
Updates go.sia.tech/core
from 0.6.1 to 0.6.2
Commits
0b6d8d1
Merge pull request #231 from SiaFoundation/nate/add-txn-idf5479af
types: add recursion comment24a1ed6
types: address comments8941fc1
types: add ID field to transaction JSON7b530e0
build(deps): bump the all-dependencies group with 2 updatesa872ea8
Merge pull request #230 from SiaFoundation/nate/json-consistencyabd95cc
ChainIndexElement camelCase9450b1a
FileContract.UnlockHash Hash256 -> Address2a3a1bf
Merge pull request #227 from SiaFoundation/nate/fix-finalization-encodingde1461f
types: fix finalization json encoding- See full diff in compare view
Updates go.sia.tech/web/walletd
from 0.23.2 to 0.24.0
Release notes
Sourced from go.sia.tech/web/walletd's releases.
[email protected]
Minor Changes
- fe888991: Invalid and not found routes now redirect to the home page.
Patch Changes
- 03221146: Updated the seed wallet address generation process to strip the address prefix, which matches the recent API change. Closes SiaFoundation/walletd#190
Commits
2a68631
chore: update release step5d07959
chore: lockfile98c09ae
chore: release packages19dd6e6
chore: specify internal dependency versions75a0135
refactor: library build and publishinge738738
fix: renterd upload packing description487dc4e
fix: renterd upload packing toggle829d91d
fix: renterd improve estimates allowance, calculated only on save, fiat displ...5bf282a
fix: files encode uric4aafc6
feat: data revalidation refresh intervals- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Previously, we used the policy itself to figure out how many signatures and preimages to expect. This saved two length prefixes (16 bytes), but it was annoying to implement, and also led to a vulnerability: EncodeTo
panicked when called with the wrong number of signatures or preimages, but UnmarshalJSON
did not validate these, so you could trigger a panic by causing a node to decode an invalid SpendPolicy
as JSON and then encode it as binary.
The modal satisfied policy is 1 pubkey + 1 signature, so ~100 bytes, making this a ~16% size increase. Not insignificant, but tolerable.
Note that we don't need any additional validation: (SpendPolicy).Verify
already checks for superfluous signatures and preimages.
Bumps the all-dependencies group with 1 update: golang.org/x/term.
Updates golang.org/x/term
from 0.25.0 to 0.26.0
Commits
b725e36
go.mod: update golang.org/x dependencies54df7da
README: don't recommend go get- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Bumps the all-dependencies group with 1 update: go.sia.tech/web/walletd.
Updates go.sia.tech/web/walletd
from 0.23.1 to 0.23.2
Release notes
Sourced from go.sia.tech/web/walletd's releases.
[email protected]
Patch Changes
- e9995c5d: The page layout is now persisted between page transitions.
Commits
675bd8f
chore: release packagesbe794d5
test: refactor all fixtures into boxed steps17b29cf
feat(renterd): directory mode files multiselect and batch deleteed264a0
feat(apps): add bottom actions to app layout, configure and animate existing ...e9995c5
refactor(apps): persist layouts between page transitions0914286
refactor: refine multiselect APIad74b8a
test(e2e): update cluster2bb6a0d
refactor(explored-types): change confirmationIndex and confirmationTransactio...c587068
fix(renterd): add autopilot configured check to evaluations9ca477c
fix(website): desktop download autoselect- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Bumps the all-dependencies group with 2 updates: go.sia.tech/core and go.sia.tech/coreutils.
Updates go.sia.tech/core
from 0.4.8-0.20240928202806-0e77790bd8bf to 0.5.0
Commits
- See full diff in compare view
Updates go.sia.tech/coreutils
from 0.4.2-0.20241017012544-0b4946403c93 to 0.5.0
Commits
- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Bumps the all-dependencies group with 1 update: go.sia.tech/web/walletd.
Updates go.sia.tech/web/walletd
from 0.23.0 to 0.23.1
Release notes
Sourced from go.sia.tech/web/walletd's releases.
[email protected]
Patch Changes
- 4cf6c8ea: Fixed an issue where the app would try to fetch from an invalid URL when first initializing.
Commits
b69f454
chore: release packages9277382
feat(renterd): generate debug report zip866fc68
feat(explored-types): add transactionID to ExplorerFileContract type3d2a152
test: set up explorer-e2e8d0c92a
test: extract e2e fixtures into library1d1452d
fix(renterd): config fields blank sia central4cf6c8e
chore: resolve various warnings5cf4f1b
chore: upgrade radix56974bb
refactor: react-core hooks key format411e378
refactor(explored-types): add null case to proof* fields in ExplorerFileContr...- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Adds support for the confirmation field to all event endpoints. Requires https://github.com/SiaFoundation/coreutils/pull/106
Bumps the all-dependencies group with 2 updates: go.sia.tech/coreutils and lukechampine.com/frand.
Updates go.sia.tech/coreutils
from 0.4.0 to 0.4.1
Commits
9cc63ee
Merge pull request #95 from SiaFoundation/dependabot/go_modules/golang.org/x/...b6bee60
build(deps): bump golang.org/x/crypto from 0.26.0 to 0.27.00dd7ac1
Merge pull request #93 from SiaFoundation/nate/allow-manual-connect84df0c9
Merge branch 'master' into nate/allow-manual-connect474d921
deps: update core61919d6
Merge pull request #94 from SiaFoundation/nate/add-chain-loge757eef
chain: add optional logging1767a28
syncer: always allow manual peer connections70443a4
syncer: increase default peersd798f1f
Merge pull request #89 from SiaFoundation/nate/tpool-race- Additional commits viewable in compare view
Updates lukechampine.com/frand
from 1.4.2 to 1.5.1
Commits
4768a22
update README3f951cc
switch to stdlib ChaCha8 generator- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Bumps the all-dependencies group with 2 updates: github.com/mattn/go-sqlite3 and golang.org/x/term.
Updates github.com/mattn/go-sqlite3
from 1.14.23 to 1.14.24
Commits
- See full diff in compare view
Updates golang.org/x/term
from 0.24.0 to 0.25.0
Commits
9d5441a
go.mod: update golang.org/x dependencies- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Bumps the all-dependencies group with 2 updates in the / directory: go.sia.tech/core and go.sia.tech/coreutils.
Updates go.sia.tech/core
from 0.4.6 to 0.4.7
Commits
72daac0
Merge pull request #207 from SiaFoundation/preimage-len7a2ef40
types: Switch to fixed-length PolicyHash preimage0f61e58
Merge pull request #205 from SiaFoundation/proof-supplementa176ef9
consensus: Add V1StorageProofSupplement, fixing encoding bug37cd8b8
build(deps): bump go.sia.tech/mux in the all-dependencies groupe21edfd
Merge pull request #201 from SiaFoundation/nate/upgrade-go708363a
ci,deps: upgrade go, switch to common workflow2cdf6f6
Merge pull request #196 from SiaFoundation/nate/v2-revision-ordering3dcc8ac
consensus: Validate against earlier v2 contract revisions in block300042f
build(deps): bump the all-dependencies group with 2 updates- Additional commits viewable in compare view
Updates go.sia.tech/coreutils
from 0.3.2 to 0.4.0
Commits
44117d3
rhp4: address review comments3543c96
rhp4: add proof validation commentc1dddb9
rhp4: use clear for zero reader (Chris)9dc122d
rhp4: switch RPCWrite to streaminga80d6d9
rhp4: period in docstring4977cf4
rhp4,chain: remove slashes in protocol19326ed
rhp4: make input validation clearer48da7a3
rhp4: address commentsab3a7bd
rhp4: add result types2e81244
rhp/v4: fix modify sectors test- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Bumps the all-dependencies group with 1 update: go.sia.tech/core.
Updates go.sia.tech/core
from 0.4.6 to 0.4.7
Commits
72daac0
Merge pull request #207 from SiaFoundation/preimage-len7a2ef40
types: Switch to fixed-length PolicyHash preimage0f61e58
Merge pull request #205 from SiaFoundation/proof-supplementa176ef9
consensus: Add V1StorageProofSupplement, fixing encoding bug37cd8b8
build(deps): bump go.sia.tech/mux in the all-dependencies groupe21edfd
Merge pull request #201 from SiaFoundation/nate/upgrade-go708363a
ci,deps: upgrade go, switch to common workflow2cdf6f6
Merge pull request #196 from SiaFoundation/nate/v2-revision-ordering3dcc8ac
consensus: Validate against earlier v2 contract revisions in block300042f
build(deps): bump the all-dependencies group with 2 updates- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
506,302 block height
86,025 online hosts
474 active hosts
8.17 PB total storage
1.98 PB used storage
1,252 M total registry
17 M used registry
20,996 commits
71 contributors
469 forks
43 releases