Activity

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

Mar 28, 2024

This PR gets rid of the contractor cache. It stores the host checks in the bus and uses those when performing contract checks. To do so I extended search hosts with the ability to filter on usability and autopilot ID.

Closes #1034

Mar 28, 2024
Mar 28, 2024

This PR

  • adds some logging to contract pruning
  • updates the revision fetch logging to break up the errors to make the log look a bit nicer. Also updates it to WARN instead ERROR since there is nothing the user can do in most cases.
  • adds some logging in the stores for when a sector is added but the contract doesn't exist
  • log a warning on startup when AVX2 isn't available similar to how hostd does
  • only log refill errors for contracts currently in the set
Mar 28, 2024

Testing where we run tests against the actual running app, but with API requests intercepted and mocked. Apologies for +3000, but half is actually just a lockfile and the other half is mostly setup files and mocking boilerplate.

setup

  • setup walletd e2e testing with playwright
  • setup CI to run e2e tests on webkit, chromium, firefox

initial tests

  • create walletd mocks and fixtures
  • test login, create wallet, seed send flow, seed generate addresses
Mar 28, 2024

This PR syncs up the walletd UI so it works with the refactored daemon.

Changes:

  • The walletd UI now uses the new daemon endpoints and changes.
  • The walletd React hooks have been updated for the daemon endpoint changes.
  • Begin adding v2 types to @siafoundation/types

Subsequent PRs:

Mar 28, 2024

This gives us access to the Release field in the rhpv2.HostSettings.

Also updates the hostd dependency to make sure we have hosts return that field for testing.

Mar 28, 2024

Both already exist in hostd and are nice UX improvements.

Mar 28, 2024

UnconfirmedParents would only ever return direct parents for a txn but not grandparents and so on. Leading to hosts not knowing about certain parents yet and txns failing.

Mar 27, 2024

hostd uses latestRevisionCost = settings.BaseRPCPrice + 2028 bytes egress

so this PR updates renterd to use maxLatestRevisionCost = maxRPCPrice + 2048 bytes MaxDownloadPrice

Mar 27, 2024

This will close issue #335. However, we should follow this up with a fix for the data inconsistency between the calls to Migrate and Remove.

Mar 27, 2024

We currently have two Host types. One in the hostdb package and one in the api package. Merging these removes unnecessary nesting and cleans up our API interfaces since we should exclusively return types from the api package. The hostdb package is now left with announcements stuff, which will be removed by its-happening after which we can remove the hostdb package entirely.

Mar 27, 2024

This PR is a result of investigating a lost sector alert on my node. I realised that we sometimes mistakenly prune sectors from recently renewed contracts, which then leads to those sectors being reported lost on downloads. This happens because the sectors cache in the bus doesn't properly take into account renewals, this PR fixes that by moving sectors from the old contract into the new contract and by mapping every incoming fcid to the latest fcid. Thereby ensuring that all sectors end up linked to the renewed contract at all times.

Mar 27, 2024
Mar 27, 2024
Mar 26, 2024

That way we avoid adding a contractSector for a migrated slab that we just deleted because the sector wasn't found

Mar 26, 2024

Closes https://github.com/SiaFoundation/renterd/issues/1088

Updates scanHost to be a bit more generous with the timeout and apply it to each step of the scanning process. That way, if resolving the IP address took 3 seconds and fetching the settings takes 4 we won't fail the scan if fetching the price table takes another 4 seconds.

We also log both errors now when a scan fails twice.

Mar 26, 2024
Mar 26, 2024

I modified https://github.com/siafoundation/linux to publish three different apt releases main, beta and nightly. This will enable users to select a more frequent release type when installing via apt.

This modifies the linux dispatch payload to set the new required component field.

The logic should be as follows:

  • If v0.0.0 component is main
  • If v0.0.0-beta component is beta
  • Otherwise, component is nightly

Nightly releases will have their apt version set to YYYYMMDD-{commit}.

Mar 26, 2024

Bumps github.com/cloudflare/cloudflare-go from 0.90.0 to 0.91.0.

Release notes

Sourced from github.com/cloudflare/cloudflare-go's releases.

v0.91.0

