Commit Graph
14659 Commits
Author SHA1 Message Date
RigidityandGitHub 23e88632d5 New subscription and wallet sync protocol (#17340)
* New wallet sync protocol

* New updates to protocol and initial tests

* Bump new message ids

* Bump protocol version

* Update existing messages

* Implementation of TransactionAddedUpdate

* Improve unit tests

* Update protocol and tests to use previous height

* Testing tweaks

* Remove transaction subscriptions

* Update protocol tests

* Fix request_coin_state test

* Improve test suite, add min_amount, fix bugs

* Update protocol message serialization tests

* Resolve conflicting file

* Remove old hint store code

* Remove transaction added protocol type

* Make height optional for genesis challenge

* Test subscribe after initial state and dedupe ids in that case

* Forcing an empty commit.

* Fix new protocol tests

* Improve performance of clearing subscriptions

* Add more amounts to coin store test

* Lower max items for coin store test

* Fix test coverage, set lower max response items

* Remove add_puzzle_subscriptions and remove_puzzle_subscriptions from protocol

* Update protocol message list test

* Fix valid reply len

* Fix performance issue in query and add error codes

* Add missing message to regression tes

* Add rate limits

* Add test for hint store get_coin_ids_multi

* Increase max puzzle hash batch size and make it a constant

* Use actual params on to_bytes

* Fix test

* Actually check output of no puzzle hash coin state test
2024-03-29 12:56:20 -07:00
Arvid NorbergandGitHub 4b90197eae Rename softfork (#17799)
* remove disabled tests from CHIP-13

* rename the new soft-fotk to soft-fork 4. We've already had soft-fork 3, but it's activated and its logic has been removed
2024-03-29 08:41:36 -07:00
f200fcf16b Separate protocol versions (#17791)
* use separate protocol versions for the different services

* Validate protocol version on handshake

* simplify checking protocol version for incoming connections

---------

Co-authored-by: Harold Brenes <h.brenes@chia.net>
2024-03-29 07:40:06 -07:00
Kyle AltendorfandGitHub 286726733f less order sensitivity in test_plotter_stop_plotting() (#17794) 2024-03-28 13:17:46 -07:00
Arvid NorbergandGitHub c67b8bbe5e message conditions (#17772)
* bump chia_rs to 0.6.1

* introduce soft-fork 3, to enable message conditions

* add wallet tests
2024-03-27 16:08:29 -07:00
Amine KhaldiandGitHub 105f07167a Speedup clean_node_table by leveraging relaxed foreign_keys (#17769)
* Speedup clean_node_table by leveraging relaxed foreign_keys.

* Present an attempt to address the delete_store_data scenario.
2024-03-27 12:39:54 -07:00
Felix BruckerandGitHub d09b61b72d Pass full version in Handshake (#15679)
* Pass full version in Handshake

* Move chia version conversion into crawler

* Rename to overloaded `chia_short_version` and always return str

* Ensure we extract major.minor.patch from invalid pep440 if available
2024-03-27 10:40:47 -07:00
Florin ChiricaandGitHub 1879faea40 Don't download DL existing DAT files. (#17730)
* Don't download DL existing DAT files.

* Lint.

* Try to improve coverage.
2024-03-27 09:33:26 -07:00
Matt HauffandGitHub 9bc137f0f8 Wait for synced in NFT test (#17790) 2024-03-27 09:16:11 -07:00
Amine KhaldiandGitHub 22608088e1 Optimize clean_node_table's query (#17779)
Optimize clean_node_table's query.
2024-03-27 09:15:43 -07:00
Kyle AltendorfandGitHub ed786e2f61 add foreign key delay (#17709)
* add foreign key delay

* handle non-`Row` foreign key error reports

* todos

* coverage

* rename to `foreign_key_enforcement_enabled=`
2024-03-27 09:14:57 -07:00
Earle LoweandGitHub 5dad9f2148 DL: stop using fee config setting and remove from initial config (#13374)
* DL: stop using fee config setting and remove from initial config

* Updates to set fee manually

* Set back explicit fee to original 0
2024-03-27 09:10:57 -07:00
Amine KhaldiandGitHub 97cd5a98b4 Improve get_seconds_and_delayed_puzhash_from_p2_singleton_puzzle (#17746)
Improve get_seconds_and_delayed_puzhash_from_p2_singleton_puzzle.

* Construct delayed_puzzle_hash as a proper bytes32 object.
* Mark unused values.
* Handle atom optionality before constructing return values.
2024-03-26 12:47:36 -07:00
Amine KhaldiandGitHub 3325046b16 Properly construct uint64 objects for LineageProof amounts in WalletSingletonStore's add_spend (#17747)
Properly construct uint64 objects for LineageProof amounts in WalletSingletonStore's add_spend.
2024-03-25 12:03:25 -07:00
Kyle AltendorfandGitHub 6adb099f9b switch to legacy-keyring as the extra name so it works (#17770) 2024-03-25 12:02:23 -07:00
Amine KhaldiandGitHub 57c9a7d387 Handle some atoms' optionality in WalletStateManager's determine_coin_type (#17748)
Handle some atoms' optionality in WalletStateManager's determine_coin_type.
2024-03-25 12:02:01 -07:00
Amine KhaldiandGitHub b1dd363256 Properly construct uint64 objects for Coin amounts (#17745)
Properly construct uint64 objects for Coin amounts.
2024-03-25 12:00:04 -07:00
Amine KhaldiandGitHub d4aa31ce73 Improve UncurriedNFT construction through uncurry (#17744)
Improve UncurriedNFT construction through uncurry.

* Handle optional atoms.
* Properly construct bytes32 objects.
* Mark unused values.
2024-03-25 11:59:50 -07:00
Amine KhaldiandGitHub d928ac0be7 Properly construct uint64 amounts for UnspentLineageInfo in get_unspent_lineage_info_for_puzzle_hash (#17743)
Properly construct uint64 amounts for UnspentLineageInfo in get_unspent_lineage_info_for_puzzle_hash.
2024-03-25 11:59:24 -07:00
Amine KhaldiandGitHub 19b823b57e Remove no longer needed consensus_mode limits (#17742)
Remove no longer needed consensus_mode limits.
2024-03-25 11:59:03 -07:00
Amine KhaldiandGitHub c40a508c9d Properly construct CATCoinData's mod and tail program hashes in CATWallet's coin_added (#17741)
Properly construct CATCoinData's mod and tail program hashes in CATWallet's coin_added.

This now handles optional values and constructs a bytes32 object on success.
2024-03-25 11:58:47 -07:00
Amine KhaldiandGitHub 763e01cc68 Correct launcher_id type in singleton_puzzle, p2_singleton_puzzle and their users (#17740)
Correct launcher_id type in singleton_puzzle, p2_singleton_puzzle and their users.
2024-03-25 11:58:32 -07:00
Kyle AltendorfandGitHub 6b42878ca2 update to aiohttp 3.9.2 (#17726)
* update to aiohttp 3.9.2

* correct testing of bans

* fixup

* again

* again (again)

* 🍌 ooh-ooh-aah-aah 🐒

* add back a test that banned host can not connect
2024-03-25 11:58:16 -07:00
Kyle AltendorfandGitHub def8661309 matrix pre-commit ci against python version (#17698)
* matrix pre-commit ci against python version

* name

* `.absolute()`
2024-03-25 11:58:04 -07:00
SnoppyandGitHub db8913631e chore: fix typos (#17729)
fix typos
2024-03-25 09:48:31 -07:00
Amine KhaldiandGitHub 5350428eb1 Speedup leaf_hash in data_layer_util.py (#17759)
Speedup leaf_hash in data_layer_util.py.
2024-03-25 08:45:52 -07:00
Amine KhaldiandGitHub cd6f4f56de Speedup key_hash in data_layer_util.py (#17758)
Speedup key_hash in data_layer_util.py.
2024-03-25 08:45:37 -07:00
Izumi HoshinoandGitHub 81f0451ddb Updated GUI ref for GUI bug fix (#17755)
Updated the GUI submodule ref
2024-03-25 08:45:21 -07:00
Kyle AltendorfandGitHub 172e28f728 correct testing of bans (#17753)
* correct testing of bans

* fixup

* again

* again (again)

* 🍌 ooh-ooh-aah-aah 🐒

* add back a test that banned host can not connect
2024-03-25 08:44:40 -07:00
Earle LoweandGitHub 08710b9acc Really fix Data layer download banning (#17664) 2024-03-25 08:30:34 -07:00
f5aa40a181 Optimize insert/upsert/delete by using get_node_by_key (#17765)
* Optimize insert/upsert/delete by using get_node_for_key

* Add a unit test for insert's key already present code path.

---------

Co-authored-by: Amine Khaldi <amine.khaldi@reactos.org>
2024-03-25 08:30:18 -07:00
Earle LoweandGitHub ab555bfb80 Some proof optimizations - use get_ancestors_optimized (#17665)
* Some proof optimizations - use get_ancestors_optimized

* avoid using ancestors_optimized in DL Offers flow
2024-03-25 08:29:54 -07:00
Matt HauffandGitHub 6428a3b5cd Add test for observance of melted CAT balance (#17764) 2024-03-25 08:28:59 -07:00
Kyle AltendorfandGitHub b08713f3db use cache-pip action (#17756)
* use `cache-pip` action

* and other places

* empty

* `cache-pip@main`

* Update build-windows-installer.yml

* Update test-single.yml

* Update benchmarks.yml
2024-03-22 09:05:50 -07:00
Kyle AltendorfandGitHub 4913819f77 pip_cache_workaround (#17761)
* pip_cache_workaround

* Update benchmarks.yml

* Update benchmarks.yml

* Update benchmarks.yml
2024-03-21 10:08:35 -07:00
Arvid NorbergandGitHub 6238fda8da improve logging of the height-to-hash and sub-epoch-summaries cache (#17731) 2024-03-20 17:42:06 -07:00
Matt HauffandGitHub 4b934b8475 Fix defaults in send_transaction_multi (#17752) 2024-03-20 17:40:20 -07:00
Kyle AltendorfandGitHub 18bcc3e561 test installers find plotters main (#17646)
* test that installers find plotters

* maybe correct launching from installers

* handle noisy output

* list dmg contents

* list exe installed contents

* adjust chia path on darwin

* linux as well

* fix

* more prints and some timeouts

* resolve

* undo

* empty

* more output

* install numa

* no madmax working from rpm

* reword

* Update build-linux-installer-rpm.yml
2024-03-20 09:11:11 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
bab379163c build(deps): bump keyring from 24.3.0 to 24.3.1 (#17736)
Bumps [keyring](https://github.com/jaraco/keyring) from 24.3.0 to 24.3.1.
- [Release notes](https://github.com/jaraco/keyring/releases)
- [Changelog](https://github.com/jaraco/keyring/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/keyring/compare/v24.3.0...v24.3.1)

---
updated-dependencies:
- dependency-name: keyring
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-20 09:09:20 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6a715ca7a2 build(deps): bump cryptography from 42.0.4 to 42.0.5 (#17735)
Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.4 to 42.0.5.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/42.0.4...42.0.5)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-20 09:09:12 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
0335ab9eb1 build(deps-dev): bump pre-commit from 3.6.0 to 3.6.2 (#17734)
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.6.0 to 3.6.2.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.6.0...v3.6.2)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-20 09:09:06 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3a116fadfe build(deps): bump aiosqlite from 0.19.0 to 0.20.0 (#17733)
Bumps [aiosqlite](https://github.com/omnilib/aiosqlite) from 0.19.0 to 0.20.0.
- [Changelog](https://github.com/omnilib/aiosqlite/blob/main/CHANGELOG.md)
- [Commits](https://github.com/omnilib/aiosqlite/compare/v0.19.0...v0.20.0)

---
updated-dependencies:
- dependency-name: aiosqlite
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-20 09:08:57 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
34da5a5437 build(deps-dev): bump types-aiofiles from 23.2.0.20240106 to 23.2.0.20240311 (#17732)
build(deps-dev): bump types-aiofiles

Bumps [types-aiofiles](https://github.com/python/typeshed) from 23.2.0.20240106 to 23.2.0.20240311.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-aiofiles
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-20 09:08:48 -07:00
Arvid NorbergandGitHub 9385c40567 fix reorg from 0 (#17718)
fix lookup_fork_chain() to support starting from an empty chain (i.e. height -1 and header-hash GENESIS_CHALLENGE). There are edge cases where the node may want to do this
2024-03-20 09:08:36 -07:00
835c1f8924 Port tests/wallet/test_wallet.py to WalletTestFramework (#17687)
* Port test_wallet_coinbase

* Port test_wallet_make_transaction

* Port test_wallet_reuse_address

* Port test_wallet_clawback_claim_auto

* Port test_wallet_clawback_clawback

* Port test_wallet_clawback_sent_self

* Port test_wallet_clawback_claim_manual

* Port test_wallet_clawback_reorg

* Rebase fixes and flakiness improvements

* Port test_get_clawback_coins

* Port test_clawback_resync

* Port test_wallet_coinbase_reorg

* Port test_wallet_make_transaction_hop

* Port test_wallet_make_transaction_with_fee

* Port test_wallet_make_transaction_with_memo

* Port test_wallet_create_hit_max_send_amount

* Port test_wallet_prevent_fee_theft

* Port test_wallet_tx_reorg

* Port test_address_sliding_window

* Port test_sign_message

* Port test_wallet_transaction_options

* Remove unneeded check_balances call.

* Introduce tx_amount and use it across test_wallet_clawback_claim_auto.

* Reapply b79ecd2 (got lost in the recent merge).

* Minor improvements to test_wallet_clawback_clawback:

* Introduce tx_amount and test_fees and use them to clarify test conditions.
* Remove no longer needed json.dumps(resp) call.
* Remove unneeded dict() call on a {} constructed dictionary.

* Remove accidental change (addendum to bebc87f).

* More tx_amount and test_fees.

* Remove no longer needed json import.

* Remove unneeded dict() calls on {} constructed dictionaries.

* Introduce tx_amount2 in test_clawback_resync and clarify state transitions.

* Clarify state transitions in test_wallet_make_transaction_hop.

* Simplify transaction_has_failed.

* Just some consistency.

* Remove unneeded check_balances calls.

---------

Co-authored-by: Amine Khaldi <amine.khaldi@reactos.org>
2024-03-20 09:08:00 -07:00
Arvid NorbergandGitHub 1cee7f1e63 Rust HeaderBlock (#17694)
* use rust version of HeaderBlock

* no need to validate objects passed from the main process to worker processes
2024-03-19 11:09:47 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Earle Lowe
30719e267b build(deps): bump app-builder-lib and electron-builder in /build_scripts/npm_windows (#17645)
* build(deps): bump app-builder-lib and electron-builder

Bumps [app-builder-lib](https://github.com/electron-userland/electron-builder/tree/HEAD/packages/app-builder-lib) to 24.13.3 and updates ancestor dependency [electron-builder](https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder). These dependencies need to be updated together.


Updates `app-builder-lib` from 24.6.3 to 24.13.3
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/packages/app-builder-lib/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/commits/v24.13.3/packages/app-builder-lib)

Updates `electron-builder` from 24.6.3 to 24.13.3
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/packages/electron-builder/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/commits/v24.13.3/packages/electron-builder)

---
updated-dependencies:
- dependency-name: app-builder-lib
  dependency-type: indirect
- dependency-name: electron-builder
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update package.json

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Earle Lowe <30607889+emlowe@users.noreply.github.com>
2024-03-19 11:09:12 -07:00
Kyle AltendorfandGitHub f6fa22e75d add Python 3.12 to mypy matrix (#17723) 2024-03-19 09:14:26 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Kyle Altendorf
db5f1e5dcc build(deps-dev): bump types-setuptools from 69.1.0.20240217 to 69.1.0.20240310 (#17692)
* build(deps-dev): bump types-setuptools

Bumps [types-setuptools](https://github.com/python/typeshed) from 69.1.0.20240217 to 69.1.0.20240310.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-setuptools
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* handle no-package case in `find_vdf_client()`

* more

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kyle Altendorf <sda@fstab.net>
2024-03-19 09:13:37 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
aff8894c72 build(deps): bump app-builder-lib and electron-builder in /build_scripts/npm_linux (#17644)
build(deps): bump app-builder-lib and electron-builder

Bumps [app-builder-lib](https://github.com/electron-userland/electron-builder/tree/HEAD/packages/app-builder-lib) to 24.13.3 and updates ancestor dependency [electron-builder](https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder). These dependencies need to be updated together.


Updates `app-builder-lib` from 24.6.3 to 24.13.3
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/packages/app-builder-lib/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/commits/v24.13.3/packages/app-builder-lib)

Updates `electron-builder` from 24.6.3 to 24.13.3
- [Release notes](https://github.com/electron-userland/electron-builder/releases)
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/packages/electron-builder/CHANGELOG.md)
- [Commits](https://github.com/electron-userland/electron-builder/commits/v24.13.3/packages/electron-builder)

---
updated-dependencies:
- dependency-name: app-builder-lib
  dependency-type: indirect
- dependency-name: electron-builder
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-18 12:06:16 -07:00