cactus-agent
Version:
cactus rpc/websocket client library
821 lines (802 loc) • 70.8 kB
Markdown
# Changelog
## [13.0.0]
### Breaking change
- The format of [`PoolState`](./src/api/cactus/farmer/farmer.ts)) has been changed.
- `points_found_24h` and `points_acknowledged_24h` are now `Array<[uint32, uint64]>` (they were `Array<[float, uint64]>`)
- `pool_errors_24h` is now `Array<[uint32, ErrorResponse]>` (it was `ErrorResponse[]`)
- The following request properties of `send_transaction` and `cat_spend` Wallet RPC API were renamed
- `exclude_coin_amounts` -> `excluded_coin_amounts`
- `exclude_coins` -> `excluded_coins`
- The previous property names(`exclude_coin_amounts`, `exclude_coins`) are preserved for backward compatibility
- The following request properties of `create_signed_transaction` Wallet RPC API were renamed
- `exclude_coin_amounts` -> `excluded_coin_amounts`
- `exclude_coins` -> `excluded_coins`
- The previous property name (`exclude_coins`) is preserved for backward compatibility
- Unlike `send_transaction` and `cat_spend`, `exclude_coin_amounts` is removed by accident and not backward compatible.
### Changed
- [Daemon WebSocket API](./src/api/ws/daemon)
- [`start_plotting`](./src/api/ws/daemon/README.md#start_plottingdaemon-params)
- The `t2` option for chiapos plotter is now optional
- Added `compress` option for bladebit plotter
- Added `cudaplot` plot type for bladebit plotter
- [`get_plotters`](./src/api/ws/daemon/README.md#get_plottersdaemon)
- Added `cuda_support` property to bladebit install info
- [DataLayer RPC API](./src/api/rpc/data_layer)
- Renamed the type `WsTakeOfferMessageDL` to `WsTakeOfferMessage`
- Renamed the type `WsCancelOfferMessageDL` to `WsCancelOfferMessage`
- [Farmer RPC API](./src/api/rpc/farmer)
- [`get_pool_state`](./src/api/rpc/farmer/README.md#get_pool_stateagent)
- Added new properties
- `valid_partials_since_start`
- `valid_partials_24h`
- `invalid_partials_since_start`
- `invalid_partials_24h`
- `stale_partials_since_start`
- `stale_partials_24h`
- `missing_partials_since_start`
- `missing_partials_24h`
- [`get_harvesters`](./src/api/rpc/farmer/README.md#get_harvestersagent)
- Added `total_effective_plot_size` and `harvesting_mode` to `harvesters` in response
- [`get_harvesters_summary`](./src/api/rpc/farmer/README.md#get_harvesters_summaryagent)
- Added `total_effective_plot_size` and `harvesting_mode` to `harvesters` in response
- [Farmer WebSocket API](./src/api/ws/farmer)
- [`on_new_farming_info`](./src/api/ws/farmer/README.md#on_new_farming_info)
- Added `node_id` and `lookup_time` to `farming_info` Broadcast data
- [`on_new_signage_point`](./src/api/ws/farmer/README.md#on_new_signage_point)
- Added `missing_signage_points` to Broadcast data
- [`on_submitted_partial`](./src/api/ws/farmer/README.md#on_submitted_partial)
- Added `"wallet_ui""` to `destination` in Broadcast data
- [`on_harvester_update`](./src/api/ws/farmer/README.md#on_harvester_update)
- Added `total_effective_plot_size` and `harvesting_mode` to broadcast data
- [Harvester RPC API](./src/api/rpc/harvester)
- [`get_plots`](./src/api/rpc/harvester/README.md#get_plotsagent)
- Added `compression_level` to response
- [FullNode RPC API](./src/api/rpc/full_node)
- [`get_blockchain_state`](./src/api/rpc/full_node/README.md#get_blockchain_stateagent)
- Added `average_block_time` to response
- [Wallet RPC API](./src/api/rpc/wallet)
- [`get_farmed_amount`](./src/api/rpc/full_node/README.md#get_farmed_amountagent)
- Added `last_time_farmed` to response
- Added `blocks_won` to response
### Added
- [Daemon WebSocket API](./src/api/ws/daemon)
- [`get_routes`](./src/api/ws/daemon/README.md#get_routesdaemon)
- [`get_wallet_addresses`](./src/api/ws/daemon/README.md#get_wallet_addressesdaemon)
- [`get_keys_for_plotting`](./src/api/ws/daemon/README.md#get_keys_for_plottingdaemon)
- [Farmer WebSocket API](./src/api/ws/farmer)
- [`on_failed_partial`](./src/api/ws/farmer/README.md#on_failed_partial)
- [DataLayer RPC API](./src/api/rpc/data_layer)
- [`clear_pending_roots`](./src/api/rpc/data_layer/README.md#clear_pending_rootsagent-params)
- [Harvester RPC API](./src/api/rpc/harvester)
- [`get_harvester_config`](./src/api/rpc/harvester/README.md#get_harvester_configagent)
- [`update_harvester_config`](./src/api/rpc/harvester/README.md#update_harvester_configagent)
### Fixed
- Fixed documentation for plotter params.
- `bladebit_params` => `bladebit_ramplot_params`
- `bladebit2_params` => `bladebit_diskplot_params`
- Fixed an issue where ts files related to the data layer RPC API had a circular dependency.
- Fixed an issue where the following request parameters for the `did_find_lost_did` Wallet RPC API were missing.
- `recovery_list_hash`
- `num_verification`
- `metadata`
## [12.1.0]
### Changed
- [Wallet RPC API](./src/api/rpc/wallet)
- [`get_transactions`](./src/api/rpc/wallet/README.md#get_transactionsagent-params)
- Added `type_filter` to request parameter
- Added `confirmed` to request parameter
- Added `metadata` for each `transactions` in a response
- [`get_transaction_count`](./src/api/rpc/wallet/README.md#get_transaction_countagent-params)
- Added `type_filter` to request parameter
- Added `confirmed` to request parameter
- [`send_transaction`](./src/api/rpc/wallet/README.md#send_transactionagent-params)
- Added `puzzle_decorator` to request parameter
- [`did_get_info`](./src/api/rpc/wallet/README.md#did_get_infoagent-params)
- Added `did_id` to response
### Added
- [Wallet RPC API](./src/api/rpc/wallet)
- [`set_auto_claim`](./src/api/rpc/wallet/README.md#set_auto_claimagent-params)
- [`get_auto_claim`](./src/api/rpc/wallet/README.md#get_auto_claimagent-params)
- [`get_wallet_balances`](./src/api/rpc/wallet/README.md#get_wallet_balancesagent-params)
- [`spend_clawback_coins`](./src/api/rpc/wallet/README.md#spend_clawback_coinsagent-params)
- [`get_coin_records`](./src/api/rpc/wallet/README.md#get_coin_recordsagent-params)
- [`vc_mint`](./src/api/rpc/wallet/README.md#vc_mintagent-params)
- [`vc_get`](./src/api/rpc/wallet/README.md#vc_getagent-params)
- [`vc_get_list`](./src/api/rpc/wallet/README.md#vc_get_listagent-params)
- [`vc_spend`](./src/api/rpc/wallet/README.md#vc_spendagent-params)
- [`vc_add_proofs`](./src/api/rpc/wallet/README.md#vc_add_proofsagent-params)
- [`vc_get_proofs_for_root`](./src/api/rpc/wallet/README.md#vc_get_proofs_for_rootagent-params)
- [`vc_revoke`](./src/api/rpc/wallet/README.md#vc_revokeagent-params)
## [12.0.1]
### Changed
- Replace the npm module `json-bigint` to `@chiamine/json-bigint`.
### Fixed
- Fixed the type of `int64`, `uint64`, `uint128`, `uint512` to `number | bigint`.
## [12.0.0]
### Breaking change
Now the types of `int64`, `uint64`, `uint128`, `uint512` are `number | BigInt` (Originally it was `number`).
When the numeric value is larger than `Number.MAX_SAFE_INTEGER`, the value is parsed as a `BigInt`.
You need to check a numeric member of API responses whether it is a `number` or `BigInt`
if the type of it is either `int64`, `uint64`, `uint128` or `uint512`.
You may also use `BigInt` for API request inputs wherever the type is one of the above.
## [11.1.1]
Just updated documents.
You don't need to update `cactus-agent` from `11.1.0` for `cactus-blockchain@1.8.1` because there are no API changes.
## [11.1.0]
### Changed
- [Wallet RPC API](./src/api/rpc/wallet)
- [`get_wallet_balance`](./src/api/rpc/wallet/README.md#get_wallet_balanceagent-params)
- Part of response properties are replaced by `Balance` type.
(* No new properties were added and no properties were removed to the response. Just part of props were managed separately)
- [`cat_spend`](./src/api/rpc/wallet/README.md#cat_spendagent-params)
- Added `extra_delta`, `tail_reveal` and `tail_solution` to request parameter.
- In `cactus/wallet/nft_wallet/nft_info.py`, `nft_coin_confirmation_height` was added to `NFTInfo`.
As a result of this change, the responses from following RPC API is affected.
- ['nft_get_info`](./src/api/rpc/wallet/README.md#nft_get_infoagent-params)
- Updated `yaml` to `2.2.2`
### Added
- [New DataLayer RPC API](./src/api/ws/wallet)
- [`check_plugins`](./src/api/rpc/data_layer/README.md#check_pluginsagent)
### Fixed
- Added missing `get_sync_status` to `README.md` for RPC APIs
- Added missing property `launcher_id` to `dl_history` in DataLayer RPC API
## [11.0.0]
### Breaking change
JSONified `MempoolItem` replaced original `MempoolItem` in `cactus/types/mempool_items.py`
for 2 RPC API responses listed below.
As a result of this change, `removals` was added and `height_added_to_mempool`/`assert_height` were removed
from those RPC API responses.
- [FullNode RPC API](./src/api/rpc/full_node)
- [`get_all_mempool_items`](./src/api/rpc/full_node/README.md#get_all_mempool_itemsagent)
- [`get_mempool_item_by_tx_id`](./src/api/rpc/full_node/README.md#get_mempool_item_by_tx_idagent-params)
### Changed
- [FullNode RPC API](./src/api/rpc/full_node)
- [`get_blockchain_state`](./src/api/rpc/full_node/README.md#get_blockchain_stateagent)
- The type of `mempool_fees` was changed to `int` from `Mojos`(`uint64`)
- [`get_fee_estimate`](./src/api/rpc/full_node/README.md#get_fee_estimateagent-params)
- The type of `mempool_fees` was changed to `int` from `Mojos`(`uint64`)
- [Wallet RPC API](./src/api/rpc/wallet)
- [`send_transaction`](./src/api/rpc/wallet/README.md#send_transactionagent-params)
- Added `reuse_puzhash` to request parameter
- [`sign_message_by_address`](./src/api/rpc/wallet/README.md#sign_message_by_addressagent-params)
- Added `is_hex` to request parameter
- [`sign_message_by_id`](./src/api/rpc/wallet/README.md#sign_message_by_idagent-params)
- Added `is_hex` to request parameter
- [`cat_spend`](./src/api/rpc/wallet/README.md#cat_spendagent-params)
- Added `reuse_puzhash` to request parameter
- [`create_offer_for_ids`](./src/api/rpc/wallet/README.md#create_offer_for_idsagent-params)
- Added `reuse_puzhash` to request parameter
- [`take_offer`](./src/api/rpc/wallet/README.md#take_offeragent-params)
- Added `reuse_puzhash` to request parameter
- [`did_update_recovery_ids`](./src/api/rpc/wallet/README.md#did_update_recovery_idsagent-params)
- Added `reuse_puzhash` to request parameter
- [`did_get_info`](./src/api/rpc/wallet/README.md#did_get_infoagent-params)
- Added `solution` to response
- [`did_update_metadata`](./src/api/rpc/wallet/README.md#did_update_metadataagent-params)
- Added `reuse_puzhash` to request parameter
- [`did_transfer_did`](./src/api/rpc/wallet/README.md#did_transfer_didagent-params)
- Added `reuse_puzhash` to request parameter
- [`nft_mint_nft`](./src/api/rpc/wallet/README.md#nft_mint_nftagent-params)
- Added `reuse_puzhash` to request parameter
- [`nft_set_nft_did`](./src/api/rpc/wallet/README.md#nft_set_nft_didagent-params)
- Added `reuse_puzhash` to request parameter
- [`nft_set_did_bulk`](./src/api/rpc/wallet/README.md#nft_set_did_bulkagent-params)
- Added `reuse_puzhash` to request parameter
- [`nft_transfer_bulk`](./src/api/rpc/wallet/README.md#nft_transfer_bulkagent-params)
- Added `reuse_puzhash` to request parameter
- [`nft_transfer_nft`](./src/api/rpc/wallet/README.md#nft_transfer_nftagent-params)
- Added `reuse_puzhash` to request parameter
- [`nft_add_uri`](./src/api/rpc/wallet/README.md#nft_add_uriagent-params)
- Added `reuse_puzhash` to request parameter
- [`nft_mint_bulk`](./src/api/rpc/wallet/README.md#nft_mint_bulkagent-params)
- Added `reuse_puzhash` to request parameter
- [Wallet WebSocket API](./src/api/ws/wallet)
- [`on_state_changed_of_wallet`](./src/api/ws/wallet/README.md#on_state_changed_of_wallet)
- Added `wallet_removed` to state list
- Added `error` and `status` property to `tx_update` state changed event
In `cactus/wallet/nft_wallet/nft_info.py`, `nft_id` was added to `NftInfo`.
As a result of this change, the responses from following RPC APIs are affected.
- [Wallet RPC API](./src/api/rpc/full_node)
- [`nft_get_nfts`](./src/api/rpc/wallet/README.md#nft_get_nftsagent-params)
- [`nft_get_info`](./src/api/rpc/wallet/README.md#nft_get_infoagent-params)
### Added
- [New FullNode(Simulator) RPC API](./src/api/rpc/full_node)
Big thanks to [Dishwasha](https://github.com/Dishwasha) for a PR for new Simulator API!
- [`get_all_blocks`](./src/api/rpc/full_node/README.md#get_all_blocksagent-params)
- [`farm_block`](./src/api/rpc/full_node/README.md#farm_blockagent-params)
- [`set_auto_farming`](./src/api/rpc/full_node/README.md#set_auto_farmingagent-params)
- [`get_auto_farming`](./src/api/rpc/full_node/README.md#get_auto_farmingagent-params)
- [`get_farming_ph`](./src/api/rpc/full_node/README.md#get_farming_phagent-params)
- [`get_all_coins`](./src/api/rpc/full_node/README.md#get_all_coinsagent-params)
- [`get_all_puzzle_hashes`](./src/api/rpc/full_node/README.md#get_all_puzzle_hashesagent-params)
- [`revert_blocks`](./src/api/rpc/full_node/README.md#revert_blocksagent-params)
- [`reorg_blocks`](./src/api/rpc/full_node/README.md#reorg_blocksagent-params)
- [New Farmer WebSocket API](./src/api/ws/farmer)
- [`on_add_connection`](./src/api/ws/farmer/README.md#on_add_connection)
- [`on_close_connection`](./src/api/ws/farmer/README.md#on_close_connection)
- [New Harvester WebSocket API](./src/api/ws/harvester)
- [`on_add_connection`](./src/api/ws/harvester/README.md#on_add_connection)
- [`on_close_connection`](./src/api/ws/harvester/README.md#on_close_connection)
- [New Wallet RPC API](./src/api/rpc/wallet)
- [`set_wallet_resync_on_startup`](./src/api/rpc/wallet/README.md#set_wallet_resync_on_startupagent-params)
- [`get_transaction_memo`](./src/api/rpc/wallet/README.md#get_transaction_memoagent-params)
- [`nft_count_nfts`](./src/api/rpc/wallet/README.md#nft_count_nftsagent-params)
- [New Wallet WebSocket API](./src/api/ws/wallet)
- [`on_add_connection`](./src/api/ws/wallet/README.md#on_add_connection)
- [`on_close_connection`](./src/api/ws/wallet/README.md#on_close_connection)
### Fixed
- [Farmer WebSocket API](./src/api/ws/farmer)
- [`on_submitted_partial`](./src/api/ws/farmer/README.md#on_submitted_partial)
- Fixed an issue where `on_submitted_partial` was not working
- [Wallet RPC API](./src/api/rpc/wallet)
- [`verify_signature`](./src/api/rpc/wallet/README.md#verify_signatureagent-params)
- Fixed an issue where `verify_signature` was not exposed via `require("cactus-agent/api/rpc")`
- [Wallet WebSocket API](./src/api/ws/wallet)
- [`on_sync_changed`](./src/api/ws/wallet/README.md#on_sync_changed)
- Fixed an issue where `on_sync_changed` was defined as `on_sync_changed_of_wallet`
- [`on_coin_added`](./src/api/ws/wallet/README.md#on_coin_added)
- Fixed a typo. (WsCoindAddedMessage -> WsCoinAddedMessage)
- Fixed an issue where `on_coin_added` was defined as `on_coin_added_of_wallet`
## [10.1.0]
### Indirect Change
In `cactus/types/mempool_items.py`, `assert_height` was added to `MempoolItem`.
As a result of this change, the responses from following RPC APIs are affected.
- [FullNode RPC API](./src/api/rpc/full_node)
- [`get_all_mempool_items`](./src/api/rpc/full_node/README.md#get_all_mempool_itemsagent)
- [`get_mempool_item_by_tx_id`](./src/api/rpc/full_node/README.md#get_mempool_item_by_tx_idagent-params)
### Added
- [New Wallet RPC API](./src/api/rpc/wallet)
- [`get_timestamp_for_height`](./src/api/rpc/wallet/README.md#get_timestamp_for_heightagent)
- [`nft_transfer_bulk`](./src/api/rpc/wallet/README.md#nft_transfer_bulkagent-params)
### Changed
- [Common RPC API](./src/api/rpc/common)
- [`open_connection`](./src/api/rpc/common/README.md#open_connectionagent-params)
- Added `success` to response
- Added `error` to response when `success` is `False`
- [FullNode RPC API](./src/api/rpc/full_node)
- [`get_blockchain_state`](./src/api/rpc/full_node/README.md#get_blockchain_stateagent)
- Added `mempool_fees` to response
- [`get_fee_estimate`](./src/api/rpc/full_node/README.md#get_fee_estimateagent-params)
- Added `spend_type` to request parameter
- Added `spend_count` to request parameter
- Added `mempool_fees` to response
- Added `num_spends` to response
- Added `last_block_cost` to response
- Added `fees_last_block` to response
- Added `fee_rate_last_block` to response
- Added `last_tx_block_height` to response
- [Wallet RPC API](./src/api/rpc/wallet)
- [`get_notifications`](./src/api/rpc/wallet/README.md#get_notificationsagent-params)
- Added `height` to response
- [`verify_signature`](./src/api/rpc/wallet/README.md#verify_signatureagent-params)
- Added `signing_mode` to request parameter
- [`sign_message_by_address`](./src/api/rpc/wallet/README.md#sign_message_by_addressagent-params)
- Added `signing_mode` to response
- [`sign_message_by_id`](./src/api/rpc/wallet/README.md#sign_message_by_idagent-params)
- Added `None` type to `latest_coin_id` in response
- Added `signing_mode` to response
- [`cat_spend`](./src/api/rpc/wallet/README.md#cat_spendagent-params)
- Added `coins` to response
- [`get_offer_summary`](./src/api/rpc/wallet/README.md#get_offer_summaryagent-params)
- Added `id` to response
- [`check_offer_validity`](./src/api/rpc/wallet/README.md#check_offer_validityagent-params)
- Added `id` to response
- [`did_message_spend`](./src/api/rpc/wallet/README.md#did_message_spendagent-params)
- Removed error response
- [`nft_set_did_bulk`](./src/api/rpc/wallet/README.md#nft_set_did_bulkagent-params)
- Added `tx_num to response
- [`nft_get_wallet_did`](./src/api/rpc/wallet/README.md#nft_get_wallet_didagent-params)
- Removed error response
- [`nft_set_nft_status`](./src/api/rpc/wallet/README.md#nft_set_nft_statusagent-params)
- Removed error response
### Fixed
- [FullNode RPC API](./src/api/rpc/full_node)
- [`get_blockchain_state`](./src/api/rpc/full_node/README.md#get_blockchain_stateagent)
- Changed the type of `mempool_size` in response from `int` to `CLVMCost`(actually `uint64`)
- [Wallet RPC API](./src/api/rpc/wallet)
- [`nft_set_did_bulk`](./src/api/rpc/wallet/README.md#nft_set_did_bulkagent-params)
- Fixed missing export and entry in [README](./src/api/README.md)
- [`verify_signature`](./src/api/rpc/wallet/README.md#verify_signatureagent-params)
- Added missing `message` to request parameter
## [10.0.0]
### Breaking change
In `cactus/types/mempool_items.py`, `removals` of `MempoolItem` is now flagged as `@property`.
As a result of this, `removals` of `MempoolItem` is removed from 2 RPC API responses listed below.
- [FullNode RPC API](./src/api/rpc/full_node)
- [`get_all_mempool_items`](./src/api/rpc/full_node/README.md#get_all_mempool_itemsagent)
- [`get_mempool_item_by_tx_id`](./src/api/rpc/full_node/README.md#get_mempool_item_by_tx_idagent-params)
### Minor breaking change
- Response params of`keyring_status` daemon WebSocket API below are deprecated
- `needs_migration`
- `can_remove_legacy_keys`
### Removed
- [Daemon WebSocket API](./src/api/ws/daemon)
(Code will remain awhile on cactus-agent for backward compatibility. Only document is removed for now.)
- Removed `migrate_keyring`
- Removed `notify_keyring_migration_completed`
### Added
- [New DataLayer RPC API](./src/api/rpc/data_layer)
- [`get_sync_status`](./src/api/rpc/data_layer/README.md#get_sync_statusagent-params)
- [New Wallet RPC API](./src/api/rpc/wallet)
- [`get_spendable_coins`](./src/api/rpc/wallet/README.md#get_spendable_coinsagent-params)
- [`get_coin_records_by_names`](./src/api/rpc/wallet/README.md#get_coin_records_by_namesagent-params)
- [`verify_signature`](./src/api/rpc/wallet/README.md#verify_signatureagent-params)
- [`did_message_spend`](./src/api/rpc/wallet/README.md#did_message_spendagent-params)
- [`did_get_info`](./src/api/rpc/wallet/README.md#did_get_infoagent-params)
- [`did_find_lost_did`](./src/api/rpc/wallet/README.md#did_find_lost_didagent-params)
- [`nft_set_did_bulk`](./src/api/rpc/wallet/README.md#nft_set_did_bulkagent-params)
### Changed
- [Daemon WebSocket API](./src/api/ws/daemon)
- [`keyring_status`](./src/api/ws/daemon/README.md#keyring_statusdaemon)
- Removed `needs_migration` from response
- Removed `can_remove_legacy_keys` from response
- [FullNode RPC API](./src/api/rpc/full_node)
- [`get_mempool_item_by_tx_id`](./src/api/rpc/full_node/README.md#get_mempool_item_by_tx_idagent-params)
- Added `include_pending` to request parameter
- [Wallet RPC API](./src/api/rpc/wallet)
- [`send_transaction`](./src/api/rpc/wallet/README.md#send_transactionagent-params)
- Added `max_coin_amount` to request parameter
- Added `exclude_coin_amounts` to request parameter
- Added `exclude_coin_ids` to request parameter
- [`send_transaction_multi`](./src/api/rpc/wallet/README.md#send_transaction_multiagent-params)
- Added `max_coin_amount` to request parameter
- Added `exclude_coin_amounts` to request parameter
- Added parameters for cat spends.
- [`select_coins`](./src/api/rpc/wallet/README.md#select_coinsagent-params)
- Added `max_coin_amount` to request parameter
- Added `exclude_coin_amounts` to request parameter
- [`cat_spend`](./src/api/rpc/wallet/README.md#cat_spendagent-params)
- Added `additions` to request parameter
- Added `max_coin_amount` to request parameter
- Added `exclude_coin_amounts` to request parameter
- Added `exclude_coin_ids` to request parameter
- [`sign_message_by_id`](./src/api/rpc/wallet/README.md#sign_message_by_idagent-params)
- Added `latest_coin_id` to request parameter
- [`create_offer_for_ids`](./src/api/rpc/wallet/README.md#create_offer_for_idssagent-params)
- Added `max_coin_amount` to request parameter
- [`take_offer`](./src/api/rpc/wallet/README.md#take_offeragent-params)
- Added `max_coin_amount` to request parameter
- [`nft_mint_nft`](./src/api/rpc/wallet/README.md#nft_mint_nftagent-params)
- Added `nft_id` to return parameter
- [`nft_mint_bulk`](./src/api/rpc/wallet/README.md#nft_mint_bulkagent-params)
- Added `nft_id_list` to return parameter
- [`create_signed_transaction`](./src/api/rpc/wallet/README.md#create_signed_transactionagent-params)
- Added `max_coin_amount` to return parameter
- Added `exclude_coin_amounts` to return parameter
- [Wallet WebSocket API](./src/api/ws/wallet)
- [`state_changed`](./src/api/ws/wallet/README.md#onstatechangedofwallet)
- Added `new_on_chain_notification` state.
- `TBladeBitParams` has been renamed to `TBladeBitRamParams`
- `plot_type: "ramplot"` has been added
- `TBladeBit2Params` has been renamed to `TBladeBitDiskParams`
- `plot_type: "diskplot"` has been added
- `plotter` type has been converted to `"bladebit"` from `"bladebit2"`
- Eased type requirement of `daemon.sendMessage()` and `agent.sendMessage()`
You can request **RPC** API on Daemon WebSocket channel like this:
```typescript
const {getDaemon} = require("cactus-agent");
const {get_harvesters_summary} = require("cactus-agent/api/rpc/farmer");
const daemon = getDaemon();
await daemon.connect();
res = await get_harvesters_summary(daemon);
// or specify service name and API command
res = await daemon.sendMessage("cactus_farmer", "get_harvesters_summary");
/*
{
ack: true,
command: 'get_harvesters_summary',
data: { harvesters: [ [Object] ], success: true },
destination: 'cactus_agent',
origin: 'cactus_farmer',
request_id: '4e31c04df234538901d9270932d04301b5b3a1a895d762144400852b8167973f'
}
*/
```
Please note that when you use RPC API, you can directly request to the RPC endpoint of the service(full_node/farmer/...).
However, when you request RPC API on Daemon WebSocket channel, you get a response from the service
which the daemon is connecting to.
In other word, you can choose the exact ip:port of a service if you use RPC API,
while it is the daemon which chooses the services it connects to if you use Daemon WebSocket channel.
### Fixed
- [FullNode RPC API](./src/api/rpc/full_node)
- [`get_blockchain_state`](./src/api/rpc/full_node/README.md#get_blockchain_stateagent)
- Made `sync_tip_height` as `uint32`(previously `Optional<uint32>`) because `None` value would never be set
- [Wallet RPC API](./src/api/rpc/wallet)
- [`send_transaction_multi`](./src/api/rpc/wallet/README.md#send_transaction_multiagent-params)
- Added missing `min_coin_amount` to request parameter
- Added missing `exclude_coins` to request parameter
- [`create_offer_for_ids`](./src/api/rpc/wallet/README.md#create_offer_for_idsagent-params)
- Added missing `solver` to request parameter
- [`create_signed_transaction`](./src/api/rpc/wallet/README.md#create_signed_transactionagent-params)
- Added missing `wallet_id` to return parameter in README
- Added missing `exclude_coins` to return parameter in README
## [9.2.0]
### Minor breaking change
- `add_private_key` daemon WebSocket API now deprecated `passphrase` request param
and added `label` param.
- `program` property was removed from `MempoolItem` class.
See [MempoolItem](./src/api/cactus/types/mempool_item.ts) for more detail.
This impacts on API response below:
- [`get_all_mempool_items`](./src/api/rpc/full_node/README.md#get_all_mempool_itemsagent)
of FullNode RPC API
- [`get_mempool_item_by_tx_id`](./src/api/rpc/full_node/README.md#get_mempool_item_by_tx_idagent-params)
of FullNode RPC API
### Removed
- [Wallet RPC API](./src/api/rpc/wallet)
(Code will remain awhile on cactus-agent for backward compatibility. Only document is removed for now.)
- Removed `rl_set_user_info`
- Removed `send_clawback_transaction`
- Removed `add_rate_limited_funds`
- Removed RL Wallet type from `create_new_wallet` API
- Removed `RATE_LIMITED` from [`WalletType`](./src/api/cactus/wallet/util/wallet_types.ts)
### Added
- [New Daemon WebSocket API](./src/api/ws/daemon)
- [`get_key`](./src/api/ws/daemon/README.md#get_keydaemon-params)
- [`get_keys`](./src/api/ws/daemon/README.md#get_keysdaemon-params)
- [`set_label`](./src/api/ws/daemon/README.md#set_labeldaemon-params)
- [`delete_label`](./src/api/ws/daemon/README.md#delete_labeldaemon-params)
- [`running_services`](./src/api/ws/daemon/README.md#running_servicesdaemon)
- Added support for Bladebit2 plotting option
- [New FullNode RPC API](./src/api/rpc/full_node)
- [`get_fee_estimate`](./src/api/rpc/full_node/README.md#get_fee_estimateagent-params)
- [New Wallet RPC API](./src/api/rpc/wallet)
- [`push_transactions`](./src/api/rpc/wallet/README.md#push_transactionsagent-params)
- [`get_notifications`](./src/api/rpc/wallet/README.md#get_notificationsagent-params)
- [`delete_notifications`](./src/api/rpc/wallet/README.md#delete_notificationsagent-params)
- [`send_notification`](./src/api/rpc/wallet/README.md#send_notificationagent-params)
- [`sign_message_by_address`](./src/api/rpc/wallet/README.md#sign_message_by_addressagent-params)
- [`sign_message_by_id`](./src/api/rpc/wallet/README.md#sign_message_by_idagent-params)
- [`nft_calculate_royalties`](./src/api/rpc/wallet/README.md#nft_calculate_royaltiesagent-params)
- [`nft_mint_bulk`](./src/api/rpc/wallet/README.md#nft_mint_bulkagent-params)
### Changed
- [Daemon WebSocket API](./src/api/ws/daemon)
- [`add_private_key`](./src/api/ws/daemon/README.md#add_private_keydaemon-params)
- Removed `passphrase` request parameter
- Added `label` request parameter
- [DataLayer RPC API](./src/api/rpc/data_layer)
- [`get_value`](./src/api/rpc/data_layer/README.md#get_valueagent-params)
- Added `root_hash` request parameter
- [FullNode RPC API](./src/api/rpc/full_node)
- `program` property was removed from `MempoolItem` class.
See [MempoolItem](./src/api/cactus/types/mempool_item.ts) for more detail.
- [Wallet RPC API](./src/api/rpc/wallet)
- [`nft_get_nfts`](./src/api/rpc/wallet/README.md#nft_get_nftsagent-params)
- Made `wallet_id` optional request parameter
- Added `start_index`, `num`, `ignore_size_limit` request parameters
- [`nft_get_info`](./src/api/rpc/wallet/README.md#nft_get_infoagent-params)
- Added `ignore_size_limit` request parameters
- [`nft_add_uri`](./src/api/rpc/wallet/README.md#nft_add_uriagent-params)
- Removed error response
- [`create_signed_transaction`](./src/api/rpc/wallet/README.md#create_signed_transactionagent-params)
- Added `signed_txs` to response
- [Common RPC API](./src/api/rpc/common)
- [`healthz`](./src/api/rpc/common/README.md#healthzagent)
- Changed `success` type to `True` from `"true"`
- `p2_address`, `minter_did`, `off_chain_metadata` were added to `NFTInfo` class.
This impacts on API response below:
- [`nft_get_nfts`](./src/api/rpc/wallet/README.md#nft_get_nftsagent-params)
- [`nft_get_info`](./src/api/rpc/wallet/README.md#nft_get_infoagent-params)
### Fixed
- [Wallet RPC API](./src/api/rpc/wallet)
- [`nft_set_nft_did`](./src/api/rpc/wallet/README.md#nft_set_nft_didagent-params)
- Fixed an issue where `did_id` request param was described to be required
- [Common RPC API](./src/api/rpc/common)
- [`get_routes`](./src/api/rpc/common/README.md#get_routesagent)
- Added missing `success` response parameter.
## [9.1.0]
### Added
- Added Common RPC API Error format description and type
- [New DataLayer RPC API](./src/api/rpc/data_layer)
- [`create_data_store`](./src/api/rpc/data_layer/README.md#create_data_storeagent-params)
- [`get_owned_stores`](./src/api/rpc/data_layer/README.md#get_owned_storesagent)
- [`batch_update`](./src/api/rpc/data_layer/README.md#batch_updateagent-params)
- [`get_value`](./src/api/rpc/data_layer/README.md#get_valueagent-params)
- [`get_keys`](./src/api/rpc/data_layer/README.md#get_keysagent-params)
- [`get_keys_values`](./src/api/rpc/data_layer/README.md#get_keys_valuesagent-params)
- [`get_ancestors`](./src/api/rpc/data_layer/README.md#get_ancestorsagent-params)
- [`get_root`](./src/api/rpc/data_layer/README.md#get_rootagent-params)
- [`get_local_root`](./src/api/rpc/data_layer/README.md#get_local_rootagent-params)
- [`get_roots`](./src/api/rpc/data_layer/README.md#get_rootsagent-params)
- [`delete_key`](./src/api/rpc/data_layer/README.md#delete_keyagent-params)
- [`insert`](./src/api/rpc/data_layer/README.md#insertagent-params)
- [`subscribe`](./src/api/rpc/data_layer/README.md#subscribeagent-params)
- [`unsubscribe`](./src/api/rpc/data_layer/README.md#unsubscribeagent-params)
- [`add_mirror`](./src/api/rpc/data_layer/README.md#add_mirroragent-params)
- [`delete_mirror`](./src/api/rpc/data_layer/README.md#delete_mirroragent-params)
- [`get_mirrors`](./src/api/rpc/data_layer/README.md#get_mirrorsagent-params)
- [`remove_subscriptions`](./src/api/rpc/data_layer/README.md#remove_subscriptionsagent-params)
- [`subscriptions`](./src/api/rpc/data_layer/README.md#subscriptionsagent)
- [`get_kv_diff`](./src/api/rpc/data_layer/README.md#get_kv_diffagent-params)
- [`get_root_history`](./src/api/rpc/data_layer/README.md#get_root_historyagent-params)
- [`add_missing_files`](./src/api/rpc/data_layer/README.md#add_missing_filesagent-params)
- [`make_offer`](./src/api/rpc/data_layer/README.md#make_offeragent-params)
- [`take_offer`](./src/api/rpc/data_layer/README.md#take_offeragent-params)
- [`verify_offer`](./src/api/rpc/data_layer/README.md#verify_offeragent-params)
- [`cancel_offer`](./src/api/rpc/data_layer/README.md#cancel_offeragent-params)
- [New Wallet RPC API](./src/api/rpc/wallet)
- [`create_new_dl`](./src/api/rpc/wallet/README.md#create_new_dlagent-params)
- [`dl_track_new`](./src/api/rpc/wallet/README.md#dl_track_newagent-params)
- [`dl_stop_tracking`](./src/api/rpc/wallet/README.md#dl_stop_trackingagent-params)
- [`dl_latest_singleton`](./src/api/rpc/wallet/README.md#dl_latest_singletonagent-params)
- [`dl_singletons_by_root`](./src/api/rpc/wallet/README.md#dl_singletons_by_rootagent-params)
- [`dl_update_root`](./src/api/rpc/wallet/README.md#dl_update_rootagent-params)
- [`dl_update_multiple`](./src/api/rpc/wallet/README.md#dl_update_multipleagent-params)
- [`dl_history`](./src/api/rpc/wallet/README.md#dl_historyagent-params)
- [`dl_owned_singletons`](./src/api/rpc/wallet/README.md#dl_owned_singletonsagent-params)
- [`dl_get_mirrors`](./src/api/rpc/wallet/README.md#dl_get_mirrorsagent-params)
- [`dl_new_mirror`](./src/api/rpc/wallet/README.md#dl_new_mirroragent-params)
- [`dl_delete_mirror`](./src/api/rpc/wallet/README.md#dl_delete_mirroragent-params)
- [New Wallet WebSocket API](./src/api/ws/wallet)
- Added `offer_added`, `offer_cancelled` to `state_changed` event.
### Changed
- [Wallet RPC API](./src/api/rpc/wallet)
- [`get_offer_summary`](./src/api/rpc/wallet/README.md#get_offer_summaryagent-params)
- Added `advanced` request parameter
- [`take_offer`](./src/api/rpc/wallet/README.md#take_offeragent-params)
- Added `solver` request parameter
## [9.0.1]
### Fixed
- Fixed an issue where wallet `state_changed` events(notified via WebSocket API) below were missing.
- did_coin_added
- nft_coin_added
- nft_coin_removed
- nft_coin_updated
- nft_coin_did_set
## [9.0.0]
### Breaking Change
`series_total` and `series_number` in `NFTInfo` class have been renamed to `edition_total` and `edition_number`
(defined in `cactus/wallet/nft_wallet/nft_info.py`.)
As a result, the following Wallet RPC APIs in `cactus-blockchain@1.5.1` become not compatible with `cactus-blockchain@1.5.0`
- [`nft_get_info`](./src/api/rpc/wallet/README.md#nft_get_infoagent-params)
- `nft_info.series_total` was renamed to `nft_info.edition_total`
- `nft_info.series_number` was renamed to `nft_info.edition_number`
- [`nft_get_nfts`](./src/api/rpc/wallet/README.md#nft_get_nftsagent-params)
- `nft_list.series_total` was renamed to `nft_list.edition_total`
- `nft_list.series_number` was renamed to `nft_list.edition_number`
### Added
- [New FullNode RPC API](./src/api/rpc/full_node)
- [`get_block_spends`](./src/api/rpc/full_node/README.md#get_block_spendsagent-params)
- [New Wallet RPC API](./src/api/rpc/wallet)
- [`cancel_offers`](./src/api/rpc/wallet/README.md#cancel_offersagent-params)
### Changed
- [Farmer RPC API](./src/api/rpc/farmer)
- [`get_harvester_plots_valid`](./src/api/rpc/farmer/README.md#get_harvester_plots_validagent-params)
- [`get_harvester_plots_invalid`](./src/api/rpc/farmer/README.md#get_harvester_plots_invalidagent-params)
- [`get_harvester_plots_keys_missing`](./src/api/rpc/farmer/README.md#get_harvester_plots_keys_missingagent-params)
- [`get_harvester_plots_duplicates`](./src/api/rpc/farmer/README.md#get_harvester_plots_duplicatesagent-params)
- Changed type of `page` to `uint32` from `int`
- Changed type of `page_size` to `uint32` from `int`
- [Wallet RPC API](./src/api/rpc/wallet)
- [`get_wallets`](./src/api/rpc/wallet/README.md#get_walletsagent-params)
- Added `fingerprint` to response
- [`create_new_wallet`](./src/api/rpc/wallet/README.md#create_new_walletagent-params)
- Added new error response
- [`get_wallet_balance`](./src/api/rpc/wallet/README.md#get_wallet_balanceagent-params)
- Added `wallet_type` to response
- Added `asset_id` to response
- [`send_transaction`](./src/api/rpc/wallet/README.md#send_transactionagent-params)
- Changed request type of `wallet_id` to `uint32` from `int`
- Changed request type of `min_coin_amount` to `uint64` from `uint128`
- [`select_coins`](./src/api/rpc/wallet/README.md#select_coinsagent-params)
- Added `min_coin_amount` to request.
- Added `excluded_coins` to request.
- [`cat_set_name`](./src/api/rpc/wallet/README.md#cat_set_nameagent-params)
- Changed type of `wallet_id` to `uint32` from `int`
- [`cat_get_name`](./src/api/rpc/wallet/README.md#cat_get_nameagent-params)
- Changed type of `wallet_id` to `uint32` from `int`
- [`cat_spend`](./src/api/rpc/wallet/README.md#cat_spendagent-params)
- Changed type of `wallet_id` to `uint32` from `int`
- Changed request type of `min_coin_amount` to `uint64` from `uint128`
- [`cat_get_asset_id`](./src/api/rpc/wallet/README.md#cat_get_asset_idagent-params)
- Changed type of `wallet_id` to `uint32` from `int`
- [`create_offer_for_ids`](./src/api/rpc/wallet/README.md#create_offer_for_idsagent-params)
- Changed request type of `min_coin_amount` to `uint64` from `uint128`
- [`take_offer`](./src/api/rpc/wallet/README.md#take_offeragent-params)
- Changed request type of `min_coin_amount` to `uint64` from `uint128`
- [`send_clawback_transaction`](./src/api/rpc/wallet/README.md#send_clawback_transactionagent-params)
- Changed type of `wallet_id` to `uint32` from `int`
- [`create_signed_transaction`](./src/api/rpc/wallet/README.md#create_signed_transactionagent-params)
- Changed request type of `min_coin_amount` to `uint64` from `uint128`
- Added `excluded_coins` to request.
- [`pw_self_pool`](./src/api/rpc/wallet/README.md#pw_self_poolagent-params)
- [`pw_absorb_rewards`](./src/api/rpc/wallet/README.md#pw_absorb_rewardsagent-params)
- [`pw_status`](./src/api/rpc/wallet/README.md#pw_statusagent-params)
- Removed error response
- [`nft_get_info`](./src/api/rpc/wallet/README.md#nft_get_infoagent-params)
- `nft_info.series_total` was renamed to `nft_info.edition_total`
- `nft_info.series_number` was renamed to `nft_info.edition_number`
- [`nft_get_nfts`](./src/api/rpc/wallet/README.md#nft_get_nftsagent-params)
- `nft_list.series_total` was renamed to `nft_list.edition_total`
- `nft_list.series_number` was renamed to `nft_list.edition_number`
- [Wallet WebSocket API](./src/api/ws/wallet)
- Added `added_stray_cat`, `new_derivation_index` events
### Fixed
- Fixed an issue where type information of `get_puzzle_and_solution` was missing.
- Fixed an issue where event destination of `sync_changed` and `coin_added` Wallet WebSocket API was not correct.
- Fixed an issue where `healthz` common RPC API was missing.
## [8.0.0]
### Breaking Change
- [`nft_mint_nft`](./src/api/rpc/wallet/README.md#nft_mint_nftagent-params)
- Renamed `series_number` to `edition_number`.
- Renamed `series_total` to `edition_total`.
### Added
- [New Wallet RPC API](./src/api/rpc/wallet)
- [`get_current_derivation_index`](./src/api/rpc/wallet/README.md#get_current_derivation_indexagent)
- [`extend_derivation_index`](./src/api/rpc/wallet/README.md#extend_derivation_indexagent-params)
### Changed
- [`send_transaction`](./src/api/rpc/wallet/README.md#send_transactionagent-params)
- Added `min_coin_amount` to request parameter
- [`cat_spend`](./src/api/rpc/wallet/README.md#cat_spendagent-params)
- Added `min_coin_amount` to request parameter
- [`create_offer_for_ids`](./src/api/rpc/wallet/README.md#create_offer_for_idsagent-params)
- Added `min_coin_amount` to request parameter
- [`take_offer`](./src/api/rpc/wallet/README.md#take_offeragent-params)
- Added `min_coin_amount` to request parameter
- [`nft_mint_nft`](./src/api/rpc/wallet/README.md#nft_mint_nftagent-params)
- Renamed `series_number` to `edition_number`.
- Renamed `series_total` to `edition_total`.
- [`create_signed_transaction`](./src/api/rpc/wallet/README.md#create_signed_transactionagent-params)
- Added `min_coin_amount` to request parameter
## [7.0.0]
### Breaking Change
- [`create_new_wallet`](./src/api/rpc/wallet/README.md#create_new_walletagent-params)
- Renamed `filename` to `backup_data`.
- [`did_get_recovery_list`](./src/api/rpc/wallet/README.md#did_get_recovery_listagent-params)
- Renamed `recover_list` to `recovery_list`.
- [`did_recovery_spend`](./src/api/rpc/wallet/README.md#did_recovery_spendagent-params)
- Renamed `attest_filenames` to `attest_data`.
- Changed the type of `success` response property to `bool` from `SpendBundle`.
- Added `spend_bundle` to response.
- [`did_create_attest`](./src/api/rpc/wallet/README.md#did_create_attestagent-params)
- Removed `filename` from request.
- Added `attest_data` to response.
- [`did_create_backup_file`](./src/api/rpc/wallet/README.md#did_create_backup_fileagent-params)
- Removed `filename` from request.
- Added `backup_data` to response.
### Added
- [New Farmer WebSocket API](./src/api/ws/farmer)
- [`on_proof`](./src/api/ws/farmer/README.md#on_proof)
- [`on_submitted_partial`](./src/api/ws/farmer/README.md#on_submitted_partial)
- [New Harvester WebSocket API](./src/api/ws/harvester)
- [`on_farming_info`](./src/api/ws/harvester/README.md#on_farming_info)
- [New Wallet RPC API](./src/api/rpc/wallet)
- [`did_set_wallet_name`](./src/api/rpc/wallet/README.md#did_set_wallet_nameagent-params)
- [`did_get_wallet_name`](./src/api/rpc/wallet/README.md#did_get_wallet_nameagent-params)
- [`did_update_metadata`](./src/api/rpc/wallet/README.md#did_update_metadataagent-params)
- [`did_get_metadata`](./src/api/rpc/wallet/README.md#did_get_metadataagent-params)
- [`did_get_current_coin_info`](./src/api/rpc/wallet/README.md#did_get_current_coin_infoagent-params)
- [`did_transfer_did`](./src/api/rpc/wallet/README.md#did_transfer_didagent-params)
- [`nft_mint_nft`](./src/api/rpc/wallet/README.md#nft_mint_nftagent-params)
- [`nft_get_nfts`](./src/api/rpc/wallet/README.md#nft_get_nftsagent-params)
- [`nft_set_nft_did`](./src/api/rpc/wallet/README.md#nft_set_nft_didagent-params)
- [`nft_get_by_did`](./src/api/rpc/wallet/README.md#nft_get_by_didagent-params)
- [`nft_get_wallet_did`](./src/api/rpc/wallet/README.md#nft_get_wallet_didagent-params)
- [`nft_get_wallets_with_dids`](./src/api/rpc/wallet/README.md#nft_get_wallets_with_didsagent)
- [`nft_set_nft_status`](./src/api/rpc/wallet/README.md#nft_set_nft_statusagent-params)
- [`nft_transfer_nft`](./src/api/rpc/wallet/README.md#nft_transfer_nftagent-params)
- [`nft_get_info`](./src/api/rpc/wallet/README.md#nft_get_infoagent-params)
- [`nft_add_uri`](./src/api/rpc/wallet/README.md#nft_add_uriagent-params)
### Changed
- [`get_reward_targets`](./src/api/rpc/farmer/README.md#get_reward_targetsagent-params)
- Added `max_ph_to_search` to request parameter
- [`check_delete_key`](./src/api/rpc/wallet/README.md#check_delete_keyagent-params)
- Added `max_ph_to_search` to request parameter
- [`get_wallets`](./src/api/rpc/wallet/README.md#get_walletsagent-params)
- Added `include_data` to request parameter
- [`create_new_wallet`](./src/api/rpc/wallet/README.md#create_new_walletagent-params)
- Added `metadata` and `wallet_name` to request parameter for DID wallet
- Changed parameter name from `filename` and `backup_data` for request parameter for DID wallet recovery
- Added NFT Wallet type
- [`create_offer_for_ids`](./src/api/rpc/wallet/README.md#create_offer_for_idsagent-params)
- Added `driver_dict` to request parameter
- [`get_offer_summary`](./src/api/rpc/wallet/README.md#get_offer_summaryagent-params)
- Added `infos` to response parameter
- [`did_update_recovery_ids`](./src/api/rpc/wallet/README.md#did_update_recovery_idsagent-params)
- Changed the type of `wallet_id` to `uint32` from `int`.
- [`did_get_did`](./src/api/rpc/wallet/README.md#did_get_didagent-params)
- Changed the type of `wallet_id` to `uint32` from `int`.
- [`did_get_recovery_list`](./src/api/rpc/wallet/README.md#did_get_recovery_listagent-params)
- Changed the type of `wallet_id` to `uint32` from `int`.
- Renamed `recover_list` to `recovery_list`.
- [`did_recovery_spend`](./src/api/rpc/wallet/README.md#did_recovery_spendagent-params)
- Changed the type of `wallet_id` to `uint32` from `int`.
- Renamed `attest_filenames` to `attest_data`.
- Changed response dict format
- [`did_get_pubkey`](./src/api/rpc/wallet/README.md#did_get_pubkeyagent-params)
- Changed the type of `wallet_id` to `uint32` from `int`.
- [`did_create_attest`](./src/api/rpc/wallet/README.md#did_create_attestagent-params)
- Changed the type of `wallet_id` to `uint32` from `int`.
- Removed `filename` from request.
- Added `attest_data` to response.
- [`did_get_information_needed_for_recovery`](./src/api/rpc/wallet/README.md#did_get_information_needed_for_recoveryagent-params)
- Changed the type of `wallet_id` to `uint32` from `int`.
- [`did_create_backup_file`](./src/api/rpc/wallet/README.md#did_create_backup_fileagent-params)
- Changed the type of `wallet_id` to `uint32` from `int`.
- Removed `filename` from request.
- Added `backup_data` to response.
- `TradeRecordConvenience` type at `cactus/wallet/trade_record.py` was changed.
(Added `infos` property to `summary` dict)
As a result, the following APIs are affected:
- `create_offer_for_ids` of Wallet RPC API
- `take_offer` of Wallet RPC API
- `get_offer` of Wallet RPC API
- `get_all_offers` of Wallet RPC API
- Renamed `DISTRIBUTED_ID` to `DECENTRALIZED_ID` of `WalletType` in `src/api/cactus/wallet/util/wallet_type.ts`.
- Added `NFT` to `WalletType` in `src/api/cactus/wallet/util/wallet_type.ts`.
### Fixed
- Fixed an issue where README description for `did_get_pubkey` was wrong.
- Fixed an issue where the type of `pubkey` response property for `did_get_pubkey` was wrong.
## [6.0.0]
### Minor Breaking Change
- At cactus-blockchain@1.3.5, a farmer websocket API `new_plots` was replaced by
`harvester_update` and `harvester_removed`.
This change is not critical because in application's point of view it may just miss new plot info but
farming will continue without problem.
### Removed
- [Farmer WebSocket API](./src/api/ws/farmer)
- `on_new_plots`
### Added
- [New Farmer WebSocket API](./src/api/ws/farmer)
- [`harvester_updated`](./src/api/ws/farmer/README.md#on_harvester_update)
- [`harvester_removed`](./src/api/ws/farmer/README.md#on_harvester_removed)
- [New Farmer RPC API](./src/api/rpc/farmer)
- [`get_harvesters_summary`](./src/api/rpc/farmer/README.md#get_harvesters_summaryagent)
- [`get_harvester_plots_valid`](./src/api/rpc/farmer/README.md#get_harvester_plots_validagent-params)
- [`get_harvester_plots_invalid`](./src/api/rpc/farmer/README.md#get_harvester_plots_invalidagent-params)
- [`get_harvester_plots_keys_missing`](./src/api/rpc/farmer/README.md#get_harvester_plots_keys_missingagent-params)
- [`get_harvester_plots_duplicates`](./src/api/rpc/farmer/README.md#get_harvester_plots_duplicatesagent-params)
### Changed
- `Plot` type at `cactus/harvester/harvester.py` was changed.
(Removed deprecated `plot-seed` and change the type of `time_modified` to `int` from `float`)
As a result, the following APIs are affected:
- `get_plots` of Harvester RPC API
- `on_get_plots` of Harvester WebSocket API
- [`get_pool_state`](./src/api/rpc/farmer/README.md#get_pool_stateagent)
- `plot_count` property is added
### Fixed
- Fixed an issue where README description of `get_harvesters`(Farmer RPC API) did not reflect actual API format
- Added missing `get_pool_login_link` of Farmer RPC API to `./src/api/rpc/index.ts`
## [5.0.0]
### Breaking Change
- At cactus-blockchain@1.3.4, in `cactus/consensus/cost_calculator.py`,
`NPCResult.npc_list` was removed and `NPCResult.conds` was added.
As a result, the RPC APIs below might be incompatible between `1.3.3` and `1.3.4`.
- `get_all_mempool_items` Of FullNode RPC API
- `get_mempool_item_by_tx_id` Of FullNode RPC API
### Added
- [New FullNode RPC API](./src/api/rpc/full_node)
- [`get_coin_records_by_hint`](./src/api/rpc/full_node/README.md#get_coin_records_by_hintagent-params)
- [New Wallet RPC API](./src/api/rpc/wallet)
- [`select_coins`](./src/api/rpc/wallet/README.md#select_coinsagent-params)
- [`get_stray_cats`](./src/api/rpc/wallet/README.md#get_stray_catsagent)
### Changed
- [FullNode RPC API](./src/api/rpc/full_node)
- Updated [`get_additions_and_removals`](./src/api/rpc/full_node/README.md#get_additions_and_removalsagent-params)
- [Wallet RPC API](./src/api/rpc/wallet)
- Updated [`get_wallets`](./src/api/rpc/wallet/README.md#get_walletsagent-params)
- Updated [`pw_absorb_rewards`](./src/api/rpc/wallet/README.md#pw_absorb_rewardsagent-params)
- The following APIs changed because a new property was added to `TradeRecord` class at `cactus/wallet/trade_record.py`
This is not a breaking change because just adding a property is backward compatible.
- [`create_offer_for_ids`](./src/api/rpc/wallet/README.md#create_offer_for_idsagent-params)
- [`take_offer`](./src/api/rpc/wallet/README.md#take_offeragent-params)
- [`get_offer`](./src/api/rpc/wallet/README.md#get_offeragent-params)
- [`get_all_offers`](./src/api/rpc/wallet/README.md#get_all_offersagent-params)
### Fixed
- Fixed issues where the following full_node RPC APIs were not exported from `api/rpc/index.ts`.
- `get_coin_record_by_names`
- `get_coin_records_by_parent_ids`
- Fixed issues where the following wallet RPC APIs were not exported from `api/rpc/index.ts`.
- `delete_unconfirmed_transactions`
- Fixed an issue where README description of `get_blockchain_state` of FullNode RPC API was missing some properties.
## [4.0.0]
### Breaking Change
- At cactus-blockchain@1.3.0, in `cactus/consensus/cost_calculator.py`,
`NPCResult.clvm_cost` was renamed to `NPCResult.cost`.
As a result, the RPC APIs below might be incompatible between `1.2.11` and `1.3.0`.
- `get_all_mempool_items` Of FullNode RPC API
- `get_mempool_item_by_tx_id` Of FullNode RPC API
- In `cactus/pools/pool_config.py`,
`authentication_public_key` was removed from `PoolWalletConfig`.
As a result, the RPC APIs below might be incompatible between `1.2.11` and `1.3.0`.
- `get_pool_state` of Farmer RPC API
- In `cactus/types/coin_record.py`, `CoinRecord.spen