Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CHIA-504] Add support for external signers (PLEASE SQUASH) #18199

Merged
merged 417 commits into from
Jun 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
417 commits
Select commit Hold shift + click to select a range
1e1610c
Repin hsms
Quexington Jan 8, 2024
7fc1d2a
Endpoint for vault singleton creation (#17093)
Quexington Jan 8, 2024
39bab6d
Add to sdist only allowed list
Quexington Jan 19, 2024
1fbe09d
Merge remote-tracking branch 'origin/main' into long_lived/vault
Quexington Jan 22, 2024
533935d
Merge branch 'catchup/long_lived_vault_from_main_84f3e3d9f2f1e1a7a3db…
Quexington Jan 23, 2024
1e1d9a7
Signer protocol tweaks
Quexington Jan 23, 2024
e46225c
Merge branch 'quex.signer_protocol' into 'quex.wallet_signer_implemen…
Quexington Jan 23, 2024
1217e77
Merge branch 'quex.wallet_signer_implementation' into quex.remove_sig…
Quexington Jan 24, 2024
6c7699d
Merge branch 'quex.remove_signing_from_wallet' into quex.allow_only_pks
Quexington Jan 24, 2024
3b6ef9b
Merge branch 'quex.allow_only_pks' into quex.private_key_optional
Quexington Jan 24, 2024
2cc1df3
Merge branch 'quex.private_key_optional' into quex.observer_mode
Quexington Jan 24, 2024
297115d
Convert wallet RPC client to deserialized types
Quexington Jan 24, 2024
957b460
Merge branch 'quex.observer_mode' into quex.pubkey_to_observation_root
Quexington Jan 24, 2024
fc48267
Merge branch 'quex.pubkey_to_observation_root' into quex.wallet_obser…
Quexington Jan 24, 2024
8a76ae9
Introduce @tx_out_cmd decorator
Quexington Jan 23, 2024
dff2cba
Merge branch 'quex.wallet_observation_root' into quex.main_wallet_pro…
Quexington Jan 24, 2024
6ebde50
Make execute_signing_instructions RPC
Quexington Jan 23, 2024
55e78e8
Merge branch 'quex.main_wallet_protocol' into quex.prep_for_vault_wallet
Quexington Jan 24, 2024
5e4286a
Add transport layer support
Quexington Jan 23, 2024
6dafcd0
Add signer commands
Quexington Jan 23, 2024
f8d034d
Rework wallet execute_signing_instructions
Quexington Jan 23, 2024
bea085d
Inadvertent merge changes
Quexington Jan 24, 2024
3574f09
Merge branch 'quex.observer_mode' into quex.wallet_rpc_client_types
Quexington Jan 24, 2024
f836f53
Merge branch 'quex.observer_mode' into quex.pubkey_to_observation_root
Quexington Jan 24, 2024
88d9b75
Fix signer command tests
Quexington Jan 24, 2024
c591e9b
Merge branch 'quex.wallet_rpc_client_types' into quex.tx_out_decorator
Quexington Jan 24, 2024
0ccf552
Merge branch 'quex.pubkey_to_observation_root' into quex.wallet_obser…
Quexington Jan 24, 2024
9e2f0c4
Merge branch 'quex.tx_out_decorator' into quex.execute_signing_instru…
Quexington Jan 24, 2024
4529f95
Merge branch 'quex.wallet_observation_root' into quex.main_wallet_pro…
Quexington Jan 24, 2024
e509a9e
Merge branch 'quex.execute_signing_instructions_rpc' into quex.transp…
Quexington Jan 24, 2024
785d6a4
Merge branch 'quex.main_wallet_protocol' into quex.prep_for_vault_wallet
Quexington Jan 24, 2024
90fd7e6
Merge branch 'quex.transport_layer' into quex.signer_commands
Quexington Jan 24, 2024
39dd22b
catchup: into long_lived/vault from main @ 84f3e3d9f2f1e1a7a3db3e3b63…
Quexington Jan 25, 2024
7add91b
Try a different approach: recursive flattening
Quexington Jan 26, 2024
c4ead01
Bump hsms
Quexington Jan 29, 2024
89f5fc7
Merge branch 'quex.signer_protocol' into quex.wallet_signer_implement…
Quexington Jan 29, 2024
6753446
Add comments
Quexington Jan 29, 2024
c8d6add
Merge branch 'quex.wallet_signer_implementation' into quex.remove_sig…
Quexington Jan 29, 2024
7972264
Merge branch 'quex.remove_signing_from_wallet' into quex.allow_only_pks
Quexington Jan 29, 2024
31426bc
Merge branch 'quex.allow_only_pks' into quex.private_key_optional
Quexington Jan 29, 2024
586dc71
Merge branch 'quex.private_key_optional' into quex.observer_mode
Quexington Jan 29, 2024
9281f27
Merge branch 'quex.observer_mode' into quex.wallet_rpc_client_types
Quexington Jan 29, 2024
361e856
Merge branch 'quex.observer_mode' into quex.pubkey_to_observation_root
Quexington Jan 29, 2024
791eada
Merge branch 'quex.wallet_rpc_client_types' into quex.tx_out_decorator
Quexington Jan 29, 2024
ff7408a
Merge branch 'quex.pubkey_to_observation_root' into quex.wallet_obser…
Quexington Jan 29, 2024
3b35f19
Merge branch 'quex.tx_out_decorator' into quex.execute_signing_instru…
Quexington Jan 29, 2024
8b103ae
Merge branch 'quex.wallet_observation_root' into quex.main_wallet_pro…
Quexington Jan 29, 2024
b07d0e9
Merge branch 'quex.execute_signing_instructions_rpc' into quex.transp…
Quexington Jan 29, 2024
e62f945
Merge branch 'quex.main_wallet_protocol' into quex.prep_for_vault_wallet
Quexington Jan 29, 2024
7eb8cce
Merge branch 'quex.transport_layer' into quex.signer_commands
Quexington Jan 29, 2024
8bb2c25
Merge remote-tracking branch 'origin/main' into long_lived/vault
Quexington Jan 30, 2024
400f780
Merge branch 'catchup/long_lived_vault_from_main_aeecaca66384f1df60ab…
Quexington Jan 30, 2024
5350cb1
Merge branch 'quex.signer_protocol' into quex.wallet_signer_implement…
Quexington Jan 30, 2024
461d40e
Merge branch 'quex.wallet_signer_implementation' into quex.remove_sig…
Quexington Jan 30, 2024
242f424
Merge branch 'quex.remove_signing_from_wallet' into quex.allow_only_pks
Quexington Jan 30, 2024
b5d6608
Merge branch 'quex.allow_only_pks' into quex.private_key_optional
Quexington Jan 30, 2024
93e12d2
Test coverage
Quexington Jan 30, 2024
c4e3975
catchup: long_lived/vault from main @ aeecaca66384f1df60ab1f33738f9c5…
Quexington Jan 30, 2024
35ca138
Coverage ignores
Quexington Jan 30, 2024
178e3f9
Merge branch 'quex.private_key_optional' into quex.observer_mode
Quexington Jan 30, 2024
d4d8d05
Remove inadvertent time traveler
Quexington Jan 30, 2024
c4bb86c
Bring in lost time traveler
Quexington Jan 30, 2024
3e287bd
Merge branch 'quex.observer_mode' into quex.wallet_rpc_client_types
Quexington Jan 30, 2024
fd6b6c1
Merge branch 'quex.observer_mode' into quex.pubkey_to_observation_root
Quexington Jan 30, 2024
81d48a1
pylint
Quexington Jan 30, 2024
997d3c8
Merge branch 'quex.pubkey_to_observation_root' into quex.wallet_obser…
Quexington Jan 31, 2024
6c17e90
Attempt to make qr test less flaky
Quexington Jan 31, 2024
14eb69a
Actually test coverage ignore
Quexington Jan 31, 2024
c5fd0d2
Merge branch 'quex.wallet_observation_root' into quex.main_wallet_pro…
Quexington Jan 31, 2024
a73f129
Merge branch 'quex.tx_out_decorator' into quex.execute_signing_instru…
Quexington Jan 31, 2024
5530ee2
Merge branch 'quex.wallet_rpc_client_types' into quex.tx_out_decorator
Quexington Jan 31, 2024
a9c00c2
Merge branch 'quex.main_wallet_protocol' into quex.prep_for_vault_wallet
Quexington Jan 31, 2024
ab20b62
Merge branch 'quex.tx_out_decorator' into quex.execute_signing_instru…
Quexington Jan 31, 2024
47aca8c
Small refactor for test coverage
Quexington Jan 31, 2024
84ea2c7
Merge branch 'quex.execute_signing_instructions_rpc' into quex.transp…
Quexington Jan 31, 2024
edca844
transport -> translation
Quexington Jan 31, 2024
b5eabe2
missed one
Quexington Jan 31, 2024
cd91efe
Merge branch 'quex.transport_layer' into quex.signer_commands
Quexington Jan 31, 2024
b00e793
transport -> translation
Quexington Jan 31, 2024
268a0b5
Fix asdict error
Quexington Jan 31, 2024
10836d8
coverage
Quexington Jan 31, 2024
baa8962
Forgoe rotation testing for now
Quexington Jan 31, 2024
43889e4
Test coverage
Quexington Feb 1, 2024
8572c12
Wallet Signer Protocol (#16883)
Quexington Feb 2, 2024
79e5e02
jsonify_unsigned_txs -> full_jsonify
Quexington Feb 2, 2024
33e1e72
Move a class
Quexington Feb 2, 2024
f53440f
Add better type checking to framework
Quexington Feb 5, 2024
a4b5732
Merge remote-tracking branch 'origin/main' into catchup/long_lived_va…
Quexington Feb 6, 2024
129fc2a
Merge branch 'catchup/long_lived_vault_from_main_c6f1a57c565fb3e66afe…
Quexington Feb 6, 2024
fcf874c
Merge branch 'quex.wallet_signer_implementation' into quex.remove_sig…
Quexington Feb 6, 2024
0f0b92e
Merge branch 'quex.remove_signing_from_wallet' into quex.allow_only_pks
Quexington Feb 6, 2024
af5a1c0
Merge branch 'quex.allow_only_pks' into quex.private_key_optional
Quexington Feb 6, 2024
82268c3
Merge branch 'quex.private_key_optional' into quex.observer_mode
Quexington Feb 6, 2024
32c247b
explicitly state kwargs on _CommandParsingStage
Quexington Feb 7, 2024
9a462ee
Address comments by @altendky
Quexington Feb 7, 2024
306bb4e
Merge branch 'quex.observer_mode' into quex.wallet_rpc_client_types
Quexington Feb 7, 2024
33dd38d
Merge branch 'quex.observer_mode' into quex.pubkey_to_observation_root
Quexington Feb 7, 2024
889bd43
Merge branch 'quex.wallet_rpc_client_types' into quex.tx_out_decorator
Quexington Feb 7, 2024
30633e7
Merge branch 'quex.tx_out_decorator' into quex.execute_signing_instru…
Quexington Feb 7, 2024
e1842fe
Merge branch 'quex.execute_signing_instructions_rpc' into quex.transp…
Quexington Feb 7, 2024
c981bfa
Merge branch 'quex.pubkey_to_observation_root' into quex.wallet_obser…
Quexington Feb 7, 2024
e611d27
Merge branch 'quex.transport_layer' into quex.signer_commands
Quexington Feb 7, 2024
aabfa33
Merge branch 'quex.wallet_observation_root' into quex.main_wallet_pro…
Quexington Feb 7, 2024
4dc4b29
Merge branch 'quex.main_wallet_protocol' into quex.prep_for_vault_wallet
Quexington Feb 7, 2024
640b154
catchup: long_lived/vault from main @ 07fcecd (#17496)
Quexington Feb 8, 2024
a05a00b
Implement Wallet Signer Protocol in Chia Wallet (#16895)
Quexington Feb 12, 2024
a79b6fa
Remove signing from wallet (#16896)
Quexington Feb 20, 2024
d03844c
Merge commit '368fecc17eb902551d21fad4e39b0f26befbbe67' into catchup/…
Quexington Feb 23, 2024
4094c4c
Consolidate add_private_key and add_public_key
Quexington Feb 26, 2024
dd006b9
Consolidate get_key_for_fingerprint and get_public_key_for_fingerprint
Quexington Feb 26, 2024
71d3ba6
Test fix
Quexington Feb 26, 2024
5059347
Merge remote-tracking branch 'origin/main' into catchup/long_lived_va…
Quexington Feb 26, 2024
72d8ec4
Merge branch 'catchup/long_lived_vault_from_main_368fecc17eb902551d21…
Quexington Feb 26, 2024
9aeab6b
Merge branch 'quex.allow_only_pks' into quex.private_key_optional
Quexington Feb 27, 2024
3c172ef
Merge fix
Quexington Feb 27, 2024
c068e1f
Merge branch 'quex.private_key_optional' into quex.observer_mode
Quexington Feb 27, 2024
107302a
Merge branch 'quex.observer_mode' into quex.wallet_rpc_client_types
Quexington Feb 27, 2024
c2e1cf9
catchup: long_lived/vault from main @ 368fecc17eb902551d21fad4e39b0f2…
Quexington Feb 27, 2024
eb7e4df
Merge branch 'quex.observer_mode' into quex.pubkey_to_observation_root
Quexington Feb 27, 2024
6222fd9
Bad merge
Quexington Feb 27, 2024
c8b78cc
Allow public-key-only entries in keyring (#16967)
Quexington Feb 27, 2024
1def47d
Merge branch 'quex.wallet_rpc_client_types' into quex.tx_out_decorator
Quexington Feb 28, 2024
8b882ab
Bad merge
Quexington Feb 28, 2024
be1b6b0
oops
Quexington Feb 28, 2024
ed9a0a9
Merge branch 'quex.tx_out_decorator' into quex.execute_signing_instru…
Quexington Feb 28, 2024
593ec9b
Merge branch 'quex.pubkey_to_observation_root' into quex.wallet_obser…
Quexington Feb 28, 2024
4882d21
Merge branch 'quex.execute_signing_instructions_rpc' into quex.transp…
Quexington Feb 28, 2024
acce832
pylint
Quexington Feb 28, 2024
90a5538
Merge branch 'quex.pubkey_to_observation_root' into quex.wallet_obser…
Quexington Feb 28, 2024
54dc54a
Merge branch 'quex.wallet_observation_root' into quex.main_wallet_pro…
Quexington Feb 28, 2024
ba64835
Merge branch 'quex.main_wallet_protocol' into quex.prep_for_vault_wallet
Quexington Feb 28, 2024
8d431a1
Tweak keychain_proxy.get_key_for_fingerprint
Quexington Feb 28, 2024
d9443e7
Fix wallet RPC test?
Quexington Feb 28, 2024
eb5eb59
pragma: no cover
Quexington Feb 28, 2024
7aa2449
Merge branch 'quex.transport_layer' into quex.signer_commands
Quexington Feb 28, 2024
6c940c6
Make WalletStateManager.private_key optional (#16897)
Quexington Feb 29, 2024
7eb45ab
Redesign clvm_streamable
Quexington Mar 15, 2024
b44e595
Merge commit '83f090133f' into catchup/long_lived_vault_from_main_4df…
Quexington Mar 18, 2024
6e2c7c5
Fix test imports
Quexington Mar 18, 2024
fa96d05
black
Quexington Mar 18, 2024
334b4bd
fix one more test
Quexington Mar 18, 2024
713bf95
Address comments by @altendky
Quexington Mar 19, 2024
7ca3002
Test coverage
Quexington Mar 20, 2024
c793920
bytes32
Quexington Mar 20, 2024
2fec730
Better CLI mnemonic check
Quexington Mar 20, 2024
e7a7a11
Merge branch 'quex.observer_mode' into quex.pubkey_to_observation_root
Quexington Mar 20, 2024
6f46486
Use functools.partial
Quexington Mar 21, 2024
5680253
Rename full jsonify to chip 29
Quexington Mar 21, 2024
70f5665
whoops missed a couple
Quexington Mar 21, 2024
8fbc831
Update key functions to handle observer only functionality (#16903)
Quexington Mar 21, 2024
482e240
Merge remote-tracking branch 'origin/long_lived/vault' into quex.rede…
Quexington Mar 21, 2024
ac2f2e4
Merge commit 'long_lived/vault' into HEAD
Quexington Mar 21, 2024
e28b05f
Merge remote-tracking branch 'origin/main' into catchup/long_lived_va…
Quexington Mar 22, 2024
99a58af
Merge branch 'catchup/long_lived_vault_from_main_4df4496f57423173acd6…
Quexington Mar 22, 2024
6221093
Better CLI mnemonic check
Quexington Mar 20, 2024
c6143a8
Merge remote-tracking branch 'origin/catchup/long_lived_vault_from_ma…
Quexington Mar 22, 2024
0ac8aef
black
Quexington Mar 22, 2024
3dc341d
pylint
Quexington Mar 22, 2024
84ed3c8
Merge branch 'quex.wallet_rpc_client_types' into quex.tx_out_decorator
Quexington Mar 22, 2024
16a28b3
Merge branch 'quex.pubkey_to_observation_root' into quex.wallet_obser…
Quexington Mar 22, 2024
1fd43c1
Missed one
Quexington Mar 22, 2024
614c0e9
Merge remote-tracking branch 'origin/catchup/long_lived_vault_from_ma…
Quexington Mar 22, 2024
d49af2f
Merge branch 'quex.wallet_observation_root' into quex.main_wallet_pro…
Quexington Mar 22, 2024
917fe0f
black
Quexington Mar 22, 2024
c391c5f
Merge branch 'quex.tx_out_decorator' into quex.execute_signing_instru…
Quexington Mar 22, 2024
29ddd41
Merge branch 'quex.main_wallet_protocol' into quex.prep_for_vault_wallet
Quexington Mar 22, 2024
48dd429
Farm at least one block
Quexington Mar 25, 2024
cb6ab4f
Revert last change and fix 0 block farming
Quexington Mar 25, 2024
d536623
Merge branch 'quex.execute_signing_instructions_rpc' into quex.transp…
Quexington Mar 25, 2024
5fea5e5
black
Quexington Mar 25, 2024
b318b63
Merge branch 'quex.transport_layer' into quex.signer_commands
Quexington Mar 25, 2024
2481f78
bad merge
Quexington Mar 25, 2024
4003bca
Merge fix
Quexington Mar 25, 2024
061ee98
catchup: long_lived/vault from main @ b08713f3db9931ea16b1005b7676dd7…
Quexington Mar 26, 2024
1be0d0d
Merge remote-tracking branch 'origin/long_lived/vault' into quex.wall…
Quexington Mar 26, 2024
9ba9060
Inadvertent changes
Quexington Mar 26, 2024
d84cad1
Merge remote-tracking branch 'origin/long_lived/vault' into quex.pubk…
Quexington Mar 26, 2024
eb62c81
Inadvertent changes
Quexington Mar 26, 2024
23c9ee8
Broaden the `Keychain` definition of public keys to include more than…
Quexington Mar 26, 2024
e62e08c
Syncronize with quex.tx_out_decorator2
Quexington Mar 27, 2024
65e1c48
Merge branch 'quex.tx_out_decorator' into quex.execute_signing_instru…
Quexington Mar 27, 2024
04bed9b
Redesign `@clvm_streamable` (#17715)
Quexington Mar 28, 2024
98dda39
These are no longer dictionaries.
AmineKhaldi Mar 28, 2024
57b9eec
Use new clvm_streamable pattern
Quexington Mar 28, 2024
7df2114
Merge remote-tracking branch 'origin/long_lived/vault' into quex.wall…
Quexington Mar 29, 2024
5e13d4c
Fix offer endpoint
Quexington Mar 29, 2024
aacc9f0
Add support in wallet for non-G1Element observation roots (#16976)
Quexington Apr 1, 2024
5484654
Wallet -> MainWalletProtocol (#16978)
Quexington Apr 8, 2024
bcc7ebe
Add @tx_out_cmd decorator
Quexington Mar 25, 2024
ec6957f
Convert wallet RPC client to deserialized types (#17393)
Quexington Apr 8, 2024
92b1cc5
Merge commit '02a7e8b1b55b0f43add5c224fb5744313872b5b6' into catchup/…
Quexington Apr 8, 2024
2edabcb
Bump ecdsa version
Quexington Apr 8, 2024
8144884
Merge branch 'catchup/long_lived_vault_from_main_02a7e8b1b55b0f43add5…
Quexington Apr 9, 2024
fa800d5
Merge branch 'catchup/long_lived_vault_from_main_02a7e8b1b55b0f43add5…
Quexington Apr 9, 2024
ff8b5a8
catchup: long_lived/vault from main @ 02a7e8b1b55b0f43add5c224fb57443…
Quexington Apr 16, 2024
47fdf88
Prep for Vault Wallet (#17138)
Quexington Apr 25, 2024
41b9384
Merge commit '646c416622b4512097bdee7a9d48259136d41f1a' into catchup/…
Quexington May 6, 2024
ed66cc7
Fix @marshal util to return proper transactions
Quexington May 6, 2024
ff0b92f
catchup: into long_lived/vault from main @ 646c416622b4512097bdee7a9…
Quexington May 7, 2024
1abae41
Add get_public_key
Quexington May 8, 2024
d352c11
Add @tx_out_cmd decorator (#17842)
Quexington May 9, 2024
9fd0c86
port `chia wallet send` to @tx_out_cmd
Quexington Mar 25, 2024
96dd9e4
[CHIA-423] Port `chia wallet send` to @tx_out_cmd (#18002)
Quexington May 15, 2024
667d795
Merge commit 'bd3a638db10ee92a15f138ceaef06648c3c7b480' into catchup/…
Quexington May 15, 2024
618e4f9
merge fix of puzzle hash derivation
Quexington May 15, 2024
d423e18
Port `chia wallet coins` to @tx_out_cmd
Quexington Mar 25, 2024
15dfd0e
catchup: into long_lived/vault from main @ bd3a638db10ee92a15f138ceae…
Quexington May 16, 2024
a1bccab
Port chia wallet clawback to @tx_out_cmd
Quexington Mar 25, 2024
8f43e6c
[CHIA-424] Port `chia wallet coins` to @tx_out_cmd (#18023)
Quexington May 16, 2024
6a51fdc
[CHIA-426] Port `chia wallet clawback` to @tx_out_cmd (#18036)
Quexington May 17, 2024
c598f70
Port `chia wallet take/cancel_offer` to @tx_out_cmd
Quexington Mar 25, 2024
0afa088
[CHIA-427] Port `chia wallet take/cancel_offer` to @tx_out_cmd (#18038)
Quexington May 20, 2024
52ad57c
Port `chia wallet did ...` to @tx_out_cmd
Quexington Mar 26, 2024
be3edd0
[CHIA-428] Port `chia wallet did ...` to @tx_out_cmd (#18041)
Quexington May 20, 2024
19a70e7
Port `chia wallet nft ...` to @tx_out_cmd
Quexington Mar 26, 2024
fcc772e
[CHIA-429] Port `chia wallet nft ...` to @tx_out_cmd (#18044)
Quexington May 21, 2024
7adbf94
Port `chia wallet notifications send` to @tx_out_cmd
Quexington Mar 26, 2024
f10d13f
[CHIA-430] Port `chia wallet notifications send` to @tx_out_cmd (#18047)
Quexington May 22, 2024
c23b890
Port `chia wallet vcs ...` to @tx_out_cmd
Quexington Mar 26, 2024
a7a0cc8
[CHIA-431] Port `chia wallet vcs ...` to @tx_out_cmd (#18062)
Quexington May 22, 2024
e9c7d32
Port `chia dao ...` to @tx_out_cmd
Quexington Mar 26, 2024
a67e54f
Exclude data layer and plotnft functions
Quexington Mar 25, 2024
efb39bf
Merge branch 'quex.port_dao_cmds_to_tx_out_cmd' into quex.execute_sig…
Quexington May 22, 2024
c2c4a04
[no ci]
Quexington May 22, 2024
1ba3b3a
Address comments by @AmineKhaldi
Quexington May 22, 2024
8b7d391
Merge branch 'quex.execute_signing_instructions_rpc' into quex.transp…
Quexington May 23, 2024
a12341b
Fix rpc util
Quexington May 23, 2024
205045c
Merge branch 'quex.transport_layer' into quex.signer_commands
Quexington May 23, 2024
7424942
[CHIA-432] Port `chia dao ...` to @tx_out_cmd (and exclude DL and poo…
Quexington May 23, 2024
5c407ea
Merge commit '32fd48159f761ad7c59e5b8f02a7aed17e2503e9' into catchup/…
Quexington May 23, 2024
6fbee4d
catchup: long_lived/vault from main @ 32fd48159f761ad7c59e5b8f02a7aed…
Quexington May 28, 2024
78c8fb7
[CHIA-433] Make execute_signing_instructions RPC (#17398)
Quexington Jun 3, 2024
95ac9f1
add test for BSTLSigningInstructions
Quexington Jun 4, 2024
8e5add1
[CHIA-434] Add translation layer for blind signing (#16993)
Quexington Jun 5, 2024
18d46ed
[CHIA-435] Add `chia wallet signer` commands (#17399)
Quexington Jun 11, 2024
13ccfa7
Merge commit '9ea4609618cba2229dc9f4b916ec82927c79a0d6' into catchup/…
Quexington Jun 11, 2024
4091d79
catchup: long_lived/vault from main @ 9ea4609618cba2229dc9f4b916ec829…
Quexington Jun 17, 2024
053be9e
[UNDO] d9c6f54398c9a50ddd67f6400ca40e17ee03f8b7
Quexington Jun 17, 2024
ab288a8
[UNDO] 7fc1d2adfd9f1d89639c9ee859c93aa9839ef477
Quexington Jun 17, 2024
feccc12
[UNDO] 23c9ee854913cf498e8d320d56556688f8f3390c
Quexington Jun 17, 2024
9427973
[UNDO] aacc9f022883e0c6bb4a27abd19a6392a67bc9e9
Quexington Jun 17, 2024
2385ba5
[UNDO] 548465403b9369acc914b3ae2711037cb731ee00
Quexington Jun 17, 2024
4f74efa
Merge remote-tracking branch 'origin/main' into quex.external_signers
Quexington Jun 17, 2024
7f22c06
Undo unintentional changes
Quexington Jun 17, 2024
3e38bdc
Stuff that's not part of this
Quexington Jun 18, 2024
cb9ec79
More stuff that doesn't belong
Quexington Jun 18, 2024
b32b85b
One last thing that doesn't belong
Quexington Jun 18, 2024
ee50eaf
Merge remote-tracking branch 'origin/main' into quex.external_signers
Quexington Jun 18, 2024
4bc180f
Merge remote-tracking branch 'origin/main' into quex.external_signers
Quexington Jun 25, 2024
9d4dbb6
Unintentional change
Quexington Jun 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 29 additions & 20 deletions chia/_tests/cmds/cmd_test_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

import chia.cmds.wallet_funcs
from chia._tests.cmds.testing_classes import create_test_block_record
from chia._tests.cmds.wallet.test_consts import STD_TX, STD_UTX
from chia.cmds.chia import cli as chia_cli
from chia.cmds.cmds_util import _T_RpcClient, node_config_section_names
from chia.consensus.block_record import BlockRecord
Expand All @@ -18,6 +19,7 @@
from chia.rpc.farmer_rpc_client import FarmerRpcClient
from chia.rpc.full_node_rpc_client import FullNodeRpcClient
from chia.rpc.rpc_client import RpcClient
from chia.rpc.wallet_request_types import SendTransactionMultiResponse
from chia.rpc.wallet_rpc_client import WalletRpcClient
from chia.simulator.simulator_full_node_rpc_client import SimulatorFullNodeRpcClient
from chia.types.blockchain_format.sized_bytes import bytes32
Expand Down Expand Up @@ -252,26 +254,33 @@ async def send_transaction_multi(
tx_config: TXConfig,
coins: Optional[List[Coin]] = None,
fee: uint64 = uint64(0),
) -> TransactionRecord:
self.add_to_log("send_transaction_multi", (wallet_id, additions, tx_config, coins, fee))
return TransactionRecord(
confirmed_at_height=uint32(1),
created_at_time=uint64(1234),
to_puzzle_hash=bytes32([1] * 32),
amount=uint64(12345678),
fee_amount=uint64(1234567),
confirmed=False,
sent=uint32(0),
spend_bundle=SpendBundle([], G2Element()),
additions=[Coin(bytes32([1] * 32), bytes32([2] * 32), uint64(12345678))],
removals=[Coin(bytes32([2] * 32), bytes32([4] * 32), uint64(12345678))],
wallet_id=uint32(1),
sent_to=[("aaaaa", uint8(1), None)],
trade_id=None,
type=uint32(TransactionType.OUTGOING_TX.value),
name=bytes32([2] * 32),
memos=[(bytes32([3] * 32), [bytes([4] * 32)])],
valid_times=ConditionValidTimes(),
push: bool = True,
) -> SendTransactionMultiResponse:
self.add_to_log("send_transaction_multi", (wallet_id, additions, tx_config, coins, fee, push))
name = bytes32([2] * 32)
return SendTransactionMultiResponse(
[STD_UTX],
[STD_TX],
TransactionRecord(
confirmed_at_height=uint32(1),
created_at_time=uint64(1234),
to_puzzle_hash=bytes32([1] * 32),
amount=uint64(12345678),
fee_amount=uint64(1234567),
confirmed=False,
sent=uint32(0),
spend_bundle=SpendBundle([], G2Element()),
additions=[Coin(bytes32([1] * 32), bytes32([2] * 32), uint64(12345678))],
removals=[Coin(bytes32([2] * 32), bytes32([4] * 32), uint64(12345678))],
wallet_id=uint32(1),
sent_to=[("aaaaa", uint8(1), None)],
trade_id=None,
type=uint32(TransactionType.OUTGOING_TX.value),
name=name,
memos=[(bytes32([3] * 32), [bytes([4] * 32)])],
valid_times=ConditionValidTimes(),
),
name,
)


Expand Down
3 changes: 3 additions & 0 deletions chia/_tests/cmds/wallet/test_coins.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ async def select_coins(
Coin(get_bytes32(3), get_bytes32(4), uint64(1234560000)),
],
1000000000,
True,
),
(
1,
Expand All @@ -155,6 +156,7 @@ async def select_coins(
Coin(get_bytes32(5), get_bytes32(6), uint64(300000000000)),
],
1000000000,
True,
),
],
}
Expand Down Expand Up @@ -216,6 +218,7 @@ async def get_coin_records_by_names(
DEFAULT_TX_CONFIG,
[Coin(get_bytes32(1), get_bytes32(2), uint64(100000000000))],
1000000000,
True,
)
],
}
Expand Down
8 changes: 6 additions & 2 deletions chia/_tests/cmds/wallet/test_consts.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@

from chia.types.blockchain_format.sized_bytes import bytes32
from chia.types.spend_bundle import SpendBundle
from chia.util.ints import uint8, uint32, uint64
from chia.util.ints import uint32, uint64
from chia.wallet.conditions import ConditionValidTimes
from chia.wallet.signer_protocol import KeyHints, SigningInstructions, TransactionInfo, UnsignedTransaction
from chia.wallet.transaction_record import TransactionRecord
from chia.wallet.util.transaction_type import TransactionType

Expand Down Expand Up @@ -34,10 +35,13 @@ def get_bytes32(bytes_index: int) -> bytes32:
additions=[Coin(get_bytes32(1), get_bytes32(2), uint64(12345678))],
removals=[Coin(get_bytes32(2), get_bytes32(4), uint64(12345678))],
wallet_id=uint32(1),
sent_to=[("aaaaa", uint8(1), None)],
sent_to=[],
trade_id=None,
type=uint32(TransactionType.OUTGOING_TX.value),
name=get_bytes32(2),
memos=[(get_bytes32(3), [bytes([4] * 32)])],
valid_times=ConditionValidTimes(),
)


STD_UTX = UnsignedTransaction(TransactionInfo([]), SigningInstructions(KeyHints([], []), []))
74 changes: 48 additions & 26 deletions chia/_tests/cmds/wallet/test_dao.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,17 @@
from typing_extensions import override

from chia._tests.cmds.cmd_test_utils import TestRpcClients, TestWalletRpcClient, run_cli_command_and_assert
from chia._tests.cmds.wallet.test_consts import FINGERPRINT_ARG
from chia._tests.cmds.wallet.test_consts import FINGERPRINT_ARG, STD_TX, STD_UTX
from chia.rpc.wallet_request_types import (
CreateNewDAOWalletResponse,
DAOAddFundsToTreasuryResponse,
DAOCloseProposalResponse,
DAOCreateProposalResponse,
DAOExitLockupResponse,
DAOFreeCoinsFromFinishedProposalsResponse,
DAOSendToLockupResponse,
DAOVoteOnProposalResponse,
)
from chia.types.blockchain_format.sized_bytes import bytes32
from chia.util.bech32m import encode_puzzle_hash
from chia.util.ints import uint8, uint32, uint64
Expand Down Expand Up @@ -38,17 +48,22 @@ async def create_new_dao_wallet(
name: Optional[str] = None,
fee: uint64 = uint64(0),
fee_for_cat: uint64 = uint64(0),
) -> Dict[str, Union[str, int, bytes32]]:
push: bool = True,
) -> CreateNewDAOWalletResponse:
if not treasury_id:
treasury_id = bytes32(token_bytes(32))
return {
"success": True,
"type": "DAO",
"wallet_id": 2,
"treasury_id": treasury_id,
"cat_wallet_id": 3,
"dao_cat_wallet_id": 4,
}
return CreateNewDAOWalletResponse.from_json_dict(
{
"success": True,
"transactions": [STD_TX.to_json_dict()],
"unsigned_transactions": [STD_UTX.to_json_dict()],
"type": WalletType.DAO,
"wallet_id": 2,
"treasury_id": treasury_id,
"cat_wallet_id": 3,
"dao_cat_wallet_id": 4,
}
)

inst_rpc_client = DAOCreateRpcClient() # pylint: disable=no-value-for-parameter
test_rpc_clients.wallet_rpc_client = inst_rpc_client
Expand Down Expand Up @@ -126,8 +141,9 @@ async def dao_add_funds_to_treasury(
tx_config: TXConfig,
fee: uint64 = uint64(0),
reuse_puzhash: Optional[bool] = None,
) -> Dict[str, Union[str, bool]]:
return {"success": True, "tx_id": bytes32(b"1" * 32).hex()}
push: bool = True,
) -> DAOAddFundsToTreasuryResponse:
return DAOAddFundsToTreasuryResponse([STD_UTX], [STD_TX], STD_TX.name, STD_TX)

async def dao_get_rules(
self,
Expand Down Expand Up @@ -264,8 +280,9 @@ async def dao_vote_on_proposal(
tx_config: TXConfig,
is_yes_vote: bool,
fee: uint64 = uint64(0),
) -> Dict[str, Union[str, bool]]:
return {"success": True, "tx_id": bytes32(b"1" * 32).hex()}
push: bool = True,
) -> DAOVoteOnProposalResponse:
return DAOVoteOnProposalResponse([STD_UTX], [STD_TX], STD_TX.name, STD_TX)

async def dao_close_proposal(
self,
Expand All @@ -275,8 +292,9 @@ async def dao_close_proposal(
fee: uint64 = uint64(0),
self_destruct: bool = False,
reuse_puzhash: Optional[bool] = None,
) -> Dict[str, Union[str, bool]]:
return {"success": True, "tx_id": bytes32(b"1" * 32).hex()}
push: bool = True,
) -> DAOCloseProposalResponse:
return DAOCloseProposalResponse([STD_UTX], [STD_TX], STD_TX.name, STD_TX)

async def dao_create_proposal(
self,
Expand All @@ -292,8 +310,9 @@ async def dao_create_proposal(
new_dao_rules: Optional[Dict[str, uint64]] = None,
fee: uint64 = uint64(0),
reuse_puzhash: Optional[bool] = None,
) -> Dict[str, Union[str, bool]]:
return {"success": True, "proposal_id": "0xCAFEF00D"}
push: bool = True,
) -> DAOCreateProposalResponse:
return DAOCreateProposalResponse([STD_UTX], [STD_TX], bytes32([0] * 32), STD_TX.name, STD_TX)

async def get_wallets(self, wallet_type: Optional[WalletType] = None) -> List[Dict[str, Union[str, int]]]:
return [{"id": 1, "type": 0}, {"id": 2, "type": 14}]
Expand Down Expand Up @@ -405,7 +424,7 @@ async def get_transaction(self, transaction_id: bytes32) -> TransactionRecord:
"-m 0.1",
"--reuse",
]
proposal_asserts = ["Successfully created proposal", "Proposal ID: 0xCAFEF00D"]
proposal_asserts = ["Successfully created proposal", f"Proposal ID: {bytes32([0] * 32).hex()}"]
run_cli_command_and_assert(capsys, root_dir, spend_args, proposal_asserts)

bad_spend_args = [
Expand All @@ -423,7 +442,7 @@ async def get_transaction(self, transaction_id: bytes32) -> TransactionRecord:
"-m 0.1",
"--reuse",
]
proposal_asserts = ["Successfully created proposal", "Proposal ID: 0xCAFEF00D"]
proposal_asserts = ["Successfully created proposal", f"Proposal ID: {bytes32([0] * 32).hex()}"]
with pytest.raises(ValueError) as e_info:
run_cli_command_and_assert(capsys, root_dir, bad_spend_args, proposal_asserts)
assert e_info.value.args[0] == "Must include a json specification or an address / amount pair."
Expand Down Expand Up @@ -475,17 +494,19 @@ async def dao_send_to_lockup(
tx_config: TXConfig,
fee: uint64 = uint64(0),
reuse_puzhash: Optional[bool] = None,
) -> Dict[str, Union[str, int]]:
return {"success": True, "tx_id": bytes32(b"x" * 32).hex()}
push: bool = True,
) -> DAOSendToLockupResponse:
return DAOSendToLockupResponse([STD_UTX], [STD_TX], STD_TX.name, [STD_TX])

async def dao_free_coins_from_finished_proposals(
self,
wallet_id: int,
tx_config: TXConfig,
fee: uint64 = uint64(0),
reuse_puzhash: Optional[bool] = None,
) -> Dict[str, Union[str, int]]:
return {"success": True, "tx_id": bytes32(b"x" * 32).hex()}
push: bool = True,
) -> DAOFreeCoinsFromFinishedProposalsResponse:
return DAOFreeCoinsFromFinishedProposalsResponse([STD_UTX], [STD_TX], STD_TX.name, STD_TX)

async def dao_exit_lockup(
self,
Expand All @@ -494,8 +515,9 @@ async def dao_exit_lockup(
coins: Optional[List[Dict[str, Union[str, int]]]] = None,
fee: uint64 = uint64(0),
reuse_puzhash: Optional[bool] = None,
) -> Dict[str, Union[str, int]]:
return {"success": True, "tx_id": bytes32(b"x" * 32).hex()}
push: bool = True,
) -> DAOExitLockupResponse:
return DAOExitLockupResponse([STD_UTX], [STD_TX], STD_TX.name, STD_TX)

@override
async def get_transaction(self, transaction_id: bytes32) -> TransactionRecord:
Expand Down
Loading
Loading