Activity

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

Jun 18, 2024

Not really a fix but better safe than sorry

Jun 18, 2024

Probably got lost in a merge somewhere, but we should definitely only broadcast the update when we're synced or otherwise a fresh start is horrible.

Jun 18, 2024

Seems like our unit test was missing a case

Jun 18, 2024
Jun 18, 2024

Bumps the all-dependencies group with 4 updates: go.sia.tech/core, go.sia.tech/coreutils, gorm.io/driver/mysql and gorm.io/driver/sqlite.

Updates go.sia.tech/core from 0.2.6 to 0.2.7

Commits
  • 36ea9c7 Merge pull request #170 from SiaFoundation/generic-encoder
  • f64b216 types: Add encoding_test.go
  • 261959d types: Implement generic encoder functions
  • eb021a0 Merge pull request #169 from SiaFoundation/dependabot/go_modules/all-dependen...
  • 86747f5 build(deps): bump the all-dependencies group with 2 updates
  • c0d52ee group dependencies
  • See full diff in compare view

Updates go.sia.tech/coreutils from 0.0.5 to 0.0.6

Commits
  • 83105c6 Merge pull request #61 from SiaFoundation/nate/update-core
  • 4f2d2b1 go.mod: update core dependency
  • 1ac89c8 Merge pull request #60 from SiaFoundation/dependabot/go_modules/golang.org/x/...
  • a0d3ed3 build(deps): bump golang.org/x/crypto from 0.23.0 to 0.24.0
  • See full diff in compare view

Updates gorm.io/driver/mysql from 1.5.6 to 1.5.7

Commits

Updates gorm.io/driver/sqlite from 1.5.5 to 1.5.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
Jun 18, 2024
Jun 18, 2024

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-encoder
  • f64b216 types: Add encoding_test.go
  • 261959d types: Implement generic encoder functions
  • eb021a0 Merge pull request #169 from SiaFoundation/dependabot/go_modules/all-dependen...
  • 86747f5 build(deps): bump the all-dependencies group with 2 updates
  • c0d52ee group dependencies
  • See full diff in compare view

Updates go.sia.tech/coreutils from 0.0.5 to 0.0.6

Commits
  • 83105c6 Merge pull request #61 from SiaFoundation/nate/update-core
  • 4f2d2b1 go.mod: update core dependency
  • 1ac89c8 Merge pull request #60 from SiaFoundation/dependabot/go_modules/golang.org/x/...
  • a0d3ed3 build(deps): bump golang.org/x/crypto from 0.23.0 to 0.24.0
  • See full diff in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions
Jun 17, 2024

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

Jun 17, 2024
Jun 17, 2024
Jun 17, 2024
Jun 17, 2024

Turns out on nodes like gompa archiving 200 contracts in a single transaction is a bit too much to handle for MySQL. Especially when the contracts are large due to the cascade delete happening. It will try to archive 200 contracts over a very long time, fail and then the contracts never actually get archived. This way it still takes a while but it makes steady progress.

Jun 17, 2024
Jun 17, 2024

I'll get rid of the dbContractPruneMetric type when I migrate PruneMetrics.

Jun 15, 2024
Jun 15, 2024

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
Jun 14, 2024
  • The change address in the test was not for the same wallet
Jun 13, 2024

Unfortunately this PR doesn't yet get rid of the dbAllowlist and dbBlocklist types. That's because updateBlocklist is still using them and it probably doesn't make sense to update that before merging its-happening.

Jun 13, 2024

Little something I missed while testing the worker cache. Increasing the max memory from 1GB to 6GB on my server got me from 30M to 50M per second on a single download.

Jun 13, 2024
Jun 13, 2024
Jun 12, 2024

Fixes #399

Jun 12, 2024
  • 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.
Jun 12, 2024

Adds a command to configure a walletd node similar to hostd and renterd.

Jun 12, 2024
Jun 12, 2024

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.

Jun 12, 2024
Jun 12, 2024

Tweaked the alpha in TestScoredHostsRandSelectByScore, hopefully we don't ever have to look at it again now. Failed with 50476 49524 9.06304.

Jun 11, 2024

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.