ENHANCEMENTS:

  • access_application: add support for saml_attribute_transform_jsonata in saas apps (#1562)

DEPENDENCIES:

  • deps: bumps actions/checkout from 2 to 4 (#1573)
  • deps: bumps google.golang.org/protobuf from 1.28.0 to 1.33.0 (#1558)
Changelog

Sourced from github.com/cloudflare/cloudflare-go's changelog.

0.91.0 (March 22nd, 2024)

ENHANCEMENTS:

  • access_application: add support for saml_attribute_transform_jsonata in saas apps (#1562)

DEPENDENCIES:

  • deps: bumps actions/checkout from 2 to 4 (#1573)
  • deps: bumps google.golang.org/protobuf from 1.28.0 to 1.33.0 (#1558)
Commits
  • fdcac68 Update CHANGELOG.md
  • 4c5aa81 update CHANGELOG.md
  • 6f98ca9 Merge pull request #1573 from cloudflare/dependabot/github_actions/actions/ch...
  • d70a50f add CHANGELOG for #1573
  • 9db0464 build(deps): bump actions/checkout from 2 to 4
  • 241c688 remove 'question' label
  • 5a710e9 add generation-issue label
  • 755992e Merge pull request #1568 from cloudflare/github-labels-syncer
  • 19c6f88 ci: add automation for GitHub issues syncing
  • 3081d28 Merge pull request #1562 from russellkerns/rkerns/AUTH-5974
  • 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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 26, 2024

I modified https://github.com/siafoundation/linux to publish three different apt releases main, beta and nightly. This will enable users to select a more frequent release type when installing via apt.

This modifies the linux dispatch payload to set the new required component field.

The logic should be as follows:

  • If v0.0.0 component is main
  • If v0.0.0-beta component is beta
  • Otherwise, component is nightly

Nightly releases will have their apt version set to YYYYMMDD-{commit}.

Mar 26, 2024
Mar 25, 2024

This is mostly in a good place, but there is one major sticking point: wallet.NewManager.

With the old API, when a call to cm.AddBlocks returns, all of the subscribers will have finished processing the new update(s). With the new API, this is not true; the processing happens asynchronously. This broke some tests which expected that, after calling AddBlocks, they could immediately observe the effects of those blocks in wallet state. Now, they can't, so we need a way for the test to wait until processing has finished. In most of the tests, I worked around this; see the syncDB helper I added. But that approach doesn't work when you have a real wallet manager running. For now, I faked the waiting with time.Sleep, just to see if that makes the tests pass (it does), but clearly we need a better solution.

The whole asynchronous processing thing really bugs me, so much so that I tweaked the new API to release the chain manager's lock before calling the onReorg listener functions. This means it's now legal for your listener function to call chain manager methods -- meaning, you can implement subscription "the old fashioned way" and have your onReorg function directly call UpdatesSince in a loop until it's caught up. Effectively this brings us back to the same situation as before, except that the manager is no longer locked, so you have a bit more freedom. (And of course, you can still do async processing if you want.)

But the other big wrinkle here is the wallet manager's Subscribe method. Previously, it unsubscribed from the chain manager, then resubscribed at a lower height. Firstly, it's not clear to me why this would work; won't you end up with duplicate state? But more importantly, we need to nail down how this action ought to interact with the wallet manager's ongoing subscription in the new API. In my PR code, we hold the wallet manager's lock while syncing, so Subscribe effectively pauses the background subscription until it's finished. Not exactly pretty, but it gets the job done. Is there a better way? That's what I'm not sure about.

Mar 25, 2024
Mar 25, 2024
  • Wallet and transaction signing methods are now part of the sdk.
Mar 25, 2024

A result of moving to a HEAD request which doesn't have a body and requires checking the status code.

Mar 25, 2024

Bumps gorm.io/driver/mysql from 1.5.4 to 1.5.6.

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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 25, 2024

⚠️ Dependabot is rebasing this PR ⚠️

Rebasing might not happen immediately, so don't worry if this takes some time.

Note: if you make any changes to this PR yourself, they will take precedence over the rebase.


Bumps gorm.io/gorm from 1.25.7 to 1.25.8.

Commits
  • 1b0aa80 Fix AutoMigrate for bool fields with default value
  • e0c3be0 Fix tests in local
  • 303de6e chore: optimize regEnLetterAndMidline regular (#6908)
  • f7ebf04 fix(create): fix insert column order (#6855)
  • ab89d54 chore: UnixNano convert to UnixMilli (#6907)
  • 281f3e3 Fix constraint name regexp
  • 7b1fb0b fix(scan): array element is set to a zero value (#6890)
  • e4e23d2 fix: nested preload with join panic when find (#6877)
  • c4c9aa4 fix(scan.go): reflect.MakeSlice passes in the reflect.Array type (#6880)
  • 9efae65 test: namer identifier lenght (#6872)
  • 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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 25, 2024

Bumps github.com/go-gormigrate/gormigrate/v2 from 2.1.1 to 2.1.2.

Release notes

Sourced from github.com/go-gormigrate/gormigrate/v2's releases.

v2.1.2

Added

Changed

  • Update dependencies
Changelog

Sourced from github.com/go-gormigrate/gormigrate/v2's changelog.

[2.1.2] - 2024-03-18

Added

Changed

  • Update dependencies
Commits
  • db7575c Merge pull request #218 from go-gormigrate/update-deps
  • e2a0213 Release 2.1.2
  • 68141c7 Fix LastInsertId error in postgres driver, closes #217
  • 00412f7 Bump go deps
  • 3ae8ad4 readme: add mariadb alongside mysql
  • 238380d integration-test: cleanup
  • e033684 integration-test: bump postgres image 14 => 16
  • 82b4678 integration-test: bump mariadb image 10 => 11, add missing mysql 8
  • 943719b ci: remove go matrix from integration-test, use version from go.mod instead
  • 2533ee1 integration-test: bump go to latest 1.22
  • 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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 25, 2024
Mar 25, 2024

The reusable workflow doesn't run on dependabot PRs

Mar 25, 2024

This PR adds a new entity called dbHostCheck. It combines a series of checks the autopilot performs on a host, and are stored in the bus. The bus now returns a new type, simply called api.Host which is a superset of hostdb.HostInfo, it adds a map that holds every check for that host, indexed by the identifier of the autopilot that performed the check.

Mar 22, 2024
Mar 22, 2024
  • The lost sector alert now shows the number of lost sectors.
Mar 21, 2024
  • Fixed an issue where the max RPC price configuration would round decimal values to 0.
Mar 21, 2024
  • Removed the min max collateral configuration setting.
Mar 21, 2024

Updates the config to be similar to hostds to give more fine-grained control to the user. Considering that our logging right now (except for the database) defaults to "DEBUG" and I don't think that's what we actually want, I changed the default log level to "INFO" while making sure everything logged right now using Debug is using Info to keep it getting logged for now. That should allow us to use Debug more freely since it won't affect the default experience of users. Later we can think about whether we want to lower the log level of some of the existing logging to "DEBUG" but imo we have been logging pretty sparingly so far.

Closes https://github.com/SiaFoundation/renterd/issues/1017

Mar 20, 2024
  • Fixed an issue where the host map could not refresh its data. This was causing issues with the build.
Mar 20, 2024
  • Updated sdk to latest core changes, updated structure.
  • Follow up will migrate walletd methods into sdk, use sdk in walletd.
Mar 20, 2024

This PR removes Hosts from the bus interfaces and uses SearchHosts instead. This allows us to fetch all hosts, which in turn allows us to correct/improve the usability checks.

Mar 20, 2024

Closes #845

Mar 20, 2024

By removing the MinMaxCollateral from the gouging checks, we stop avoiding interactions with hosts that are only considered to be gouging due to their collateral settings. That means we only care about the MaxCollateral setting in the scoring algorithm. The result is that a host with insufficient MaxCollateral will be dropped from the contract set due to bad score if enough hosts with a good score exist.

Mar 20, 2024

I believe golangci upgraded to 1.57.0 and it's giving us a bunch of lint errors. I wanted to tackle most of them and disable some others but it turns out you can't mix and match enabled-checks and disabled-checks.

I ended up:

  • enabling diagnostic preset
  • enabling style preset
  • disable ifElseChain
  • disable exitAfterDefer

edit:

  • disabling all the things

I pretty much made sure not to disable something we previously had enabled, and I enabled one or two options that I think make sense. Like deferInLoop for example. Here is the list of options: https://go-critic.com/overview#checks-overview

Mar 19, 2024
Mar 19, 2024

Cherry-picked from #142

Mar 19, 2024
Mar 19, 2024

Closes https://github.com/SiaFoundation/renterd/issues/1061

This hint speeds up the query on my node of 500k objects quite a bit. From about 1s down to ~350ms.

Mar 19, 2024

This should get rid of the node16 deprecation warnings

Mar 18, 2024

Bumps github.com/cloudflare/cloudflare-go from 0.89.0 to 0.90.0.

Release notes

Sourced from github.com/cloudflare/cloudflare-go's releases.

v0.90.0

ENHANCEMENTS:

  • access_mutual_tls_certificates: add support for mutual tls hostname settings (#1516)
  • device_posture_rule: support last_seen and state for crowdstrike_s2s posture rule (#1509)
  • dlp: add support for Context Awareness in DLP profiles (#1497)
  • workers: Add Workers for Platforms support for getting a Worker, content and bindings (#1508)
  • workers_for_platforms: Add ability to list Workers for Platforms namespaces, get a namespace, create a new namespace or delete a namespace. (#1508)

BUG FIXES:

  • dlp: added optional ContextAwareness support (#1510)

DEPENDENCIES:

  • deps: bumps github.com/stretchr/testify from 1.8.4 to 1.9.0 (#1511)
  • deps: bumps golang.org/x/net from 0.21.0 to 0.22.0 (#1513)
Changelog

Sourced from github.com/cloudflare/cloudflare-go's changelog.

0.90.0 (March 13th, 2024)

ENHANCEMENTS:

  • access_mutual_tls_certificates: add support for mutual tls hostname settings (#1516)
  • device_posture_rule: support last_seen and state for crowdstrike_s2s posture rule (#1509)
  • dlp: add support for Context Awareness in DLP profiles (#1497)
  • workers: Add Workers for Platforms support for getting a Worker, content and bindings (#1508)
  • workers_for_platforms: Add ability to list Workers for Platforms namespaces, get a namespace, create a new namespace or delete a namespace. (#1508)

BUG FIXES:

  • dlp: added optional ContextAwareness support (#1510)

DEPENDENCIES:

  • deps: bumps github.com/stretchr/testify from 1.8.4 to 1.9.0 (#1511)
  • deps: bumps golang.org/x/net from 0.21.0 to 0.22.0 (#1513)
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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 18, 2024
Mar 18, 2024

Bumps go.sia.tech/gofakes3 from 0.0.0-20240311124002-c206381023db to 0.0.1.

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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 18, 2024

Keep getting WARN [runner] The linter 'deadcode' is deprecated (since v1.49.0) due to: The owner seems to have abandoned the linter. Replaced by unused. but it seems like we already have unused so I'm removing deadcode

Mar 18, 2024

Bumps go.sia.tech/hostd from 1.0.2 to 1.0.3.

Release notes

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

v1.0.3

Added

  • The node profile details now include uptime. (#314)
  • Added an alert for failed contracts (#313)
  • A new "lost sectors" metric was added that is incremented whenever a sector is explicitly removed with [DELETE /sectors/:root or when a sector fails to migrate during force removal. (#318)

Changed

  • Removing a volume with the force flag will remove sectors that fail to migrate. (#318)
  • All app data will now refresh more frequently. (#314)
  • The bandwidth settings for egress and ingress now have clearer descriptions. (#314)
  • The contract timeline labels have been darkened to increase contrast and readability. (#314)
  • Siacoin metric cards now show the dynamic units with two decimal places. (#315)
  • All graphs now remember any chart configuration that the user has selected. (#315)

Fixed

v1.0.3-beta.2

Added

  • The node profile details now include uptime. (#314)
  • Added an alert for failed contracts (#313)
  • A new "lost sectors" metric was added that is incremented whenever a sector is explicitly removed with [DELETE /sectors/:root or when a sector fails to migrate during force removal. (#318)

Changed

  • Removing a volume with the force flag will remove sectors that fail to migrate. (#318)
  • All app data will now refresh more frequently. (#314)
  • The bandwidth settings for egress and ingress now have clearer descriptions. (#314)
  • The contract timeline labels have been darkened to increase contrast and readability. (#314)
  • Siacoin metric cards now show the dynamic units with two decimal places. (#315)
  • All graphs now remember any chart configuration that the user has selected. (#315)

Fixed

v1.0.3-beta.1

Fixed

Commits
  • 5d7516b Merge pull request #325 from SiaFoundation/dependabot/go_modules/golang.org/x...
  • deede1c build(deps): bump golang.org/x/term from 0.16.0 to 0.18.0
  • 28b5078 Merge pull request #326 from SiaFoundation/dependabot/go_modules/nhooyr.io/we...
  • dc52d38 Merge pull request #324 from SiaFoundation/dependabot/go_modules/github.com/h...
  • a129b1f Merge pull request #323 from SiaFoundation/dependabot/go_modules/go.uber.org/...
  • 1eb8110 build(deps): bump nhooyr.io/websocket from 1.8.7 to 1.8.10
  • 38237b9 build(deps): bump github.com/hashicorp/golang-lru/v2 from 2.0.5 to 2.0.7
  • 1d6bba8 build(deps): bump go.uber.org/zap from 1.26.0 to 1.27.0
  • 5ba59a2 Merge pull request #322 from SiaFoundation/chris/dependabot
  • 5944e8e ci: add dependabot
  • 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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 15, 2024
Old: "~2.529 mS"
New: "2.529378333356156158367 mS"

We discussed removing the SI units as well, and using SC exclusively (i.e. the example above would be 2.529378333356156158367 mS), but there was less consensus on that.

Since String is now exact, ExactString has been removed; if you want raw Hastings values, you can use Big or fmt.Sprintf("%d", c). If you want a rounded value, you can use standard approaches to round the float64 returned by Siacoins.

Mar 14, 2024

This will add all renterd issues and prs to the project board.

This is a workaround for the super low "project-add" workflow limit in the project's workflow menu.

Mar 14, 2024

Still in draft since this is technically a breaking API change

Mar 14, 2024
  • Adds two new endpoints, [GET] /settings/pinned and [PUT] /settings/pinned
  • Adds integrated support for explorer data. If explorer data is disabled in the config, pinning is also disabled.
Mar 11, 2024

⚠️ Dependabot is rebasing this PR ⚠️

Rebasing might not happen immediately, so don't worry if this takes some time.

Note: if you make any changes to this PR yourself, they will take precedence over the rebase.


Bumps go.sia.tech/coreutils from 0.0.1 to 0.0.3.

Commits
  • c7d7289 Merge pull request #24 from SiaFoundation/pj/fund-txn-immature-outputs
  • 28f4ee4 wallet: add maturity check to loop
  • cf4be61 Merge pull request #25 from SiaFoundation/pj/add-txn-fee-to-miner-payout
  • 374fcfc miner: add txn fees to miner payouts
  • 15c7f18 wallet: do not use immature outputs to fund a txn with
  • 12c5ec4 Merge pull request #23 from SiaFoundation/fix-v1-v2-panic
  • ca6ce92 chain: No-op when supplementing v1 blocks post-hardfork
  • 49a5d88 Revert "fix case where manager would panic when adding v1 transaction after v...
  • 2b881e6 fix case where manager would panic when adding v1 transaction after v2 requir...
  • 32abe2b Merge pull request #22 from SiaFoundation/nate/wallet-updater
  • 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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 11, 2024

Bumps github.com/mattn/go-sqlite3 from 1.14.17 to 1.14.22.

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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 11, 2024
Mar 8, 2024

This pull requests adds an optional parameter to the walletd binary's mine command to allow the user to specify how many blocks to mine before stopping the process.

This was required for Komodo Wallet's test suite. No issue if it is not merged, but I thought it may be appreciated.

Mar 7, 2024

Adds endpoints for interacting with single addresses. These are primarily useful for index mode, where the consumer fully manages the state, like Sia Central's lite wallet.

Mar 7, 2024

Bumps golang.org/x/sys from 0.5.0 to 0.18.0.

Commits
  • 360f961 unix: add API for fsconfig system call
  • 7ff74af unix: drop go version tags for unsupported versions
  • 6b4eab5 unix: suppress ENOMEM errors from sysctl's implementing Uname(uname *Utsname)...
  • 2f2cc5d unix: update IFLA and NETKIT constants with Linux kernel 6.7
  • 914b96c windows: support ill-formed UTF-16 in UTF16PtrToString
  • 511ec84 Revert "windows: support nil done parameter in ReadFile and WriteFile"
  • 628365d windows: support nil done parameter in ReadFile and WriteFile
  • bef1bd8 unix: move mksyscall regexp to package level variables
  • 5710a32 unix/linux: update Linux kernel to 6.7
  • b3ce6a3 windows: build env_windows_test.go only go Go 1.21 and above
  • 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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 7, 2024

Bumps golang.org/x/crypto from 0.0.0-20220507011949-2cf3adece122 to 0.21.0.

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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 7, 2024

Bumps golang.org/x/sys from 0.16.0 to 0.18.0.

Commits
  • 360f961 unix: add API for fsconfig system call
  • 7ff74af unix: drop go version tags for unsupported versions
  • 6b4eab5 unix: suppress ENOMEM errors from sysctl's implementing Uname(uname *Utsname)...
  • 2f2cc5d unix: update IFLA and NETKIT constants with Linux kernel 6.7
  • 914b96c windows: support ill-formed UTF-16 in UTF16PtrToString
  • 511ec84 Revert "windows: support nil done parameter in ReadFile and WriteFile"
  • 628365d windows: support nil done parameter in ReadFile and WriteFile
  • bef1bd8 unix: move mksyscall regexp to package level variables
  • 5710a32 unix/linux: update Linux kernel to 6.7
  • b3ce6a3 windows: build env_windows_test.go only go Go 1.21 and above
  • 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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 7, 2024

Bumps golang.org/x/term from 0.16.0 to 0.18.0.

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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 7, 2024
Mar 7, 2024

Bumps github.com/hashicorp/golang-lru/v2 from 2.0.5 to 2.0.7.

Release notes

Sourced from github.com/hashicorp/golang-lru/v2's releases.

golang-lru 2.0.7

What's Changed

New Contributors

Full Changelog: https://github.com/hashicorp/golang-lru/compare/v2.0.6...v2.0.7

golang-lru 2.0.6

This release removes calling the eviction callback when the Add method is called with an item that is already in the cache (#154); it reverts PR #135 which caused issue #141.

What's Changed

Full Changelog: https://github.com/hashicorp/golang-lru/compare/v2.0.5...v2.0.6

Commits
  • d851586 add a Resize method to 2Q
  • d46c1d9 expirable LRU: fix so that Get/Peek cannot return an ok and empty value (#156)
  • 56a2dc0 Update arc to base package v2.0.6
  • 8f8764f test: Add tests for eviction callback
  • 0ed35fd Revert "call evict on replacing value (#135)"
  • 1e956f5 [COMPLIANCE] Add Copyright and License Headers
  • 3afaa48 Release update arc dependencies to v2.0.5
  • 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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 7, 2024

Bumps go.uber.org/zap from 1.26.0 to 1.27.0.

Release notes

Sourced from go.uber.org/zap's releases.

v1.27.0

Enhancements:

  • #1378[]: Add WithLazy method for SugaredLogger.
  • #1399[]: zaptest: Add NewTestingWriter for customizing TestingWriter with more flexibility than NewLogger.
  • #1406[]: Add Log, Logw, Logln methods for SugaredLogger.
  • #1416[]: Add WithPanicHook option for testing panic logs.

Thanks to @​defval, @​dimmo, @​arxeiss, and @​MKrupauskas for their contributions to this release.

#1378: uber-go/zap#1378 #1399: uber-go/zap#1399 #1406: uber-go/zap#1406 #1416: uber-go/zap#1416

Changelog

Sourced from go.uber.org/zap's changelog.

1.27.0 (20 Feb 2024)

Enhancements:

  • #1378[]: Add WithLazy method for SugaredLogger.
  • #1399[]: zaptest: Add NewTestingWriter for customizing TestingWriter with more flexibility than NewLogger.
  • #1406[]: Add Log, Logw, Logln methods for SugaredLogger.
  • #1416[]: Add WithPanicHook option for testing panic logs.

Thanks to @​defval, @​dimmo, @​arxeiss, and @​MKrupauskas for their contributions to this release.

#1378: uber-go/zap#1378 #1399: uber-go/zap#1399 #1406: uber-go/zap#1406 #1416: uber-go/zap#1416

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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 7, 2024

Bumps go.sia.tech/coreutils from 0.0.0-20240130201319-8303550528d7 to 0.0.3.

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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 7, 2024

Bumps go.uber.org/zap from 1.26.0 to 1.27.0.

Release notes

Sourced from go.uber.org/zap's releases.

v1.27.0

Enhancements:

  • #1378[]: Add WithLazy method for SugaredLogger.
  • #1399[]: zaptest: Add NewTestingWriter for customizing TestingWriter with more flexibility than NewLogger.
  • #1406[]: Add Log, Logw, Logln methods for SugaredLogger.
  • #1416[]: Add WithPanicHook option for testing panic logs.

Thanks to @​defval, @​dimmo, @​arxeiss, and @​MKrupauskas for their contributions to this release.

#1378: uber-go/zap#1378 #1399: uber-go/zap#1399 #1406: uber-go/zap#1406 #1416: uber-go/zap#1416

Changelog

Sourced from go.uber.org/zap's changelog.

1.27.0 (20 Feb 2024)

Enhancements:

  • #1378[]: Add WithLazy method for SugaredLogger.
  • #1399[]: zaptest: Add NewTestingWriter for customizing TestingWriter with more flexibility than NewLogger.
  • #1406[]: Add Log, Logw, Logln methods for SugaredLogger.
  • #1416[]: Add WithPanicHook option for testing panic logs.

Thanks to @​defval, @​dimmo, @​arxeiss, and @​MKrupauskas for their contributions to this release.

#1378: uber-go/zap#1378 #1399: uber-go/zap#1399 #1406: uber-go/zap#1406 #1416: uber-go/zap#1416

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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 7, 2024

Bumps golang.org/x/term from 0.6.0 to 0.18.0.

Commits
  • c5eaf76 go.mod: update golang.org/x dependencies
  • 353276a go.mod: update golang.org/x dependencies
  • ae94145 go.mod: update golang.org/x dependencies
  • ee66497 go.mod: update golang.org/x dependencies
  • 70d3a0b go.mod: update golang.org/x dependencies
  • 6a610bc all: update go directive to 1.18
  • ea6303a go.mod: update golang.org/x dependencies
  • f413282 go.mod: update golang.org/x dependencies
  • 19e73c2 go.mod: update golang.org/x dependencies
  • edd9fb7 go.mod: update golang.org/x dependencies
  • 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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 7, 2024

Bumps github.com/mattn/go-sqlite3 from 1.14.21 to 1.14.22.

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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 7, 2024

Adding dependabot to match renterd.

Mar 7, 2024

Adding dependabot to match renterd.

Mar 5, 2024

Changes migration to attempt to migrate every sector regardless of individual sector errors. Changes force remove to remove sectors when data is missing and there is not another volume to "migrate" the data to. Adds a new metric, "lost sectors," for when a sector is removed either explicitly with [DELETE] /sectors/:root or when force removing a volume.

Mar 2, 2024
  • Fixed a slow memory leak that became especially apparent during long running large uploads, memory usage is now minimal and stable over time.
  • Uploads now support aborting the entire visible page of active uploads.
  • Directory and global file explorers now show upload progress inline.
Mar 1, 2024
  • Uploads will now error and abort if responses are missing etags.
Mar 1, 2024
  • Fixed an issue where the alert data fields showed the wrong dates.
  • Fixed an issue where the alert columns were not initially showing.
Mar 1, 2024
  • Fixed an issue navigating back to the active explorer mode from the uploads list.
Mar 1, 2024
Feb 29, 2024
  • Two data fields were using 14 instead of 12.
Feb 28, 2024

When watching a host address, there are a lot of extra revision events that don't affect the wallet because the renter broadcasts the latest revision every few days. This removes contracts and revisions from the relevancy check to get rid of the extra Transaction events.

Feb 28, 2024
  • Fixes duplicate elements when resubscribing
  • Moves balance tracking back into the store for future optimizations
  • Removes the need to store intermittent update state in memory
Feb 27, 2024

When mining a block with transactions:

  • contract formation
  • contract revision (broadcast)
  • contract revision (broadcast)
  • contract revision (broadcast)

I noticed my subscriber receives only 3 file contract elements in the ApplyUpdate, more importantly though one of those did not have a revision. I think there's a bug in reviseFileContractElement that doesn't properly update the rev map when encountering an fce we find in ephemeral, which I assume is a sort of cache.

Feb 27, 2024
Feb 27, 2024
Feb 27, 2024

Fixes the return type of client.Wallets() and fixes the [POST] /wallets request

Feb 27, 2024
Feb 27, 2024
Feb 27, 2024
  • Fixed an issue where hovering over the file health information would crash the app.
Feb 27, 2024
Feb 26, 2024
Feb 26, 2024
  • 4506593d: All app data will now refresh more frequently.
Feb 26, 2024
  • Siacoin metric cards now show the dynamic units with two decimal places.

Screenshot 2024-02-26 at 11.04.06 AM.png

Feb 24, 2024
  • Adds a bit more structure to wallets and wallet addresses with the goal of making usage between implementations more consistent.
    • Wallets now have a unique ID, friendly name, and description for easier updating.
    • Addresses (optionally) support storing their spend policy
  • Splits the SC and SF utxo endpoints
  • Adds pagination to the SC and SF utxo endpoints
  • Returns 404 errors on all the wallet endpoints if the wallet does not exist
Feb 23, 2024
  • 4506593d: All app data will now refresh more frequently.
Feb 23, 2024

A mysterious force of nature inspired me to write this code today, thereby increasing the code coverage to 75.7%

Feb 22, 2024
Feb 22, 2024

Fixes a few panics during reorgs

Feb 21, 2024

The id label on hostd_consensus_state_index is breaking continuity with block height panels and was introduced during the refactor. Removing the label will restore continuity.

Screenshot 2024-02-21 173716

Feb 17, 2024

Simplifies the sector pruning code improving performance and readability

Feb 16, 2024

Reverts a change made in v1.0.2 that checks if the number of sectors deleted from the database matches the number requested. I haven't been able to discover the edge case that causes the logic to fail yet. The SELECT and DELETE happen in the same transaction, so they should all be present and the contract_sector_roots table doesn't have any external constraints that would be preventing deletion.

Closes #309

Feb 16, 2024

Moves the wallet logic out of the sqlite package and into the wallet package.

Feb 8, 2024
Feb 6, 2024
Feb 1, 2024
Feb 1, 2024

This effort is part of grant project

Introduces a startup param --prometheus to enable various /prometheus endpoints

Please see https://github.com/SiaFoundation/hostd/pull/288 for info on refactor considerations

Best regards

Jan 30, 2024

The current encoding of Currency uses an 8-byte length prefix followed by a variable-length big-endian encoding of the integer. This is inherently wasteful, as currency values never require more than a 1-byte prefix. Variable-length encodings can also hurt performance in certain use cases, and make it harder to predict the real-world size of various encoded payloads.

This PR adds an alternative fixed-width (16-byte) little-endian encoding for Currency. This matches the actual struct definition of Currency in core: two uint64s. Surprisingly, this is not quite as efficient as simply reducing the 8-byte prefix to a 1-byte prefix; the currency values currently present in the blockchain would encode to between 11-15 bytes on average. Still, the advantages of fixed width outweigh the slightly larger size imo.

As a side effect, I also ended up changing the encoding of SiafundOutput to be more compact in v2.

Jan 16, 2024
Jan 16, 2024
Jan 6, 2024

check() already calls log.Fatal if err != nil, so this code is redundant

Jan 3, 2024
  • 0fc1c36c: Fixed an issue with the copy to clipboard feature.
Jan 3, 2024
Dec 11, 2023

We ran into bugs related to determining the right amount of collateral when renewing contracts. Most notably exceeding the max collateral setting of hosts.

There were multiple reasons for that. I was able to get rid of most errors by postponing computing the collateral until after we have acquired a contract.

The other issue, which is the reason for this PR, is the fact that we used ContractRenewalCollateral to compute the newCollateral and then CalculateHostPayouts to create the payouts and both of these functions perform the same math but slightly different. (one uses fc.EndHeight() and the other one fc.WindowEnd` for determining the extension of the renewal).

Since we don't use rhpv2 renewals I'm not going to bother refactoring that but I'm updating rhpv3 to make sure there is no duplicate code anymore and that everything, including the capping of the collateral according to the host's MaxCollateral happens in one place.

Right now this is deployed on Arequipa and there are no more collateral errors.

Dec 9, 2023

I have been adding this to our repos so we can do things like check struct tags automatically. I know core is still changing so if this is unwanted right now please feel free to close this PR.

Edit: Need to do some Ledger review fixes today. Will fix remaining warnings tomorrow.

Dec 8, 2023

I noticed renewal failures in our logs that indicate we're not properly respecting the host's MaxCollateral setting.

{"level":"error","date":"2023-12-07T16:56:27Z","component":"autopilot.contractor","msg":"renewal failed, err: couldn't renew contract: RPCRenew: failed to read RPCRenewContractHostAdditions: ReadResponse: failed to validate renewal: collateral exceeds maximum: expected at most 10000000000000000000000000000 got 10000047475326975980269993984\n","hk":"ed25519:c4b451fa7ab7085763119aeb1aa34db524c5dc6416dc77c5ba82100eb9687790","fcid":"fcid:5a32d8bbfb7e6a29f874ad2ded500d46e3e9aa4675db624b7f782b7fd7f45e05"}
Nov 3, 2023

I finished working on these tests last weekend, but due to unforeseen circumstances, I couldn't submit the pull request. Today I can finally do it, but I noticed that just yesterday another contributor, who coincidentally worked on some of the same test features as I did, submitted his PR #132

I wasn't sure how to proceed in this situation, so I decided to run test coverage. In my case, the overall coverage percentage was 77.3%, while @chris124567's was 79.8%, which I congratulate him on. However, if we combine our PRs, the rate reaches 80.1%

Chris and I approached the task and code-writing differently, and to be honest, I'm not sure how you'll handle our PRs after comparing and analyzing them; nonetheless, I decided to offer alternative tests for the Marshaler and Unmarshaler functions and submit this PR.

Nov 3, 2023

Refers #130

Nov 3, 2023

Get consensus coverage up to 79.8%

Oct 16, 2023

This is a slightly bigger change, so I figured I'd PR it to allow for some discussion instead of just pushing it.

Sia computes a lot of hashes. When I started implementing v2, I took care to make hashing as fast as possible. In particular, I wanted hashing operations to be zero-alloc. That meant accepting some ugliness like hasherPool and eschewing helper functions that might not be inlined.

This PR essentially reverses that decision. Instead of every ID function grabbing a hasher and directly calling EncodeTo on all the stuff we want to encode, we now pass those things to a magic hashAll helper function. The resulting code is definitely more readable; you can see at a glance exactly what's being hashed. The downside is that all of our hashes now allocate, making them a bit slower. How much slower? Anywhere from 1% to 15%, depending on how little data is being hashed. Is that acceptable? Well, when I run our test suite 100x, it takes basically the same amount of time -- definitely nowhere near 15% slower. Regardless -- preventable allocations make me sad. At least ~all of our hashing will be performed inside hashAll now, which means CPU profiles will show us how much time we spend hashing in general...?

Another consequence is that the exact data we're hashing has changed slightly. Basically, instead of omitting signatures, we now hash empty signatures. Why? Because it means instead of writing this:

func (s State) ContractSigHash(fc types.V2FileContract) types.Hash256 {
	return hashAll(
		"sig/filecontract",
		s.v2ReplayPrefix(),
		fc.Filesize,
		fc.FileMerkleRoot,
		fc.ProofHeight,
		fc.ExpirationHeight,
		fc.RenterOutput,
		fc.HostOutput,
		fc.MissedHostValue,
		fc.RenterPublicKey,
		fc.HostPublicKey,
		fc.RevisionNumber,
	)
}

we can write this:

func (s State) ContractSigHash(fc types.V2FileContract) types.Hash256 {
	fc.RenterSignature, fc.HostSignature = types.Signature{}, types.Signature{}
	return hashAll("sig/filecontract", s.v2ReplayPrefix(), fc)
}

Having a helper like hashAll doesn't force us to make this change, but it sure makes it a lot more compelling, doesn't it?

Lemme know if you have strong feelings about this either way. Frankly, I'm pretty confident that this is the right choice; writing a big post about it is probably just my way of coping with the loss of my precious zero-alloc code 😭

Oct 13, 2023

Add a test similar to TestP2P in walletd and add some extra cases mostly relating to file contracts to the validation test.

Oct 11, 2023

I was working around this in both renterd and hostd but it's easier to update it here instead.

Oct 4, 2023

This PR adds the rpcCost type from hostd. We can move it over to core and get rid of some of the very rough estimates for proof sizes and replace them by exact values we get from DiffProofSize.

Oct 2, 2023

Fixes the node12 deprecation warning

Oct 2, 2023

Increases the go versions used in CI from 1.17 and 1.18 to 1.20 and 1.21

Aug 29, 2023

Adds validation tests for V2Blocks/V2Transactions.

Aug 10, 2023

Not sure if this is the right place to put this considering that the return type is a boolean, but some kind of safeguard against this seems appropriate.

Aug 7, 2023

Prevent an unnecessary 1 KB allocation from being repeated in all the put calls.

Jul 19, 2023

This began as an effort to make the DB commit less frequently, which is important for speeding up IBD. Currently, we commit (i.e. fsync) after every block, which means hundreds of thousands of fsyncs are required for a full IBD -- often many fsyncs per second. Needless to say, this is enormously wasteful. Ideally, we would fsync once every few seconds, and/or after buffering a large number of writes. So that's what this PR does: it tracks how long it's been since the last fsync, and how many writes we've buffered since then, and only flushes after we cross a threshold.

In the course of implementing this, I realized that our DB interface was more powerful than necessary. Specifically, it supports fully-isolated transactions, meaning you can have multiple "views" of the DB open concurrently, and those views won't observe each others effects, and can be committed or rolled back independently. However, our usage of the DB is already serialized by the chain.Manager's mutex, and clients of chain.Manager only have limited access to the DB. So we actually don't need transactions; all we need is a way to force an fsync, so that we can guarantee that a subscriber will never commit data that hasn't been committed by the manager itself. That's what this PR does.

This still needs to be tested and benchmarked on an actual node, so I'll hold off on merging until then. Hopefully we'll see a significant speedup!

May 30, 2023

hostKey is passed to PrepareContractRenewal, although it is not used there.

May 29, 2023
May 25, 2023

To avoid accidentally dialing localhost in case the port is set but the address isn't.