Activity

A feed of development activity from across Sia Foundation GitHub repositories.

May 20, 2025
May 20, 2025

This PR is related to https://github.com/SiaFoundation/renterd/issues/1889. I can't reproduce it by uploading files myself, but I can reproduce the exact issue by writing an empty slice in place of partial slab data. Note that this won't fail the download, but merely add a log entry to indicate it is in fact a slab without shards.

May 19, 2025
May 19, 2025

Periodically tests the hosts connection using the SiaScan troubleshooting API. This provides alerts to hosts if for some reason their node is not connectable. This system relies on a central server for the test and may return occasional false positives. The server can be overridden by setting Config.Explorer.URL

May 19, 2025

This refactor for typescript strict mode was fairly straightforward. Biggest change by number of files touched was simply typing out params: { id: string }. I unified that prop type and made it extensible, just in case it ever needs to be. Beyond that:

  • The rankHosts function needed a decent rewrite, and I suspect that, previous to this, it was at least somewhat broken. I believe we were referencing keys that didn't exist, and I'm guessing that was skewing the final result. Should I throw a changeset on that, since the resultant list is now an entirely different group of hosts?

  • Satisfying strict mode for the Transaction slice was fairly verbose. Lots of novel 'key' in object ? ... : .... It does probably need consolidating earlier. There is some decision-making to do there about what a consolidated type should care about, due to all the custom types used (and the available keys/types therein), so I've resolved to leave that for another day.

  • The identicon.js import in /lib/avatar.ts has no official typings. It does have an @types, but that didn't seem to be the correct typing. Could be a versioning issue, but the end result is that I ts-expect-error'd this import. We could alternatively declare a module in a *.d.ts file in libs.

May 19, 2025
  • Upgrade to latest core and coreutils.
  • v1 siacoin and siafund inputs now have an address field.
  • v1 and v2 (same type) siacoin and siafund outputs now have an id field.
  • v1 and v2 transactions now both have an id field.
May 19, 2025
  • The transaction pool broadcast API now returns the full transaction set.
May 19, 2025
May 18, 2025

Updates README referencing UDP settings where appropriate and listing certPath and keyPath hostd configuration settings to allow QUIC connections to work. NOTE: a valid certificate and keyfile that matches the ClientHello (the hostname hostd reports) is needed to make QUIC connections.

May 18, 2025

This PR was created automatically. Merging it will finalize the changelog for 2.5.0

  • Added [GET] /health to check the health of the walletd node
  • Consensus checkpoint and block endpoints now support lookups by height
May 16, 2025
May 15, 2025
May 14, 2025
  • Added a v2TransactionId method to the WASM SDK.
May 14, 2025
May 14, 2025

Pretty straightforward: on the block and transaction pages, transactions and contract entities had avatars and IDs that were clickable, but the title wasn't. That felt counter-intuitive.

May 14, 2025

This PR was created automatically. Merging it will finalize the changelog for 2.4.1

  • Fix race in txpool broadcast
May 14, 2025

Found a race condition with JSON encoding the IDs and the spend policy not being deep copied. Should fix the spend policy in a follow up.

May 14, 2025

This PR was created automatically. Merging it will finalize the changelog for 2.4.0

  • Added GET /consensus/checkpoint/:id which returns the block and its consensus state.

This lets integrators get the IDs of the created UTXOs, addresses of inputs, and IDs of the transactions

These releases include additional JSON convenience fields

May 14, 2025

Changes the broadcast endpoint to return the full transaction set instead of just the ids

May 14, 2025

This PR was created automatically. Merging it will create a new release for 0.12.3

  • Added convenience IDs to V2 transaction JSON marshalling.
May 14, 2025
May 14, 2025

This PR was created automatically. Merging it will create a new release for 0.12.2

  • Added UTXO IDs to v1 transaction JSON marshalling
May 14, 2025

Adds the UTXO ID to the Siacoin and Siafund output JSON for convenience.

May 14, 2025

This PR was created automatically. Merging it will create a new release for 0.12.1

  • Adds an address field to the JSON representation of Siacoin and Siafund inputs.
May 14, 2025
May 14, 2025

Adds an endpoint to fetch a block and its state. Useful when scanning the blockchain to determine height of v1 blocks.

May 14, 2025

Similar to the id field on Transactions, adds address to the json representation of Siacoin and Siafund inputs for ease of use in other languages.

May 14, 2025

This PR adds a GET /bus/renterkey endpoint, which can be used by 3rd-party services like Sia Satellite.

What it can do:

  • generate contract keys used to sign contracts
  • create account tokens used to migrate sectors

What it cannot do:

  • access the wallet of renterd, but Sia Satellite wouldn't need that anyway

Fixes #1884

May 13, 2025

The contact email text on this page was listed as "[email protected]", which is an email address we don't have. The acual mailto: in the link was [email protected] which was correct. This corrects the display text.

