Properly construct bytes32 values for recovery_list_hash and launcher_id in did_find_lost_did.
recovery_list_hash.atom is optional bytes and launcher_id was bytes.
Improve did_get_info.
* Check optional values.
* Compute launcher_id only once and reuse it.
* Simplify computing solution.
* Compute coin state's coin ID only once.
* Improve constructing hints using only one dictionary lookup.
* spends are actually spent coins.
* Address unused values.
* puzzle is already a Program so there is no need to construct one from it in order to get its tree hash.
* Improve constructing parent_coin_info and amount values.
Bumps [dnspython](https://github.com/rthalley/dnspython) from 2.4.2 to
2.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rthalley/dnspython/releases">dnspython's
releases</a>.</em></p>
<blockquote>
<h2>dnspython 2.5.0</h2>
<p>See the <a
href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's
New</a> page for a summary of this release.</p>
<p>Thanks to all the contributors, and, as usual, thanks to my
co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rthalley/dnspython/blob/master/doc/whatsnew.rst">dnspython's
changelog</a>.</em></p>
<blockquote>
<h2>2.5.0</h2>
<ul>
<li>
<p>Dnspython now uses hatchling for builds.</p>
</li>
<li>
<p>Asynchronous destinationless sockets now work on Windows.</p>
</li>
<li>
<p>Cython is no longer supported due to various typing issues.</p>
</li>
<li>
<p>Dnspython now explicitly canonicalizes IPv4 and IPv6 addresses.
Previously it was possible for non-canonical IPv6 forms to be stored
in a AAAA address, which would work correctly but possibly cause
problmes if the address were used as a key in a dictionary.</p>
</li>
<li>
<p>The number of messages in a section can be retrieved with
section_count().</p>
</li>
<li>
<p>Truncation preferences for messages can be specified.</p>
</li>
<li>
<p>The length of a message can be automatically prepended when
rendering.</p>
</li>
<li>
<p>dns.message.create_response() automatically adds padding when
required by RFC 8467.</p>
</li>
<li>
<p>The TLS verify parameter is now supported by dns.query.tls(),
and the DoH and DoT Nameserver subclasses.</p>
</li>
<li>
<p>The MutableMapping used to store content in a zone may now be
specified by a factory when subclassing. Factories may also be
provided for writable verisons and immutable versions.</p>
</li>
<li>
<p>dns.name.Name now has predecessor() and successor() methods
implementing RFC 4471.</p>
</li>
<li>
<p>QUIC has had a number of bug fixes and also now supports session
tickets for faster session resumption.</p>
</li>
<li>
<p>The NSEC3 class now has a next_name() method for retrieving the next
name as a dns.name.Name.</p>
</li>
<li>
<p>Windows WMI interface detection should be more robust.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/rthalley/dnspython/commit/91e5027191bb6c7d892e2524e74832501e6743de"><code>91e5027</code></a>
2.5.0 versioning</li>
<li><a
href="https://github.com/rthalley/dnspython/commit/59b2655f1c75d314348f3e18d16d04409ea1485f"><code>59b2655</code></a>
Bump readthedocs-sphinx-search from 0.3.1 to 0.3.2 (<a
href="https://redirect.github.com/rthalley/dnspython/issues/1033">#1033</a>)</li>
<li><a
href="https://github.com/rthalley/dnspython/commit/5e9cd03be3a6fa58bd705aa7c610c6e8cede2f4d"><code>5e9cd03</code></a>
bump hatchling minimum version for official 3.12 support</li>
<li><a
href="https://github.com/rthalley/dnspython/commit/f01878969df9faab6882f17221f84a6dc671dade"><code>f018789</code></a>
update SECURITY.md supported status</li>
<li><a
href="https://github.com/rthalley/dnspython/commit/a5078588622bd6a6616d1bda5b987ebc45062f24"><code>a507858</code></a>
2.5.0rc1 versioning</li>
<li><a
href="https://github.com/rthalley/dnspython/commit/ace5a5113741a174fd6fb174233b678948be210e"><code>ace5a51</code></a>
GSS-TSIG doco updates</li>
<li><a
href="https://github.com/rthalley/dnspython/commit/d9787409b3596a358e5fbdfd4866aee5bad5fe4a"><code>d978740</code></a>
formatting lint</li>
<li><a
href="https://github.com/rthalley/dnspython/commit/c7eb39297d45b9c7f82b18a710024b4c3d84de82"><code>c7eb392</code></a>
lint</li>
<li><a
href="https://github.com/rthalley/dnspython/commit/62c953693db3dca694cfb8e80bc5cc3691a71941"><code>62c9536</code></a>
update whatsnew for 2.5.0</li>
<li><a
href="https://github.com/rthalley/dnspython/commit/609d6b2e7ba4d01e3541558e01e9f7357bc6d0c6"><code>609d6b2</code></a>
Uniform TLS verify argument support. (<a
href="https://redirect.github.com/rthalley/dnspython/issues/1027">#1027</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/rthalley/dnspython/compare/v2.4.2...v2.5.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
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)
</details>
* Begin add to support for third-party fee-based harvesters
Signed-off-by: Harold Brenes <h.brenes@chia.net>
* Return FoliageBlockData back to Farmer from FullNode
* Send FoliageBlockData all the way to the harvester, if requested
* Preparing tests for 3rd party harvester support
* Continue writing tests for 3rd party harvester
* Some cleanup. Drafting
* Test full message chain of third-party Harvester reward overwrite.
Added test that validates messages between Farmer, Harvester and FullNode
to ensure that the correct data is used when an overwritten farmer reward
address is given by a third-party Harvester service.
* Changing Harvester signature request flow
to include original data, if requested.
This makes it so that NewSignagePoint unconditionally
always includes the source of the SP hashes.
* Fix incorrect field name
* Harvester can ask for original signing data without
overwriting the reward address also.
* Update test_farmer_handles_farmer_reward_address_override to reflect changes.
- Correct farmer API get the correct data source for the signage point signature request.
- Trivial fixes
* Removing some obsolete stuff
* Trivial
* Fix tests in updated harvester protocol
- Fix including source data when
include_source_signature_data is set.
- Set source data fields optional.
- Update test so that a timelord is started and we get proper signage points
instead of aritficial ones. This helps us
make sure we test for all the source data
cases needed from the full node.
* Refactor harvester source signing data test
- Remove older harvester signing data test
(had missing coverage for data)
- Add harvester fee convention logging
- Begin fee convention logging test
- Refactor fixtures for harvester enhancement protocol tests
Start harvester
* Complete test for harvester fee convention
* Update SignatureRequestSourceData message
- SignatureRequestSourceData is now serialized as enum + bytes.
- Update usage locations for SignatureRequestSourceData.
- Update tests to reflect this
* Missing test from last commit
* Revert to explicit None checks, instead of relying on truthiness
Revert scratch work
* Linting
* adjust for anyio
* Moe linting
* mypy fixes
* Documentation comments
* Move third-party harvester protocol tests
Moved to own directory in order to enable `install_timelord = True`
* mypy fixes
* checkout_blocks_and_plots = True
* Update some log messages, syntax and docs
* Bump timeout in tests
* Update protocol message types for
harvester and farmer for test_missing_messages`
* Regenerate protocol message data for protocol tests
* Remove timelord requirement for tests.
Inject pre-generated signage points and blocks instead.
* Linting
* More linting
* More linting
* Merge from main and lint again
* Remove customized test plots requirements
* Rebase fix
* Coverage update
- Update valid fee quality test to be unit, instead of pseudo-integration.
- New test for invalid fee quality.
- More explicit messaging for invalid fee qualities.
- Explicitly comment out uncovered case in test.
- Update types for mypy.
* Lint
* Lint
* Lint, better logs
* add protocol file tests
* coverage
* Update formatting in fee quality logging
* Rebase fix
* Regenerate protocol_message_bytes-v1.0
---------
Signed-off-by: Harold Brenes <h.brenes@chia.net>
Co-authored-by: Harold Brenes <h.brenes@chia.net>
Co-authored-by: Kyle Altendorf <sda@fstab.net>
Co-authored-by: Harold Brenes <152330941+haorldbchi@users.noreply.github.com>
Co-authored-by: arvidn <arvid@libtorrent.org>
* update full_node_store to support multiple UnfinishedBlocks with the same reward hash
* extend full node store to support recording outstanding requests for v2 unfinished blocks
* add test for full_node_store
* simplify creation of UnfinishedBlock in test_full_node.py
* extend UnfinishedBlock protocol to support distinguishing between unfinished blocks with the same partial hash but different foliage
* add test for NewUnfinishedBlock and NewUnfinishedBlock2
* when asking the full_node_store for an unfinished block, only by its partial hash; return the highest ranking (lowest foliage tx block hash)
* when we fail to insert a block in the DB, we undo the insertion into the block cache in BlockStore, but we currently don't undo the insertion of the block record into the block-record cache in Blockchain.
* roll back fork-info in case we fail to add a block to the DB
* improve logging
* Port get_notifications RPC to RPC marshaller
* Fix test (I hate this)
* Don't use string formatting in SQL query
* rename notification member variable
* Missed a couple?
* Suggestion by @altendky (w/ black fix >:( )