Jun 11, 2024
Jun 11, 2024
Jun 11, 2024
Jun 10, 2024
  • Test hostd config behaviours: saving, re-announce warning, basic vs advanced view, auto vs manual max collateral.
  • Test renterd config behaviours: saving, spending estimates, basic vs advanced view, auto vs manual allowance, system recommendations.
  • renterd-e2e and hostd-e2e setup, fixtures, and configuration for running against daemon.
Jun 10, 2024

Increases the scanning batch size from 64 to 1000

Jun 10, 2024
Jun 10, 2024

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 dependencies
  • 0b431c7 x509roots/fallback: update bundle
  • 349231f ssh: implement CryptoPublicKey on sk keys
  • 44c9b0f ssh: allow server auth callbacks to send additional banners
  • 67b1361 sha3: reenable s390x assembly
  • 477a5b4 sha3: make APIs usable with zero allocations
  • 59b5a86 sha3: disable s390x assembly
  • 10f366e sha3: simplify XOR functions
  • See full diff in compare view

Updates golang.org/x/sys from 0.20.0 to 0.21.0

Commits
  • 673e0f9 unix: skip ethtool driver test for busy interface
  • 6943ab6 unix/linux: update glibc to 2.39
  • 92f3ad6 unix: update to Linux kernel 6.9
  • f34bb9f windows: add net user enum
  • 6dfb94e unix: add types for SOCK_DIAG
  • 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
Jun 10, 2024

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-buffer
  • 5c81d31 ci: upgrade workflows
  • 76c8780 ci: fix golangci-lint, fix linter errors
  • 223630e upgrade Go
  • b6076d9 internal: drain channel when stopping timer (#165)
  • 9d2a157 consensus: lint suggestions
  • 9ec8e49 types: clear decoder buffer when read encounters an error
  • 31a155d 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

Updates golang.org/x/term 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
Jun 10, 2024
Jun 10, 2024
Jun 10, 2024

Bumps golang.org/x/sys from 0.20.0 to 0.21.0.

Commits
  • 673e0f9 unix: skip ethtool driver test for busy interface
  • 6943ab6 unix/linux: update glibc to 2.39
  • 92f3ad6 unix: update to Linux kernel 6.9
  • f34bb9f windows: add net user enum
  • 6dfb94e unix: add types for SOCK_DIAG
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Jun 10, 2024

Bumps golang.org/x/crypto from 0.23.0 to 0.24.0.

Commits
  • 332fd65 go.mod: update golang.org/x dependencies
  • 0b431c7 x509roots/fallback: update bundle
  • 349231f ssh: implement CryptoPublicKey on sk keys
  • 44c9b0f ssh: allow server auth callbacks to send additional banners
  • 67b1361 sha3: reenable s390x assembly
  • 477a5b4 sha3: make APIs usable with zero allocations
  • 59b5a86 sha3: disable s390x assembly
  • 10f366e sha3: simplify XOR functions
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Jun 10, 2024
Jun 10, 2024
Jun 10, 2024

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
Jun 10, 2024

Bumps the all-dependencies group with 4 updates: github.com/minio/minio-go/v7, golang.org/x/crypto, golang.org/x/sys and golang.org/x/term.

Updates github.com/minio/minio-go/v7 from 7.0.70 to 7.0.71

Release notes

Sourced from github.com/minio/minio-go/v7's releases.

Bugfix Release

What's Changed

Full Changelog: https://github.com/minio/minio-go/compare/v7.0.70...v7.0.71

Commits

Updates golang.org/x/crypto from 0.23.0 to 0.24.0

Commits
  • 332fd65 go.mod: update golang.org/x dependencies
  • 0b431c7 x509roots/fallback: update bundle
  • 349231f ssh: implement CryptoPublicKey on sk keys
  • 44c9b0f ssh: allow server auth callbacks to send additional banners
  • 67b1361 sha3: reenable s390x assembly
  • 477a5b4 sha3: make APIs usable with zero allocations
  • 59b5a86 sha3: disable s390x assembly
  • 10f366e sha3: simplify XOR functions
  • See full diff in compare view

Updates golang.org/x/sys from 0.20.0 to 0.21.0

Commits
  • 673e0f9 unix: skip ethtool driver test for busy interface
  • 6943ab6 unix/linux: update glibc to 2.39
  • 92f3ad6 unix: update to Linux kernel 6.9
  • f34bb9f windows: add net user enum
  • 6dfb94e unix: add types for SOCK_DIAG
  • See full diff in compare view

Updates golang.org/x/term 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
Jun 7, 2024

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.

Jun 7, 2024
Jun 7, 2024
Jun 7, 2024
Jun 7, 2024

I noticed on Arequipa that sometimes after a reboot 6 or so contracts are added to the set which before failed to refresh. That is a result of the refresh failures not being persisted.

That reminded me that we probably don't want to forgive a failed refresh if a contract wasn't in the set to begin with since it will only increase churn if it causes another contract to be pushed out of the set for the next 6 hours instead.

Jun 7, 2024

With this update Arequipa has been pruning all night without producing any "EOF" alerts. That's because the responses become small enough so that the host doesn't close the connection.

1000 roots per batch is significantly smaller than the 500k we had before but the roundabout with hostd should be fast enough to not cause too much of a slowdown. It's also a lot better for hostd's db since it won't have to commit as many changes at once.

Jun 7, 2024

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.

Jun 6, 2024

I updated renterd to suggest MySQL for production usage, in my opinion making a distinction between small/personal nodes and anything else confuses people. It's also kind of annoying because if you turn your 10TB node into a 100TB node you'll have to migrate databases. I know SQLite works perfectly fine up until 50TB+ even but since MySQL performs better we might as well suggest it for usage in production?

Extending docs with MySQL setup guides can be tracked here https://github.com/SiaFoundation/docs/issues/77 - I don't think we need to add that to renterd's README.

Jun 5, 2024

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.

Jun 5, 2024

This PR merges in dev so its-happening is finally up-to-date and all PRs against it unblocked. There's really not that much to focus on except for the consensus update notification being broadcasted by the subscriber. I only do that if we're "synced". I'm considering to clean that up a bit though, now it's very much make-it-work.

I do think the subscriber is the one that should be broadcasting that event. I think it's rather annoying though that the definition of "synced" is now a bit scattered.

Jun 4, 2024
  • Fixed an issue where the transaction information would not show in the dialog.
Jun 4, 2024

This PR is an intermediate step into cleanly getting dev merged into its-happening. This is currently a little awkward because we introduced events in dev which relies on consensus changes... Merging it into its-happening requires a little reshuffle because of that.

I moved the subscriber to the internal package, and to avoid confusion I moved all (old) internal/node code into host.go because a) that will soon disappear anyway and b) we only need it to create test hosts. The idea is to give the subscriber the same events broadcaster as we do the bus, so the subscriber can notify us when consensus updates and the bus can notify us about everything else.