May 13, 2025
  • Fixed the contact email. Thanks @stevefunk (https://github.com/SiaFoundation/web/pull/1053) for catching this! Since that PR was from a fork I could not update it - here is one with conventional commit formatting, a changeset, and uses the variable.
May 12, 2025

This PR was created automatically. Merging it will finalize the changelog for 2.3.0

  • Added CLI flag to disable log locations --log.file.enabled=false --log.stdout.enabled=false
  • Added CLI flag to set log level --log.level=debug

This endpoint is useful for scanning the chain for look-aheads when in full index mode

May 12, 2025
May 12, 2025
May 12, 2025
May 12, 2025

Fixes a panic when encoding the alerts array during high frequency updates. Honestly surprised we haven't run into this before.

fatal error: concurrent map iteration and map write
goroutine 13842512 [running]:
internal/runtime/maps.fatal({0x10d45e2?, 0x475113?})
	runtime/panic.go:1058 +0x18
internal/runtime/maps.(*Iter).Next(0xc00a9ced50?)
	internal/runtime/maps/table.go:683 +0x86
reflect.mapIterNext(0xf6e640?)
	reflect/map_swiss.go:203 +0x13
reflect.(*MapIter).Next(0xc001728fd0)
	reflect/map_swiss.go:358 +0x3e
encoding/json.mapEncoder.encode({0x15?}, 0xc000132940, {0xf9e080?, 0xc001e8efb0?, 0xc001e8efb0?}, {0x7?, 0x0?})
	encoding/json/encode.go:768 +0x329
encoding/json.structEncoder.encode({{{0xc0048ec008, 0x5, 0x8}, 0xc00602a7b0, 0xc00602a7e0}}, 0xc000132940, {0x10313c0?, 0xc001e8ef78?, 0xc001729338?}, {0x0, ...})
	encoding/json/encode.go:727 +0x30a
encoding/json.arrayEncoder.encode({0xc001729320?}, 0xc000132940, {0xf78140?, 0xc00a519560?, 0x0?}, {0x30?, 0x93?})
	encoding/json/encode.go:870 +0xcf
encoding/json.sliceEncoder.encode({0x4170d4?}, 0xc000132940, {0xf78140?, 0xc00a519560?, 0xf78140?}, {0x3d?, 0x60?})
	encoding/json/encode.go:843 +0x335
encoding/json.(*encodeState).reflectValue(0xc000132940, {0xf78140?, 0xc00a519560?, 0xc0017294f8?}, {0xc0?, 0xc3?})
	encoding/json/encode.go:333 +0x73
encoding/json.(*encodeState).marshal(0xc001e8ef78?, {0xf78140?, 0xc00a519560?}, {0x28?, 0x4f?})
	encoding/json/encode.go:309 +0xb2
encoding/json.(*Encoder).Encode(0xc001729638, {0xf78140, 0xc00a519560})
	encoding/json/stream.go:210 +0xd0
go.sia.tech/jape.Context.Encode({{0x1a20e00, 0xc009cc1500}, 0xc00a659040, {0x0, 0x0, 0x0}}, {0xf78140, 0xc00a519560})
	go.sia.tech/[email protected]/server.go:57 +0x32b
go.sia.tech/hostd/v2/api.(*api).writeResponse(0xc00621c000, {{0x1a20e00, 0xc009cc1500}, 0xc00a659040, {0x0, 0x0, 0x0}}, {0xf78140, 0xc00a519560})
	go.sia.tech/hostd/v2/api/endpoints.go:66 +0x16e
go.sia.tech/hostd/v2/api.(*api).handleGETAlerts(0xc00621c000, {{0x1a20e00, 0xc009cc1500}, 0xc00a659040, {0x0, 0x0, 0x0}})
	go.sia.tech/hostd/v2/api/endpoints.go:155 +0x86
go.sia.tech/jape.Mux.adaptor.func1({0x1a20e00?, 0xc009cc1500?}, 0xc00a510dc8?, {0x0?, 0x18?, 0xc007780008?})
	go.sia.tech/[email protected]/server.go:171 +0x52
github.com/julienschmidt/httprouter.(*Router).ServeHTTP(0xc005f4e240, {0x1a20e00, 0xc009cc1500}, 0xc00a659040)
	github.com/julienschmidt/[email protected]/router.go:387 +0x7cb
main.runRootCmd.runRootCmd.BasicAuth.func41.func42({0x1a20e00, 0xc009cc1500}, 0xc00a659040)
	go.sia.tech/[email protected]/server.go:230 +0x99
net/http.HandlerFunc.ServeHTTP(0xc001729b10?, {0x1a20e00?, 0xc009cc1500?}, 0x47cff2?)
	net/http/server.go:2294 +0x29
main.webRouter.ServeHTTP({{0x1a19f20?, 0xc0004f2a20?}, {0x1a185e0?, 0xc0004f2360?}}, {0x1a20e00?, 0xc009cc1500?}, 0x1?)
	go.sia.tech/hostd/v2/cmd/hostd/web.go:18 +0xd8
net/http.serverHandler.ServeHTTP({0xc002680720?}, {0x1a20e00?, 0xc009cc1500?}, 0x6?)
	net/http/server.go:3301 +0x8e
net/http.(*conn).serve(0xc00583e000, {0x1a23638, 0xc0136a7dd0})
	net/http/server.go:2102 +0x625
created by net/http.(*Server).Serve in goroutine 228
	net/http/server.go:3454 +0x485
goroutine 1 [chan receive, 2594 minutes]:
main.runRootCmd({_, _}, {{0x0, 0x0}, {0xc00049a1f0, 0xe}, {0xc0004f0050, 0x46}, 0x0, {{0xc00049a257, ...}, ...}, ...}, ...)
	go.sia.tech/hostd/v2/cmd/hostd/run.go:531 +0x60c5
main.main()
	go.sia.tech/hostd/v2/cmd/hostd/main.go:534 +0x2239
goroutine 5 [syscall, 3292 minutes]:
os/signal.signal_recv()
May 12, 2025
May 12, 2025

Bumps the all-dependencies group with 2 updates: golang.org/x/crypto and golang.org/x/tools.

Updates golang.org/x/crypto from 0.37.0 to 0.38.0

Commits
  • aae6e61 go.mod: update golang.org/x dependencies
  • 9c1aa6a ssh/test: reset the random source before capturing a recording
  • 8819902 ssh/test: enable Diffie-Hellman key exchange algorithms
  • 3f311e4 acme: return error from pre-authorization when unsupported
  • 1f7c62c ssh/test: skip unsupported tests on js/wasm
  • a5f8048 acme/autocert: use standard functions to pick the cache directory
  • 958cde8 Revert "chacha20: add loong64 SIMD implementation"
  • 51f005c Revert "salsa20: add loong64 SIMD implementation"
  • 7c35866 Revert "argon2: add loong64 SIMD implementation"
  • 0091fc8 Revert "blake2s: add loong64 SIMD implementation"
  • Additional commits viewable in compare view

Updates golang.org/x/tools from 0.32.0 to 0.33.0

Commits
  • 64b63a6 go.mod: update golang.org/x dependencies
  • 7701413 internal/mcp: move jsonschema out of mcp/internal
  • 125cd11 jsonschema: pre-compile regexps
  • 2f18550 jsonschema: better errors unmarshaling ints
  • 635622b jsonschema: using hashing for uniqueItems
  • 0f6a53f mcp: remove ServerConnection
  • ca54d59 jsonschema: represent integer keywords as ints
  • c75f7e8 jsonschema: validate object keywords
  • efd15d8 internal/mcp: clean up handling of content
  • 80e0fd8 internal/mcp: support prompts
  • 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
May 10, 2025
May 9, 2025
  • Tests had some typing issues.
May 9, 2025
May 8, 2025
  • The siafund and foundation fields on ConsensusState were renamed.
May 8, 2025
May 7, 2025

Bumps the all-dependencies group with 1 update: go.sia.tech/jape.

Updates go.sia.tech/jape from 0.13.1 to 0.14.0

Release notes

Sourced from go.sia.tech/jape's releases.

0.14.0 (2025-04-30)

Breaking Changes

Limit the default size of incoming request bodies to 10MB

Changelog

Sourced from go.sia.tech/jape's changelog.

0.14.0 (2025-04-30)

Breaking Changes

Limit the default size of incoming request bodies to 10MB

Add Context.DecodeLimit to override the size limit

Commits

Dependabot compatibility score

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
May 7, 2025
  • The v2 element structure was changed in core, this matches the change.
May 7, 2025

Adding RHP4 references

May 6, 2025
May 6, 2025
May 6, 2025
May 6, 2025

Bumps the all-dependencies group with 1 update: golang.org/x/sys.

Updates golang.org/x/sys from 0.32.0 to 0.33.0

Commits
  • 3d9a6b8 windows: add WSADuplicateSocket
  • c0a9559 cpu: add crypto extensions detection for riscv64
  • 8e9e046 windows: add virtual key codes and console input consts
  • 7138967 windows: fix slicing of NTUnicodeString values
  • 6a85559 windows: fix dangling pointers in (*SECURITY_DESCRIPTOR).ToAbsolute
  • See full diff in compare view

Dependabot compatibility score

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
May 6, 2025

Bumps the dependencies group with 3 updates: go.sia.tech/jape, golang.org/x/sys and golang.org/x/term.

Updates go.sia.tech/jape from 0.13.1 to 0.14.0

Release notes

Sourced from go.sia.tech/jape's releases.

0.14.0 (2025-04-30)

Breaking Changes

Limit the default size of incoming request bodies to 10MB

Changelog

Sourced from go.sia.tech/jape's changelog.

0.14.0 (2025-04-30)

Breaking Changes

Limit the default size of incoming request bodies to 10MB

Add Context.DecodeLimit to override the size limit

Commits

Updates golang.org/x/sys from 0.32.0 to 0.33.0

Commits
  • 3d9a6b8 windows: add WSADuplicateSocket
  • c0a9559 cpu: add crypto extensions detection for riscv64
  • 8e9e046 windows: add virtual key codes and console input consts
  • 7138967 windows: fix slicing of NTUnicodeString values
  • 6a85559 windows: fix dangling pointers in (*SECURITY_DESCRIPTOR).ToAbsolute
  • See full diff in compare view

Updates golang.org/x/term from 0.31.0 to 0.32.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
May 5, 2025

Bumps the all-dependencies group with 1 update: go.sia.tech/jape.

Updates go.sia.tech/jape from 0.13.1 to 0.14.0

Release notes

Sourced from go.sia.tech/jape's releases.

0.14.0 (2025-04-30)

Breaking Changes

Limit the default size of incoming request bodies to 10MB

Changelog

Sourced from go.sia.tech/jape's changelog.

0.14.0 (2025-04-30)

Breaking Changes

Limit the default size of incoming request bodies to 10MB

Add Context.DecodeLimit to override the size limit

Commits

Dependabot compatibility score

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
May 2, 2025

PR with a bunch of improvements found while debugging the cluster startup issues:

  • Update cluster deps.
  • Improve flaky hostd volume test.
  • Removed unnecessary ^build from the explorer-e2e e2e target (should make startup much faster, it was doing a production (slow) build of explorer that was not even being used cc @telestrial)
  • Fixed waitFor. If the condition hung or errored would prevent natural test timeout on CI.
  • Fixed -explored=1 startup errors in cmd.
Apr 30, 2025

Adds [POST] /check/addresses to check for addresses that have been seen on chain. This endpoint is useful for scanning the chain for look-aheads when in full index mode

Apr 29, 2025

Bumps the all-dependencies group with 3 updates: go.sia.tech/core, go.sia.tech/coreutils and go.sia.tech/jape.

Updates go.sia.tech/core from 0.11.0 to 0.12.0

Release notes

Sourced from go.sia.tech/core's releases.

0.12.0 (2025-04-28)

Breaking Changes

  • Changed contract validation helpers to take current contract as parameter instead of individual values to simplify usage
  • Removed unused parameters in contract helpers
Changelog

Sourced from go.sia.tech/core's changelog.

0.12.0 (2025-04-28)

Breaking Changes

  • Changed contract validation helpers to take current contract as parameter instead of individual values to simplify usage
  • Removed unused parameters in contract helpers
Commits

Updates go.sia.tech/coreutils from 0.13.1 to 0.13.2

Release notes

Sourced from go.sia.tech/coreutils's releases.

0.13.2 (2025-04-28)

Features

  • Return error when transaction set relay fails

Fixes

  • Update coreutils to v0.12.0

Export 'missing block at index' error

#217 by @​chris124567

The "missing block at index" error is used in multiple places to detect that a chain migration happened so that the app knows to reset whatever state it stored previously. This PR exports it so that looking at the error string is not necessary.

https://github.com/SiaFoundation/hostd/blob/711ac3eb1da09e4d6a9ff17a2efe3555d70b8185/index/update.go#L36 https://github.com/SiaFoundation/walletd/blob/d91147b7ec52b2261779949905c8e0fd3c0ad5c7/wallet/manager.go#L733

And recently in explored: SiaFoundation/explored#212

Changelog

Sourced from go.sia.tech/coreutils's changelog.

0.13.2 (2025-04-28)

Features

  • Return error when transaction set relay fails

Fixes

  • Update coreutils to v0.12.0

Export 'missing block at index' error

##217 by @​chris124567

The "missing block at index" error is used in multiple places to detect that a chain migration happened so that the app knows to reset whatever state it stored previously. This PR exports it so that looking at the error string is not necessary.

https://github.com/SiaFoundation/hostd/blob/711ac3eb1da09e4d6a9ff17a2efe3555d70b8185/index/update.go#L36 https://github.com/SiaFoundation/walletd/blob/d91147b7ec52b2261779949905c8e0fd3c0ad5c7/wallet/manager.go#L733

And recently in explored: SiaFoundation/explored#212

Commits
  • 64c6653 Merge pull request #218 from SiaFoundation/release
  • d90028c chore: prepare release 0.13.2
  • d031d7e Merge pull request #221 from SiaFoundation/nate/update-deps
  • e35f738 chore: update deps
  • 7ca0c4a Merge pull request #216 from SiaFoundation/nate/syncer-errors
  • bfcefb3 add extra debug logging
  • 0766ecc actually return errors
  • 98125a2 syncer: make all relay calls consisten
  • 5e7b0a9 rhp4: use mock syncer
  • e9a9c74 syncer: add handshake timeout
  • Additional commits viewable in compare view

Updates go.sia.tech/jape from 0.12.2-0.20241010144215-1468bf476af6 to 0.13.1

Release notes

Sourced from go.sia.tech/jape's releases.

0.13.1 (2025-04-26)

Fixes

  • Automate releases
  • Fix off-by-one in japecheck
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
Apr 29, 2025

Bumps the all-dependencies group with 2 updates in the / directory: go.sia.tech/core and go.sia.tech/jape.

Updates go.sia.tech/core from 0.11.0 to 0.12.0

Release notes

Sourced from go.sia.tech/core's releases.

0.12.0 (2025-04-28)

Breaking Changes

  • Changed contract validation helpers to take current contract as parameter instead of individual values to simplify usage
  • Removed unused parameters in contract helpers
Changelog

Sourced from go.sia.tech/core's changelog.

0.12.0 (2025-04-28)

Breaking Changes

  • Changed contract validation helpers to take current contract as parameter instead of individual values to simplify usage
  • Removed unused parameters in contract helpers
Commits

Updates go.sia.tech/jape from 0.12.2-0.20241010144215-1468bf476af6 to 0.13.1

Release notes

Sourced from go.sia.tech/jape's releases.

0.13.1 (2025-04-26)

Fixes

  • Automate releases
  • Fix off-by-one in japecheck
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
Apr 29, 2025

Bumps the all-dependencies group with 2 updates: go.sia.tech/core and go.sia.tech/coreutils.

Updates go.sia.tech/core from 0.11.0 to 0.12.0

Release notes

Sourced from go.sia.tech/core's releases.

0.12.0 (2025-04-28)

Breaking Changes

  • Changed contract validation helpers to take current contract as parameter instead of individual values to simplify usage
  • Removed unused parameters in contract helpers
Changelog

Sourced from go.sia.tech/core's changelog.

0.12.0 (2025-04-28)

Breaking Changes

  • Changed contract validation helpers to take current contract as parameter instead of individual values to simplify usage
  • Removed unused parameters in contract helpers
Commits

Updates go.sia.tech/coreutils from 0.13.1 to 0.13.2

Release notes

Sourced from go.sia.tech/coreutils's releases.

0.13.2 (2025-04-28)

Features

  • Return error when transaction set relay fails

Fixes

  • Update coreutils to v0.12.0

Export 'missing block at index' error

#217 by @​chris124567

The "missing block at index" error is used in multiple places to detect that a chain migration happened so that the app knows to reset whatever state it stored previously. This PR exports it so that looking at the error string is not necessary.

https://github.com/SiaFoundation/hostd/blob/711ac3eb1da09e4d6a9ff17a2efe3555d70b8185/index/update.go#L36 https://github.com/SiaFoundation/walletd/blob/d91147b7ec52b2261779949905c8e0fd3c0ad5c7/wallet/manager.go#L733

And recently in explored: SiaFoundation/explored#212

Changelog

Sourced from go.sia.tech/coreutils's changelog.

0.13.2 (2025-04-28)

Features

  • Return error when transaction set relay fails

Fixes

  • Update coreutils to v0.12.0

Export 'missing block at index' error

##217 by @​chris124567

The "missing block at index" error is used in multiple places to detect that a chain migration happened so that the app knows to reset whatever state it stored previously. This PR exports it so that looking at the error string is not necessary.

https://github.com/SiaFoundation/hostd/blob/711ac3eb1da09e4d6a9ff17a2efe3555d70b8185/index/update.go#L36 https://github.com/SiaFoundation/walletd/blob/d91147b7ec52b2261779949905c8e0fd3c0ad5c7/wallet/manager.go#L733

And recently in explored: SiaFoundation/explored#212

Commits
  • 64c6653 Merge pull request #218 from SiaFoundation/release
  • d90028c chore: prepare release 0.13.2
  • d031d7e Merge pull request #221 from SiaFoundation/nate/update-deps
  • e35f738 chore: update deps
  • 7ca0c4a Merge pull request #216 from SiaFoundation/nate/syncer-errors
  • bfcefb3 add extra debug logging
  • 0766ecc actually return errors
  • 98125a2 syncer: make all relay calls consisten
  • 5e7b0a9 rhp4: use mock syncer
  • e9a9c74 syncer: add handshake timeout
  • 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
Apr 29, 2025

Currently, if two objects across buckets share a similar path prefix, only the one in the bucket with the lowest db_bucket_id will show up in the directory view. This happens because we failed to join on the bucket in a sub-select that grouped the rows and hereby did a MIN on the db_bucket_id, causing the wrong object to be selected in the sub-select, which would then in turn be filtered out in the outer select that filters on the bucket.

Apr 29, 2025

Uploads were stuck because they hadn't finished, and the number of inflight requests never dropped to zero. The error was in only considering the sector context; the upload loop must still receive a response for the sector—even if the sector upload could be skipped because it was already sent to another host. Without this, we're effectively dropping inflight requests, preventing the counter from ever reaching zero. This is only an issue if we don't have enough hosts to overdrive, which is why we haven't seen it on production.

I tried writing a decent regression test that approaches the problem from the upload manager. That's a little tricky because the uploaders aren't interfaced, so we can't easily mock the behaviour there. I added a unit test that ensures requests that can be skipped, still send a response down the channel, perhaps in combination with the extensive manual tests (on erravimus) that is sufficient (?).

Diving in the upload code it's difficult not to try and refactor everything, so this PR is (more or less) the minimum amount of lines to make it work. If we want more extensive unit testing we'll have to interface a couple of components and do more refactors.

Fixes https://github.com/SiaFoundation/renterd/issues/1849

Apr 29, 2025

This splits up the renew function into 2 since renew and refresh are just different enough for it to not make sense to keep them together.

Apr 29, 2025

Bumps the dependencies group with 3 updates in the / directory: go.sia.tech/core, go.sia.tech/coreutils and go.sia.tech/jape.

Updates go.sia.tech/core from 0.11.0 to 0.12.0

Release notes

Sourced from go.sia.tech/core's releases.

0.12.0 (2025-04-28)

Breaking Changes

  • Changed contract validation helpers to take current contract as parameter instead of individual values to simplify usage
  • Removed unused parameters in contract helpers
Changelog

Sourced from go.sia.tech/core's changelog.

0.12.0 (2025-04-28)

Breaking Changes

  • Changed contract validation helpers to take current contract as parameter instead of individual values to simplify usage
  • Removed unused parameters in contract helpers
Commits

Updates go.sia.tech/coreutils from 0.13.1 to 0.13.2

Release notes

Sourced from go.sia.tech/coreutils's releases.

0.13.2 (2025-04-28)

Features

  • Return error when transaction set relay fails

Fixes

  • Update coreutils to v0.12.0

Export 'missing block at index' error

#217 by @​chris124567

The "missing block at index" error is used in multiple places to detect that a chain migration happened so that the app knows to reset whatever state it stored previously. This PR exports it so that looking at the error string is not necessary.

https://github.com/SiaFoundation/hostd/blob/711ac3eb1da09e4d6a9ff17a2efe3555d70b8185/index/update.go#L36 https://github.com/SiaFoundation/walletd/blob/d91147b7ec52b2261779949905c8e0fd3c0ad5c7/wallet/manager.go#L733

And recently in explored: SiaFoundation/explored#212

Changelog

Sourced from go.sia.tech/coreutils's changelog.

0.13.2 (2025-04-28)

Features

  • Return error when transaction set relay fails

Fixes

  • Update coreutils to v0.12.0

Export 'missing block at index' error

##217 by @​chris124567

The "missing block at index" error is used in multiple places to detect that a chain migration happened so that the app knows to reset whatever state it stored previously. This PR exports it so that looking at the error string is not necessary.

https://github.com/SiaFoundation/hostd/blob/711ac3eb1da09e4d6a9ff17a2efe3555d70b8185/index/update.go#L36 https://github.com/SiaFoundation/walletd/blob/d91147b7ec52b2261779949905c8e0fd3c0ad5c7/wallet/manager.go#L733

And recently in explored: SiaFoundation/explored#212

Commits
  • 64c6653 Merge pull request #218 from SiaFoundation/release
  • d90028c chore: prepare release 0.13.2
  • d031d7e Merge pull request #221 from SiaFoundation/nate/update-deps
  • e35f738 chore: update deps
  • 7ca0c4a Merge pull request #216 from SiaFoundation/nate/syncer-errors
  • bfcefb3 add extra debug logging
  • 0766ecc actually return errors
  • 98125a2 syncer: make all relay calls consisten
  • 5e7b0a9 rhp4: use mock syncer
  • e9a9c74 syncer: add handshake timeout
  • Additional commits viewable in compare view

Updates go.sia.tech/jape from 0.13.0 to 0.13.1

Release notes

Sourced from go.sia.tech/jape's releases.

0.13.1 (2025-04-26)

Fixes

  • Automate releases
  • Fix off-by-one in japecheck
Commits
  • ec010df Merge pull request #30 from SiaFoundation/release
  • 0229cad chore: prepare release 0.13.1
  • 3ec8b54 Merge pull request #32 from SiaFoundation/dependabot/go_modules/all-dependenc...
  • 736df34 Bump golang.org/x/tools in the all-dependencies group
  • 77f38f4 Merge pull request #31 from SiaFoundation/n8maninger-patch-1
  • 3910600 Setup dependabot.yml
  • d89eda6 Merge pull request #28 from SiaFoundation/christopher/fix-parsing-client-routes
  • 6b9cbcd fix response types
  • 694c9da fix parsing client routes after context parameter introduction
  • 72fe9c8 add changeset
  • 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
Apr 29, 2025

Updates to the latest coreutils and updates tests and call sites that expect the syncer to work to use the mock syncer since BroadcastTransaction will now error when there are no peers connected.

Apr 29, 2025

Now that the database is limited to a single conn there is no need to retry transactions.

Apr 28, 2025
Apr 28, 2025

Bumps the dependencies group with 1 update: go.sia.tech/jape.

Updates go.sia.tech/jape from 0.13.0 to 0.13.1

Release notes

Sourced from go.sia.tech/jape's releases.

0.13.1 (2025-04-26)

Fixes

  • Automate releases
  • Fix off-by-one in japecheck
Commits
  • ec010df Merge pull request #30 from SiaFoundation/release
  • 0229cad chore: prepare release 0.13.1
  • 3ec8b54 Merge pull request #32 from SiaFoundation/dependabot/go_modules/all-dependenc...
  • 736df34 Bump golang.org/x/tools in the all-dependencies group
  • 77f38f4 Merge pull request #31 from SiaFoundation/n8maninger-patch-1
  • 3910600 Setup dependabot.yml
  • d89eda6 Merge pull request #28 from SiaFoundation/christopher/fix-parsing-client-routes
  • 6b9cbcd fix response types
  • 694c9da fix parsing client routes after context parameter introduction
  • 72fe9c8 add changeset
  • Additional commits viewable in compare view

Dependabot compatibility score

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
Apr 28, 2025

Bumps the all-dependencies group with 1 update: go.sia.tech/jape.

Updates go.sia.tech/jape from 0.12.2-0.20241010144215-1468bf476af6 to 0.13.1

Release notes

Sourced from go.sia.tech/jape's releases.

0.13.1 (2025-04-26)

Fixes

  • Automate releases
  • Fix off-by-one in japecheck
Commits

Dependabot compatibility score

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
Apr 28, 2025

This PR was created automatically. Merging it will create a new release for 0.12.0

  • Changed contract validation helpers to take current contract as parameter instead of individual values to simplify usage
  • Removed unused parameters in contract helpers
Apr 28, 2025

Reverts #298 to the old behavior and removes unused params.

Looking at the original PR, #298, I think the logic change there is actually incorrect. It's not clear to me why a contract refresh would ever have plenty of allowance but not enough collateral since the funds always flow from the renter to the host.

The subtest that got changed in https://github.com/SiaFoundation/coreutils/pull/215 should have been a valid state based on the intended behavior.

The desired behavior is that the host's total collateral locked is a consistent ratio with the renter's total spending. In the case of that subtest, the renter has locked 110 SC total and the host has locked 220 SC total. With the new logic, that is now considered a bad state because the renter spent 25 SC of its allowance funding an account, giving it 85 SC remaining allowance to 220 SC collateral. The renter ends up needing to lock significantly more SC to compensate for the account spending.

Apr 28, 2025
  • Bump up the max line length for commit body content.
Apr 28, 2025
Apr 28, 2025

Bumps the all-dependencies group with 1 update: go.sia.tech/jape.

Updates go.sia.tech/jape from 0.13.0 to 0.13.1

Release notes

Sourced from go.sia.tech/jape's releases.

0.13.1 (2025-04-26)

Fixes

  • Automate releases
  • Fix off-by-one in japecheck
Commits
  • ec010df Merge pull request #30 from SiaFoundation/release
  • 0229cad chore: prepare release 0.13.1
  • 3ec8b54 Merge pull request #32 from SiaFoundation/dependabot/go_modules/all-dependenc...
  • 736df34 Bump golang.org/x/tools in the all-dependencies group
  • 77f38f4 Merge pull request #31 from SiaFoundation/n8maninger-patch-1
  • 3910600 Setup dependabot.yml
  • d89eda6 Merge pull request #28 from SiaFoundation/christopher/fix-parsing-client-routes
  • 6b9cbcd fix response types
  • 694c9da fix parsing client routes after context parameter introduction
  • 72fe9c8 add changeset
  • Additional commits viewable in compare view

Dependabot compatibility score

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
Apr 24, 2025
Apr 24, 2025

Depends on https://github.com/SiaFoundation/core/pull/299

Noticed that none of my Zen contracts renewed. This change fixed it.

Need to update go.mod once the dependencies are merged.

Apr 24, 2025

While trying to update cluster I ran into an issue where our software used incompatible version of jape. Basically walletd was using latest master while the other ones weren't. Which caused issues when updating cluster.

Apr 24, 2025
Apr 24, 2025

This PR was created automatically. Merging it will finalize the changelog for 2.2.1

  • Update core to v0.11.0 and coreutils to v0.13.1
Apr 23, 2025

This PR was created automatically. Merging it will create a new release for 0.11.0

  • Removed duration parameter from MinRenterAllowance helper
  • Add MaxHostCollateral helper
  • Consider post-refresh values for the minRenterAllowance check rather than the additional values.
Apr 22, 2025

This PR was created automatically. Merging it will finalize the changelog for 2.2.0

Adds support for loading custom network parameters from a local file. This makes it easier to setup local testnets for development. A network file can be specified by using a file path for the --network CLI flag. The file should be JSON formatted with the following structure:

{
  "network": {
    "name": "zen",
    "initialCoinbase": "300000000000000000000000000000",
    "minimumCoinbase": "30000000000000000000000000000",
    "initialTarget": "0000000100000000000000000000000000000000000000000000000000000000",
    "blockInterval": 600000000000,
    "maturityDelay": 144,
    "hardforkDevAddr": {
      "height": 1,
      "oldAddress": "000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69",
      "newAddress": "000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69"
    },
    "hardforkTax": {
      "height": 2
    },
    "hardforkStorageProof": {
      "height": 5
    },
    "hardforkOak": {
      "height": 10,
      "fixHeight": 12,
      "genesisTimestamp": "2023-01-13T00:53:20-08:00"
    },
    "hardforkASIC": {
      "height": 20,
      "oakTime": 10000000000000,
      "oakTarget": "0000000100000000000000000000000000000000000000000000000000000000"
    },
    "hardforkFoundation": {
      "height": 30,
      "primaryAddress": "053b2def3cbdd078c19d62ce2b4f0b1a3c5e0ffbeeff01280efb1f8969b2f5bb4fdc680f0807",
      "failsafeAddress": "000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69"
    },
    "hardforkV2": {
      "allowHeight": 112000,
      "requireHeight": 114000
    }
  },
  "genesis": {
    "parentID": "0000000000000000000000000000000000000000000000000000000000000000",
    "nonce": 0,
    "timestamp": "2023-01-13T00:53:20-08:00",
    "minerPayouts": null,
    "transactions": [
      {
        "id": "268ef8627241b3eb505cea69b21379c4b91c21dfc4b3f3f58c66316249058cfd",
        "siacoinOutputs": [
          {
            "value": "1000000000000000000000000000000000000",
            "address": "3d7f707d05f2e0ec7ccc9220ed7c8af3bc560fbee84d068c2cc28151d617899e1ee8bc069946"
          }
        ],
        "siafundOutputs": [
          {
            "value": 10000,
            "address": "053b2def3cbdd078c19d62ce2b4f0b1a3c5e0ffbeeff01280efb1f8969b2f5bb4fdc680f0807"
          }
        ]
      }
    ]
  }
}
Apr 22, 2025

Bumps the all-dependencies group with 2 updates: github.com/gabriel-vasile/mimetype and github.com/mattn/go-sqlite3.

Updates github.com/gabriel-vasile/mimetype from 1.4.8 to 1.4.9

Release notes

Sourced from github.com/gabriel-vasile/mimetype's releases.

v1.4.9 GLTF support and performance improvements

What's Changed

Full Changelog: https://github.com/gabriel-vasile/mimetype/compare/v1.4.8...v1.4.9

Commits
  • 551461b add support for GLTF
  • 63e2356 go mod tidy
  • 12592ed json: add parser with query capacity
  • 55e964a Bump the github-actions group across 1 directory with 2 updates
  • a10cc03 Bump golang.org/x/net in the gomod group across 1 directory
  • 773b07c CI: move fuzz to cron job (#653)
  • 68c306d tests: revert effects of Extend
  • e8ef900 gha: use stable version of golang in CI
  • 9ab9e39 benchmark: reset mem and timer after allocating and before bench run
  • adb0181 json: more benchmarking
  • Additional commits viewable in compare view

Updates github.com/mattn/go-sqlite3 from 1.14.27 to 1.14.28

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
Apr 22, 2025

Bumps the all-dependencies group with 1 update: github.com/mattn/go-sqlite3.

Updates github.com/mattn/go-sqlite3 from 1.14.27 to 1.14.28

Commits

Dependabot compatibility score

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
Apr 21, 2025

Bumps the dependencies group with 1 update: github.com/mattn/go-sqlite3.

Updates github.com/mattn/go-sqlite3 from 1.14.27 to 1.14.28

Commits

Dependabot compatibility score

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
Apr 17, 2025

This PR adds MaxHostCollateral as a counterpart to MinRenterAllowance.

It also removes the duration since it doesn't affect the outcome of the functions since the ratio stays the same regardless of the duration.

Apr 17, 2025

I ran into a min allowance issue on Zen which made me reread this part of the code and I noticed that the current behavior for refreshing contracts is not necessarily what we want.

Before this PR, we make sure the ratio of newly added allowance and collateral is sane during a refresh. However, if a contract still has plenty of allowance left in it, this shouldn't affect our ability to refresh this contract without pouring more renter funds into it if the ratio is still sane after the refresh.

So this PR changes the check to consider the ratio of unused collateral+allowance after the refresh rather than the one of the added values.

Apr 17, 2025

Bumps the go_modules group with 2 updates in the /internal/cluster directory: golang.org/x/crypto and golang.org/x/net. Bumps the go_modules group with 1 update in the /sdk directory: golang.org/x/crypto.

Updates golang.org/x/crypto from 0.36.0 to 0.37.0

Commits
  • 959f8f3 go.mod: update golang.org/x dependencies
  • 769bcd6 ssh: use the configured rand in kex init
  • d0a798f cryptobyte: fix typo 'octects' into 'octets' for asn1.go
  • acbcbef acme: remove unnecessary []byte conversion
  • 376eb14 x509roots: support constrained roots
  • b369b72 crypto/internal/poly1305: implement function update in assembly on loong64
  • 6b853fb ssh/knownhosts: check more than one key
  • See full diff in compare view

Updates golang.org/x/net from 0.37.0 to 0.38.0

Commits
  • e1fcd82 html: properly handle trailing solidus in unquoted attribute value in foreign...
  • ebed060 internal/http3: fix build of tests with GOEXPERIMENT=nosynctest
  • 1f1fa29 publicsuffix: regenerate table
  • 1215081 http2: improve error when server sends HTTP/1
  • 312450e html: ensure <search> tag closes <p> and update tests
  • 09731f9 http2: improve handling of lost PING in Server
  • 55989e2 http2/h2c: use ResponseController for hijacking connections
  • 2914f46 websocket: re-recommend gorilla/websocket
  • See full diff in compare view

Updates golang.org/x/crypto from 0.32.0 to 0.35.0

Commits
  • 959f8f3 go.mod: update golang.org/x dependencies
  • 769bcd6 ssh: use the configured rand in kex init
  • d0a798f cryptobyte: fix typo 'octects' into 'octets' for asn1.go
  • acbcbef acme: remove unnecessary []byte conversion
  • 376eb14 x509roots: support constrained roots
  • b369b72 crypto/internal/poly1305: implement function update in assembly on loong64
  • 6b853fb ssh/knownhosts: check more than one key
  • 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.
Apr 17, 2025

Bumps the go_modules group with 1 update: golang.org/x/net.

Updates golang.org/x/net from 0.37.0 to 0.38.0

Commits
  • e1fcd82 html: properly handle trailing solidus in unquoted attribute value in foreign...
  • ebed060 internal/http3: fix build of tests with GOEXPERIMENT=nosynctest
  • 1f1fa29 publicsuffix: regenerate table
  • 1215081 http2: improve error when server sends HTTP/1
  • 312450e html: ensure <search> tag closes <p> and update tests
  • 09731f9 http2: improve handling of lost PING in Server
  • 55989e2 http2/h2c: use ResponseController for hijacking connections
  • 2914f46 websocket: re-recommend gorilla/websocket
  • See full diff in compare view

Dependabot compatibility score

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.
Apr 17, 2025

Bumps the go_modules group with 1 update: golang.org/x/net.

Updates golang.org/x/net from 0.37.0 to 0.38.0

Commits
  • e1fcd82 html: properly handle trailing solidus in unquoted attribute value in foreign...
  • ebed060 internal/http3: fix build of tests with GOEXPERIMENT=nosynctest
  • 1f1fa29 publicsuffix: regenerate table
  • 1215081 http2: improve error when server sends HTTP/1
  • 312450e html: ensure <search> tag closes <p> and update tests
  • 09731f9 http2: improve handling of lost PING in Server
  • 55989e2 http2/h2c: use ResponseController for hijacking connections
  • 2914f46 websocket: re-recommend gorilla/websocket
  • See full diff in compare view

Dependabot compatibility score

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.
Apr 16, 2025

Bumps the go_modules group with 1 update in the /sdk directory: golang.org/x/crypto.

Updates golang.org/x/crypto from 0.32.0 to 0.35.0

Commits
  • 7292932 ssh: limit the size of the internal packet queue while waiting for KEX
  • f66f74b acme/autocert: check host policy before probing the cache
  • b0784b7 x509roots/fallback: drop obsolete build constraint
  • 911360c all: bump golang.org/x/crypto dependencies of asm generators
  • 89ff08d all: upgrade go directive to at least 1.23.0 [generated]
  • e47973b all: update certs for go1.24
  • 9290511 go.mod: update golang.org/x dependencies
  • fa5273e x509roots/fallback: update bundle
  • a8ea4be ssh: add ServerConfig.PreAuthConnCallback, ServerPreAuthConn (banner) interface
  • 71d3a4c acme: support challenges that require the ACME client to send a non-empty JSO...
  • See full diff in compare view

Dependabot compatibility score

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.
Apr 15, 2025

If we have network=v1 or network=v2, we will:

  • Fund a new address by mining a block
  • Use it to create 3 contracts
    • One that we let expire (expiredContract)
    • One that we revise and then submit a storage proof for (successfulContract)
    • One that we renew (renewedContract)
    • And expose these contract addresses via /fixtures/explored.

Example successful response:

{"expiredContract":"664aa3a708fce114eebb6ff352af8956c45aaaf0cb6b55f9808a3af7e5137af3","successfulContract":"297048b6a99a484598d1ce41c71b8ac05377cf71e6d03e0db7d51a596f37db04","renewedContract":"0a44d067f23bc315211439376b85297afc133cd0ac453043f86a758ffa8d5fb5"}

Example unsuccessful response:

{"expiredContract":null,"successfulContract":null,"renewedContract":null}

I think it is best to do it in Go vs JS because for v2 creating the contracts is already serious pain in the neck.

Update: We decided not to expose a special endpoint where the contract addresses could be retrieved. Instead, you can find the transaction where all the contracts were formed by looking at blocks until you find one containing a transaction where 3 contracts are formed. Then for instance you could query the state of those contracts using the explored API to get the expected state and compare that to what is displayed in the UI.

Apr 15, 2025

We pass a sane timeout to bus constructors to avoid hanging indefinitely, since we now potentially have a reasonably long chain db migration I removed it and added a sane timeout to the two locations that apparently need it. It's mostly because our Store requires a context on all of its methods, like initialising the autopilot config.

Apr 15, 2025

Bumps the all-dependencies group with 1 update: golang.org/x/tools.

Updates golang.org/x/tools from 0.31.0 to 0.32.0

Commits
  • 456962e go.mod: update golang.org/x dependencies
  • 5916e3c internal/tokeninternal: AddExistingFiles: tweaks for proposal
  • 9a1fbbd internal/typesinternal: change Used to UsedIdent
  • e73cd5a gopls/internal/golang: implement dynamicFuncCallType with typeutil.ClassifyCall
  • 11a9b3f gopls/internal/server: fix event labels after the big rename
  • 3e7f74d go/types/typeutil: used doesn't need Info.Selections
  • b97074b internal/gofix: fix URLs
  • e850fe1 gopls/internal/golang: CodeAction: place gopls doc as the last action
  • b948add internal/gofix: move from gopls/internal/analysis/gofix
  • b437eff go/types/typeutil: implement Callee and StaticCallee with Used
  • Additional commits viewable in compare view

Dependabot compatibility score

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
Apr 14, 2025

This should effectively get rid of the database is locked error by preventing parallel connections. It's like wrapping a mutex around every database interaction and seems to be the recommended way of doing this.

The benchmarks seem to be mostly unaffected which makes sense considering that they are single-threaded. To see how it performs in practice we'll need to run it on a used host.

Going through https://sqlite.org/faq.html#q6 lead me to https://sqlite.org/threadsafe.html and it seems like it's generally recommended to use the SQLITE_CONFIG_SINGLETHREAD threading mode if locking isn't required to speed up performance. However, I haven't been able to figure out how to do that from the Go driver.

Closes https://github.com/SiaFoundation/hostd/issues/643

The before and after results of the existing benchmarks:

Before:

goos: darwin
goarch: arm64
pkg: go.sia.tech/hostd/v2/persist/sqlite
cpu: Apple M2 Pro
BenchmarkTrimSectors
BenchmarkTrimSectors-12        	  217003	      5595 ns/op	    217003 sectors	    1843 B/op	      50 allocs/op
BenchmarkV2AppendSectors
BenchmarkV2AppendSectors-12    	  170421	     12802 ns/op	    170421 sectors	    2800 B/op	      43 allocs/op
BenchmarkV2TrimSectors
BenchmarkV2TrimSectors-12      	 1356486	       949.9 ns/op	   1356486 sectors	       0 B/op	       0 allocs/op
BenchmarkVolumeGrow
BenchmarkVolumeGrow-12         	  407421	      3158 ns/op	    407421 sectors	     224 B/op	       8 allocs/op
BenchmarkVolumeShrink
BenchmarkVolumeShrink-12       	  716907	      1891 ns/op	    716907 sectors	       0 B/op	       0 allocs/op
BenchmarkVolumeMigrate
BenchmarkVolumeMigrate-12      	      18	  64587782 ns/op	        18.00 sectors	   11207 B/op	     298 allocs/op
BenchmarkStoreSector
BenchmarkStoreSector-12        	    7747	    160465 ns/op	      7747 sectors	    9243 B/op	     225 allocs/op
BenchmarkReadSector
BenchmarkReadSector-12         	   35526	     31730 ns/op	     35526 sectors	    4782 B/op	      94 allocs/op
PASS
ok  	go.sia.tech/hostd/v2/persist/sqlite	953.837s

After:

goos: darwin
goarch: arm64
pkg: go.sia.tech/hostd/v2/persist/sqlite
cpu: Apple M2 Pro
BenchmarkTrimSectors
BenchmarkTrimSectors-12        	  235959	      5596 ns/op	    235959 sectors	    1843 B/op	      50 allocs/op
BenchmarkV2AppendSectors
BenchmarkV2AppendSectors-12    	  175136	     12997 ns/op	    175136 sectors	    2800 B/op	      43 allocs/op
BenchmarkV2TrimSectors
BenchmarkV2TrimSectors-12      	 1344559	       934.5 ns/op	   1344559 sectors	       0 B/op	       0 allocs/op
BenchmarkVolumeGrow
BenchmarkVolumeGrow-12         	  410400	      3112 ns/op	    410400 sectors	     224 B/op	       8 allocs/op
BenchmarkVolumeShrink
BenchmarkVolumeShrink-12       	  724045	      1898 ns/op	    724045 sectors	       0 B/op	       0 allocs/op
BenchmarkVolumeMigrate
BenchmarkVolumeMigrate-12      	      18	  66599769 ns/op	        18.00 sectors	   11230 B/op	     298 allocs/op
BenchmarkStoreSector
BenchmarkStoreSector-12        	    7740	    154748 ns/op	      7740 sectors	    9240 B/op	     225 allocs/op
BenchmarkReadSector
BenchmarkReadSector-12         	   35342	     31820 ns/op	     35342 sectors	    4783 B/op	      94 allocs/op
PASS
ok  	go.sia.tech/hostd/v2/persist/sqlite	970.016s
Apr 14, 2025

Bumps the all-dependencies group with 1 update: github.com/go-sql-driver/mysql.

Updates github.com/go-sql-driver/mysql from 1.9.1 to 1.9.2

Release notes

Sourced from github.com/go-sql-driver/mysql's releases.

v1.9.2

What's Changed

v1.9.2 is a re-release of v1.9.1 due to a release process issue; no changes were made to the content.

Full Changelog: https://github.com/go-sql-driver/mysql/compare/v1.9.1...v1.9.2

Changelog

Sourced from github.com/go-sql-driver/mysql's changelog.

v1.9.2 (2025-04-07)

v1.9.2 is a re-release of v1.9.1 due to a release process issue; no changes were made to the content.

Commits

Dependabot compatibility score

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
Apr 11, 2025
Apr 10, 2025
Apr 9, 2025
Apr 9, 2025
Apr 9, 2025
Apr 9, 2025
Apr 9, 2025

Fixes #647

Apr 8, 2025
Apr 8, 2025

This PR moves the entitylist component and its related subcomponents out of design-system and into explorer. I brought BlockList over as well.

The only snafu is with the PeerList component, so I rewrote this using only the props that it needed. This component is used across our non-explorer apps, so this likely needs a manual QA'ing to make sure things work as expected with it.

Apr 8, 2025
Apr 8, 2025
Apr 8, 2025

Not sure how we missed this for so long

http: panic serving 172.18.0.17:43362: runtime error: slice bounds out of range [450:1]
goroutine 7191094 [running]:
net/http.(*conn).serve.func1()
	/usr/local/go/src/net/http/server.go:1947 +0xbe
panic({0xe8b8e0?, 0xc000350198?})
	/usr/local/go/src/runtime/panic.go:791 +0x132
go.sia.tech/renterd/v2/alerts.(*Manager).Alerts(0xc0002b0680, {0xc00018a620?, 0xc002180140?}, {0x0?, 0x0?, 0x0?})
	/renterd/alerts/alerts.go:242 +0x53e
go.sia.tech/renterd/v2/bus.(*Bus).handleGETAlerts(0xc0001d2c80, {{0x19142d0, 0xc00018a620}, 0xc002180140, {0x0, 0x0, 0x0}})
	/renterd/bus/routes.go:1858 +0x24a
Apr 8, 2025

Bumps the dependencies group with 3 updates: github.com/mattn/go-sqlite3, golang.org/x/sys and golang.org/x/term.

Updates github.com/mattn/go-sqlite3 from 1.14.24 to 1.14.27

Commits
  • 8d69329 revert #1259
  • 9794660 docs: clarify GCP section
  • b9f4d8c chore: Fix memory leak in callbackRetText function
  • 7658c06 Fix sqlite3_opt_unlock_notify with USE_LIBSQLITE3 (#1262)
  • c61eeb5 remove superfluous use of runtime.SetFinalizer on SQLiteRows
  • ab13d63 Remove suggestion that CGO isn't always needed (#1290)
  • 348128f Upgrade upload-artifact action
  • 82bc911 close statement when missing query arguments
  • See full diff in compare view

Updates golang.org/x/sys from 0.31.0 to 0.32.0

Commits
  • 01aaa83 all: simplify code by using modern Go constructs
  • 1b2bd6b windows: replace all StringToUTF16 calls with UTF16FromString
  • 1c3b72f unix: update Linux kernel to 6.14
  • c175b6b windows: add cmsghdr and pktinfo structures
  • 3330b5e unix: support Readv, Preadv, Writev and Pwritev for darwin
  • 7401cce cpu: replace specific instructions with WORD in the function get_cpucfg on lo...
  • b8f7da6 cpu: add support for detecting cpu features on loong64
  • f2ce62c windows: add constants for PMTUD socket options
  • See full diff in compare view

Updates golang.org/x/term from 0.30.0 to 0.31.0

Commits
  • 5d2308b go.mod: update golang.org/x dependencies
  • e770ddd x/term: disabling auto-completion around GetPassword()
  • 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
Apr 7, 2025

Bumps the all-dependencies group with 2 updates: github.com/mattn/go-sqlite3 and golang.org/x/term.

Updates github.com/mattn/go-sqlite3 from 1.14.24 to 1.14.27

Commits
  • 8d69329 revert #1259
  • 9794660 docs: clarify GCP section
  • b9f4d8c chore: Fix memory leak in callbackRetText function
  • 7658c06 Fix sqlite3_opt_unlock_notify with USE_LIBSQLITE3 (#1262)
  • c61eeb5 remove superfluous use of runtime.SetFinalizer on SQLiteRows
  • ab13d63 Remove suggestion that CGO isn't always needed (#1290)
  • 348128f Upgrade upload-artifact action
  • 82bc911 close statement when missing query arguments
  • See full diff in compare view

Updates golang.org/x/term from 0.30.0 to 0.31.0

Commits
  • 5d2308b go.mod: update golang.org/x dependencies
  • e770ddd x/term: disabling auto-completion around GetPassword()
  • 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
Apr 7, 2025

Bumps the all-dependencies group with 2 updates: golang.org/x/crypto and golang.org/x/sys.

Updates golang.org/x/crypto from 0.36.0 to 0.37.0

Commits
  • 959f8f3 go.mod: update golang.org/x dependencies
  • 769bcd6 ssh: use the configured rand in kex init
  • d0a798f cryptobyte: fix typo 'octects' into 'octets' for asn1.go
  • acbcbef acme: remove unnecessary []byte conversion
  • 376eb14 x509roots: support constrained roots
  • b369b72 crypto/internal/poly1305: implement function update in assembly on loong64
  • 6b853fb ssh/knownhosts: check more than one key
  • See full diff in compare view

Updates golang.org/x/sys from 0.31.0 to 0.32.0

Commits
  • 01aaa83 all: simplify code by using modern Go constructs
  • 1b2bd6b windows: replace all StringToUTF16 calls with UTF16FromString
  • 1c3b72f unix: update Linux kernel to 6.14
  • c175b6b windows: add cmsghdr and pktinfo structures
  • 3330b5e unix: support Readv, Preadv, Writev and Pwritev for darwin
  • 7401cce cpu: replace specific instructions with WORD in the function get_cpucfg on lo...
  • b8f7da6 cpu: add support for detecting cpu features on loong64
  • f2ce62c windows: add constants for PMTUD socket options
  • 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
Apr 4, 2025
Apr 4, 2025
Apr 3, 2025
  • Add missing explored param.
  • Upgrade explored.
Mar 31, 2025

This PR was created automatically. Merging it will create a new release for 0.10.5

  • Add Mul helper to Usage type
  • Fixed an issue with memory aliasing of merkle proofs
Mar 31, 2025

Bumps the all-dependencies group with 1 update: go.sia.tech/web/renterd.

Updates go.sia.tech/web/renterd from 0.77.1 to 0.79.0

Release notes

Sourced from go.sia.tech/web/renterd's releases.

[email protected]

Minor Changes

  • e32e617f: The host explorer now has a version column.
  • e32e617f: The host explorer now has columns for v2 settings.
  • e32e617f: The host explorer address column now gets populates v2 host addresses.

[email protected]

Minor Changes

  • 96a58672: The siascan setting toggle was removed from the cmd+k menu.
  • 96a58672: Averages prices in the configuration page are based off v2 settings once the current network passes the allow height.
  • 9e603732: File download behaviour is now consistent across all browsers.
  • 96a58672: Host geolocation data is now provided by the configured explorer.
  • 96a58672: Privacy and security settings quick nav actions were added to the cmd+k menu.
  • 96a58672: Averages prices in the configuration page are now provided by the configured explorer.
Commits
  • e4af330 chore: release packages
  • e617f65 fix(hostd): contact explorer total and modes
  • e32e617 feat(renterd): host explorer v2 settings columns
  • d95a0d4 refactor(explorer): hastings to fiat method name
  • 0bf07ad fix(hostd): use immature field for immature balance
  • a56df5a chore(explorer): update explored APIs
  • 0d5ca6e chore: export renterd/v0.78.0 hostd/v0.60.0
  • 5aba425 chore: release packages
  • ab80eb6 feat(hostd): remove announce button
  • 6a3bcdb feat(explorer): v2 median prices after hardfork
  • Additional commits viewable in compare view

Dependabot compatibility score

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
Mar 28, 2025

Bumps the go_modules group with 1 update: golang.org/x/net.

Updates golang.org/x/net from 0.34.0 to 0.36.0

Commits
  • 85d1d54 go.mod: update golang.org/x dependencies
  • cde1dda proxy, http/httpproxy: do not mismatch IPv6 zone ids against hosts
  • fe7f039 publicsuffix: spruce up code gen and speed up PublicSuffix
  • 459513d internal/http3: move more common stream processing to genericConn
  • aad0180 http2: fix flakiness from t.Log when GOOS=js
  • b73e574 http2: don't log expected errors from writing invalid trailers
  • 5f45c77 internal/http3: make read-data tests usable for server handlers
  • 43c2540 http2, internal/httpcommon: reject userinfo in :authority
  • 1d78a08 http2, internal/httpcommon: factor out server header logic for h2/h3
  • 0d7dc54 quic: add Conn.ConnectionState
  • Additional commits viewable in compare view

Dependabot compatibility score

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.
Mar 28, 2025

Adds support for loading custom network parameters from a local file. This makes it easier to setup local testnets for development. A network file can be specified by using a file path for the --network CLI flag. The file should be JSON or YAML formatted with the following structure:

{
  "network": {
    "name": "zen",
    "initialCoinbase": "300000000000000000000000000000",
    "minimumCoinbase": "30000000000000000000000000000",
    "initialTarget": "0000000100000000000000000000000000000000000000000000000000000000",
    "blockInterval": 600000000000,
    "maturityDelay": 144,
    "hardforkDevAddr": {
      "height": 1,
      "oldAddress": "000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69",
      "newAddress": "000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69"
    },
    "hardforkTax": {
      "height": 2
    },
    "hardforkStorageProof": {
      "height": 5
    },
    "hardforkOak": {
      "height": 10,
      "fixHeight": 12,
      "genesisTimestamp": "2023-01-13T00:53:20-08:00"
    },
    "hardforkASIC": {
      "height": 20,
      "oakTime": 10000000000000,
      "oakTarget": "0000000100000000000000000000000000000000000000000000000000000000"
    },
    "hardforkFoundation": {
      "height": 30,
      "primaryAddress": "053b2def3cbdd078c19d62ce2b4f0b1a3c5e0ffbeeff01280efb1f8969b2f5bb4fdc680f0807",
      "failsafeAddress": "000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69"
    },
    "hardforkV2": {
      "allowHeight": 112000,
      "requireHeight": 114000
    }
  },
  "genesis": {
    "parentID": "0000000000000000000000000000000000000000000000000000000000000000",
    "nonce": 0,
    "timestamp": "2023-01-13T00:53:20-08:00",
    "minerPayouts": null,
    "transactions": [
      {
        "id": "268ef8627241b3eb505cea69b21379c4b91c21dfc4b3f3f58c66316249058cfd",
        "siacoinOutputs": [
          {
            "value": "1000000000000000000000000000000000000",
            "address": "3d7f707d05f2e0ec7ccc9220ed7c8af3bc560fbee84d068c2cc28151d617899e1ee8bc069946"
          }
        ],
        "siafundOutputs": [
          {
            "value": 10000,
            "address": "053b2def3cbdd078c19d62ce2b4f0b1a3c5e0ffbeeff01280efb1f8969b2f5bb4fdc680f0807"
          }
        ]
      }
    ]
  }
}

Closes https://github.com/SiaFoundation/walletd/issues/265

Mar 28, 2025

This should go a long way towards catching memory aliasing bugs like https://github.com/SiaFoundation/core/pull/290. I should have done this ages ago. 😬 Basically, the linter flags anything like:

sce := txn.SiacoinInputs[0].Parent // "shallow copy of SiacoinElement; use Move, Share, or Copy"
cau.UpdateElementProof(&sce)

To silence it, you annotate each copy with one of those ownership methods, and then we panic if you try to call UpdateElementProof on an element that you don't exclusively own.

Annotating every copy is kind of annoying, but it wasn't too onerous to churn through them once the linter was working. In case it's not clear, the idea is:

  • Default to Copy.
  • If you're not going to retain the element (e.g. if you're a function that just inspects elements and returns them), you can use Share. Putting the element inside of a struct (like a transaction) counts as retaining it! Usually, it's okay to use Share when passing an element to a function (and consequently, if you're a function that takes an element, you should treat it as shared).
  • If you "own" the element and you just need to tweak it for whatever reason, you can use Move. This is most common when calling UpdateElementProof on each element in a map (since can't get a pointer to map values, you need to make a temporary copy, update that, then store it back in the map). Move is like Share, except you "retain ownership" so you're still allowed to update the proof.

One nice thing about this approach is that it's opt-in. If you're importing core, you don't need to be aware of any of this stuff, even if you're directly touching elements. But you are encouraged to run the linter on your code and annotate all your copies. I've done this with coreutils and it was pretty easy.

The biggest shortcoming is that this won't detect shallow copies of structs containing an element. For example, if you copy a transaction without .DeepCopy, it won't complain. Flagging every such copy would be impractical, since you would need to add Copy/Share/Move methods to every type containing an element.

Lastly -- yes, this is (to paraphrase Greenspun) "an ad hoc, informally-specified, bug-ridden, slow implementation of half of Rust."

Mar 27, 2025

This PR fixes a regression with migration time for mostly empty volumes by skipping unused sectors instead of checking each one. This may reintroduce the race condition with unmigrated sectors -- should test thoroughly before release.

Mar 26, 2025
Mar 25, 2025

Removes the experimental key store. It will be moved and provided as part of an external seed vault.

Mar 24, 2025
Mar 24, 2025

Bumps the all-dependencies group with 2 updates: github.com/go-sql-driver/mysql and go.sia.tech/web/renterd.

Updates github.com/go-sql-driver/mysql from 1.9.0 to 1.9.1

Release notes

Sourced from github.com/go-sql-driver/mysql's releases.

v1.9.1

What's Changed

New Contributors

Full Changelog: https://github.com/go-sql-driver/mysql/compare/v1.9.0...v1.9.1

Changelog

Sourced from github.com/go-sql-driver/mysql's changelog.

v1.9.1 (2025-03-21)

Major Changes

  • Add Charset() option. (#1679)

Bugfixes

  • go.mod: fix go version format (#1682)
  • Fix FormatDSN missing ConnectionAttributes (#1619)
Commits

Updates go.sia.tech/web/renterd from 0.77.0 to 0.77.1

Release notes

Sourced from go.sia.tech/web/renterd's releases.

[email protected]

Patch Changes

  • cad48e35: Fixed an issue where a v2ContractResolution event in the wallet would crash the app. Closes SiaFoundation/hostd#629
Commits
  • f8d7650 chore: release packages
  • b9cb439 feat(hostd): v2 contracts
  • ce20d28 feat(hostd-libs): add v2 contracts api
  • cad48e3 fix(hostd): issue with events v2ContractResolution type
  • e63d981 feat(explorer): change average price titles to median
  • ea9cc58 fix(explorer): change protocolVersion to an array and join
  • 7d137c1 feat(explorer): add v2 hardfork countdowns to home page
  • cf5ac11 chore(cluster): install v2 module paths
  • 7147e15 feat(explorer): use v2Settings for host page display
  • 1bc11c2 chore(explorer-e2e): e2e target should build dependencies
  • 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
Mar 24, 2025

Improve migrate performance when removing large volumes. The old query took on ~2s to complete, while the split query takes ~3ms. This should help reduce database is locked failures for active hosts.

Mar 21, 2025
Mar 21, 2025
Mar 20, 2025
Mar 19, 2025

🙃

Mar 19, 2025

This adds a useful helper to Usage. e.g. when computing how much funds to put into a contract it's nice to be able to do RPCAppendSectorCost.Mul(sectorsPerTiB) or whatever.

Mar 19, 2025
Mar 19, 2025
Mar 19, 2025
Mar 18, 2025

Enables overriding the RHP4 port from the CLI instead of requiring config changes.

Also bumps core and coreutils

Mar 17, 2025
Mar 13, 2025

Bumps the go_modules group with 1 update: golang.org/x/net.

Updates golang.org/x/net from 0.34.0 to 0.36.0

Commits
  • 85d1d54 go.mod: update golang.org/x dependencies
  • cde1dda proxy, http/httpproxy: do not mismatch IPv6 zone ids against hosts
  • fe7f039 publicsuffix: spruce up code gen and speed up PublicSuffix
  • 459513d internal/http3: move more common stream processing to genericConn
  • aad0180 http2: fix flakiness from t.Log when GOOS=js
  • b73e574 http2: don't log expected errors from writing invalid trailers
  • 5f45c77 internal/http3: make read-data tests usable for server handlers
  • 43c2540 http2, internal/httpcommon: reject userinfo in :authority
  • 1d78a08 http2, internal/httpcommon: factor out server header logic for h2/h3
  • 0d7dc54 quic: add Conn.ConnectionState
  • Additional commits viewable in compare view

Dependabot compatibility score

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.
Mar 12, 2025

It seems like on busy databases, UPDATE volume_sectors SET sector_id=null WHERE id=$1 fails to upgrade from a shared to an exclusive lock https://github.com/SiaFoundation/hostd/issues/616

To avoid that I'd like to propose combining the select and update into a single query. That way SQLite should be able to figure out that the transaction needs to be exclusive from the very beginning rather than trying to upgrade from a shared to an exclusive lock and failing to do so cause it ends up in a deadlock situation. This way I expect it to correctly make use of the PENDING state, block until it can acquire the lock and then do its thing without being starved by other goroutines.

Mar 10, 2025

This PR was created automatically. Merging it will create a new release for 0.10.4

  • Fixed several implementations of MaxLen where it was returning a too low number, resulting in decoding errors during contract related RPCs.
Mar 10, 2025

Bumps the all-dependencies group with 2 updates: golang.org/x/crypto and golang.org/x/sys.

Updates golang.org/x/crypto from 0.35.0 to 0.36.0

Commits
  • 49bf5b8 go.mod: update golang.org/x dependencies
  • 24852b6 ssh: add decode support for banners
  • bbc689c ssh: use a more straightforward return value
  • See full diff in compare view

Updates golang.org/x/sys from 0.30.0 to 0.31.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
Mar 10, 2025
Mar 10, 2025

Adds some doc comments to the RHP4 settings

Mar 10, 2025

https://github.com/SiaFoundation/core/pull/284 did not have a changeset entry, but that was done on purpose. I looked through recently merged core PRs and noticed we don't always add it, figured that fix did not really need one per se either. I updated the knope config to be consistent with all other repos.

Mar 9, 2025

There are several instances where maxLen returns a size that doesn't take into account a transaction being part of the request. While updating I noticed some values diverged from their impl probably due to changes being made to the request/response structs over time. I took them along with me but the important ones are the reasonableTransactionSetSize ones of course.

I found out because my v2 migration on my node, which was chugging along nicely, halted all of a sudden. Contracts were no longer being refreshed, resulting in empty accounts, resulting in failed migrations. One thing that's puzzling me a bit though is the error message: "couldn't renew/refresh contract: host responded with error: failed to read host inputs response: failed to read request: EOF ". That error message seems impossible, I double checked and I still can't explain how you could ever get failed to read response, failed to read request.

Mar 3, 2025

Bumps the all-dependencies group with 1 update: golang.org/x/crypto.

Updates golang.org/x/crypto from 0.33.0 to 0.35.0

Commits
  • 7292932 ssh: limit the size of the internal packet queue while waiting for KEX
  • f66f74b acme/autocert: check host policy before probing the cache
  • b0784b7 x509roots/fallback: drop obsolete build constraint
  • 911360c all: bump golang.org/x/crypto dependencies of asm generators
  • 89ff08d all: upgrade go directive to at least 1.23.0 [generated]
  • e47973b all: update certs for go1.24
  • See full diff in compare view

Dependabot compatibility score

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
Feb 28, 2025

This PR was created automatically. Merging it will create a new release for 0.10.3

  • Improved SectorRoot performance by a factor of 10 by distributing work across available CPU cores
  • Update mux dependency to 1.4.0
Feb 25, 2025
goos: darwin
goarch: arm64
pkg: go.sia.tech/core/rhp/v2
cpu: Apple M2 Pro
BenchmarkSectorRoot
BenchmarkSectorRoot/serial
BenchmarkSectorRoot/serial-10                 49          23381873 ns/op         179.38 MB/s           0 B/op          0 allocs/op
BenchmarkSectorRoot/parallel
BenchmarkSectorRoot/parallel-10              326           3563796 ns/op        1176.92 MB/s       14806 B/op         34 allocs/op

Pretty unambiguous ~10x speedup when testing with a 10-core CPU. I experimented with inlining more of the appendLeaves logic into the worker goroutines, but it didn't have a significant impact on throughput and it made the code much more complex. ‾\_(ツ)_/‾