A feed of development activity from across Sia Foundation GitHub repositories.
This PR puts the result of blockHeightToHumanDate
operations within the explorer
totally on the client's side, using a ... animate-pulse
fallback. As far as client is concerned, I expect them to barely experience this fallback given the speed of the operation (EDIT: looking at the live preview, this appears to be true. It's basically imperceptible.). We do also benefit visually here by not showing the server timestamp and then switching to the client's. However, the biggest gain is in local development under strict mode
, as affected components were switching to client-side rendering. This should help us more accurately assess clients' loading experience in development, which I believe is a strong reason to take this approach.
This is a bigger one! This replaces all Sia Central exchange rate API calls to explored API calls for explorer
. One medium-sized detail that was introduced here:
- Visually, I decided to use an
animate-pulse
loading state for the different currency-based values ($0.00/TB
,$0.00/TB/Month
, etc). I did try out existing components, such asLoadingDots
orSkeleton
, but these components do not preserve the layout. With this change, all the affected pages move to or very close to0.00
cumulative layout shift. It also has the advantage of not showing Siacoins then replacing to the client's chosen currency. Less movement from the initial paint, overall, acrossHome
,Contracts
, andHost
. - However, a small wrinkle is that we'll now show the
$
symbol for a moment even if we are set to a different currency. In production on average connections, I suspect this is a very very small amount of time, if even perceptible. I am open to workarounds for this, but, in my testing (and I could have just misunderstood the proper way to use this or I'm unaware of other approaches),useActiveSiacscanExchangeRate
only supplies that prefix once the rate has been retrieved. Therefore, we can't use that ahead of time because, by the time we have it, we're ready to display the loaded value. If we have another way to get this, I would pursue integrating that into theLoadingCurrency
component so that we show<client's chosen currency symbol>0.00/whatever
while loading. That would be ideal.
This is temporary. We'll eventually need to coordinate changing this over to explored, and then we can remove the parameter drilling.
Added two new endpoints [GET] /outputs/siacoin/:id/spent
and [GET] /outputs/siafund/:id/spent
.
These endpoints will return a boolean, indicating whether the UTXO was spent, and the transaction it was spent in. These endpoints are designed to make verifying atomic swaps easier. It is an acceptable limitation that spent utxos are only kept for 144 blocks and will return a 404 afterwards. This may be changed in a follow up.
Example Usage
$ curl http://localhost:9980/api/outputs/siacoin/9b89152bb967130326702c9bfb51109e9f80274ec314ba58d9ef49b881340f2f/spent
{
spent: true,
event: ...
}
```
This PR was created automatically. Merging it will finalize the changelog for 2.0.0
Changes the response to include the Merkle proof basis for the following endpoints:
[GET] /addresses/:address/outputs/siacoin
[GET] /addresses/:address/outputs/siafund
[GET] /wallets/:id/outputs/siacoin
[GET] /wallets/:id/outputs/siafund
{ "basis": { "height": 1, "id": "f362385eea61f81627f283a31af9faf6417fbb88d53b794639a34e18515996e9" }, "outputs": [ { "id": "ed556177482e70822a5dcad9343efb51998425884788415349bef8eba7e063ae", "stateElement": { "leafIndex": 3, "merkleProof": [ "01048fc792904f156844a5524671304d3a020861da144afa4acc6553db63c1fd", "33efdfaf9bb212842292ab6f298c454e1b3d412aa7beb7efdccdfccf09f5b4ee", "102345919e408540d240460b0d84aa2f6da9a3d8f74765fd7c6daae6e46dd7f3" ] }, "siacoinOutput": { "value": "500000000000000000000000", "address": "fbfc3d034b1eb45f63e0087571ec1f3028a9a2f8c180381d47713e6112467d91f474059476f2" }, "maturityHeight": 0 } ] }
The response of /api/consensus/updates/:index
has been simplified to make it easier for developers to index chain state.
{ "applied": [ { "update": { "siacoinElements": [ { "siacoinElement": { "id": "35b81e41f594d7faeb88bd8eaac2eaa68ce99fe1c8fe5f0cba8fafa65ab3a70e", "stateElement": { "leafIndex": 0, "merkleProof": [ "88052fa2d1e22e4a5542fed9686cdad3fbeccbc60d15d4fd36a7691d61add1e1" ] }, "siacoinOutput": { "value": "1000000000000000000000000000000000000", "address": "3d7f707d05f2e0ec7ccc9220ed7c8af3bc560fbee84d068c2cc28151d617899e1ee8bc069946" }, "maturityHeight": 0 }, "created": true, "spent": false } ], "siafundElementDiffs": [ { "siafundElement": { "id": "69ad26a0fbd1a6985d2053246650bb3ba5f3491d818748b6c8562db1ddb2c45b", "stateElement": { "leafIndex": 1, "merkleProof": [ "837482a39d5bf66f07bae3b89191e4375b82c9f341ce6a17e22e14e0333ab9f6" ] }, "siafundOutput": { "value": 10000, "address": "053b2def3cbdd078c19d62ce2b4f0b1a3c5e0ffbeeff01280efb1f8969b2f5bb4fdc680f0807" }, "claimStart": "0" }, "created": true, "spent": false } ], "fileContractElementDiffs": null, "v2FileContractElementDiffs": null, "attestationElements": null, "chainIndexElement": { "id": "e23d2ee56fc5c79618ead2f8f36c1b72c6f3ec5e0f751c05e08bd6665a6ec22a", "stateElement": { "leafIndex": 2 }, "chainIndex": { "height": 0, "id": "e23d2ee56fc5c79618ead2f8f36c1b72c6f3ec5e0f751c05e08bd6665a6ec22a" } }, "updatedLeaves": {}, "treeGrowth": {}, "oldNumLeaves": 0, "numLeaves": 3 }, "state": { "index": { "height": 0, "id": "e23d2ee56fc5c79618ead2f8f36c1b72c6f3ec5e0f751c05e08bd6665a6ec22a" }, "prevTimestamps": [ "2023-01-13T00:53:20-08:00", "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z" ], "depth": "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "childTarget": "0000000100000000000000000000000000000000000000000000000000000000", "siafundTaxRevenue": "0", "oakTime": 0, "oakTarget": "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff", "foundationSubsidyAddress": "053b2def3cbdd078c19d62ce2b4f0b1a3c5e0ffbeeff01280efb1f8969b2f5bb4fdc680f0807", "foundationManagementAddress": "000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69", "totalWork": "1", "difficulty": "4294967295", "oakWork": "4294967297", "elements": { "numLeaves": 3, "trees": [ "e1c3af98d77463b767d973f8a563947d949d06428ff145db30143a2811d10014", "134b1f08aec0c7fbc50203a514277d197947e3da3ab1854749bf093b56402912" ] }, "attestations": 0 }, "block": { "parentID": "0000000000000000000000000000000000000000000000000000000000000000", "nonce": 0, "timestamp": "2023-01-13T00:53:20-08:00", "minerPayouts": [], "transactions": [ { "id": "268ef8627241b3eb505cea69b21379c4b91c21dfc4b3f3f58c66316249058cfd", "siacoinOutputs": [ { "value": "1000000000000000000000000000000000000", "address": "3d7f707d05f2e0ec7ccc9220ed7c8af3bc560fbee84d068c2cc28151d617899e1ee8bc069946" } ], "siafundOutputs": [ { "value": 10000, "address": "053b2def3cbdd078c19d62ce2b4f0b1a3c5e0ffbeeff01280efb1f8969b2f5bb4fdc680f0807" } ] } ] } }, { "update": { "siacoinElements": [ { "siacoinElement": { "id": "ca02d6807c92f61af94e626604615fbcdb471f38fcd8f3add6c6e6e0485ce090", "stateElement": { "leafIndex": 3, "merkleProof": [ "e1c3af98d77463b767d973f8a563947d949d06428ff145db30143a2811d10014", "134b1f08aec0c7fbc50203a514277d197947e3da3ab1854749bf093b56402912" ] }, "siacoinOutput": { "value": "300000000000000000000000000000", "address": "c5e1ca930f193cfe4c72eaed8d3bbae627f67d6c8e32c406fe692b1c00b554f4731fddf2c752" }, "maturityHeight": 145 }, "created": true, "spent": false } ], "siafundElementDiffs": null, "fileContractElementDiffs": null, "v2FileContractElementDiffs": null, "attestationElements": null, "chainIndexElement": { "id": "0000000028e731f0bb5d48662283bec83cca9427581b948d1036deb2b42c3006", "stateElement": { "leafIndex": 4 }, "chainIndex": { "height": 1, "id": "0000000028e731f0bb5d48662283bec83cca9427581b948d1036deb2b42c3006" } }, "updatedLeaves": {}, "treeGrowth": { "0": [ "190d98a7d8ff464e57f89dc916b155455ecf927f4c74b9edf5e80c103f052bfa", "134b1f08aec0c7fbc50203a514277d197947e3da3ab1854749bf093b56402912" ], "1": [ "2b082bec52801c1e61e5b0d0c1f5fc3925bd24e16d2f490afeb70374828586f1" ] }, "oldNumLeaves": 3, "numLeaves": 5 }, "state": { "index": { "height": 1, "id": "0000000028e731f0bb5d48662283bec83cca9427581b948d1036deb2b42c3006" }, "prevTimestamps": [ "2023-01-13T08:18:19-08:00", "2023-01-13T00:53:20-08:00", "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z", "0001-01-01T00:00:00Z" ], "depth": "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff", "childTarget": "0000000100000000000000000000000000000000000000000000000000000000", "siafundTaxRevenue": "0", "oakTime": 26699000000000, "oakTarget": "000000008052201448053c59f99803e7a8165929036cd574d91425423191387c", "foundationSubsidyAddress": "053b2def3cbdd078c19d62ce2b4f0b1a3c5e0ffbeeff01280efb1f8969b2f5bb4fdc680f0807", "foundationManagementAddress": "000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69", "totalWork": "4294967297", "difficulty": "4294967295", "oakWork": "8568459756", "elements": { "numLeaves": 5, "trees": [ "589fb425faa23be357492394813dc575505899d42d0b23a7162e1c68f7eeb227", "750cc671d80aef6ee5c73344ba4e74eccda77d9f0cf51ed6237952b1d84bc336" ] }, "attestations": 0 }, "block": { "parentID": "e23d2ee56fc5c79618ead2f8f36c1b72c6f3ec5e0f751c05e08bd6665a6ec22a", "nonce": 10689346, "timestamp": "2023-01-13T08:18:19-08:00", "minerPayouts": [ { "value": "300000000000000000000000000000", "address": "c5e1ca930f193cfe4c72eaed8d3bbae627f67d6c8e32c406fe692b1c00b554f4731fddf2c752" } ], "transactions": [ { "id": "1148417ad8fa6546646da6922618358210bc7a668ef7cb25f6a8a3605851bc7b", "arbitraryData": [ "Tm9uU2lhAAAAAAAAAAAAAClvJjNhfcbxtEfP2yfbBM4=" ] } ] } } ], "reverted": null }
The V2 hardfork is scheduled to modernize Sia's consensus protocol, which has been untouched since Sia's mainnet launch back in 2014, and improve accessibility of the storage network. To ensure a smooth transition from V1, it will be executed in two phases. Additional documentation on upgrading will be released in the near future.
V2 Highlights
- Drastically reduces blockchain size on disk
- Improves UTXO spend policies - including HTLC support for Atomic Swaps
- More efficient contract renewals - reducing lock up requirements for hosts and renters
- Improved transfer speeds - enables hot storage
Phase 1 - Allow Height
- Activation Height:
52600
(June 6th, 2025) - New Features: V2 transactions, contracts, and RHP4
- V1 Support: Both V1 and V2 will be supported during this phase
- Purpose: This period gives time for integrators to transition from V1 to V2
- Requirements: Users will need to update to support the hardfork before this block height
Phase 2 - Require Height
- Activation Height:
530000
(July 6th, 2025) - New Features: The consensus database can be trimmed to only store the Merkle proofs
- V1 Support: V1 will be disabled, including RHP2 and RHP3. Only V2 transactions will be accepted
- Requirements: Developers will need to update their apps to support V2 transactions and RHP4 before this block height
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
- Add basis to wallet fund endpoints
- Log startup errors to stderr
Adds two new endpoints to construct transactions. This combines and simplifies the existing fund flow for simple send transactions.
See API docs for request and response bodies
- Added a test for migrations to ensure consistency between database schemas
- Adds initial server-rendering support for currency values with user-specific exchange rates.
- User currency preference stored in local storage can now initialize and server-render with an optional fallback data value.
- User currency preference now sets a cookie.
- Added fallback to NextAppSsrAppRouter.
Closes https://github.com/SiaFoundation/walletd/issues/236 Closes https://github.com/SiaFoundation/walletd/issues/237
README didn't match the actual output anymore. Added the MacOS example.
reasonableObjectSize
is not enough for these batch types
Adds an RPC to RHP4 that enables renters to set a target balance for all accounts instead of first fetching the current balances then funding the accounts with the difference. This is primarily to speed up account funding and reduce round trips when managing a large number of accounts.
Bumps the all-dependencies group with 2 updates in the / directory: github.com/go-sql-driver/mysql and go.sia.tech/web/renterd.
Updates github.com/go-sql-driver/mysql
from 1.8.1 to 1.9.0
Release notes
Sourced from github.com/go-sql-driver/mysql's releases.
v1.9.0
Major Changes
- Implement zlib compression. (#1487)
- Supported Go version is updated to Go 1.21+. (#1639)
- Add support for VECTOR type introduced in MySQL 9.0. (#1609)
- Config object can have custom dial function. (#1527)
Bugfixes
- Fix auth errors when username/password are too long. (#1625)
- Check if MySQL supports CLIENT_CONNECT_ATTRS before sending client attributes. (#1640)
- Fix auth switch request handling. (#1666)
Other changes
- Add "filename:line" prefix to log in go-mysql. Custom loggers now show it. (#1589)
- Improve error handling. It reduces the "busy buffer" errors. (#1595, #1601, #1641)
- Use
strconv.Atoi
to parse max_allowed_packet. (#1661)rejectReadOnly
option now handles ER_READ_ONLY_MODE (1290) error too. (#1660)Full Changelog: https://github.com/go-sql-driver/mysql/compare/v1.8.1...v1.9.0
New Contributors
@​dbussink
made their first contribution in go-sql-driver/mysql#1609@​yokonao
made their first contribution in go-sql-driver/mysql#1615@​pengbanban
made their first contribution in go-sql-driver/mysql#1620@​aaronjheng
made their first contribution in go-sql-driver/mysql#1527@​kratkyzobak
made their first contribution in go-sql-driver/mysql#1625@​raffertyyu
made their first contribution in go-sql-driver/mysql#1640@​minhquang4334
made their first contribution in go-sql-driver/mysql#1647@​joe-mann
made their first contribution in go-sql-driver/mysql#1487@​arturmelanchyk
made their first contribution in go-sql-driver/mysql#1653@​kolbe
made their first contribution in go-sql-driver/mysql#1660@​bdollma-te
made their first contribution in go-sql-driver/mysql#1667
Changelog
Sourced from github.com/go-sql-driver/mysql's changelog.
v1.9.0 (2025-02-18)
Major Changes
- Implement zlib compression. (#1487)
- Supported Go version is updated to Go 1.21+. (#1639)
- Add support for VECTOR type introduced in MySQL 9.0. (#1609)
- Config object can have custom dial function. (#1527)
Bugfixes
- Fix auth errors when username/password are too long. (#1625)
- Check if MySQL supports CLIENT_CONNECT_ATTRS before sending client attributes. (#1640)
- Fix auth switch request handling. (#1666)
Other changes
Commits
58941dd
release v1.9.0 (#1662)5d1bb8a
fix flaky test. (#1663)341a5a5
Fix auth_switch_request packet handling85c6311
Add error 1290/ER_READ_ONLY_MODE to rejectReadOnly handling (#1660)255d1ad
better max_allowed_packet parsing (#1661)7403860
Make fileRegister a set (#1653)b335ed3
use binary.LittleEndian (#1651)3348e57
Implement zlib compression (#1487)c9f41c0
fix typo in comment (#1647)575e1b2
stop double-buffering (#1643)- Additional commits viewable in compare view
Updates go.sia.tech/web/renterd
from 0.76.0 to 0.77.0
Release notes
Sourced from go.sia.tech/web/renterd's releases.
[email protected]
Minor Changes
- 54a4eabe: Displayed entity values which are often truncated can now be copied to clipboard by double-clicking directly on the visible characters.
- 54a4eabe: Wallet addresses can now be copied to clipboard by clicking on the QR code in the address dialog.
Commits
c71aa1d
chore: release packages9e24edc
fix(explorer): remove async from ContractHeader component export60e5d05
refactor(walletd): ledger wallet warn at require height93b2e77
fix(walletd): switching send modes unsets other amount453b541
feat(walletd): v2 ledger transactions1c6e8c1
feat(walletd): v2 seed transactions819c066
feat(walletd): v2 seed signing306400b
feat(design-system): value label support8c34848
refactor: remove unused types5457012
feat(walletd-libs): construct api and v2 api changes- 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 1 update: go.sia.tech/web/hostd.
Updates go.sia.tech/web/hostd
from 0.57.0 to 0.58.0
Release notes
Sourced from go.sia.tech/web/hostd's releases.
[email protected]
Minor Changes
- 54a4eabe: Displayed entity values which are often truncated can now be copied to clipboard by double-clicking directly on the visible characters.
- 54a4eabe: Wallet addresses can now be copied to clipboard by clicking on the QR code in the address dialog.
Commits
c71aa1d
chore: release packages9e24edc
fix(explorer): remove async from ContractHeader component export60e5d05
refactor(walletd): ledger wallet warn at require height93b2e77
fix(walletd): switching send modes unsets other amount453b541
feat(walletd): v2 ledger transactions1c6e8c1
feat(walletd): v2 seed transactions819c066
feat(walletd): v2 seed signing306400b
feat(design-system): value label support8c34848
refactor: remove unused types5457012
feat(walletd-libs): construct api and v2 api changes- 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/web/walletd.
Updates go.sia.tech/web/walletd
from 0.28.0 to 0.29.0
Release notes
Sourced from go.sia.tech/web/walletd's releases.
[email protected]
Minor Changes
- d73f9c3a: The send dialogs now indicate the network and transaction version details.
Commits
44b75d8
chore: release packageseb490d6
fix: website downloads4eb4849
fix: renterd prune validationef4fcab
fix: renterd redundancy tooltip2edf9b7
fix: renterd refine contract graph logica64a77a
feat: renterd host context menu copy2c80bec
fix: explorer faucet 50ka5c6618
feat: renterd aggregate contract statsc32dcae
fix: renterd health partial slabs64ca2b2
feat: alerts dialog all filter- 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
There was a change in coreutils that makes it so the zero value of spend policy cannot be encoded or decoded. This changes the construction API to return an error if one of the funding addresses does not have a policy set.
- The send dialogs now indicate the network and transaction version details.
- Added for more visibility and easier future debugging.
- Updated ledger wallets to continue sending v1 txn after the allow height and disable at the require height.
- Added tests that check the 3 phases.
- Seed wallets still switch to v2 at the allow height.
Update to latest spec and remove deprecated field (example
-> examples
)
For more information, please refer to this https://spec.openapis.org/oas/v3.1.0.html#example-object
Closes #1789
Bumps the dependencies group with 1 update in the / directory: golang.org/x/time.
Updates golang.org/x/time
from 0.9.0 to 0.10.0
Commits
2c6c5a2
rate: prevent overflows when calculating durationFromTokens- 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
- Send mode only sends the amount of siacoin or siafunds specified in the active mode.
- Ledger wallets now disable sending transactions once the consensus height hits the V2 hardfork allow height.
- Added a warning in the V2 ledger send dialog explaining that sending funds with ledger is not yet available but coming soon.
- This PR separates out V1 and V2 send code for ledger wallets for the reason stated in the previous PR.
- Added e2e tests that transactions can be composed with the V1 ledger dialog, and are disabled in the V2 dialog.
- Generating addresses now stores the
spendPolicy
in the dedicated field rather thanunlockConditions
in the metadata. - V1 signing now uses the address
spendPolicy
. - Added V2 signing method.
- Added labeledBy prop to value components.
- Unused transaction types. We have since moved to Events.
- Adds test cluster support for running
n
explored nodes.
- Added explored support.
- Added siafund initial address support.
Bumps the dependencies group with 3 updates in the / directory: go.sia.tech/core, go.sia.tech/coreutils and golang.org/x/time.
Updates go.sia.tech/core
from 0.9.1 to 0.10.1
Release notes
Sourced from go.sia.tech/core's releases.
0.10.1 (2025-02-10)
Fixes
- Fix Siafund ClaimStart not being recorded
0.10.0 (2025-02-04)
Breaking Changes
Consensus diffs
This replaces the
ForEach
update API with slices of "diffs" -- new types wrapping the various element types. This was originally intended as an ergonomics improvement (since it's annoying to e.g. break out of aForEach
callback), but it ended up significantly simplifying mostMidState
-related code: it consolidated the interrelated maps withinMidState
, and enabled a much saner rewrite of the update JSON types.I originally left the
ForEach
methods in place (with a// Deprecated
warning), but later removed them entirely; we're going to update all the callsites incoreutils
anyway, so there's little reason to keep them around. (ForEachTreeNode
remains, though, since it's used byexplored
.)Fixed a panic when unmarshalling unknown spend policy types
An error will now be returned when trying to encode a transaction with an unset
SpendPolicy
Changelog
Sourced from go.sia.tech/core's changelog.
0.10.1 (2025-02-10)
Fixes
- Fix Siafund ClaimStart not being recorded
0.10.0 (2025-02-04)
Breaking Changes
Consensus diffs
##270 by
@​lukechampine
This replaces the
ForEach
update API with slices of "diffs" -- new types wrapping the various element types. This was originally intended as an ergonomics improvement (since it's annoying to e.g. break out of aForEach
callback), but it ended up significantly simplifying mostMidState
-related code: it consolidated the interrelated maps withinMidState
, and enabled a much saner rewrite of the update JSON types.I originally left the
ForEach
methods in place (with a// Deprecated
warning), but later removed them entirely; we're going to update all the callsites incoreutils
anyway, so there's little reason to keep them around. (ForEachTreeNode
remains, though, since it's used byexplored
.)Fixed a panic when unmarshalling unknown spend policy types
An error will now be returned when trying to encode a transaction with an unset
SpendPolicy
Commits
eeefcb2
Merge pull request #273 from SiaFoundation/releasebfb2661
chore: prepare release 0.10.1bfa61b4
Merge pull request #272 from SiaFoundation/siafund-claim-fix289fa55
consensus: Fix Siafund ClaimStart not being recorded3c6ca85
build(deps): bump the all-dependencies group with 2 updates22e7564
Merge pull request #269 from SiaFoundation/release18252d4
chore: prepare release 0.10.06ab1f00
Merge pull request #270 from SiaFoundation/update-slices21dfb17
Auto generate changesete1f106f
consensus: Document revert diff order- Additional commits viewable in compare view
Updates go.sia.tech/coreutils
from 0.10.1 to 0.11.1
Release notes
Sourced from go.sia.tech/coreutils's releases.
0.11.1 (2025-02-10)
Fixes
- Fixes an issue where redistribution of wallet outputs that require more than a single transaction would produce an invalid transaction set
0.11.0 (2025-02-06)
Breaking Changes
- Add support for QUIC and WebTransport to RHP4
Fixes
- Fixed data race in EphemeralContractor related to V2FileContractElement.
- Fixed syncer deadlocking when Connect is called after Close.
- Set 2 minute deadline for all incoming RPC in syncer
Changelog
Sourced from go.sia.tech/coreutils's changelog.
0.11.1 (2025-02-10)
Fixes
- Fixes an issue where redistribution of wallet outputs that require more than a single transaction would produce an invalid transaction set
0.11.0 (2025-02-06)
Breaking Changes
- Add support for QUIC and WebTransport to RHP4
Fixes
- Fixed data race in EphemeralContractor related to V2FileContractElement.
- Fixed syncer deadlocking when Connect is called after Close.
- Set 2 minute deadline for all incoming RPC in syncer
Commits
375be62
Merge pull request #174 from SiaFoundation/release86d5d73
chore: prepare release 0.11.1183c247
Merge pull request #175 from SiaFoundation/nate/update-core6e41e8b
deps: update core6584868
Merge pull request #170 from SiaFoundation/chris/fix-redistribute-batch2574e78
add changeset entry52d042d
wallet: fix wallet Redistribute when outputs is larger than batchsize6d370c1
build(deps): bump go.etcd.io/bbolt from 1.3.11 to 1.4.06b52cc5
build(deps): bump golang.org/x/crypto from 0.32.0 to 0.33.08e9f80e
Merge pull request #159 from SiaFoundation/release- Additional commits viewable in compare view
Updates golang.org/x/sys
from 0.29.0 to 0.30.0
Commits
Updates golang.org/x/term
from 0.28.0 to 0.29.0
Commits
743b270
go.mod: update golang.org/x dependencies- See full diff in compare view
Updates golang.org/x/time
from 0.9.0 to 0.10.0
Commits
2c6c5a2
rate: prevent overflows when calculating durationFromTokens- 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
The current event queries are optimized for addresses with a large number of events. When an address has a small number of events, queries take an extremely long time to complete.
QUERY PLAN
|--SCAN ev USING INDEX events_maturity_height_id_idx
|--SEARCH ci USING INTEGER PRIMARY KEY (rowid=?)
|--SEARCH ea USING COVERING INDEX event_addresses_event_id_address_id_idx (event_id=?)
--SEARCH wa USING COVERING INDEX sqlite_autoindex_wallet_addresses_1 (wallet_id=? AND address_id=?)
Removing the forced index allows queries for a small number of events to complete quickly, but fails for a large number due to the temp b-tree sort.
QUERY PLAN
|--SEARCH sa USING COVERING INDEX sqlite_autoindex_sia_addresses_1 (sia_address=?)
|--SEARCH ea USING INDEX event_addresses_address_id_idx (address_id=?)
|--SEARCH ev USING INTEGER PRIMARY KEY (rowid=?)
`--USE TEMP B-TREE FOR ORDER BY
This fixes the performance degradation in both cases and should allow the query to complete in less than 10ms on average for addresses with 0 to 10000000 events.
Bumps the all-dependencies group with 1 update: golang.org/x/term.
Updates golang.org/x/term
from 0.28.0 to 0.29.0
Commits
743b270
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 dependencies group with 5 updates:
Package | From | To |
---|---|---|
go.sia.tech/core | 0.9.1 | 0.10.1 |
go.sia.tech/coreutils | 0.10.1 | 0.11.0 |
golang.org/x/sys | 0.29.0 | 0.30.0 |
golang.org/x/term | 0.28.0 | 0.29.0 |
golang.org/x/time | 0.9.0 | 0.10.0 |
Updates go.sia.tech/core
from 0.9.1 to 0.10.1
Release notes
Sourced from go.sia.tech/core's releases.
0.10.1 (2025-02-10)
Fixes
- Fix Siafund ClaimStart not being recorded
0.10.0 (2025-02-04)
Breaking Changes
Consensus diffs
This replaces the
ForEach
update API with slices of "diffs" -- new types wrapping the various element types. This was originally intended as an ergonomics improvement (since it's annoying to e.g. break out of aForEach
callback), but it ended up significantly simplifying mostMidState
-related code: it consolidated the interrelated maps withinMidState
, and enabled a much saner rewrite of the update JSON types.I originally left the
ForEach
methods in place (with a// Deprecated
warning), but later removed them entirely; we're going to update all the callsites incoreutils
anyway, so there's little reason to keep them around. (ForEachTreeNode
remains, though, since it's used byexplored
.)Fixed a panic when unmarshalling unknown spend policy types
An error will now be returned when trying to encode a transaction with an unset
SpendPolicy
Changelog
Sourced from go.sia.tech/core's changelog.
0.10.1 (2025-02-10)
Fixes
- Fix Siafund ClaimStart not being recorded
0.10.0 (2025-02-04)
Breaking Changes
Consensus diffs
##270 by
@​lukechampine
This replaces the
ForEach
update API with slices of "diffs" -- new types wrapping the various element types. This was originally intended as an ergonomics improvement (since it's annoying to e.g. break out of aForEach
callback), but it ended up significantly simplifying mostMidState
-related code: it consolidated the interrelated maps withinMidState
, and enabled a much saner rewrite of the update JSON types.I originally left the
ForEach
methods in place (with a// Deprecated
warning), but later removed them entirely; we're going to update all the callsites incoreutils
anyway, so there's little reason to keep them around. (ForEachTreeNode
remains, though, since it's used byexplored
.)Fixed a panic when unmarshalling unknown spend policy types
An error will now be returned when trying to encode a transaction with an unset
SpendPolicy
Commits
eeefcb2
Merge pull request #273 from SiaFoundation/releasebfb2661
chore: prepare release 0.10.1bfa61b4
Merge pull request #272 from SiaFoundation/siafund-claim-fix289fa55
consensus: Fix Siafund ClaimStart not being recorded3c6ca85
build(deps): bump the all-dependencies group with 2 updates22e7564
Merge pull request #269 from SiaFoundation/release18252d4
chore: prepare release 0.10.06ab1f00
Merge pull request #270 from SiaFoundation/update-slices21dfb17
Auto generate changesete1f106f
consensus: Document revert diff order- Additional commits viewable in compare view
Updates go.sia.tech/coreutils
from 0.10.1 to 0.11.0
Release notes
Sourced from go.sia.tech/coreutils's releases.
0.11.0 (2025-02-06)
Breaking Changes
- Add support for QUIC and WebTransport to RHP4
Fixes
- Fixed data race in EphemeralContractor related to V2FileContractElement.
- Fixed syncer deadlocking when Connect is called after Close.
- Set 2 minute deadline for all incoming RPC in syncer
Changelog
Sourced from go.sia.tech/coreutils's changelog.
0.11.0 (2025-02-06)
Breaking Changes
- Add support for QUIC and WebTransport to RHP4
Fixes
- Fixed data race in EphemeralContractor related to V2FileContractElement.
- Fixed syncer deadlocking when Connect is called after Close.
- Set 2 minute deadline for all incoming RPC in syncer
Commits
8e9f80e
Merge pull request #159 from SiaFoundation/release885c964
chore: prepare release 0.11.0922b2c6
Merge pull request #168 from SiaFoundation/wallet-fcid9a868ab
wallet: Fix output IDs in file contract events0744021
Merge pull request #166 from SiaFoundation/update-slices5e76b22
mod: Update core dependency206731f
Merge pull request #164 from SiaFoundation/nate/support-quic88db2af
address review comments83cbafb
rhp4: add quic support3a96ba4
interrupt runPeer loop on shutdown- Additional commits viewable in compare view
Updates golang.org/x/sys
from 0.29.0 to 0.30.0
Commits
Updates golang.org/x/term
from 0.28.0 to 0.29.0
Commits
743b270
go.mod: update golang.org/x dependencies- See full diff in compare view
Updates golang.org/x/time
from 0.9.0 to 0.10.0
Commits
2c6c5a2
rate: prevent overflows when calculating durationFromTokens- 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.3
- Fix a potential panic when rpcLock fails
- Fixed a concurrency issue when migrating data from large volumes
The deprecated Log.Path
config field was a directory, while the new Log.File.Path
is expected to be a file path. If the log directory was set, the log file path will be correctly migrated to hostd.log
in the directory.
When migrating the config, it's possible for the explorer URL to be set to the zero value causing an error when the user tries to update their settings. This ensures the URL will properly default to SiaScan when unset.
This PR was created automatically. Merging it will create a new release for 0.10.1
- Fix Siafund ClaimStart not being recorded
Bumps the all-dependencies group with 2 updates: golang.org/x/crypto and golang.org/x/sys.
Updates golang.org/x/crypto
from 0.32.0 to 0.33.0
Commits
9290511
go.mod: update golang.org/x dependenciesfa5273e
x509roots/fallback: update bundlea8ea4be
ssh: add ServerConfig.PreAuthConnCallback, ServerPreAuthConn (banner) interface71d3a4c
acme: support challenges that require the ACME client to send a non-empty JSO...- See full diff in compare view
Updates golang.org/x/sys
from 0.29.0 to 0.30.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
We only unregister a failed migration alert upon successfully migrating the slab. There are (edge) cases where a slab's health temporarily crosses below the repair threshold but then later recover. Since the slab no longer needs to be migrated, we never unregister the alert. I ran into this when my node was out of funds, it raked up a huge amount of failed migration alerts and they never get dismissed properly. I was on the fence whether or not to submit the PR but figured since having such a large number of alerts is such terrible UX it probably makes sense to add some protections like the one I'm suggesting.
These two checks appear to be a copy-paste of the same check above in the code.
Significantly improves the performance of the events queries when running in full index mode.
Fixes a potential panic when the RHP2 connection closes after rpcLock has failed. The contract is still set even if the lock is released.
Only a partial error log was given
goroutine 991452 [running]:
go.sia.tech/hostd/host/contracts.(*locker).Unlock(0xc000045d30, {0xcb, 0x43, 0xe5, 0xce, 0x16, 0xa3, 0x59, 0x5a, 0x76, ...})
go.sia.tech/hostd/host/contracts/lock.go:38 +0xed
go.sia.tech/hostd/host/contracts.(*Manager).Unlock(0xc008604650?, {0xcb, 0x43, 0xe5, 0xce, 0x16, 0xa3, 0x59, 0x5a, 0x76, ...})
go.sia.tech/hostd/host/contracts/lock.go:109 +0x2d
go.sia.tech/hostd/rhp/v2.(*SessionHandler).upgrade.func1()
go.sia.tech/hostd/rhp/v2/rhp.go:170 +0x89
go.sia.tech/hostd/rhp/v2.(*SessionHandler).upgrade(0xc0072e90e0, {0x186bff0, 0xc005441c20})
go.sia.tech/hostd/rhp/v2/rhp.go:178 +0x3f6
go.sia.tech/hostd/rhp/v2.(*SessionHandler).Serve.func1()
go.sia.tech/hostd/rhp/v2/rhp.go:200 +0x88
created by go.sia.tech/hostd/rhp/v2.(*SessionHandler).Serve in goroutine 3564
go.sia.tech/hostd/rhp/v2/rhp.go:198 +0x26
This PR was created automatically. Merging it will create a new release for 0.10.0
#270 by @lukechampine
This replaces the ForEach
update API with slices of "diffs" -- new types wrapping the various element types. This was originally intended as an ergonomics improvement (since it's annoying to e.g. break out of a ForEach
callback), but it ended up significantly simplifying most MidState
-related code: it consolidated the interrelated maps within MidState
, and enabled a much saner rewrite of the update JSON types.
I originally left the ForEach
methods in place (with a // Deprecated
warning), but later removed them entirely; we're going to update all the callsites in coreutils
anyway, so there's little reason to keep them around. (ForEachTreeNode
remains, though, since it's used by explored
.)
An error will now be returned when trying to encode a transaction with an unset SpendPolicy
This replaces the ForEach
update API with slices of "diffs" -- new types wrapping the various element types. This was originally intended as an ergonomics improvement (since it's annoying to e.g. break out of a ForEach
callback), but it ended up significantly simplifying most MidState
-related code: it consolidated the interrelated maps within MidState
, and enabled a much saner rewrite of the update JSON types.
I originally left the ForEach
methods in place (with a // Deprecated
warning), but later removed them entirely; we're going to update all the callsites in coreutils
anyway, so there's little reason to keep them around. (ForEachTreeNode
remains, though, since it's used by explored
.)
Bumps the dependencies group with 1 update: github.com/cloudflare/cloudflare-go.
Updates github.com/cloudflare/cloudflare-go
from 0.114.0 to 0.115.0
Release notes
Sourced from github.com/cloudflare/cloudflare-go's releases.
v0.115.0
ENHANCEMENTS:
- access_service_token: add
last_seen_at
field (#3838)- dns: Add settings to DNSRecord (#3670)
- teams_rules: add support for biso admin controls v2 (#3848)
DEPENDENCIES:
Changelog
Sourced from github.com/cloudflare/cloudflare-go's changelog.
0.115.0 (January 29th, 2025)
ENHANCEMENTS:
- access_service_token: add
last_seen_at
field (#3838)- dns: Add settings to DNSRecord (#3670)
- teams_rules: add support for biso admin controls v2 (#3848)
DEPENDENCIES:
Commits
57714bf
Update CHANGELOG.mdb063df7
generate changelog46140a1
Merge pull request #3870 from cloudflare/dependabot/go_modules/github.com/goc...3abb34b
add CHANGELOG for #3870c726fce
Bump github.com/goccy/go-json from 0.10.4 to 0.10.5d49977f
Merge pull request #3869 from cloudflare/dependabot/go_modules/internal/tools...53f44dd
add CHANGELOG for #3869dbab899
Bump github.com/go-git/go-git/v5 in /internal/tools212ac63
Merge pull request #3868 from cloudflare/dependabot/go_modules/internal/tools...ebbd11a
add CHANGELOG for #3868- 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
Fixes a panic in AddV2PoolTransactions
when validating v2 transactions with nil spend policies. Uses the same strategy as currency overflows to validate once and assumes it is valid afterward. AddV2PoolTransactions
should be able to handle unvalidated input without panicking.
NFO http: panic serving [::1]:60723: unhandled policy type <nil>
goroutine 713398 [running]:
net/http.(*conn).serve.func1()
/opt/homebrew/opt/go/libexec/src/net/http/server.go:1947 +0xb0
panic({0x103d2e900?, 0x140004bfd00?})
/opt/homebrew/opt/go/libexec/src/runtime/panic.go:785 +0x124
go.sia.tech/core/types.SpendPolicy.encodePolicy({{0x0?, 0x0?}}, 0x1?)
/Users/alexfreska/go/pkg/mod/go.sia.tech/[email protected]/types/encoding.go:604 +0x3a0
go.sia.tech/core/types.SpendPolicy.EncodeTo({{0x0?, 0x0?}}, 0x140005f8488)
/Users/alexfreska/go/pkg/mod/go.sia.tech/[email protected]/types/encoding.go:612 +0x5c
go.sia.tech/core/types.SatisfiedPolicy.EncodeTo({{{0x0, 0x0}}, {0x0, 0x0, 0x0}, {0x0, 0x0, 0x0}}, 0x140005f8488)
/Users/alexfreska/go/pkg/mod/go.sia.tech/[email protected]/types/encoding.go:617 +0x4c
go.sia.tech/core/types.V2SiacoinInput.EncodeTo({{{0x5a, 0xe0, 0xf7, 0xba, 0xe3, 0xb, 0xea, 0xff, 0x82, 0x9a, ...}, ...}, ...}, ...)
/Users/alexfreska/go/pkg/mod/go.sia.tech/[email protected]/types/encoding.go:633 +0x70
go.sia.tech/core/consensus.State.V2TransactionWeight({0x1400050c000, {0x262, {0xac, 0xf5, 0x34, 0xc8, 0xbd, 0x6d, 0x7a, 0x8e, ...}}, ...}, ...)
/Users/alexfreska/go/pkg/mod/go.sia.tech/[email protected]/consensus/state.go:314 +0xe0
go.sia.tech/core/consensus.ValidateV2Transaction(_, {{0x140001f6840, 0x1, 0x1}, {0x1400021e660, 0x2, 0x2}, {0x0, 0x0, 0x0}, ...})
/Users/alexfreska/go/pkg/mod/go.sia.tech/[email protected]/consensus/validation.go:866 +0xf4
go.sia.tech/coreutils/chain.(*Manager).checkTxnSet(0x14000134c08, {0x0, 0x0, 0x41e675be1ab4638c?}, {0x140005c9680, 0x1, 0x8e7a6dbdc834f5ac?})
/Users/alexfreska/go/pkg/mod/go.sia.tech/[email protected]/chain/manager.go:1068 +0x8f8
go.sia.tech/coreutils/chain.(*Manager).AddV2PoolTransactions(0x14000134c08, {0x262, {0xac, 0xf5, 0x34, 0xc8, 0xbd, 0x6d, 0x7a, 0x8e, ...}}, ...)
/Users/alexfreska/go/pkg/mod/go.sia.tech/[email protected]/chain/manager.go:1250 +0x2fc
go.sia.tech/walletd/api.(*server).txpoolBroadcastHandler(0x140005c8000, {{0x103e90fe0, 0x14000484ee0}, 0x140005ca640, {0x0, 0x0, 0x0}})
/Users/alexfreska/go/pkg/mod/go.sia.tech/[email protected]/api/server.go:302 +0x194
go.sia.tech/walletd/api.NewServer.NewServer.func3.func16({{0x103e90fe0, 0x14000484ee0}, 0x140005ca640, {0x0, 0x0, 0x0}})
Bumps the all-dependencies group with 1 update: go.sia.tech/web/renterd.
Updates go.sia.tech/web/renterd
from 0.75.0 to 0.76.0
Release notes
Sourced from go.sia.tech/web/renterd's releases.
[email protected]
Minor Changes
- a7c3dae9: The default files sort direction is now asc instead of desc.
Patch Changes
- a7c3dae9: Fixed an issue where files were being sorted by name rather than full path in all files mode.
Commits
b51fe3f
chore: release packagesa7c3dae
fix(renterd): files name sort is on path0d7fdf2
fix: update supported fiat exchange currencies0b60897
chore(cluster): fix cluster cmd38579da
chore(cluster): upgrade clusterc802b6e
chore(cluster): upgrade cluster6b416c4
chore: export renterd/v0.75.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 1 update: go.sia.tech/web/hostd.
Updates go.sia.tech/web/hostd
from 0.56.0 to 0.57.0
Release notes
Sourced from go.sia.tech/web/hostd's releases.
[email protected]
Minor Changes
- 28dbaae4: Alerts can now be accessed via the cmd+k menu.
- 28dbaae4: The hostd alerts feature is now a full page and matches the user experience of renterd alerts.
Commits
c831f52
chore: release packages03a9bee
feat(explorer): use explored for search84c409e
feat(explored-types): add host to SearchResultType49fb854
chore: go deps6c3ab23
chore(cluster): upgrade clusterd8588a1
fix(renterd): files global view full keys45fcbec
refactor(renterd): split out uploads manager contexte387409
feat(renterd): uploads list local and remote55524cb
refactor(renterd): improve uploads performance2fb3ae6
refactor(renterd): native direct file 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
Changes the response to include the Merkle proof basis for the following endpoints. The basis is required when broadcasting v2 transactions.
[GET] /addresses/:address/outputs/siacoin
[GET] /addresses/:address/outputs/siafund
[GET] /wallets/:id/outputs/siacoin
[GET] /wallets/:id/outputs/siafund
{ "basis": { "height": 1, "id": "f362385eea61f81627f283a31af9faf6417fbb88d53b794639a34e18515996e9" }, "outputs": [ { "id": "ed556177482e70822a5dcad9343efb51998425884788415349bef8eba7e063ae", "stateElement": { "leafIndex": 3, "merkleProof": [ "01048fc792904f156844a5524671304d3a020861da144afa4acc6553db63c1fd", "33efdfaf9bb212842292ab6f298c454e1b3d412aa7beb7efdccdfccf09f5b4ee", "102345919e408540d240460b0d84aa2f6da9a3d8f74765fd7c6daae6e46dd7f3" ] }, "siacoinOutput": { "value": "500000000000000000000000", "address": "fbfc3d034b1eb45f63e0087571ec1f3028a9a2f8c180381d47713e6112467d91f474059476f2" }, "maturityHeight": 0 } ] }
Adds experimental support for QUIC and WebTransport in RHP4.
This PR verifies that the changes made to coreutils no longer cause the deadlock on the CI
Increases the sleep time between batches when performing background volume actions. This improves concurrency and usability of the host during these background tasks at the cost of performance. Migrating data from sectors will take at least 5 hours per TiB. IO from slow disks will cause this to be longer since atomicity is very important in migration. This is more performant than explicitly setting an EXCLUSIVE
transaction isolation for heavy write transactions.
We don't show them in most cases, they're not actionable, on my node they're very few and they disappear over time anyway. Pruning works on my node, there are no lost sectors any more. I filled a 10TB node, pruned it to 7 and then downloaded the whole set (still going but been downloading for 22 hours straight now without issues). Leaving me with two lost sectors. It's more or less dead code so I'd rather remove it. It's a little tricky to report on pruning though in the UI (which we currently do not do) because of how we report contract stats and how we ignore bad contracts and just wait until they're archived.
It doesn't prevent you from creating a renterd
node but the rule states our main
packages must be free of internal
imports
This has been bothering me for a while now. We write after closing the log file. Turns out you cant use the logger to log the shutdown process.
2025-01-22 10:45:56.880843 +0100 CET m=+48.356201418 write error: attempted write to closed file
This is a quick PR related to https://github.com/SiaFoundation/renterd/issues/1810 to tackle some of the low-hanging fruits.
On my node the logs were multiple GBs large. After removing the debug logging about half a GB remained. That was mostly 3 issues.
- repeatedly logging that pruning 0 bytes from a contract succeeded
- logging that we failed to scan a host
- logging that the account balance was reset
Moving these 3 to Debug should significantly reduce the logging. There are a few more changes but non as significant
The deprecated Log.Path
config field was a directory while the new Log.File.Path
is expected to be a file path. Fixes config migration so if the log directory was set, the log file path will be correctly migrated to hostd.log
in the directory.
i.e.
log: path: /var/log
should become
log: file: path: /var/log/hostd.log
Fixes #577
I ran into it on the blocklist entries and figured we should fix it. I purposefully left out the migration... figured just fixing it is enough in this case at this particular time.
Bumps the all-dependencies group with 3 updates: github.com/aws/aws-sdk-go, go.sia.tech/core and go.sia.tech/coreutils.
Updates github.com/aws/aws-sdk-go
from 1.55.5 to 1.55.6
Release notes
Sourced from github.com/aws/aws-sdk-go's releases.
Release v1.55.6 (2025-01-15)
SDK Bugs
- Fix broken printf for go1.24
Commits
e1db430
release v1.55.6 (2025-01-15) (#5341)5ab6103
changelog394e0e3
Merge pull request #5340 from djedward/main19d98e3
Fix improper use of Printf-style functions7112c0a
Merge pull request #5325 from ashishdhingra/user/ashdhin/IssueTemplateRegress...8d6a0f9
chore: Modified bug issue template to add checkbox to report potential regres...02c1f72
Update PULL_REQUEST_TEMPLATE.md- See full diff in compare view
Updates go.sia.tech/core
from 0.9.0 to 0.9.1
Release notes
Sourced from go.sia.tech/core's releases.
0.9.1 (2025-01-18)
Fixes
- Fix account JSON encoding
Changelog
Sourced from go.sia.tech/core's changelog.
0.9.1 (2025-01-18)
Fixes
- Fix account JSON encoding
Commits
0349a9a
Merge pull request #267 from SiaFoundation/release7fd523d
chore: prepare release 0.9.17e64255
Merge pull request #266 from SiaFoundation/nate/fix-account-json4e2d069
fix account json239942c
build(deps): bump golang.org/x/crypto in the all-dependencies group8ec4de3
build(deps): bump golang.org/x/sys in the all-dependencies group- See full diff in compare view
Updates go.sia.tech/coreutils
from 0.10.0 to 0.10.1
Release notes
Sourced from go.sia.tech/coreutils's releases.
0.10.1 (2025-01-18)
Fixes
- Update core to v0.9.1
- Use condition rather than polling to determine whether all peers are closed in 'Run'
Changelog
Sourced from go.sia.tech/coreutils's changelog.
0.10.1 (2025-01-18)
Fixes
- Update core to v0.9.1
- Use condition rather than polling to determine whether all peers are closed in 'Run'
Commits
3906952
Merge pull request #156 from SiaFoundation/release4183a6a
chore: prepare release 0.10.1f6575e9
Merge pull request #157 from SiaFoundation/nate/update-core04d4d74
update core to v0.9.1bab2bc5
Merge pull request #155 from SiaFoundation/chris/peer-cond9a05377
add changeset entryc721aef
use condition to wait for peers to be removed- 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: go.sia.tech/core and go.sia.tech/coreutils.
Updates go.sia.tech/core
from 0.9.0 to 0.9.1
Release notes
Sourced from go.sia.tech/core's releases.
0.9.1 (2025-01-18)
Fixes
- Fix account JSON encoding
Changelog
Sourced from go.sia.tech/core's changelog.
0.9.1 (2025-01-18)
Fixes
- Fix account JSON encoding
Commits
0349a9a
Merge pull request #267 from SiaFoundation/release7fd523d
chore: prepare release 0.9.17e64255
Merge pull request #266 from SiaFoundation/nate/fix-account-json4e2d069
fix account json239942c
build(deps): bump golang.org/x/crypto in the all-dependencies group8ec4de3
build(deps): bump golang.org/x/sys in the all-dependencies group- See full diff in compare view
Updates go.sia.tech/coreutils
from 0.10.0 to 0.10.1
Release notes
Sourced from go.sia.tech/coreutils's releases.
0.10.1 (2025-01-18)
Fixes
- Update core to v0.9.1
- Use condition rather than polling to determine whether all peers are closed in 'Run'
Changelog
Sourced from go.sia.tech/coreutils's changelog.
0.10.1 (2025-01-18)
Fixes
- Update core to v0.9.1
- Use condition rather than polling to determine whether all peers are closed in 'Run'
Commits
3906952
Merge pull request #156 from SiaFoundation/release4183a6a
chore: prepare release 0.10.1f6575e9
Merge pull request #157 from SiaFoundation/nate/update-core04d4d74
update core to v0.9.1bab2bc5
Merge pull request #155 from SiaFoundation/chris/peer-cond9a05377
add changeset entryc721aef
use condition to wait for peers to be removed- 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 4 updates: github.com/aws/aws-sdk-go, github.com/cloudflare/cloudflare-go, go.sia.tech/core and go.sia.tech/coreutils.
Updates github.com/aws/aws-sdk-go
from 1.55.5 to 1.55.6
Release notes
Sourced from github.com/aws/aws-sdk-go's releases.
Release v1.55.6 (2025-01-15)
SDK Bugs
- Fix broken printf for go1.24
Commits
e1db430
release v1.55.6 (2025-01-15) (#5341)5ab6103
changelog394e0e3
Merge pull request #5340 from djedward/main19d98e3
Fix improper use of Printf-style functions7112c0a
Merge pull request #5325 from ashishdhingra/user/ashdhin/IssueTemplateRegress...8d6a0f9
chore: Modified bug issue template to add checkbox to report potential regres...02c1f72
Update PULL_REQUEST_TEMPLATE.md- See full diff in compare view
Updates github.com/cloudflare/cloudflare-go
from 0.113.0 to 0.114.0
Release notes
Sourced from github.com/cloudflare/cloudflare-go's releases.
v0.114.0
NOTES:
- rulesets: remove
http_request_sbfm
phase (#3824)- workers: The
placement_mode
attribute in script upload responses has been deprecated. The new attributeplacement.mode
should be used instead. (#3825)ENHANCEMENTS:
- access_application: added more fields to private destinations (#3829)
- teams_rules: add support for
resolve_dns_internally
settings on dns_resolver rules (#3779)- waiting_room: add waiting room turnstile integration fields (#3764)
- workers: Add new
placement
attribute object in script upload responses. It contains themode
andstatus
attributes. (#3825)DEPENDENCIES:
Changelog
Sourced from github.com/cloudflare/cloudflare-go's changelog.
0.114.0 (January 15th, 2025)
NOTES:
- rulesets: remove
http_request_sbfm
phase (#3824)- workers: The
placement_mode
attribute in script upload responses has been deprecated. The new attributeplacement.mode
should be used instead. (#3825)ENHANCEMENTS:
- access_application: added more fields to private destinations (#3829)
- teams_rules: add support for
resolve_dns_internally
settings on dns_resolver rules (#3779)- waiting_room: add waiting room turnstile integration fields (#3764)
- workers: Add new
placement
attribute object in script upload responses. It contains themode
andstatus
attributes. (#3825)DEPENDENCIES:
Commits
d289377
Update CHANGELOG.mdd558bee
generate changeloged69723
Merge pull request #3825 from danielrs/drivas/script-upload-placement-field-c...eaf799a
Apply suggestions from code review42e433d
Merge pull request #3779 from sebassimoes/sebastiao/support-gateway-internal-...ecbef96
Merge pull request #3824 from gcloudflare/gb/remove-sbfm-phase3ad51b8
add changelog296bd73
Merge branch 'master' into gb/remove-sbfm-phase75449b0
feat(teams_rules): support internal dns settings43c3b8a
Merge pull request #3829 from GreenStage/egomes/AUTH-6690- Additional commits viewable in compare view
Updates go.sia.tech/core
from 0.9.0 to 0.9.1
Release notes
Sourced from go.sia.tech/core's releases.
0.9.1 (2025-01-18)
Fixes
- Fix account JSON encoding
Changelog
Sourced from go.sia.tech/core's changelog.
0.9.1 (2025-01-18)
Fixes
- Fix account JSON encoding
Commits
0349a9a
Merge pull request #267 from SiaFoundation/release7fd523d
chore: prepare release 0.9.17e64255
Merge pull request #266 from SiaFoundation/nate/fix-account-json4e2d069
fix account json239942c
build(deps): bump golang.org/x/crypto in the all-dependencies group8ec4de3
build(deps): bump golang.org/x/sys in the all-dependencies group- See full diff in compare view
Updates go.sia.tech/coreutils
from 0.10.0 to 0.10.1
Release notes
Sourced from go.sia.tech/coreutils's releases.
0.10.1 (2025-01-18)
Fixes
- Update core to v0.9.1
- Use condition rather than polling to determine whether all peers are closed in 'Run'
Changelog
Sourced from go.sia.tech/coreutils's changelog.
0.10.1 (2025-01-18)
Fixes
- Update core to v0.9.1
- Use condition rather than polling to determine whether all peers are closed in 'Run'
Commits
3906952
Merge pull request #156 from SiaFoundation/release4183a6a
chore: prepare release 0.10.1f6575e9
Merge pull request #157 from SiaFoundation/nate/update-core04d4d74
update core to v0.9.1bab2bc5
Merge pull request #155 from SiaFoundation/chris/peer-cond9a05377
add changeset entryc721aef
use condition to wait for peers to be removed- 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
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.
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.
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
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.
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
.
Makes it easier for scripts to parse startup issues
Fixes #203
Moves UTXO selection out of the API and into the wallet manager in preparation for a transaction construction endpoint.
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 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
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
Updates core and coreutils to v0.9.0 to fully support the v2 hardfork.
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.
Adds a helper for generating a signed RHP4 account token
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
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
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
510,984 block height
86,113 online hosts
457 active hosts
7.98 PB total storage
2.28 PB used storage
427 M total registry
3 M used registry
20,996 commits
71 contributors
470 forks
43 releases