I also moved the syncer in an attempt to clean up the bus constructor, not quite there yet though but figured I'd push this to avoid bloating the PR too much.

Jun 1, 2024
May 31, 2024
May 30, 2024

Something crashed Arequipa by returning a huge OutputLength. 10MiB should be plenty.

May 30, 2024

(note: confirmed this fixes memory leak on my node)

May 28, 2024

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 and disable_rum (#1832)

DEPENDENCIES:

  • deps: bumps bflad/action-milestone-comment from 1 to 2 (#1991)
  • deps: bumps github.com/hashicorp/go-retryablehttp from 0.7.5 to 0.7.6 (#1993)
  • deps: bumps goreleaser/goreleaser-action from 5.0.0 to 5.1.0 (#1992)
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 and disable_rum (#1832)

DEPENDENCIES:

  • deps: bumps bflad/action-milestone-comment from 1 to 2 (#1991)
  • deps: bumps github.com/hashicorp/go-retryablehttp from 0.7.5 to 0.7.6 (#1993)
  • deps: bumps goreleaser/goreleaser-action from 5.0.0 to 5.1.0 (#1992)
Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
May 22, 2024

While unlikely, if longQueryDuration is set to 0 or Prepare takes a long time,, Prepare will not return an error.

May 21, 2024

Fixes an issue where sector migrations were not being counted towards the global write stats

May 20, 2024

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.

walletd@0.21.0

Minor Changes

Patch Changes

Commits
  • 56d6fe5 chore: release packages
  • b6505a6 fix: privacy settings host map, daemon version formatting
  • 0ba9281 feat: renterd health partial slab
  • b8a5a3b fix: renterd gpu, map colors
  • 73e7297 fix: alerts
  • bcc1485 feat: renterd autopilot and not enough contract onboarding
  • 8da5666 fix: move connectivity/login off consensus
  • 8b69b77 feat: failed to migrate slab alert objects
  • 1ed477f fix: renterd state, show build version
  • 2e77e9c fix: hostd error alert
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
May 20, 2024

Fixes #160

May 18, 2024

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.

May 17, 2024

This PR adjusts the client-side validation for IPs.

  • The connect to peer dialog now supports IPv6 addresses.
  • The host blocklist dialog now supports adding IPv6 addresses.
May 17, 2024

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"
  }
}
May 15, 2024
May 15, 2024

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.

May 15, 2024

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
May 15, 2024

This PR expands test coverage in policy.go to 86.5% and overall types coverage to 59.7%

May 14, 2024

Changes the read and write RPC to send internal errors and alert+log the actual error.

May 14, 2024

Fixes a small race introduced when the handling of tpool utxos changed

May 14, 2024

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.md
  • 3f615f5 update CHANGELOG
  • d4a7f8d 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 #1975
  • e3ab1b2 build(deps): bump golangci/golangci-lint-action from 5 to 6
  • be510c4 add CHANGELOG for #1974
  • e35c25d build(deps): bump golang.org/x/net from 0.24.0 to 0.25.0
  • a8e30d4 Merge pull request #1959 from khiller-cf/master
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
May 8, 2024

Accidentally left the default as full index mode

May 8, 2024

This PR updates the root cache in the ContractManager when a contract gets renewed, essentially copying over the roots from existing to renewal. I'm keeping this as a DRAFT @n8maninger because it's merely to illustrate the problem, the real fix is (likely) something else entirely and this will also need a thorough regression test. I don't mind taking a stab at it but I felt this is probably something that you will want to write the fix for yourself.

Context: In renterd we have a test called TestUploadDownloadSpending that fails locally with AppendSector: proof verification failed on the branch pj/subscription-api. The reason it fails is because hostd builds the proof of a recently renewed contract without sector roots. I sprinkled some logging in the host's contract manager and also the proof code in core and found that we seem to update the database just fine on renewal but the next time the contract updater fetches the roots from the store it returns 0 roots. Causing the host to try and build a proof where secRoots is empty causing it to fail when verifying. I considered the possibility that something was removing those roots but I added panics in all delete and trim methods and those aren't hit during the test.

DEBUG PJ: host: contract manager: store renew contract fcid:d0ddaa094b8082ec760af191a241403846b89136ee1b6343f42bda1044a4e434 -> fcid:9fe0027ea0f4e28861fffcc86a06a93969e49acf98fa18d60de7919f89293c7e
DEBUG PJ: store: renew fcid:d0ddaa094b8082ec760af191a241403846b89136ee1b6343f42bda1044a4e434 -> fcid:9fe0027ea0f4e28861fffcc86a06a93969e49acf98fa18d60de7919f89293c7e updated 3 roots
DEBUG PJ: host: contract updater:  fcid:9fe0027ea0f4e28861fffcc86a06a93969e49acf98fa18d60de7919f89293c7e append sector, new sector roots cnt 1
DEBUG PJ: host: contract updater: fcid:9fe0027ea0f4e28861fffcc86a06a93969e49acf98fa18d60de7919f89293c7e current sector roots cnt 1
DEBUG PJ: core0.2.3: BuildDiffProof
actions: [{Type:Append A:0 B:0 Data:[]}]
secRoots: []
treeHas: []
leafHas: []
DEBUG PJ: core0.2.3: VerifyDiffProof
actions: [{Type:Append A:0 B:0 Data:[]}]
numleav: 3
treeHas: []
leafHas: []
oldRoot: h:5927721564a242691a0ca9d58f810087ca838fe5205989417296cc6181939067
newRoot: h:c076a802cc2791cb30a710a1977e88e540abff86d091014117ed8e0321c43a66
appRoot: [h:c076a802cc2791cb30a710a1977e88e540abff86d091014117ed8e0321c43a66]
OK: false

Couple of things I find especially odd/interesting is that it passes on CI, so somehow this is a race condition, and also if we really consider the contract to be empty after renewal, even for a short period of time, this would wreak some serious havoc on production so it's probably somehow not that big of an issue or a really small window or something.

May 8, 2024

Adds "Full" and "None" indexing modes. The indexing mode can only be set once and cannot be changed since it changes how the state tree is stored.

"Partial" is the default. It only stores the state and events for addresses that are connected to a wallet.

"Full" will store the entire state of the blockchain regardless of addresses loaded into the wallet. It will also throw an error if the user attempts to trigger a scan with /wallet/scan

"None" will not process chain updates and treat the chain state as read-only. This isn't particularly useful now, but it will be nice when networked databases are supported.

May 8, 2024
  • Fixed an issue where clearing some configuration fields would crash the app due to how recommendations were being calculated.
  • The configuration recommendations now instruct the user to first fill all fields.
  • Fixed an issue where the recommendations bar was overlapping notifications.
May 7, 2024
May 7, 2024

@peterjan, is this enough to fix the race condition, or do I need to change the deferred release to only be called when the transaction should be dropped?

May 7, 2024

Bumps go.sia.tech/core from 0.2.2 to 0.2.3.

Commits
  • f9d44a4 Merge pull request #148 from new0nebit/flourish
  • fdfc700 Merge pull request #150 from SiaFoundation/surpass
  • 54775af Merge pull request #152 from SiaFoundation/dependabot/go_modules/golang.org/x...
  • 71ccc09 build(deps): bump golang.org/x/crypto from 0.21.0 to 0.22.0
  • c5cb20b Improve SpendPolicy and SatisfiedPolicy tests based on feedback
  • 3b09dcb consensus: Add (State).SufficientlyHeavierThan
  • b038144 Add Test Coverage for SatisfiedPolicy and enhance SpendPolicy tests
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
May 7, 2024

Bumps golang.org/x/term from 0.19.0 to 0.20.0.

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
May 7, 2024

Bumps golang.org/x/term from 0.19.0 to 0.20.0.

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
May 7, 2024

Bumps golang.org/x/sys from 0.19.0 to 0.20.0.

Commits
  • 7d69d98 unix: extend support for z/OS
  • 7758090 cpu: add support for sve2 detection
  • 9a28524 windows: drop go version tags for unsupported versions
  • 27dc90b unix: update to Linux kernel 6.4
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
May 6, 2024

I'm assuming this snuck in at one point or something. Or maybe this pre-dates us moving ExplicitCoveredFields to coreutils but in any case we should get rid of it because it's not worth having renterd as a dependency (which soon will no longer have a wallet package).

May 6, 2024

Bumps go.sia.tech/core from 0.2.2 to 0.2.3.

Commits
  • f9d44a4 Merge pull request #148 from new0nebit/flourish
  • fdfc700 Merge pull request #150 from SiaFoundation/surpass
  • 54775af Merge pull request #152 from SiaFoundation/dependabot/go_modules/golang.org/x...
  • 71ccc09 build(deps): bump golang.org/x/crypto from 0.21.0 to 0.22.0
  • c5cb20b Improve SpendPolicy and SatisfiedPolicy tests based on feedback
  • 3b09dcb consensus: Add (State).SufficientlyHeavierThan
  • b038144 Add Test Coverage for SatisfiedPolicy and enhance SpendPolicy tests
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
May 6, 2024

Bumps golang.org/x/sys from 0.19.0 to 0.20.0.

Commits
  • 7d69d98 unix: extend support for z/OS
  • 7758090 cpu: add support for sve2 detection
  • 9a28524 windows: drop go version tags for unsupported versions
  • 27dc90b unix: update to Linux kernel 6.4
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
May 6, 2024

Bumps golang.org/x/crypto from 0.22.0 to 0.23.0.

Commits
  • 905d78a go.mod: update golang.org/x dependencies
  • ebb717d ssh: validate key type in SSH_MSG_USERAUTH_PK_OK response
  • 0da2a6a openpgp: fix function name in comment
  • 5defcc1 sha3: fix Sum results for SHAKE functions on s390x
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
May 3, 2024

This changes the wallet.Event JSON serialization to match the Go struct. Unfortunately, this will break the UI again @alexfreska.

  • Adds the maturityHeight field. The UI should use this to distinguish between received-but-not-spendable payouts (maybe lower the opacity or add a "lock" icon).
  • Changes the val field to data to match the rest of walletd.
{
  "id": "h:13271ead1070290c9cbe39ed7a15aa1107a27029479858ee9ab2fcc237ed4aa0",
  "timestamp": "2024-05-01T11:35:03Z",
  "index": {
    "height": 68278,
    "id": "bid:000000009db92b8834aed7809ebe3ff0184e632e8333bba3802de8cd10d2fc86"
  },
  "maturityHeight": 68423,
  "relevant": [
    "addr:11d68c52e67a800d0ca99867e410cfa9c0c3f5bc1726aa90e88f40b7ad0825c91841904dae10"
  ],
  "type": "contract payout",
  "data": {...}
}
May 3, 2024
  • Moved the pinned currency change threshold to advanced mode settings.
May 3, 2024
  • Adds a walletd-js library.
import { Walletd } from '@siafoundation/walletd-js'

const walletd = Walletd({
  api: 'http://localhost:9980/api',
  password: 'password1337',
})

const events = await walletd.walletEvents({
  params: {
    id: 'wallet-1',
    limit: 10,
    offset: 0,
  },
})
const peers = await walletd.syncerPeers()
console.log(events.data, peers.data)
May 3, 2024
  • Adds a hostd-js library.
import { Hostd } from '@siafoundation/hostd-js'

export async function example() {
  const hostd = Hostd({
    api: 'http://localhost:9980/api',
    password: 'password1337',
  })
  const state = await hostd.stateHost()
  const volumes = await hostd.volumes()
  console.log(state.data, volumes.data)
}
May 2, 2024

This implements soft delete for spent elements, sidestepping the issue of reverts clobbering the chain index. Spent elements will be pruned 144 blocks after their spend height. This also reverts the removal of the chain_indices table to use the foreign key as a bug sanity check.

May 2, 2024

This PR passes an appliedIndex to revertChainUpdate which is used whenever we re-add elements. Before, we were re-adding those elements using the revertIndex which is definitely incorrect because we go and delete those in revertIndex. I renamed revertIndex to removeEvents and changed it to only remove events because if a revert is processed correctly the elements should already have been removed.

The idea of an appliedIndex as the counterpart for every revertIndex feels a bit naive maybe but I decided to propose it nonetheless because I don't see what's wrong with it either. If we can't do that I feel the only thing we're left with is soft deletion but that comes with its own issues, mostly complexity trade-off.

May 2, 2024

Fixes #85

May 1, 2024

2 line change to close statements that were not closed

Apr 29, 2024
Apr 24, 2024

This PR removes the chain_indices table. I'm not entirely sure that's what we want but since we were discussing getting rid of the CASCADE deletes I don't see a good reason to keep the table. Creating it and linking it is more of a nuisance than anything else imo, if you don't get the upside of the cascaded deletes.

I hit an interesting test failure in the process, an underflow is triggered in TestEphemeralBalance which is interesting because on master there are no orphaned indices, but now there are orphaned siacoin_elements... so I'm a little bit puzzled still on why that is.

I think there might also be a bug in RevertOrphans because we loop over the orphaned indices and it seems we only deal with the balances of the last orphan. (consensus.go:751) Since I'm not sure whether we want to get rid of the chain_indices entirely I'm going to keep it in DRAFT until tomorrow when Nate is back from being OOO.

Apr 24, 2024
  • Fixed an issue where volume resize and delete dialogs were not loading the volumes data.
  • Updated volume resize dialog to used shared helpers for consistency.

Explanation

  • Recently fixed an issue where dialogs were not triggering onOpenChange(true) when initially opening, this combined with an incorrect handler that previously never was called caused the id passed to volume dialogs to get wiped out.
Apr 24, 2024
  • 8 min - Moves JS linting, testing, e2e testing out to a parallel job
  • 3 min - Moves docker container build and publish out to a parallel job
Apr 23, 2024
Apr 18, 2024

When a scan is interrupted, orphaned blocks will never be reverted from the wallet store. This adds a check for orphans when scanning and reverts their state from the store.

Apr 16, 2024

I started writing this code during the last hackathon for fun, practicing writing test cases. But I didn't finish it because I had to switch to the main task regarding consensus coverage. I felt bad for wipe out a work that had been done, so I ended up finishing the code and also making some changes to it. Initially, I was only aiming to cover the SatisfiedPolicy but got carried away and started covering the PolicyTypeAbove and PolicyTypePublicKey, completely overlooking the fact that you had already done this 😅 Anyway, here it is. I hope that this alternative approach and the additional scenarios will prove valuable to you 🙏

Apr 16, 2024
Apr 15, 2024

Bumps go.sia.tech/core from 0.2.1 to 0.2.2.

Commits
  • f424825 Merge pull request #151 from SiaFoundation/nate/vzeroupper
  • 69d6da0 blake2b: clear upper registers for 2x gain
  • 1ae0547 Merge pull request #149 from SiaFoundation/ifelse
  • 097e517 lint: Use whitelist for gocritic
  • 90599f1 lint: Satisfy unslice
  • 88ba8c8 lint: Disable 'ifElseChain' gocritic check
  • e781eaa Update project-add.yml
  • 89e9456 Merge pull request #147 from SiaFoundation/nate/rhp2-release
  • 008e275 add release to rhp2 settings
  • c9bd79d Merge pull request #146 from SiaFoundation/currency-string
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Apr 15, 2024

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

Commits
  • cabba82 windows: use uint32 for serial comm flags for consistency
  • 1a50d97 windows: add serial comm functions
  • 95f07ec x/sys/windows: add func windows.DisconnectNamedPipe(handle Handle) (err error)
  • 4be02d3 unix: expose mmap calls on z/OS
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Apr 15, 2024

Bumps golang.org/x/crypto from 0.21.0 to 0.22.0.

Commits
  • d042a39 go.mod: update golang.org/x dependencies
  • b92bf94 ssh: respect MaxAuthTries also for "none" auth attempts
  • 6f79b5a ssh: add server side multi-step authentication
  • 8d0d405 x/crypto/chacha20: cleanup chacha_ppc64le.s
  • b91329d all: remove redundant words in comments and fix some typos
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Apr 10, 2024

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

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Apr 5, 2024

Closes #98

Apr 4, 2024

Before

goos: linux
goarch: amd64
pkg: go.sia.tech/core/internal/blake2b
cpu: AMD EPYC 7B13 64-Core Processor                
BenchmarkBLAKE2b/SumLeaves-128           4167430               290.8 ns/op       880.38 MB/s           0 B/op          0 allocs/op
BenchmarkBLAKE2b/SumNodes-128            3793945               285.3 ns/op       897.44 MB/s           0 B/op          0 allocs/op
PASS
ok      go.sia.tech/core/internal/blake2b       4.610s

After

goos: linux
goarch: amd64
pkg: go.sia.tech/core/internal/blake2b
cpu: AMD EPYC 7B13 64-Core Processor                
BenchmarkBLAKE2b/SumLeaves-128           6697410               176.7 ns/op      1448.80 MB/s           0 B/op          0 allocs/op
BenchmarkBLAKE2b/SumNodes-128            5853004               181.6 ns/op      1409.40 MB/s           0 B/op          0 allocs/op
PASS
ok      go.sia.tech/core/internal/blake2b       4.376s
Mar 30, 2024
Mar 19, 2024

Cherry-picked from #142

Mar 15, 2024
Old: "~2.529 mS"
New: "2.529378333356156158367 mS"

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

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

Mar 7, 2024

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

Commits
  • 360f961 unix: add API for fsconfig system call
  • 7ff74af unix: drop go version tags for unsupported versions
  • 6b4eab5 unix: suppress ENOMEM errors from sysctl's implementing Uname(uname *Utsname)...
  • 2f2cc5d unix: update IFLA and NETKIT constants with Linux kernel 6.7
  • 914b96c windows: support ill-formed UTF-16 in UTF16PtrToString
  • 511ec84 Revert "windows: support nil done parameter in ReadFile and WriteFile"
  • 628365d windows: support nil done parameter in ReadFile and WriteFile
  • bef1bd8 unix: move mksyscall regexp to package level variables
  • 5710a32 unix/linux: update Linux kernel to 6.7
  • b3ce6a3 windows: build env_windows_test.go only go Go 1.21 and above
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 7, 2024

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

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Mar 7, 2024
Mar 1, 2024
Feb 27, 2024

When mining a block with transactions:

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

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

Feb 23, 2024

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