A feed of development activity from across Sia Foundation GitHub repositories.
- The testnet prefix label was removed from the walletd downloads. https://github.com/SiaFoundation/web/issues/667
- The faucet API was moved, this updates to the new endpoint.
All v1 contracts are considered valid
in the JSON representation regardless of their resolution. Adds an additional missed
slice.
Core v0.4.1 fixed the serialization of V2FileContractFinalization
Bumps the all-dependencies group with 6 updates in the / directory:
Package | From | To |
---|---|---|
github.com/klauspost/reedsolomon | 1.12.2 | 1.12.3 |
github.com/minio/minio-go/v7 | 7.0.73 | 7.0.74 |
go.sia.tech/core | 0.3.0 | 0.4.0 |
go.sia.tech/coreutils | 0.1.2 | 0.2.0 |
go.sia.tech/hostd | 1.1.1-beta.1.0.20240618072747-b3f430b4d272 | 1.1.2 |
gorm.io/gorm | 1.25.10 | 1.25.11 |
Updates github.com/klauspost/reedsolomon
from 1.12.2 to 1.12.3
Release notes
Sourced from github.com/klauspost/reedsolomon's releases.
v1.12.3
What's Changed
- Fix incorrect output on Graviton4 processor by
@fwessels
in klauspost/reedsolomon#283RETRACTS v1.12.2
Full Changelog: https://github.com/klauspost/reedsolomon/compare/v1.12.2...v1.12.3
Commits
3412d52
Fix build for Graviton4 processor (#283)- See full diff in compare view
Updates github.com/minio/minio-go/v7
from 7.0.73 to 7.0.74
Release notes
Sourced from github.com/minio/minio-go/v7's releases.
Bugfix Release
What's Changed
- return appropriate error type for generic handling by
@harshavardhana
in minio/minio-go#1981- feat: add SetContentDisposition method for postPolicy Upload by
@lianggx6
in minio/minio-go#1982- docs: fix doc about default alias by
@emil2k
in minio/minio-go#1984- fix: GCS endpoint validation to allow ports by
@ammarhusain-sol
in minio/minio-go#1985New Contributors
@lianggx6
made their first contribution in minio/minio-go#1982@emil2k
made their first contribution in minio/minio-go#1984@ammarhusain-sol
made their first contribution in minio/minio-go#1985Full Changelog: https://github.com/minio/minio-go/compare/v7.0.73...v7.0.74
Commits
a428198
fix: GCS endpoint validation to allow ports (#1985)6c2c69f
docs: fix doc about default alias (#1984)66ba593
feat: add SetContentDisposition method for postPolicy Upload (#1982)4742469
update govulncheck to 1.22.577fb078
return appropriate error type for generic handling (#1981)1ff6b60
Update version to next release- See full diff in compare view
Updates go.sia.tech/core
from 0.3.0 to 0.4.0
Commits
749090b
Merge pull request #182 from SiaFoundation:json-policyb4038b5
Merge pull request #181 from SiaFoundation:json-update7276e48
consensus: Add JSON methods for Updates5c756e2
types: Replace expression-based SpendPolicy JSON marshallingd078002
Merge pull request #175 from SiaFoundation/alpha-spec12fc9fb
consensus: Add validateSupplementdb1b4ea
types: Fix PolicyTypeUnlockConditions validationb24c351
Merge pull request #179 from SiaFoundation/sp-whitespace299bf42
Merge pull request #178 from SiaFoundation/dependabot/go_modules/all-dependen...aef43ff
types: Handle whitespace in SpendPolicy encoding- Additional commits viewable in compare view
Updates go.sia.tech/coreutils
from 0.1.2 to 0.2.0
Commits
Updates go.sia.tech/hostd
from 1.1.1-beta.1.0.20240618072747-b3f430b4d272 to 1.1.2
Release notes
Sourced from go.sia.tech/hostd's releases.
v1.1.2
Changed
- Migrated sectors are included in volume writes (SiaFoundation/hostd#395)
- Timeout was increased when writing large merkle proofs for slow connections (SiaFoundation/hostd#408)
- Max collateral no longer auto-calculates and is visible in "Basic" pricing mode (SiaFoundation/hostd#421)
Fixed
- Fixed an error when renters attempted to trim a large number of sectors from a contract SiaFoundation/hostd#410
- Fixed the calculation for unconfirmed transactions (SiaFoundation/hostd#415)
- Fixed an issue where transaction information would not show when clicking a transaction in the wallet (SiaFoundation/hostd#416)
hostd
will no longer crash on startup if the explorer is unavailable or misconfigured (SiaFoundation/hostd#430)v1.1.1
Changed
- Migrated sectors are included in volume writes (SiaFoundation/hostd#395)
- Timeout was increased when writing large merkle proofs for slow connections (SiaFoundation/hostd#408)
- Max collateral no longer auto-calculates and is visible in "Basic" pricing mode (SiaFoundation/hostd#421)
Fixed
- Fixed an error when renters attempted to trim a large number of sectors from a contract SiaFoundation/hostd#410
- Fixed the calculation for unconfirmed transactions (SiaFoundation/hostd#415)
- Fixed an issue where transaction information would not show when clicking a transaction in the wallet (SiaFoundation/hostd#416)
Commits
- See full diff in compare view
Updates gorm.io/gorm
from 1.25.10 to 1.25.11
Commits
4a50b36
ci: Add PostgreSQL 14 and 15 to GitHub Actions matrix (#7081)11c4331
feat: add MapColumns method (#6901)8a0af58
fix map fields with clickhouse driver4f62911
Allow to support other field types109f239
add DB level propagation for the Unscoped flag (#7007)79bf7f9
fix CI for sqlserver3d09f79
only listen local port73a988c
fix(scan): update Scan function to reset structs to zero values for each scan...05167fd
fix: use reflect.Append when preloading nested associations (#7014)78c6dfd
Fix association replace non-addressable panic (#7012)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Bumps the all-dependencies group with 3 updates: go.sia.tech/core, go.sia.tech/hostd and gorm.io/gorm.
Updates go.sia.tech/core
from 0.3.0 to 0.3.1
Commits
12fc9fb
consensus: Add validateSupplementdb1b4ea
types: Fix PolicyTypeUnlockConditions validationb24c351
Merge pull request #179 from SiaFoundation/sp-whitespace299bf42
Merge pull request #178 from SiaFoundation/dependabot/go_modules/all-dependen...aef43ff
types: Handle whitespace in SpendPolicy encodingeb4f71a
build(deps): bump the all-dependencies group with 2 updates- See full diff in compare view
Updates go.sia.tech/hostd
from 1.1.1-beta.1.0.20240618072747-b3f430b4d272 to 1.1.2
Release notes
Sourced from go.sia.tech/hostd's releases.
v1.1.2
Changed
- Migrated sectors are included in volume writes (SiaFoundation/hostd#395)
- Timeout was increased when writing large merkle proofs for slow connections (SiaFoundation/hostd#408)
- Max collateral no longer auto-calculates and is visible in "Basic" pricing mode (SiaFoundation/hostd#421)
Fixed
- Fixed an error when renters attempted to trim a large number of sectors from a contract SiaFoundation/hostd#410
- Fixed the calculation for unconfirmed transactions (SiaFoundation/hostd#415)
- Fixed an issue where transaction information would not show when clicking a transaction in the wallet (SiaFoundation/hostd#416)
hostd
will no longer crash on startup if the explorer is unavailable or misconfigured (SiaFoundation/hostd#430)v1.1.1
Changed
- Migrated sectors are included in volume writes (SiaFoundation/hostd#395)
- Timeout was increased when writing large merkle proofs for slow connections (SiaFoundation/hostd#408)
- Max collateral no longer auto-calculates and is visible in "Basic" pricing mode (SiaFoundation/hostd#421)
Fixed
- Fixed an error when renters attempted to trim a large number of sectors from a contract SiaFoundation/hostd#410
- Fixed the calculation for unconfirmed transactions (SiaFoundation/hostd#415)
- Fixed an issue where transaction information would not show when clicking a transaction in the wallet (SiaFoundation/hostd#416)
Commits
- See full diff in compare view
Updates gorm.io/gorm
from 1.25.10 to 1.25.11
Commits
4a50b36
ci: Add PostgreSQL 14 and 15 to GitHub Actions matrix (#7081)11c4331
feat: add MapColumns method (#6901)8a0af58
fix map fields with clickhouse driver4f62911
Allow to support other field types109f239
add DB level propagation for the Unscoped flag (#7007)79bf7f9
fix CI for sqlserver3d09f79
only listen local port73a988c
fix(scan): update Scan function to reset structs to zero values for each scan...05167fd
fix: use reflect.Append when preloading nested associations (#7014)78c6dfd
Fix association replace non-addressable panic (#7012)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
This validates the release version when running go generate ./...
and uses the commit instead.
Closes #431
This field does not follow the consistent use of camelCase for JSON serialization.
Adds two new endpoints /outputs/siacoin/:id
and /outputs/siafund/:id
to lookup utxos by ID. These endpoints are intended only for nodes in full
index mode.
Bumps the all-dependencies group with 2 updates: go.sia.tech/core and go.sia.tech/coreutils.
Updates go.sia.tech/core
from 0.3.0 to 0.3.1
Commits
12fc9fb
consensus: Add validateSupplementdb1b4ea
types: Fix PolicyTypeUnlockConditions validationb24c351
Merge pull request #179 from SiaFoundation/sp-whitespace299bf42
Merge pull request #178 from SiaFoundation/dependabot/go_modules/all-dependen...aef43ff
types: Handle whitespace in SpendPolicy encodingeb4f71a
build(deps): bump the all-dependencies group with 2 updates- See full diff in compare view
Updates go.sia.tech/coreutils
from 0.1.0 to 0.1.2
Commits
11bcc7b
Merge pull request #69 from SiaFoundation/chris/fix-syncer-connectb87f104
fix allowConnect5b6af68
Merge pull request #68 from SiaFoundation/dependabot/go_modules/golang.org/x/...dea812b
Merge pull request #67 from SiaFoundation/chris/connect-dns429d31d
build(deps): bump golang.org/x/crypto from 0.24.0 to 0.25.0657868e
syncer: resolve domain before checking if peer is banned4a9f0a6
Merge pull request #66 from SiaFoundation/nate/update-bootstrap-peersfbd7056
syncer: update zen bootstrap peer list- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
- Fixes an off-by-one error in the event maturity heights
- Fixes the JSON encoding of
EventV2ContractResolution
due to the embeddedtypes.V2FileContractResolution
field - Adds sanity testing for each event type
The expression-based SpendPolicy encoding is more compact and easier to read, but using it as the standard JSON encoding means that all clients have to write a custom rule, which is annoying. Since most users won't be looking at raw JSON anyway, we might as well make life a bit easier for our devs by switch to a more conventional structural encoding. (Note, however, that we still intend to use the expression-based encoding when displaying policies in UIs.)
Thanks to @Alrighttt for surfacing this.
Old:
thresh(2, [
above(100),
pk(0x111d2995afa8bf162180a647b9f1eb6a275fe8818e836b69b351871d5caf9c590ed25aec0616),
thresh(2, [
above(200),
pk(0x111d2995afa8bf162180a647b9f1eb6a275fe8818e836b69b351871d5caf9c590ed25aec0616),
]),
]),
New:
{
"type": "thresh",
"policy": {
"n": 2,
"of": [
{
"type": "above",
"policy": 100
},
{
"type": "pk",
"policy": "ed25519:111d2995afa8bf162180a647b9f1eb6a275fe8818e836b69b351871d5caf9c590ed25aec0616"
},
{
"type": "thresh",
"policy": {
"n": 2,
"of": [
{
"type": "above",
"policy": 200
},
{
"type": "pk",
"policy": "ed25519:111d2995afa8bf162180a647b9f1eb6a275fe8818e836b69b351871d5caf9c590ed25aec0616"
}
]
}
}
]
}
}
This enables consensus "subscription" over HTTP, which in turn allows nodes running on the same machine to share a consensus.db. See https://github.com/SiaFoundation/core/pull/180
This is an unfortunate amount of code. It could be shrunk a little by factoring out the MidState
marshaling but... meh. It's not the end of the world.
This removes GORM from our production code entirely. It's now only used in tests.
Therefore db
was renamed to gormDB
to make it clear that it's no longer to be used.
bMain
is now db
.
This fixes a little edge case leading to unnecessary log spam which will be obsolete once we have RHPv4 since fetching costs will be free then anyway.
This is a testing PR for all event types and not intended to be merged
- Added the contracts prunable API.
- Added the contract size API.
Removes the fatal startup check for explorer configuration and adds an alert instead.
- Fixed an issue where calculating the siacoin value for a transaction without relevant siacoin inputs would cause an error. https://github.com/SiaFoundation/walletd/issues/150
- Fixed an issue where scrollbars could not be grabbed by moving mouse to the edge of the screen. https://github.com/SiaFoundation/hostd/issues/423 Fixed by https://github.com/kocoten1992
This would fix issue
The more elegant fix would be:
- create a invisible bar on top the actual scroll bar without the margin.
- and make current scroll bar unclickable, that should keep the visual the same - but would complicated code.
If you like this simple approach then please merge this. Thank you!
Specifiers were always intended to be human-readable IDs. This codifies that by escaping non-alphanumeric specifiers during marshaling. Alphanumeric specifiers are marshaled exactly the same as before.
Non-alphanumeric specifiers are fairly rare. The most common offending character is " "
, which shows up in v1 specifiers like "siacoin output"
. Also, an early version of the RHP used raw integers in some of its RPC IDs (e.g. "RPCDownload\x02"
), but those RPCs have been obsolete for many years at this point.
Specifiers are primarily seen in two places: UnlockKey
algorithms in transaction inputs, and RPC IDs in logs. The latter are developer chosen, so nothing will change there. As for the former, users can technically set the algorithm to whatever they want, but doing so exposes their SC to possible theft, so there is basically no reason to do it. Probably >99% of algorithms are "ed25519"
, so again, no change.
I also decided to add length validation in NewSpecifier
. While this is a little annoying, there's no question that silently truncating to 16 bytes has the potential to cause bugs. For example, because of this change, I discovered that "RelayTransactionSet"
is actually sent over the wire as "RelayTransaction"
! If we had added an RPC for sending a single transaction and called it "RelayTransaction"
, those IDs would have collided.
Previously, ValidateBlock
(and by extension, ApplyBlock
) assumed that the supplied V1BlockSupplement
was valid. This is not entirely unreasonable, since the supplement is computed locally -- unlike the Block
itself, it is not directly manipulable by an attacker. However, even if a local computation isn't malicious, it can still be buggy! And indeed, we recently discovered that the consensusDB
helper in validation_test.go
was not updating the Merkle proofs of its elements, which ultimately lead to a panic in ApplyBlock
.
This PR adds a validateSupplement
step to ApplyBlock
, which ensures that all of the state elements in the supplement exist in the accumulator (and have not been spent or resolved). Note that this is different from how we handle accumulator checks in v2 transactions: in v2, we check the Merkle proofs individually (e.g. in validateV2Siacoins
), whereas with v1 we validate all of the proofs in one place. Each strategy has its pros and cons; personally, doing accumulator checks in v1 validation functions just felt a bit out-of-place to me. Besides, there are other checks that need to be performed for the supplement, so centralizing them seemed sensible.
The old implementation was broken, as evidenced by the test cases I added. Specifically, we were implementing this policy in terms of PolicyThreshold
, but PolicyThreshold
requires you to mask any unused public keys with PolicyOpaque
, which PolicyTypeUnlockConditions
can't do. We also now handle algorithms other than SpecifierEd25519
correctly. Overall, this brings validation into agreement with consensus.validateSignatures
. We can't match its behavior exactly (because v1 transactions contain a list signatures that target specific inputs, while v2 transaction inputs carry their signatures with them), but that's fine; we just need to ensure that any UnlockConditions
that were satisfiable in v1 are also satisfiable in v2.
Bumps the all-dependencies group with 1 update: golang.org/x/term.
Updates golang.org/x/term
from 0.21.0 to 0.22.0
Commits
c976cb1
go.mod: update golang.org/x dependencies- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Bumps the all-dependencies group with 2 updates: golang.org/x/crypto and golang.org/x/sys.
Updates golang.org/x/crypto
from 0.24.0 to 0.25.0
Commits
9fadb0b
go.mod: update golang.org/x dependenciesa6a393f
all: bump go.mod version and drop compatibility shims1c74500
ssh/test: make struct comment match struct named4e7c9c
ssh: fail client auth immediately on receiving disconnect message- See full diff in compare view
Updates golang.org/x/sys
from 0.21.0 to 0.22.0
Commits
faed7ec
unix: add PthreadChdir and PthreadFchdir on darwinc892bb7
unix: fix MmapPtr test failing on OpenBSDa0ef40a
unix: fix MremapPtr test failing on NetBSDdaa2394
unix: add unsafe mmap, munmap, mremap7670087
windows: add GetAce Windows API348425a
windows/svc: do not pass theService to windows.RegisterServiceCtrlHandlerEx- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Bumps the all-dependencies group with 5 updates:
Package | From | To |
---|---|---|
github.com/klauspost/reedsolomon | 1.12.1 | 1.12.2 |
github.com/minio/minio-go/v7 | 7.0.72 | 7.0.73 |
golang.org/x/crypto | 0.24.0 | 0.25.0 |
golang.org/x/sys | 0.21.0 | 0.22.0 |
golang.org/x/term | 0.21.0 | 0.22.0 |
Updates github.com/klauspost/reedsolomon
from 1.12.1 to 1.12.2
Release notes
Sourced from github.com/klauspost/reedsolomon's releases.
v1.12.2
What's Changed
- Support for ARM SVE and better performance for NEON by
@fwessels
in klauspost/reedsolomon#281- benchmark: Add CSV header by
@klauspost
in klauspost/reedsolomon#277- Remove double load on 64 byte loop init by
@klauspost
in klauspost/reedsolomon#279New Contributors
@AndersTrier
made their first contribution in klauspost/reedsolomon#275Full Changelog: https://github.com/klauspost/reedsolomon/compare/v1.12.1...v1.12.2
Commits
7202dfc
Support for ARM SVE and better performance for NEON (#281)d4574a5
tests: Bump CI to Go 1.22 (#280)ea0a106
Remove double load on 64 byte loop init (#279)465e91a
benchmark: Add CSV header (#277)85a5e93
Remove dead code in fwht (#275)fd7f7a5
Update README.md4e91954
Update link in README.md (#273)- See full diff in compare view
Updates github.com/minio/minio-go/v7
from 7.0.72 to 7.0.73
Release notes
Sourced from github.com/minio/minio-go/v7's releases.
Bugfix Release
What's Changed
- upgrade all deps and replace gopkg.in for ini with go module by
@marktheunissen
in minio/minio-go#1977- Add ca-west-1 endpoint by
@tjwallace
in minio/minio-go#1971- fix replication validation for Role ARN by
@poornas
in minio/minio-go#1978- Fix missing CompleteMultipartUpload SSE-C by
@klauspost
in minio/minio-go#1980New Contributors
@marktheunissen
made their first contribution in minio/minio-go#1977@tjwallace
made their first contribution in minio/minio-go#1971Full Changelog: https://github.com/minio/minio-go/compare/v7.0.72...v7.0.73
Commits
Updates golang.org/x/crypto
from 0.24.0 to 0.25.0
Commits
9fadb0b
go.mod: update golang.org/x dependenciesa6a393f
all: bump go.mod version and drop compatibility shims1c74500
ssh/test: make struct comment match struct named4e7c9c
ssh: fail client auth immediately on receiving disconnect message- See full diff in compare view
Updates golang.org/x/sys
from 0.21.0 to 0.22.0
Commits
faed7ec
unix: add PthreadChdir and PthreadFchdir on darwinc892bb7
unix: fix MmapPtr test failing on OpenBSDa0ef40a
unix: fix MremapPtr test failing on NetBSDdaa2394
unix: add unsafe mmap, munmap, mremap7670087
windows: add GetAce Windows API348425a
windows/svc: do not pass theService to windows.RegisterServiceCtrlHandlerEx- See full diff in compare view
Updates golang.org/x/term
from 0.21.0 to 0.22.0
Commits
c976cb1
go.mod: update golang.org/x dependencies- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
This PR removes GORM from
SearchObjects
AddPartialSlab
Slab
RefreshHealth
PackedSlabsForUpload
ObjectMetadata
and removes
contractsForHost
(unused) together withTestContractsForHost
- The SDK now works in non-browser environments like nodejs and bun.
This PR adds
InsertContract
-> adds contract to dbRenewContract
-> adds contract to db and copies existing contract to archive
copyContractToArchive
is also new to deduplicate some code.
The remaining functions were all just moved to re-alphabetize the file
Bumps the all-dependencies group with 1 update: go.sia.tech/jape.
Updates go.sia.tech/jape
from 0.11.2-0.20240306154058-9832414a5385 to 0.12.0
Commits
- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
/wallet/:id/events
can be slow in full index mode when the wallet has no events. Adds a check to make sure the wallet has events before running the more expensive events query.
This PR adds a subnets
column to the hosts
table. This in an attempt to get rid of the redundant IP churn we saw on arequipa
. This is under the assumption that the churn is related to the way we deal with intermittent dns resolve issues, which up until now we've treated as redundant IPs because the ipFilter
returns a simple yes/no bool.
I didn't bother writing it out but instead supplied an example compose file with the absolute minimum config requirements per service.
There's a docs PR following this one, but this one contains some small tweaks to the way we parse the config on startup. There's some small pitfalls in our config currently when it comes to setting up renterd
as a cluster of nodes.
- setting
worker.Enabled
tofalse
when remotes are configured makes it easier to build conditionals - appending
/api/worker
to the worker's external addr made it inconsistent withRENTERD_BUS_REMOTE_ADDR
- seed should only be required if you have at least a bus or worker, the autopilot doesn't require it
I purposefully kept it at that and did not try to refactor too much. I think for v2 we should consider taking another look at our config though. It's not the worst but it's definitely not prettiest either.
This min. requirements cluster setup docker-compose file works.
version: '3.9' services: bus: build: context: . dockerfile: ./docker/Dockerfile container_name: renterd_bus environment: - RENTERD_SEED=jump illness approve cry fabric alert fly post kind age keep bid - RENTERD_API_PASSWORD=bus-pass ports: - "9980:9980" - "9981:9981" worker-1: build: context: . dockerfile: ./docker/Dockerfile container_name: renterd_worker-1 environment: - RENTERD_AUTOPILOT_ENABLED=false - RENTERD_SEED=jump illness approve cry fabric alert fly post kind age keep bid - RENTERD_API_PASSWORD=worker-pass - RENTERD_BUS_API_PASSWORD=bus-pass - RENTERD_BUS_REMOTE_ADDR=http://bus:9980/api/bus - RENTERD_WORKER_EXTERNAL_ADDR=http://worker-1:9980/api/worker ports: - "9982:9980" depends_on: - bus worker-2: build: context: . dockerfile: ./docker/Dockerfile container_name: renterd_worker-2 environment: - RENTERD_SEED=jump illness approve cry fabric alert fly post kind age keep bid - RENTERD_API_PASSWORD=worker-pass - RENTERD_BUS_API_PASSWORD=bus-pass - RENTERD_BUS_REMOTE_ADDR=http://bus:9980/api/bus - RENTERD_WORKER_EXTERNAL_ADDR=http://worker-2:9980/api/worker ports: - "9983:9980" depends_on: - bus autopilot: build: context: . dockerfile: ./docker/Dockerfile container_name: renterd_autopilot environment: - RENTERD_API_PASSWORD=autopilot-pass - RENTERD_BUS_API_PASSWORD=bus-pass - RENTERD_BUS_REMOTE_ADDR=http://bus:9980/api/bus - RENTERD_WORKER_API_PASSWORD=<worker-password> - RENTERD_WORKER_REMOTE_ADDRS=http://worker-1:9980/api/worker;http://worker-2:9980/api/worker ports: - "9984:9980" depends_on: - bus - worker-1 - worker-2
This draft is a debugging test for all of the possible wallet events. This is not intended to be merged.
[ { "id": "h:4d0389ef76d72548fe5bd64c117e4fbcee594ce1573ec9539f4380abad256b1b", "index": { "height": 204, "id": "bid:868a93d5bb1b411bc73e56db36b75bc1cfedc72002ea2e11a9a63af2d6724aa7" }, "timestamp": "2024-06-22T04:22:34Z", "maturityHeight": 349, "type": "siafundClaim", "data": { "siacoinElement": { "id": "h:4d0389ef76d72548fe5bd64c117e4fbcee594ce1573ec9539f4380abad256b1b", "leafIndex": 432, "merkleProof": null, "siacoinOutput": { "value": "2005827263267429760665970000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "maturityHeight": 348 } } }, { "id": "h:4712cf57e90de093a8ed52ec8831f376aac7c739847ec64f324525bf51d7bfc3", "index": { "height": 203, "id": "bid:6d37359564b7c36fb55c50f48aab4c2ae7545ce9b93ff1ab2f9511d1f20865b7" }, "timestamp": "2024-06-22T04:22:34Z", "maturityHeight": 348, "type": "v2ContractResolution", "data": { "parent": { "id": "h:e773d79ce8ed3b5edf11572c3d56cc3908e6c0766479f09d21420df22ca416be", "leafIndex": 423, "merkleProof": [ "h:dec7cb8813aa21ebaec3da1d3a521903305079c382b2e37b1cc8e3c53e66c2db", "h:55bd6fb6bae8bc5063f20f67100dbee711e9fa75b5b0b50fc01d7e15e76b69a3", "h:14b049a779a996ef3c771669d30517798ef026c95ab5be146cab98dc3854e8cf", "h:d9d42af0c7eed9f89c605738f667e6b4248bfb93aa73c98d7c37b40bc9ec8f28" ], "v2FileContract": { "filesize": 0, "fileMerkleRoot": "h:0000000000000000000000000000000000000000000000000000000000000000", "proofHeight": 211, "expirationHeight": 221, "renterOutput": { "value": "10000000000000000000000000000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "hostOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "missedHostValue": "0", "totalCollateral": "0", "renterPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "hostPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "revisionNumber": 0, "renterSignature": "sig:db264235ecadc89e63221e4e96347d560754d1f93939120c6d02c96e5207578e64067bd6a4313d9d84de019412d028ba98e182cde342f0cb4ffe1ec3f4783e03", "hostSignature": "sig:db264235ecadc89e63221e4e96347d560754d1f93939120c6d02c96e5207578e64067bd6a4313d9d84de019412d028ba98e182cde342f0cb4ffe1ec3f4783e03" } }, "type": "renewal", "resolution": { "finalRevision": { "filesize": 0, "fileMerkleRoot": "h:0000000000000000000000000000000000000000000000000000000000000000", "proofHeight": 211, "expirationHeight": 221, "renterOutput": { "value": "10000000000000000000000000000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "hostOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "missedHostValue": "0", "totalCollateral": "0", "renterPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "hostPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "revisionNumber": 18446744073709551615, "renterSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "hostSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" }, "newContract": { "filesize": 0, "fileMerkleRoot": "h:0000000000000000000000000000000000000000000000000000000000000000", "proofHeight": 221, "expirationHeight": 231, "renterOutput": { "value": "10000000000000000000000000000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "hostOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "missedHostValue": "0", "totalCollateral": "0", "renterPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "hostPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "revisionNumber": 0, "renterSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "hostSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" }, "renterRollover": "0", "hostRollover": "0", "renterSignature": "sig:984dea37a3897f6287fd04630e0878df5518e4ae95ff1cba7fa72a87b74cc85774306bba8ff563353b2d6bbca50e331f3dcf54eca3b36f14eb01dfdd7c07d00e", "hostSignature": "sig:984dea37a3897f6287fd04630e0878df5518e4ae95ff1cba7fa72a87b74cc85774306bba8ff563353b2d6bbca50e331f3dcf54eca3b36f14eb01dfdd7c07d00e" } } }, { "id": "h:51e066366b66e445725afe7fc54e85019c8b692aaa7502c36630d99e911ac98c", "index": { "height": 201, "id": "bid:5f4b2533cc467ab64e6032f4663819fa2c310fd180637349abbde5977c664fad" }, "timestamp": "2024-06-22T04:22:34Z", "maturityHeight": 346, "type": "v2ContractResolution", "data": { "parent": { "id": "h:ee4c82247b462b875f7036b2076b1a525c97889a542c36b9e9ef1166fe74e781", "leafIndex": 397, "merkleProof": [ "h:f58e964cf335ac0a4f055755aa210e0f3e1d7c6de35711f09a3e2a8fd54470ba", "h:36841292b0e182ddaf8c761ffd9b71f9463cf4530a134fdf60d08ea9a084ce57", "h:155c83d210d64c97a0bd0310630748c7fa2226ef6e514d37079cd25f797d4162", "h:abb482c19f1a14b21033b0b7b8304f685857a4f10d06fb20f172b253657e425b", "h:5dba3a456ed101f794a36e3396e375a88f8050e1a0b28bc2a15f105fbc44762a" ], "v2FileContract": { "filesize": 0, "fileMerkleRoot": "h:0000000000000000000000000000000000000000000000000000000000000000", "proofHeight": 200, "expirationHeight": 210, "renterOutput": { "value": "10000000000000000000000000000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "hostOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "missedHostValue": "0", "totalCollateral": "0", "renterPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "hostPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "revisionNumber": 0, "renterSignature": "sig:97385f262a2f8db3bd29b072b0ab7cc6dbe01843af09c9010675b3ec7db8a96dd199b3ede4df4ada81d41ca3b5ccb2ad6bfaa01071438ec6fce72e5f18bcd40a", "hostSignature": "sig:97385f262a2f8db3bd29b072b0ab7cc6dbe01843af09c9010675b3ec7db8a96dd199b3ede4df4ada81d41ca3b5ccb2ad6bfaa01071438ec6fce72e5f18bcd40a" } }, "type": "storage proof", "resolution": { "proofIndex": { "id": "h:3c95abbf4ee22cf09468ffd5d39ea74c9775dae57c34b45d91f3f7f753c18ed4", "leafIndex": 416, "merkleProof": [], "chainIndex": { "height": 200, "id": "bid:3c95abbf4ee22cf09468ffd5d39ea74c9775dae57c34b45d91f3f7f753c18ed4" } }, "leaf": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "proof": [] } } }, { "id": "h:66c8978661a560bfd4497e7b10f99b32edee6f5c64f89376b0502bc07172b59b", "index": { "height": 190, "id": "bid:f3e8fc9091217ba6d8c369342c980138a56e514cfc78bf4dc698cb5095c05902" }, "timestamp": "2024-06-22T04:22:34Z", "maturityHeight": 335, "type": "v2ContractResolution", "data": { "parent": { "id": "h:b48817a1efc249109eb54202fcfb4b8e0a14368b98c0f9e6fe2519a8e1cbffd8", "leafIndex": 351, "merkleProof": [ "h:8509a73f82036fc4fd3ed652ff0f49db15ffaa2fef8d1010e9a2110026bb81b3", "h:cf179de3e7d390a4e85e784d7330daf1e925e47960bd0b06e68a1f00406b01da", "h:e46b612429e205b58843ad398b1f2dd31b11aebdd2aa0caac40d277905d4ca11", "h:a07408549e147d52e48b112a05bc632a19abc9f57fe2fea30efd945fdd01c49c", "h:56359fa49114d1ffdc14904cfdf9aff1e6f989ba8bc64d6f44218c73932688ec", "h:adffd0f07779af480239a099bcdbee317b3eb38796bbf43db061809d330379ad", "h:14815951f3861d371083dc342435d2017fe360d94b265fd6d9a8c6c4d6e2d048" ], "v2FileContract": { "filesize": 0, "fileMerkleRoot": "h:0000000000000000000000000000000000000000000000000000000000000000", "proofHeight": 179, "expirationHeight": 189, "renterOutput": { "value": "10000000000000000000000000000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "hostOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "missedHostValue": "0", "totalCollateral": "0", "renterPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "hostPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "revisionNumber": 0, "renterSignature": "sig:a51f56c532f331b8ee9fd9bd3a76c89bed8643f2a60be2d820f168d19c7dae73a737c0eef532b992845af2a4a3bfd4993f01a4b66f42f87366c9e50afa2a820f", "hostSignature": "sig:a51f56c532f331b8ee9fd9bd3a76c89bed8643f2a60be2d820f168d19c7dae73a737c0eef532b992845af2a4a3bfd4993f01a4b66f42f87366c9e50afa2a820f" } }, "type": "expiration", "resolution": {} } }, { "id": "h:7f61115bf563af7e1a2e074bdd058d81f01dde4927b6bc6ef76a4a1ef1051501", "index": { "height": 204, "id": "bid:868a93d5bb1b411bc73e56db36b75bc1cfedc72002ea2e11a9a63af2d6724aa7" }, "timestamp": "2024-06-22T04:22:34Z", "maturityHeight": 204, "type": "v2Transaction", "data": { "siafundInputs": [ { "parent": { "id": "h:15c39ea191db4d09d7ea2377a3f5420b282bf5652896052f0f1ab8e1e3091888", "leafIndex": 1, "merkleProof": [ "h:f511a305ffc38123784a15f622a4b3fa8fb33ee9f4819f520dbd74723be9b4fc", "h:ed462bec88bf447d34de9fa56f275577fd27d8d76f2614ee3763d058fe188dd6", "h:bf2f07cd074d36f55eb30ec3f7191da266e3f8f356d124f607a86fe0aef3073d", "h:e29d28b24d7f807c5d9d7c69e3c45fbfe67819a6c4204d2ee409bc01831f3c40", "h:839fef4a24b35fbcb287dd02368f0465cf9fb544655a96bebf54c74143408d8d", "h:f3ff212468e19ef921a614eabbc387e234e676ee1f1e4451d7abadd844a53b72", "h:e1f40a359b528d48f6e2c499688d8923a847234ec0e347605104d137372c0f0e", "h:c3a6bbde771ec2b73836e30eaebe4378f7c08ee9f01d1d78759ee3cdbc54dd26" ], "siafundOutput": { "value": 10000, "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "claimStart": "0" }, "claimAddress": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192", "satisfiedPolicy": { "policy": "uc(0,[0x999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40],1)", "signatures": [ "sig:fd245848196a12eccfedc34efb7c9c46fc8ba58eaf6e5d93aca6471f05c41745c1b2c1382d61547cef506472b34de9afdbeb3c95d77ca08990a1fe00a5b92407" ] } } ], "siafundOutputs": [ { "value": 10000, "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" } ], "minerFee": "0" } }, { "id": "h:26707ee955165411fbd2b0e444670fc2b728e9275fee71ca8cd0e3d4c7c98037", "index": { "height": 203, "id": "bid:6d37359564b7c36fb55c50f48aab4c2ae7545ce9b93ff1ab2f9511d1f20865b7" }, "timestamp": "2024-06-22T04:22:34Z", "maturityHeight": 203, "type": "v2Transaction", "data": { "siacoinInputs": [ { "parent": { "id": "h:04960b29c57b0417a252f04dd164b4e53ea07aae6561e5534e808ca5f928d325", "leafIndex": 18446744073709551615, "merkleProof": [], "siacoinOutput": { "value": "10400000000000000000000000000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "maturityHeight": 0 }, "satisfiedPolicy": { "policy": "uc(0,[0x999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40],1)", "signatures": [ "sig:4c7958ca899ac442c1b0f3d1ba2960d658920c408cca77f71e96626fd328a356141ffcb048d3dcf41713b447269ad02493f8640e4fbb327160f949582aac8a04" ] } } ], "fileContractResolutions": [ { "parent": { "id": "h:e773d79ce8ed3b5edf11572c3d56cc3908e6c0766479f09d21420df22ca416be", "leafIndex": 423, "merkleProof": [ "h:dec7cb8813aa21ebaec3da1d3a521903305079c382b2e37b1cc8e3c53e66c2db", "h:48476f9fcc42b15359119ee17a9bc3d33b98e54e589fe9baaf6ddab9d8f6f617", "h:14b049a779a996ef3c771669d30517798ef026c95ab5be146cab98dc3854e8cf" ], "v2FileContract": { "filesize": 0, "fileMerkleRoot": "h:0000000000000000000000000000000000000000000000000000000000000000", "proofHeight": 211, "expirationHeight": 221, "renterOutput": { "value": "10000000000000000000000000000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "hostOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "missedHostValue": "0", "totalCollateral": "0", "renterPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "hostPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "revisionNumber": 0, "renterSignature": "sig:db264235ecadc89e63221e4e96347d560754d1f93939120c6d02c96e5207578e64067bd6a4313d9d84de019412d028ba98e182cde342f0cb4ffe1ec3f4783e03", "hostSignature": "sig:db264235ecadc89e63221e4e96347d560754d1f93939120c6d02c96e5207578e64067bd6a4313d9d84de019412d028ba98e182cde342f0cb4ffe1ec3f4783e03" } }, "type": "renewal", "resolution": { "finalRevision": { "filesize": 0, "fileMerkleRoot": "h:0000000000000000000000000000000000000000000000000000000000000000", "proofHeight": 211, "expirationHeight": 221, "renterOutput": { "value": "10000000000000000000000000000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "hostOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "missedHostValue": "0", "totalCollateral": "0", "renterPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "hostPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "revisionNumber": 18446744073709551615, "renterSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "hostSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" }, "newContract": { "filesize": 0, "fileMerkleRoot": "h:0000000000000000000000000000000000000000000000000000000000000000", "proofHeight": 221, "expirationHeight": 231, "renterOutput": { "value": "10000000000000000000000000000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "hostOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "missedHostValue": "0", "totalCollateral": "0", "renterPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "hostPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "revisionNumber": 0, "renterSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "hostSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" }, "renterRollover": "0", "hostRollover": "0", "renterSignature": "sig:984dea37a3897f6287fd04630e0878df5518e4ae95ff1cba7fa72a87b74cc85774306bba8ff563353b2d6bbca50e331f3dcf54eca3b36f14eb01dfdd7c07d00e", "hostSignature": "sig:984dea37a3897f6287fd04630e0878df5518e4ae95ff1cba7fa72a87b74cc85774306bba8ff563353b2d6bbca50e331f3dcf54eca3b36f14eb01dfdd7c07d00e" } } ], "minerFee": "0" } }, { "id": "h:d354cd57b55f6fae6926d2edc36978d5f03a3da3a96c93c9aace57a377efdf1e", "index": { "height": 203, "id": "bid:6d37359564b7c36fb55c50f48aab4c2ae7545ce9b93ff1ab2f9511d1f20865b7" }, "timestamp": "2024-06-22T04:22:34Z", "maturityHeight": 203, "type": "v2Transaction", "data": { "siacoinInputs": [ { "parent": { "id": "h:6aa56534396cbf177a45c7edaf3eb0e9f85dd9fa7419b3818ecbd262e9384374", "leafIndex": 421, "merkleProof": [ "h:7d31531797157a7c9fa43c4a01dca0967a427ac19420d26b0259c39e0658dae7", "h:cab1fad8d5b9a116576db3c0d4e0334005d9ed562e9925e0513c4b2cfc94e9fe", "h:14b049a779a996ef3c771669d30517798ef026c95ab5be146cab98dc3854e8cf" ], "siacoinOutput": { "value": "256394172736732570239334030000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "maturityHeight": 0 }, "satisfiedPolicy": { "policy": "uc(0,[0x999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40],1)", "signatures": [ "sig:1ac1f25080ec675a8992a2174d6c6f068e6660141caccec40c5e95e3ab725e1f0547d57f1715a216f5ac4ccc81786d836d8b6f99e9d936fef31e8565b96b320c" ] } } ], "siacoinOutputs": [ { "value": "10400000000000000000000000000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, { "value": "245994172736732570239334030000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" } ], "minerFee": "0" } }, { "id": "h:c342c0ed99ac9ee0155c17236bac9dbf93663e7ec25944727893b1faf03df30f", "index": { "height": 202, "id": "bid:0ef29ef4cd65042f22da4d70718522490177f3b3e73c525d964c48a46feb6dd7" }, "timestamp": "2024-06-22T04:22:34Z", "maturityHeight": 202, "type": "v2Transaction", "data": { "siacoinInputs": [ { "parent": { "id": "h:877d5b90eb3feb8dedb5de169e0fd5cc1fb1d8663224d1006f03922e868e7e4a", "leafIndex": 395, "merkleProof": [ "h:f7338ec8ac8deee1d952c9134c58f77af74e592ca4921f4d93b4c91a6234ef30", "h:4a0b1a378f07efe0524e1d9b6448f48f616393e827b800fe8d48870cb8ed36aa", "h:efe8bf880371541af10816f960ce3172ab09d8e2885f9087828c764e1670d632", "h:abb482c19f1a14b21033b0b7b8304f685857a4f10d06fb20f172b253657e425b", "h:5dba3a456ed101f794a36e3396e375a88f8050e1a0b28bc2a15f105fbc44762a" ], "siacoinOutput": { "value": "266794172736732570239334030000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "maturityHeight": 0 }, "satisfiedPolicy": { "policy": "uc(0,[0x999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40],1)", "signatures": [ "sig:0a1ccb440df8b484ff402d60819a44a9cd7043e522ad275d9aa3b76171375a104a1cb9f623e677eb58953fe81653c23a0d6ff64d88333b5cedfd4ee54e076600" ] } } ], "siacoinOutputs": [ { "value": "256394172736732570239334030000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" } ], "fileContracts": [ { "filesize": 0, "fileMerkleRoot": "h:0000000000000000000000000000000000000000000000000000000000000000", "proofHeight": 211, "expirationHeight": 221, "renterOutput": { "value": "10000000000000000000000000000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "hostOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "missedHostValue": "0", "totalCollateral": "0", "renterPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "hostPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "revisionNumber": 0, "renterSignature": "sig:db264235ecadc89e63221e4e96347d560754d1f93939120c6d02c96e5207578e64067bd6a4313d9d84de019412d028ba98e182cde342f0cb4ffe1ec3f4783e03", "hostSignature": "sig:db264235ecadc89e63221e4e96347d560754d1f93939120c6d02c96e5207578e64067bd6a4313d9d84de019412d028ba98e182cde342f0cb4ffe1ec3f4783e03" } ], "minerFee": "0" } }, { "id": "h:fc3bf63551d537d56d15a02da5f2ecb5d8de069c41eadf34327bfd8f130bd671", "index": { "height": 191, "id": "bid:4b98626b4d3fb1a9df52918cb9f3812a67ed4b99adcc405a8c06c6d75602be00" }, "timestamp": "2024-06-22T04:22:34Z", "maturityHeight": 191, "type": "v2Transaction", "data": { "siacoinInputs": [ { "parent": { "id": "h:ab6677558d6c344e449fe74677a4709ec689c9620bc73115c3526d04d7dabf2a", "leafIndex": 349, "merkleProof": [ "h:94a176d2c91e7c14eea13f834647222301819bb85ee274f62b7f958663fb5154", "h:812a840fffc713436ba107fc58dbecfaa574f513bf09e391a603df20affd228f", "h:e46b612429e205b58843ad398b1f2dd31b11aebdd2aa0caac40d277905d4ca11", "h:a07408549e147d52e48b112a05bc632a19abc9f57fe2fea30efd945fdd01c49c", "h:56359fa49114d1ffdc14904cfdf9aff1e6f989ba8bc64d6f44218c73932688ec", "h:adffd0f07779af480239a099bcdbee317b3eb38796bbf43db061809d330379ad", "h:14815951f3861d371083dc342435d2017fe360d94b265fd6d9a8c6c4d6e2d048" ], "siacoinOutput": { "value": "277194172736732570239334030000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "maturityHeight": 0 }, "satisfiedPolicy": { "policy": "uc(0,[0x999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40],1)", "signatures": [ "sig:4689ce9f5673bc4d94f6e2da191cad0ca927d8a89b7f2431c428832ae612d37ad64e48c3deb416501dec438b52d704ca4c70ac2094d23c76d4514c85760b7401" ] } } ], "siacoinOutputs": [ { "value": "266794172736732570239334030000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" } ], "fileContracts": [ { "filesize": 0, "fileMerkleRoot": "h:0000000000000000000000000000000000000000000000000000000000000000", "proofHeight": 200, "expirationHeight": 210, "renterOutput": { "value": "10000000000000000000000000000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "hostOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "missedHostValue": "0", "totalCollateral": "0", "renterPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "hostPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "revisionNumber": 0, "renterSignature": "sig:97385f262a2f8db3bd29b072b0ab7cc6dbe01843af09c9010675b3ec7db8a96dd199b3ede4df4ada81d41ca3b5ccb2ad6bfaa01071438ec6fce72e5f18bcd40a", "hostSignature": "sig:97385f262a2f8db3bd29b072b0ab7cc6dbe01843af09c9010675b3ec7db8a96dd199b3ede4df4ada81d41ca3b5ccb2ad6bfaa01071438ec6fce72e5f18bcd40a" } ], "minerFee": "0" } }, { "id": "h:2a1310fac16f79e12b518589b1ea5abfd3c8bd3da623727e5685caf8d6584cbc", "index": { "height": 170, "id": "bid:b3efdb29eb640b5d2e4bdd98a2a6f8c2837fdc54817ce229c522c36f6c75c576" }, "timestamp": "2024-06-22T04:22:34Z", "maturityHeight": 170, "type": "v2Transaction", "data": { "siacoinInputs": [ { "parent": { "id": "h:ac413200b271cf769da46acb0898ed3406a43bb73f4f94659d91065f78dbecd0", "leafIndex": 346, "merkleProof": [ "h:b83ee7a234a6a278cca5348e794354613812946de9832e542780eae9ec636c17", "h:d1e4e9d91faa25f909cdd396ed1ee290770a69a12d666f7452465e2f32937657" ], "siacoinOutput": { "value": "287594172736732570239334030000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "maturityHeight": 0 }, "satisfiedPolicy": { "policy": "uc(0,[0x999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40],1)", "signatures": [ "sig:fb809431f79a1b94e2de6efbd78c1dcc9945ba12fc367f7afb159e3ade8447e5431a3f9ad5c57d08a1643416af94a9530d5a01194dee54a0b209f1ed6eb45c02" ] } } ], "siacoinOutputs": [ { "value": "277194172736732570239334030000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" } ], "fileContracts": [ { "filesize": 0, "fileMerkleRoot": "h:0000000000000000000000000000000000000000000000000000000000000000", "proofHeight": 179, "expirationHeight": 189, "renterOutput": { "value": "10000000000000000000000000000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "hostOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "missedHostValue": "0", "totalCollateral": "0", "renterPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "hostPublicKey": "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40", "revisionNumber": 0, "renterSignature": "sig:a51f56c532f331b8ee9fd9bd3a76c89bed8643f2a60be2d820f168d19c7dae73a737c0eef532b992845af2a4a3bfd4993f01a4b66f42f87366c9e50afa2a820f", "hostSignature": "sig:a51f56c532f331b8ee9fd9bd3a76c89bed8643f2a60be2d820f168d19c7dae73a737c0eef532b992845af2a4a3bfd4993f01a4b66f42f87366c9e50afa2a820f" } ], "minerFee": "0" } }, { "id": "h:bae3d0b8a0934c54090ce546b6b56a079bbfc899900a2b891e44c887da695559", "index": { "height": 169, "id": "bid:747c7e17dd0d5397b9d91f8907750cc01d1cc2b4956008587214670a7fe4afb1" }, "timestamp": "2024-06-22T04:22:34Z", "maturityHeight": 169, "type": "v2Transaction", "data": { "siacoinInputs": [ { "parent": { "id": "h:409a5747120dbddb60bfca705142aeba7c8f940c1739484857667ef65a69379e", "leafIndex": 302, "merkleProof": [ "h:afe2663b5c0f9660c3e11b0a5c31c34a0971ddb5c7ec6d3b6f1fd21b9b70a145", "h:50ed0ed44529a24a0e05eb0d6d07477427950d05c0f235d1d15410a6426c650c", "h:ff1fe1a3ad6966b5fad3a5797a37c594812e92dee0a6d2d78945b2c6a75913b0", "h:f93db49cf7d3894ac3ff569ffdf1095f22cc381217ecda2478f27ce07b555ccf", "h:795ce8a6c379d73bac9f2f2dd55f7b497dd3b335ea9a3a712f10730569e1f90c", "h:10974c113780409ab783dc38ab3277cb07e7209604ec29c0ddd178b32d908ef8" ], "siacoinOutput": { "value": "288594172736732570239334030000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "maturityHeight": 0 }, "satisfiedPolicy": { "policy": "uc(0,[0x999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40],1)", "signatures": [ "sig:d71087be0717a2d4510ef4fbd336957b3de02bec36f919edea1a03cbb92482a60c574e1f1da1397acf43f1348374b9153019ddac145e8b85f8c8cd233ffac30d" ] } } ], "siacoinOutputs": [ { "value": "1000000000000000000000000000", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, { "value": "287594172736732570239334030000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" } ], "minerFee": "0" } }, { "id": "h:069984b5fb252f664fee13888b9e9f7ec310f0fab3285ddf07d5cb7063aad078", "index": { "height": 149, "id": "bid:8cebc0436ccb78df060c0c4a34395368f5648fc644a97b2476a23f09fb680028" }, "timestamp": "2024-06-22T04:22:33Z", "maturityHeight": 149, "type": "v1Transaction", "data": { "transaction": { "siacoinInputs": [ { "parentID": "scoid:b468b83452fac38807af7943337eeef4695c9371b761a0fd8e4433d782b80d72", "unlockConditions": { "timelock": 0, "publicKeys": [ "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40" ], "signaturesRequired": 1 } } ], "siacoinOutputs": [ { "value": "288594172736732570239334030000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" } ], "fileContracts": [ { "filesize": 0, "fileMerkleRoot": "h:0000000000000000000000000000000000000000000000000000000000000000", "windowStart": 158, "windowEnd": 168, "payout": "10405827263267429760665970000", "validProofOutputs": [ { "value": "10000000000000000000000000000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" } ], "missedProofOutputs": [ { "value": "10000000000000000000000000000", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" } ], "unlockHash": "h:0000000000000000000000000000000000000000000000000000000000000000", "revisionNumber": 0 } ], "signatures": [ { "parentID": "h:b468b83452fac38807af7943337eeef4695c9371b761a0fd8e4433d782b80d72", "publicKeyIndex": 0, "coveredFields": { "wholeTransaction": true }, "signature": "OwQ11DxbgVETVX2shCwG1Kc6NpEP3PovLJPlIq0MRsdlzA0rD1Flh98LcNQsqBLTkQZdZGDqVBsvAfELNVZVCw==" } ] }, "spentSiacoinElements": [ { "id": "h:b468b83452fac38807af7943337eeef4695c9371b761a0fd8e4433d782b80d72", "leafIndex": 299, "merkleProof": null, "siacoinOutput": { "value": "299000000000000000000000000000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "maturityHeight": 0 } ], "spentSiafundElements": [] } }, { "id": "h:203c1616574e92afe4081bcaf75d53a4f2f0979b8ed7ece8e3fecf5d3be5cfba", "index": { "height": 148, "id": "bid:39a14960577954ce50d02b9c3ec88c9e0a358cfdc11f9be690cdce816391ae8f" }, "timestamp": "2024-06-22T04:22:33Z", "maturityHeight": 148, "type": "v1Transaction", "data": { "transaction": { "siacoinInputs": [ { "parentID": "scoid:d33175c0dad7df6d047a4ea1507862f157a122e56b7025397bbe5a25de9f1898", "unlockConditions": { "timelock": 0, "publicKeys": [ "ed25519:999594db47cc792d408d26bb05f193b23ad020cb019113c0084a732673752a40" ], "signaturesRequired": 1 } } ], "siacoinOutputs": [ { "value": "1000000000000000000000000000", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, { "value": "299000000000000000000000000000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" } ], "signatures": [ { "parentID": "h:d33175c0dad7df6d047a4ea1507862f157a122e56b7025397bbe5a25de9f1898", "publicKeyIndex": 0, "coveredFields": { "wholeTransaction": true }, "signature": "GCXLgThVtjDutfAv6d34mIGUSRmm+vPX74DgafZIj7axOcnKylvwc2oCiaPboeOCjVd5Pgs1CP3GglfaxbihDw==" } ] }, "spentSiacoinElements": [ { "id": "h:d33175c0dad7df6d047a4ea1507862f157a122e56b7025397bbe5a25de9f1898", "leafIndex": 3, "merkleProof": null, "siacoinOutput": { "value": "300000000000000000000000000000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "maturityHeight": 145 } ], "spentSiafundElements": [] } }, { "id": "h:d33175c0dad7df6d047a4ea1507862f157a122e56b7025397bbe5a25de9f1898", "index": { "height": 1, "id": "bid:f3fcab43b1ac9588d503a2a986fc927f8b6571e9865ddf38c675008ab37b03a8" }, "timestamp": "2024-06-22T04:22:31Z", "maturityHeight": 146, "type": "miner", "data": { "siacoinElement": { "id": "h:d33175c0dad7df6d047a4ea1507862f157a122e56b7025397bbe5a25de9f1898", "leafIndex": 3, "merkleProof": null, "siacoinOutput": { "value": "300000000000000000000000000000", "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" }, "maturityHeight": 145 } } }, { "id": "h:1e390d3fdb4b462c8250cbdfea9f82a2f867a7cf850c14c08fb7fbb650a71486", "index": { "height": 0, "id": "bid:aefb375d7075d783f89130e858609c4da5c61882baca0764f56c925332ca911c" }, "timestamp": "2023-01-13T08:53:20Z", "maturityHeight": 0, "type": "v1Transaction", "data": { "transaction": { "siacoinOutputs": [ { "value": "1000000000000000000000000000000000000", "address": "addr:3d7f707d05f2e0ec7ccc9220ed7c8af3bc560fbee84d068c2cc28151d617899e1ee8bc069946" } ], "siafundOutputs": [ { "value": 10000, "address": "addr:b60ae577113147c4f68d2daa18dfba4af26a4a8f41a6e9d2a208c1afafe56997588cb25a5192" } ] }, "spentSiacoinElements": [], "spentSiafundElements": [] } } ]
Ran into an issue with the UI trying to spend an immature UTXO. I don't believe there's a reason to make the UI filter the UTXO list, so I changed the endpoints to only include matured UTXOs.
This adds a created bool
argument to the (Update).ForEach
methods, allowing callers to identify ephemeral elements by checking for created && spent
(or, in the case of file contracts, created && resolved
.
This is very useful for any callers who care about persistently tracking unspent outputs. Normally, the code for doing so looks like this:
cau.ForEachSiacoinElement(func(sce types.SiacoinElement, spent bool) { if spent { deleteUTXO(sce.ID) } else { insertUTXO(sce) } })
but this is subtly buggy: if the element was ephemeral, spent
will be true, so we'll try to delete it; but since it's ephemeral, it's not in the set, so there's nothing to delete! Whether or not this causes problems depends on how deleteUTXO
is implemented. Specifically, if you assert that an element must exist in order to be deleted, that assert will fail.
To avoid this, we need a way to detect whether an element is ephemeral. chain.DBStore
attempted to do this by checking sce.LeafIndex == types.EphemeralLeafIndex
. However, this doesn't work: ephemeral elements are assigned leaf indices just like regular outputs, so that condition is never satisfied! This eventually lead to a panic: ephemeral outputs within a reverted block would be added to the UTXO set (instead of being ignored), and if a future block references that same output, the DB gets confused and crashes.
Adding a created
flag seemed like the most direct of doing this. Another option would be to always skip the ephemeral elements in the ForEach
methods, and add a new method (or methods) for accessing only the ephemeral elements. This is attractive, since it doesn't break any existing code, and most callers want to skip ephemeral elements anyway. Ultimately, though, I decided against it; it pollutes the namespace, and it's one more thing you "just need to know" in order to use the API properly. Plus it makes the name "ForEach" a lie. Better to keep everything in one place.
- Minor tweak to slab health update to speed it up by making use of indices
- Make sure recording a host scans doesn't abort after 30 seconds when db is under heavy load
- Make sure recording price tables doesn't abort after 30 seconds when db is under heavy load
- Register new price tables in the background, unblocking operations faster and preventing the record operation from being cancelled after a timeout
The sector roots RPC used to return all sector roots, this was fixed in https://github.com/SiaFoundation/hostd/commit/e6dfc96fa0f8aab45ce0c87de0f87ffe477f83a5 and released in https://github.com/SiaFoundation/hostd/releases/tag/v1.0.2-beta.4 . We should ignore the error for old hosts.
Added a few more migrations since they are rather small.
This changes the policy to stringify and parse the unlock key in the v1 format specifier:hex key
. You can currently create a valid PolicyTypeUnlockCondition
using an UnlockKey
without an ed25519 algorithm, but can't reverse it. This doesn't cause any issues since the v2 validation checks will reject it, but it's slightly annoying that a valid serialization can't be reversed.
also: I could be wrong, but I believe v1 treated unlock conditions with unknown key algorithms as, effectively, anyone-can-spend. I'm not sure if it was ever actually seen on-chain, but after the require height any unlock condition that used a different algorithm will no longer be spendable.
Current:
sp := SpendPolicy{PolicyTypeUnlockConditions(UnlockConditions{ Timelock: 0, PublicKeys: []UnlockKey{ { Algorithm: NewSpecifier("blank"), Key: frand.Bytes(40), }, }, SignaturesRequired: 1, })} sp.String() // uc(0,[0x97ef92d4c07713b7a3a0e17000e59a9ef6e27402eaef0b5c9ae5cb0da50a78dd0a04e63d0e78e60d],1)
New:
sp := SpendPolicy{PolicyTypeUnlockConditions(UnlockConditions{ Timelock: 0, PublicKeys: []UnlockKey{ { Algorithm: NewSpecifier("blank"), Key: frand.Bytes(40), }, }, SignaturesRequired: 1, })} sp.String() // uc(0,[blank:97ef92d4c07713b7a3a0e17000e59a9ef6e27402eaef0b5c9ae5cb0da50a78dd0a04e63d0e78e60d],1)
areq
has an alert for unexpected response size (very old host), figured getting rid of the exact math is probably ok, reused maxMerkleProofResponseSize
to avoid duplicating the const
Forces the wallet and address event queries to use the proper index since the query planner did not want to select it automatically. This significantly improves performance for wallets with lots of events.
Bumps the all-dependencies group with 2 updates: go.sia.tech/core and go.sia.tech/coreutils.
Updates go.sia.tech/core
from 0.2.8-0.20240621235715-5054a28dc43d to 0.2.8
Commits
- See full diff in compare view
Updates go.sia.tech/coreutils
from 0.0.6 to 0.0.7
Commits
b818c37
Merge pull request #63 from SiaFoundation/dependabot/go_modules/go.sia.tech/c...c6f47c2
build(deps): bump go.sia.tech/core from 0.2.7 to 0.2.83012a5a
Merge pull request #62 from SiaFoundation/nate/siafund-events04b2041
wallet: combine common event structs, add siafund claim support- 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
@n8maninger noticed a flipped conditional in validateV2FileContracts
; after fixing it, I updated TestValidateV2Block
to update the ChainIndexElement proofs, but the test still failed -- with commitment hash mismatch
, which is a weird error. Further investigation revealed that V2Block.EncodeTo
was mutating the block. Specifically, it was nil
-ing out the V2StorageProof
history proof, which is why this wasn't caught earlier: since the test wasn't updating the proofs in the first place, they were always nil
, so EncodeTo
didn't affect them. Anyway, this cascade of failures has all been fixed now :P
- Fixed a few inaccuracies in the event data types. https://github.com/SiaFoundation/walletd/issues/141
- Wallet events have been updated to use the new types and data format. https://github.com/SiaFoundation/walletd/issues/134
- Fixed an issue where renaming a file would throw an error.
- Fixed an issue where the empty directory state was showing an empty bucket message.
- Added e2e tests for:
- can create directory
- delete directory
- drag and drop target uploads
- upload file within directory
- rename file
- delete a file
- re-upload same file
- navigate up and down directories
- delete bucket with contents, contents first, then bucket
EventV2ContractResolution
is missing the resolution type. Embeds V2FileContractResolution
to get the custom json encoding that includes the extra type
field.
{ "id": "h:0000000000000000000000000000000000000000000000000000000000000000", "index": { "height": 0, "id": "bid:0000000000000000000000000000000000000000000000000000000000000000" }, "timestamp": "0001-01-01T00:00:00Z", "maturityHeight": 0, "type": "v2ContractResolution", "data": { "parent": { "id": "h:0000000000000000000000000000000000000000000000000000000000000000", "leafIndex": 0, "merkleProof": null, "v2FileContract": { "filesize": 0, "fileMerkleRoot": "h:0000000000000000000000000000000000000000000000000000000000000000", "proofHeight": 0, "expirationHeight": 0, "renterOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "hostOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "missedHostValue": "0", "totalCollateral": "0", "renterPublicKey": "ed25519:0000000000000000000000000000000000000000000000000000000000000000", "hostPublicKey": "ed25519:0000000000000000000000000000000000000000000000000000000000000000", "revisionNumber": 0, "renterSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "hostSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } }, "type": "expiration", "resolution": {} } }
{ "id": "h:0000000000000000000000000000000000000000000000000000000000000000", "index": { "height": 0, "id": "bid:0000000000000000000000000000000000000000000000000000000000000000" }, "timestamp": "0001-01-01T00:00:00Z", "maturityHeight": 0, "type": "v2ContractResolution", "data": { "parent": { "id": "h:0000000000000000000000000000000000000000000000000000000000000000", "leafIndex": 0, "merkleProof": null, "v2FileContract": { "filesize": 0, "fileMerkleRoot": "h:0000000000000000000000000000000000000000000000000000000000000000", "proofHeight": 0, "expirationHeight": 0, "renterOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "hostOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "missedHostValue": "0", "totalCollateral": "0", "renterPublicKey": "ed25519:0000000000000000000000000000000000000000000000000000000000000000", "hostPublicKey": "ed25519:0000000000000000000000000000000000000000000000000000000000000000", "revisionNumber": 0, "renterSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "hostSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } }, "type": "finalization", "resolution": { "filesize": 0, "fileMerkleRoot": "h:0000000000000000000000000000000000000000000000000000000000000000", "proofHeight": 0, "expirationHeight": 0, "renterOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "hostOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "missedHostValue": "0", "totalCollateral": "0", "renterPublicKey": "ed25519:0000000000000000000000000000000000000000000000000000000000000000", "hostPublicKey": "ed25519:0000000000000000000000000000000000000000000000000000000000000000", "revisionNumber": 0, "renterSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "hostSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } } }
{ "id": "h:0000000000000000000000000000000000000000000000000000000000000000", "index": { "height": 0, "id": "bid:0000000000000000000000000000000000000000000000000000000000000000" }, "timestamp": "0001-01-01T00:00:00Z", "maturityHeight": 0, "type": "v2ContractResolution", "data": { "parent": { "id": "h:0000000000000000000000000000000000000000000000000000000000000000", "leafIndex": 0, "merkleProof": null, "v2FileContract": { "filesize": 0, "fileMerkleRoot": "h:0000000000000000000000000000000000000000000000000000000000000000", "proofHeight": 0, "expirationHeight": 0, "renterOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "hostOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "missedHostValue": "0", "totalCollateral": "0", "renterPublicKey": "ed25519:0000000000000000000000000000000000000000000000000000000000000000", "hostPublicKey": "ed25519:0000000000000000000000000000000000000000000000000000000000000000", "revisionNumber": 0, "renterSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "hostSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } }, "type": "renewal", "resolution": { "finalRevision": { "filesize": 0, "fileMerkleRoot": "h:0000000000000000000000000000000000000000000000000000000000000000", "proofHeight": 0, "expirationHeight": 0, "renterOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "hostOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "missedHostValue": "0", "totalCollateral": "0", "renterPublicKey": "ed25519:0000000000000000000000000000000000000000000000000000000000000000", "hostPublicKey": "ed25519:0000000000000000000000000000000000000000000000000000000000000000", "revisionNumber": 0, "renterSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "hostSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" }, "newContract": { "filesize": 0, "fileMerkleRoot": "h:0000000000000000000000000000000000000000000000000000000000000000", "proofHeight": 0, "expirationHeight": 0, "renterOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "hostOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "missedHostValue": "0", "totalCollateral": "0", "renterPublicKey": "ed25519:0000000000000000000000000000000000000000000000000000000000000000", "hostPublicKey": "ed25519:0000000000000000000000000000000000000000000000000000000000000000", "revisionNumber": 0, "renterSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "hostSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" }, "renterRollover": "0", "hostRollover": "0", "renterSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "hostSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } } }
{ "id": "h:0000000000000000000000000000000000000000000000000000000000000000", "index": { "height": 0, "id": "bid:0000000000000000000000000000000000000000000000000000000000000000" }, "timestamp": "0001-01-01T00:00:00Z", "maturityHeight": 0, "type": "v2ContractResolution", "data": { "parent": { "id": "h:0000000000000000000000000000000000000000000000000000000000000000", "leafIndex": 0, "merkleProof": null, "v2FileContract": { "filesize": 0, "fileMerkleRoot": "h:0000000000000000000000000000000000000000000000000000000000000000", "proofHeight": 0, "expirationHeight": 0, "renterOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "hostOutput": { "value": "0", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" }, "missedHostValue": "0", "totalCollateral": "0", "renterPublicKey": "ed25519:0000000000000000000000000000000000000000000000000000000000000000", "hostPublicKey": "ed25519:0000000000000000000000000000000000000000000000000000000000000000", "revisionNumber": 0, "renterSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "hostSignature": "sig:00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } }, "type": "storage proof", "resolution": { "proofIndex": { "id": "h:0000000000000000000000000000000000000000000000000000000000000000", "leafIndex": 0, "merkleProof": null, "chainIndex": { "height": 0, "id": "bid:0000000000000000000000000000000000000000000000000000000000000000" } }, "leaf": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "proof": null } } }
Bumps the all-dependencies group with 2 updates: go.sia.tech/core and go.sia.tech/coreutils.
Updates go.sia.tech/core
from 0.2.6 to 0.2.7
Commits
36ea9c7
Merge pull request #170 from SiaFoundation/generic-encoderf64b216
types: Add encoding_test.go261959d
types: Implement generic encoder functionseb021a0
Merge pull request #169 from SiaFoundation/dependabot/go_modules/all-dependen...86747f5
build(deps): bump the all-dependencies group with 2 updatesc0d52ee
group dependencies- See full diff in compare view
Updates go.sia.tech/coreutils
from 0.0.5 to 0.0.6
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
Refactors events to include the original transaction data. This lets external services verify the signatures and other transaction data. The event types and events almost match the ones from coreutils
with the addition of a relevant field
and a different v1 transaction event type so that inflow and outflow can be calculated instead of stored on the event.
Adds two new endpoints and ensures a consistent event structure for confirmed and unconfirmed events.
/api/wallet/:walletID/events/unconfirmed
returns any unconfirmed events related to a wallet/api/addresses/:addr/events/unconfirmed
returns any unconfirmed events related to an address
Event Types:
- miner
- foundation
- siafundClaim
- v1Transaction
- v1ContractResolution
- v2Transaction
- v2ContractResolution
Unconfirmed events will have an index of tip.index.height+1
and an empty id
{ "id": "h:731c8e75212fd850aef9f9b3f0a1373350743dea905966e0c819348e8fc226f1", "index": { "height": 75207, "id": "bid:0000000000000000000000000000000000000000000000000000000000000000" }, "timestamp": "2024-06-13T17:06:54.551676-07:00", "maturityHeight": 75207, "type": "v1Transaction", "data": { "raw": { "siacoinInputs": [ { "parentID": "scoid:e54b12c6a0f11ab3d89944c72df05e463e4e906b966906b266d92a65509d5053", "unlockConditions": { "timelock": 0, "publicKeys": [ "ed25519:0778d0e03c2f1b1e5e42d6f0f580d46587d992ad6381d8cae52b998463e0f633" ], "signaturesRequired": 1 } } ], "siacoinOutputs": [ { "value": "19999996070000000000000000000", "address": "addr:2a95add7cfc95b5c484a787c15b912e491876ca2f39982b62495049520acf798bf2e2cf6c326" }, { "value": "932206165193017337982514690933", "address": "addr:11d68c52e67a800d0ca99867e410cfa9c0c3f5bc1726aa90e88f40b7ad0825c91841904dae10" } ], "minerFees": [ "36000000000000000000000" ], "signatures": [ { "parentID": "h:e54b12c6a0f11ab3d89944c72df05e463e4e906b966906b266d92a65509d5053", "publicKeyIndex": 0, "coveredFields": { "wholeTransaction": true }, "signature": "KzCjMr66ZhzqzyBIHCzewr+9nK5e1B+nSNXexv4j0KEvqb5Vs0laQWBYnn03yUxKForhkPgm7uFCKwAmklT8Cw==" } ] }, "spentSiacoinElements": [ { "id": "h:e54b12c6a0f11ab3d89944c72df05e463e4e906b966906b266d92a65509d5053", "leafIndex": 1423020, "merkleProof": [], "siacoinOutput": { "value": "952206197263017337982514690933", "address": "addr:11d68c52e67a800d0ca99867e410cfa9c0c3f5bc1726aa90e88f40b7ad0825c91841904dae10" }, "maturityHeight": 0 } ], "spentSiafundElements": null }, "relevant": [ "addr:2a95add7cfc95b5c484a787c15b912e491876ca2f39982b62495049520acf798bf2e2cf6c326" ] }
{ "id": "h:084bf558939d7f60bf28be3176f31aea015ee892178d55a1892311be80c60ab4", "index": { "height": 62057, "id": "bid:000000251dbf2b6c8e9c6c53a4be4d5b7a2f70647a5aa98ba1d2d5f2a276bad6" }, "timestamp": "2024-03-26T19:51:58Z", "maturityHeight": 62202, "type": "miner", "data": { "siacoinElement": { "id": "h:084bf558939d7f60bf28be3176f31aea015ee892178d55a1892311be80c60ab4", "leafIndex": 305758, "merkleProof": null, "siacoinOutput": { "value": "2546749203167233134721992", "address": "addr:11d68c52e67a800d0ca99867e410cfa9c0c3f5bc1726aa90e88f40b7ad0825c91841904dae10" }, "maturityHeight": 62201 } } }
{ "id": "h:084bf558939d7f60bf28be3176f31aea015ee892178d55a1892311be80c60ab4", "index": { "height": 62057, "id": "bid:000000251dbf2b6c8e9c6c53a4be4d5b7a2f70647a5aa98ba1d2d5f2a276bad6" }, "timestamp": "2024-03-26T19:51:58Z", "maturityHeight": 62202, "type": "v1ContractResolution", "data": { "fileContract": { "id": "h:0cc01878047a41b37db25bbe4a33be0063c20a172e89886bb15766221ad6aeb6", "leafIndex": 285511, "merkleProof": [],, "fileContract": { "filesize": 3221225472, "fileMerkleRoot": "h:538a633e94e0339fa3553c0ea2f37dba10cd81701cb22e352cacfd6eba4b42b6", "windowStart": 62056, "windowEnd": 62200, "payout": "4123337324945734946756928", "validProofOutputs": [ { "value": "1415777966105618149114936", "address": "addr:7838f42a584f7247d4bc9d85e985fa1bbc42a0c55e942cc31204be7f9959091ceb62e4824eee" }, { "value": "2546749203167233134721992", "address": "addr:11d68c52e67a800d0ca99867e410cfa9c0c3f5bc1726aa90e88f40b7ad0825c91841904dae10" } ], "missedProofOutputs": [ { "value": "1415777966105618149114936", "address": "addr:7838f42a584f7247d4bc9d85e985fa1bbc42a0c55e942cc31204be7f9959091ceb62e4824eee" }, { "value": "2211527439234234844347336", "address": "addr:11d68c52e67a800d0ca99867e410cfa9c0c3f5bc1726aa90e88f40b7ad0825c91841904dae10" }, { "value": "335221763932998290374656", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" } ], "unlockHash": "h:15d57447a0db498c01f1643d04ae626629fa79013dd68b11f7fa06e2ba6d4160", "revisionNumber": 873 } }, "siacoinElement": { "id": "h:084bf558939d7f60bf28be3176f31aea015ee892178d55a1892311be80c60ab4", "leafIndex": 305758, "merkleProof": null, "siacoinOutput": { "value": "2546749203167233134721992", "address": "addr:11d68c52e67a800d0ca99867e410cfa9c0c3f5bc1726aa90e88f40b7ad0825c91841904dae10" }, "maturityHeight": 62201 }, "missed": false } }
The value should be calculated using event.siacoinElement.siacoinOutput.value
{ "id": "h:56dd0953f4a217fcb5bfae7927cbb7b08424cde3dcd1b47248fa09cb04e9f607", "index": { "height": 75191, "id": "bid:00000000d1cd5be659e21c9624cf58bcc1b69c08bee5ca85b8e5f5e5a9b94f86" }, "timestamp": "2024-06-13T21:01:25Z", "maturityHeight": 75191, "type": "v1Transaction", "data": { "raw": { "siacoinInputs": [ { "parentID": "scoid:cd6b3d83888ddca8a99b6860bf34b69f8346c7d6a7c8256a5e20492d755014e3", "unlockConditions": { "timelock": 0, "publicKeys": [ "ed25519:745229eecd616452608dfc4c136cbb712aae0221c505fd21344cbaff02408654" ], "signaturesRequired": 1 } }, ], "siacoinOutputs": [ { "value": "16603618098633177701291326236", "address": "addr:c6a179d96cc82f7814acd638c41250422205e8ed130c8d65481a3e15c30aaa195a8659547b0f" }, ], "fileContracts": [ { "filesize": 1623455694848, "fileMerkleRoot": "h:5a0b3f23bb7005c3f3cf0e391b1754ca2b78f4d0bd1a0c62c07552bdaa34af9b", "windowStart": 77206, "windowEnd": 77350, "payout": "6527511983870317298497483904", "validProofOutputs": [ { "value": "5294306986854930764839779264", "address": "addr:c6a179d96cc82f7814acd638c41250422205e8ed130c8d65481a3e15c30aaa195a8659547b0f" }, { "value": "978632029644444159016304640", "address": "addr:11d68c52e67a800d0ca99867e410cfa9c0c3f5bc1726aa90e88f40b7ad0825c91841904dae10" } ], "missedProofOutputs": [ { "value": "5294306986854930764839779264", "address": "addr:c6a179d96cc82f7814acd638c41250422205e8ed130c8d65481a3e15c30aaa195a8659547b0f" }, { "value": "775417498778363966804983808", "address": "addr:11d68c52e67a800d0ca99867e410cfa9c0c3f5bc1726aa90e88f40b7ad0825c91841904dae10" }, { "value": "203214530866080192211320832", "address": "addr:000000000000000000000000000000000000000000000000000000000000000089eb0d6a8a69" } ], "unlockHash": "h:54ecb4a10f7cffc1b89dcab6fef0887e6d83a86619faec9048fc27e36615d9a1", "revisionNumber": 0 } ], "fileContractRevisions": [ { "parentID": "fcid:5bda1c141daeb490689267736a8e9814f063009252b0da874b024f566b1213ec", "unlockConditions": { "timelock": 0, "publicKeys": [ "ed25519:367b5e02363065999e175326d77f93f9bcfff5437ba8b0348209b8b34cc85dea", "ed25519:04e326a61076ca088cf5a9ea93eefcbb1fea144575b0c5dc1d02f7a298d4b816" ], "signaturesRequired": 2 }, "filesize": 0, "fileMerkleRoot": "h:0000000000000000000000000000000000000000000000000000000000000000", "windowStart": 76198, "windowEnd": 76342, "payout": "340282366920938463463374607431768211455", "validProofOutputs": [ { "value": "5255684964149517545928885024", "address": "addr:c6a179d96cc82f7814acd638c41250422205e8ed130c8d65481a3e15c30aaa195a8659547b0f" }, { "value": "959591735219963162430677956", "address": "addr:11d68c52e67a800d0ca99867e410cfa9c0c3f5bc1726aa90e88f40b7ad0825c91841904dae10" } ], "missedProofOutputs": [ { "value": "5255684964149517545928885024", "address": "addr:c6a179d96cc82f7814acd638c41250422205e8ed130c8d65481a3e15c30aaa195a8659547b0f" }, { "value": "959591735219963162430677956", "address": "addr:11d68c52e67a800d0ca99867e410cfa9c0c3f5bc1726aa90e88f40b7ad0825c91841904dae10" } ], "unlockHash": "h:54ecb4a10f7cffc1b89dcab6fef0887e6d83a86619faec9048fc27e36615d9a1", "revisionNumber": 18446744073709552000 } ], "minerFees": [ "122880000000000000000000" ], "signatures": [ { "parentID": "h:5bda1c141daeb490689267736a8e9814f063009252b0da874b024f566b1213ec", "publicKeyIndex": 0, "coveredFields": { "fileContracts": [ 0 ], "fileContractRevisions": [ 0 ] }, "signature": "0cCUX6CpD1LwejSV4yuGGxgdPPpXfvh0n6IQWwMHBT1sBpSUJ2S4zbQ63+qhlWygHA00D0OGTsfevmjBib8BBw==" } ] }, "spentSiacoinElements": [ { "id": "h:cd6b3d83888ddca8a99b6860bf34b69f8346c7d6a7c8256a5e20492d755014e3", "leafIndex": 1422177, "merkleProof": null, "siacoinOutput": { "value": "1311143590699235482074695625", "address": "addr:c6a179d96cc82f7814acd638c41250422205e8ed130c8d65481a3e15c30aaa195a8659547b0f" }, "maturityHeight": 0 } ], "spentSiafundElements": [] } }
The outflow should be calculated by summing the relevant siacoinElements in event.spentSiacoinElements
. The inflow should be calculate by summing the relevant event.transaction.siacoinOutputs
. The value is inflow-outflow
- The pin max collateral switch is now visible in basic view mode. https://github.com/SiaFoundation/hostd/issues/417
Fuzz decoding of SpendPolicy which is probably has the most complicated decoding logic of all the types. I have been running for ~30 minutes and coverage has not flatlined yet.
Run with:
$ go test -fuzz FuzzSpendPolicy ./types
- The change address in the test was not for the same wallet
- Migrate walletd e2e tests from mocked API tests to live fixtures.
- Updated tests for creating wallet, recovering wallet, viewing txns, sending siacoin, generating addresses, rescanning.
Adds a command to configure a walletd
node similar to hostd
and renterd
.
Adds a new endpoint /api/events/:id
to get an event by its ID. This is primarily only useful when running in full index mode to lookup arbitrary transactions.
Adds EncodeSlice
, EncodeSliceCast
, EncodeSliceFn
, and their decoder counterparts, as well as Cast
methods for increased type safety. This makes most encoding methods more succinct, but the real motivation was that it allows us to centralized the handling of malicious slice lengths (see discussion on #166). I will grudgingly admit that generics solved a real problem here. 😝
I'm not crazy about the API; it would be nicer if we could somehow unify these three functions, and if we could ditch the Cast
methods. I explored replacing EncodeSliceFn
with a BasicEncodable
type (wrapping uint64
, bool
, etc.), but it was kinda gross, requiring a run-time type-switch on every encode call.
I ran one manual benchmark to see whether this had a big performance impact, and it looked ok. We should benchmark it more thoroughly though.
Increases the scanning batch size from 64 to 1000
Bumps the all-dependencies group with 2 updates: golang.org/x/crypto and golang.org/x/sys.
Updates golang.org/x/crypto
from 0.23.0 to 0.24.0
Commits
332fd65
go.mod: update golang.org/x dependencies0b431c7
x509roots/fallback: update bundle349231f
ssh: implement CryptoPublicKey on sk keys44c9b0f
ssh: allow server auth callbacks to send additional banners67b1361
sha3: reenable s390x assembly477a5b4
sha3: make APIs usable with zero allocations59b5a86
sha3: disable s390x assembly10f366e
sha3: simplify XOR functions- See full diff in compare view
Updates golang.org/x/sys
from 0.20.0 to 0.21.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
Bumps the all-dependencies group with 3 updates: go.sia.tech/core, go.sia.tech/coreutils and golang.org/x/term.
Updates go.sia.tech/core
from 0.2.5 to 0.2.6
Commits
c89664e
Merge pull request #166 from SiaFoundation/nate/clear-decoder-buffer5c81d31
ci: upgrade workflows76c8780
ci: fix golangci-lint, fix linter errors223630e
upgrade Gob6076d9
internal: drain channel when stopping timer (#165)9d2a157
consensus: lint suggestions9ec8e49
types: clear decoder buffer when read encounters an error31a155d
gateway: revert memory reuse- See full diff in compare view
Updates go.sia.tech/coreutils
from 0.0.5-0.20240531191724-1de8f76a2179 to 0.0.5
Commits
- See full diff in compare view
Updates golang.org/x/term
from 0.20.0 to 0.21.0
Commits
5f0bb72
go.mod: update golang.org/x dependencies- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major version
will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor version
will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>
will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>
will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>
will remove the ignore condition of the specified dependency and ignore conditions
Bumps golang.org/x/sys from 0.20.0 to 0.21.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 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)
Bumps golang.org/x/crypto from 0.23.0 to 0.24.0.
Commits
332fd65
go.mod: update golang.org/x dependencies0b431c7
x509roots/fallback: update bundle349231f
ssh: implement CryptoPublicKey on sk keys44c9b0f
ssh: allow server auth callbacks to send additional banners67b1361
sha3: reenable s390x assembly477a5b4
sha3: make APIs usable with zero allocations59b5a86
sha3: disable s390x assembly10f366e
sha3: simplify XOR functions- 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 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)
Fixes the following error on hostd
when renterd
trims sectors for large contracts:
failed to commit contract modifications: transaction failed (attempt 1): failed to trim sectors: failed to delete contract sector roots: failed to delete contract sector roots: too many SQL variables
renterd
's batch size when trimming is 500000 sectors while the SQLite query parameter limit is around 32000. This change is negligibly slower (~2 microseconds per sector)
Before
BenchmarkTrimSectors-10 189414 91529 ns/op 189414 sectors 8892 B/op 207 allocs/op
PASS
ok go.sia.tech/hostd/persist/sqlite 115.901s
After
BenchmarkTrimSectors-10 179298 94208 ns/op 179298 sectors 9768 B/op 252 allocs/op
PASS
ok go.sia.tech/hostd/persist/sqlite 102.815s
Ensures the decoder's buffer is cleared when Read
encounters an error. This should fix OOM issues we're seeing when syncing Mainnet. It may also fix https://github.com/SiaFoundation/hostd/issues/406, but I haven't looked deep into that one yet.
I'm not entirely sure that we need to do it per se in these three instances but in the context of the memory leaks we're seeing I think it's good practice to drain the timer channel when stopping them.
Arequipa is receiving large merkle proof responses from then hosts. Some 40MB+ in size. A slow host can't transmit that data within 60 seconds so I increased it to 5 minutes.
Something crashed Arequipa by returning a huge OutputLength
. 10MiB should be plenty.
(note: confirmed this fixes memory leak on my node)
Bumps github.com/cloudflare/cloudflare-go from 0.95.0 to 0.96.0.
Release notes
Sourced from github.com/cloudflare/cloudflare-go's releases.
v0.96.0
ENHANCEMENTS:
- access_application: Add Refresh Token, Custom Claims, and PKCE Without Client Secret support for OIDC SaaS configurations (#1981)
- ruleset: add support for action parameters
fonts
anddisable_rum
(#1832)DEPENDENCIES:
Changelog
Sourced from github.com/cloudflare/cloudflare-go's changelog.
0.96.0 (May 22nd, 2024)
ENHANCEMENTS:
- access_application: Add Refresh Token, Custom Claims, and PKCE Without Client Secret support for OIDC SaaS configurations (#1981)
- ruleset: add support for action parameters
fonts
anddisable_rum
(#1832)DEPENDENCIES:
Commits
d42a325
Update CHANGELOG.mdd721453
generate changelog4797123
update changelog entry1ac00e6
Merge pull request #1993 from cloudflare/dependabot/go_modules/github.com/has...ff5f7b2
Merge pull request #1992 from cloudflare/dependabot/github_actions/goreleaser...e6afc1b
Merge pull request #1991 from cloudflare/dependabot/github_actions/bflad/acti...0855862
add CHANGELOG for #1993cc1c6ba
build(deps): bump github.com/hashicorp/go-retryablehttp9646800
add CHANGELOG for #1992a3a9457
add CHANGELOG for #1991- 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 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)
While unlikely, if longQueryDuration
is set to 0
or Prepare
takes a long time,, Prepare
will not return an error.
Fixes an issue where sector migrations were not being counted towards the global write stats
Bumps go.sia.tech/web/walletd from 0.20.0 to 0.21.0.
Release notes
Sourced from go.sia.tech/web/walletd's releases.
[email protected]
Minor Changes
- 0a0bab05: The connect to peer dialog now supports IPv6 addresses. Closes SiaFoundation/web#624
Patch Changes
- e43d0d4e: Unconfirmed transactions rows now show their siacoin amount and fees. Closes SiaFoundation/walletd#123
Commits
56d6fe5
chore: release packagesb6505a6
fix: privacy settings host map, daemon version formatting0ba9281
feat: renterd health partial slabb8a5a3b
fix: renterd gpu, map colors73e7297
fix: alertsbcc1485
feat: renterd autopilot and not enough contract onboarding8da5666
fix: move connectivity/login off consensus8b69b77
feat: failed to migrate slab alert objects1ed477f
fix: renterd state, show build version2e77e9c
fix: hostd error alert- 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 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)
This went undetected because we haven't properly tested v2 storage proofs. Notably, we had a TestStorageProofRoot
test, but it was basically just a regression test -- it compared the output to whatever storageProofRoot
returned the first time we ran the test, so it didn't detect the faulty logic.
Removes the eventData
interface and the custom json encoding in favor of a field on the Event struct. This does remove the limited guarantees we have about the data aligning with the type, but in practice its not a significant enough downside to justify the custom marshalling.
@alexfreska this will break the UI... Again.. Actually, it will not
{ "id": "h:a0f44763dbb2d2f95eec0f20f18bda75e7026297b6172f73449f3c3d67c2099c", "index": { "height": 997, "id": "bid:000000004d7b155547e163ea4933c28cf2171c43c0c02e50c04f6718f6af37f0" }, "timestamp": "2023-01-16T02:06:49Z", "maturityHeight": 997, "relevant": null, "type": "transaction", "data": { "siacoinInputs": [ { "id": "h:35b81e41f594d7faeb88bd8eaac2eaa68ce99fe1c8fe5f0cba8fafa65ab3a70e", "leafIndex": 0, "merkleProof": null, "siacoinOutput": { "value": "1000000000000000000000000000000000000", "address": "addr:3d7f707d05f2e0ec7ccc9220ed7c8af3bc560fbee84d068c2cc28151d617899e1ee8bc069946" }, "maturityHeight": 0 } ], "siacoinOutputs": [ { "id": "h:674c765a9708e24528549c2ecf9c6cc99501a1d4909b9aa18ec64f14bccfef41", "leafIndex": 2133, "merkleProof": null, "siacoinOutput": { "value": "100000000000022500000000000000000000", "address": "addr:70cd9249053dc5d575aa74385a730fbe16b1c7997ddadc37a5d9abc8dbf12017cbd4bb3c48da" }, "maturityHeight": 0 }, { "id": "h:4e4dc8a4b2147ba5783d803e645be14c54f1276f45a76c1cad060e41ded3733f", "leafIndex": 2134, "merkleProof": null, "siacoinOutput": { "value": "899999999999977500000000000000000000", "address": "addr:6f2ff24633525e854d0106031daf6cc666d5b8610ff9fbbd676a1d1a95903c794e054de7a634" }, "maturityHeight": 0 } ], "siafundInputs": [], "siafundOutputs": [], "fileContracts": null, "v2FileContracts": null, "hostAnnouncements": null, "fee": "0" } }
This PR expands test coverage in merkle to 95.1% and overall consensus coverage to 76.2% Now that we have the coverage for DecodeFrom and EncodeTo I'm planning to add a roundtrip later, assuming you find such tests to be valuable.
Adds support for a yaml configuration file similar to hostd
and renterd
.
directory: /etc/walletd autoOpenWebUI: true http: address: :9980 password: sia is cool consensus: network: mainnet gatewayAddress: :9981 bootstrap: false enableUPnP: false index: mode: partial # full, partial, none (full index will index the entire blockchain, partial will only index addresses that are registered in the wallet, none will treat the database as read-only and not index any new data) batchSize: 64 # max number of blocks to index at a time (increasing this will increase scan speed, but also increase memory and cpu usage) log: level: info # global log level stdout: enabled: true # enable logging to stdout level: debug # override the global log level for stdout enableANSI: false format: human # human or JSON file: enabled: true # enable logging to a file level: debug # override the global log level for the file path: /var/log/walletd.log format: json # human or JSON
This PR expands test coverage in policy.go
to 86.5% and overall types
coverage to 59.7%
Fixes a small race introduced when the handling of tpool utxos changed
Bumps github.com/cloudflare/cloudflare-go from 0.94.0 to 0.95.0.
Release notes
Sourced from github.com/cloudflare/cloudflare-go's releases.
v0.95.0
ENHANCEMENTS:
- access_application: add support for
policies
array (#1956)- access_application: add support for
scim_config
(#1921)- access_policy: add support for reusable policies (#1956)
- dlp: add support for zt risk behavior configuration (#1887)
BUG FIXES:
- access_application: fix scim configuration authentication json marshalling (#1959)
DEPENDENCIES:
- deps: bumps dependabot/fetch-metadata from 2.0.0 to 2.1.0 (#1839)
- deps: bumps github.com/urfave/cli/v2 from 2.27.1 to 2.27.2 (#1861)
- deps: bumps golang.org/x/net from 0.24.0 to 0.25.0 (#1974)
- deps: bumps golangci/golangci-lint-action from 4 to 5 (#1845)
- deps: bumps golangci/golangci-lint-action from 5 to 6 (#1975)
Changelog
Sourced from github.com/cloudflare/cloudflare-go's changelog.
0.95.0 (May 8th, 2024)
ENHANCEMENTS:
- access_application: add support for
policies
array (#1956)- access_application: add support for
scim_config
(#1921)- access_policy: add support for reusable policies (#1956)
- dlp: add support for zt risk behavior configuration (#1887)
BUG FIXES:
- access_application: fix scim configuration authentication json marshalling (#1959)
DEPENDENCIES:
- deps: bumps dependabot/fetch-metadata from 2.0.0 to 2.1.0 (#1839)
- deps: bumps github.com/urfave/cli/v2 from 2.27.1 to 2.27.2 (#1861)
- deps: bumps golang.org/x/net from 0.24.0 to 0.25.0 (#1974)
- deps: bumps golangci/golangci-lint-action from 4 to 5 (#1845)
- deps: bumps golangci/golangci-lint-action from 5 to 6 (#1975)
Commits
4788db7
Update CHANGELOG.md3f615f5
update CHANGELOGd4a7f8d
Merge pull request #1975 from cloudflare/dependabot/github_actions/golangci/g...a1fda3a
Merge branch 'master' into dependabot/github_actions/golangci/golangci-lint-a...0026065
Merge pull request #1974 from cloudflare/dependabot/go_modules/golang.org/x/n...04c2ceb
add CHANGELOG for #1975e3ab1b2
build(deps): bump golangci/golangci-lint-action from 5 to 6be510c4
add CHANGELOG for #1974e35c25d
build(deps): bump golang.org/x/net from 0.24.0 to 0.25.0a8e30d4
Merge pull request #1959 from khiller-cf/master- 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 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)
Bumps golang.org/x/sys from 0.19.0 to 0.20.0.
Commits
7d69d98
unix: extend support for z/OS7758090
cpu: add support for sve2 detection9a28524
windows: drop go version tags for unsupported versions27dc90b
unix: update to Linux kernel 6.4- 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 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)
Bumps golang.org/x/crypto from 0.22.0 to 0.23.0.
Commits
905d78a
go.mod: update golang.org/x dependenciesebb717d
ssh: validate key type in SSH_MSG_USERAUTH_PK_OK response0da2a6a
openpgp: fix function name in comment5defcc1
sha3: fix Sum results for SHAKE functions on s390x- 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 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)
480,757 block height
85,508 online hosts
504 active hosts
6.93 PB total storage
1.40 PB used storage
3,002 M total registry
41 M used registry
20,995 commits
71 contributors
469 forks
43 releases