- The default service name which
Daemon
client tries to register is nowwallet_ui
.
Previouslychia_agent
service and optionallywallet_ui
service were registered tochia-blockchain
'sDaemon
.
- Error logs are generated when
- an error occurs during sending a message.
- it receives a websocket message with unexpected format.
- Debug logs are generated when ping/pong events are triggered.
- Added a
Host
header when sending https request to a remote host.
- Removed
RpcWalletMessageOnWs
since it's costly to maintain while there are a few use cases. - Enhanced type resolutions on Wallet RPC APIs with
TXEndpointRequest
- Removed deprecated
TCreate_New_RL_WalletRequest
andTCreate_New_RL_WalletResponse
- New Wallet RPC API
- New Common RPC API
- New property
translation
was added toMarshall
.
As a result of this addition, the following Wallet RPC APIs are affected. translation
andmerge_spends
were added toTXEndpointRequest
As a result of this addition, the following Wallet RPC APIs are affected.create_new_wallet
send_transaction
spend_clawback_coins
create_signed_transaction
send_notification
cat_spend
create_offer_for_ids
take_offer
cancel_offer
cancel_offers
did_update_recovery_ids
did_update_metadata
did_create_attest
did_message_spend
did_transfer_did
dao_add_funds_to_treasury
dao_send_to_lockup
dao_exit_lockup
dao_create_proposal
dao_vote_on_proposal
dao_close_proposal
dao_free_coins_from_finished_proposals
nft_mint_nft
nft_set_nft_did
nft_set_did_bulk
nft_transfer_bulk
nft_transfer_nft
nft_add_uri
nft_mint_bulk
pw_join_pool
pw_self_pool
pw_absorb_rewards
create_new_dl
dl_update_root
dl_update_multiple
dl_new_mirror
dl_delete_mirror
vc_mint
vc_spend
vc_revoke
crcat_approve_pending
- Added missing
reason
response property todid_recovery_spend
- For the log which is output when
success
property in API response isfalse
, the log level is nowINFO
instead ofERROR
.
daemon.connect()
now returns a rejected promise on failure instead of throwing an uncaught exceptiondaemon.connect()
now accepts connection timeout in milliseconds.
add_private_key
- The request parameters
kc_user
andkc_service
is temporarily not working with2.4.0
and2.4.1
ofchia-blockchain
. (2.4.2
fixed this issue)
This is a bug and not spec change sochia-agent
stays to be able to set those params for now.
- The request parameters
- Reorganized directory structure under
src/api/
in order to make it clear the dependencies fromchia_rs
/pool_reference
- Daemon WebSocket API
get_key_for_fingerprint
- Added a
private
request parameter
- Added a
- Common RPC API
get_network_info
- Added a
genesis_challenge
response parameter
- Added a
Mirror
now has newconfirmed_at_height
property.
As a result of this addition,dl_get_mirrors
is affected.PoolWalletInfo
'scurrent_inner
property was removed.
As a result of this removal, the following Wallet RPC APIs are affected.CHIP-0029
andsign
request params were added toTXEndpointRequest
.
Plus,unsigned_transactions
andsigning_responses
were added to responses of TxEndpoint APIs.
As a result of these additions, the following Wallet RPC APIs are affected.create_new_wallet
send_transaction
spend_clawback_coins
create_signed_transaction
send_notification
cat_spend
create_offer_for_ids
take_offer
cancel_offer
cancel_offers
did_update_recovery_ids
did_update_metadata
did_create_attest
did_message_spend
did_transfer_did
dao_add_funds_to_treasury
dao_send_to_lockup
dao_exit_lockup
dao_create_proposal
dao_vote_on_proposal
dao_close_proposal
dao_free_coins_from_finished_proposals
nft_mint_nft
nft_set_nft_did
nft_set_did_bulk
nft_transfer_bulk
nft_transfer_nft
nft_add_uri
nft_mint_bulk
pw_join_pool
pw_self_pool
pw_absorb_rewards
create_new_dl
dl_update_root
dl_update_multiple
dl_new_mirror
dl_delete_mirror
vc_mint
vc_spend
vc_revoke
crcat_approve_pending
- FullNode RPC API
TFarmBlockFullNodeRequest
,TFarmBlockFullNodeResponse
andfarm_block_fullnode
are now
TFarmBlockRequest
,TFarmBlockResponse
andfarm_block
- Wallet RPC API
push_transactions
- Added
sign
request parameter
- Added
dl_update_multiple
- Added
fee
optional request parameter - Removed
tx_records
from response
- Added
- Wallet RPC API
farm_block
- Daemon WebSocket API
add_private_key
- Added missing
fingerprint
response property
- Added missing
add_private_key
check_keys
delete_all_keys
delete_key_by_fingerprint
get_all_private_keys
get_first_private_key
get_key_for_fingerprint
get_key
get_keys
get_public_key
get_public_keys
set_label
delete_label
- Added a missing
kc_service
request parameter - Removed
kc_test
request parameter
- Added a missing
get_key_for_fingerprint
- Made
error
response parameter non-optional whensuccess == False
- Made
- Common RPC API
get_network_info
- Added a missing
success
response parameter
- Added a missing
- Wallet RPC API
create_new_wallet
- Fixed CAT request/response documentation incorrectness
dao_close_proposal
- Fixed response documentation incorrectness
- Fixed an issue where
Spend
andSpendBundleCondition
were too old and missed several properties in the types.
-get_network_info
RPC API is now commonized and available in addition to full_node
and wallet
.
- DataLayer RPC API
get_keys
- Added
page
to request parameter - Added
max_page_size
to request parameter - Added
total_pages
,total_bytes
androot_hash
to response
- Added
get_keys_values
- Added
page
to request parameter - Added
max_page_size
to request parameter - Added
total_pages
,total_bytes
androot_hash
to response
- Added
batch_update
- Added
submit_on_chain
to request parameter - Made
tx_id
in response optional
- Added
get_kv_diff
- Added
page
to request parameter - Added
max_page_size
to request parameter - Added
total_pages
andtotal_bytes
to response
- Added
- Wallet RPC API
push_transactions
- A request parameter
transactions
is allowed to beTransactionRecordConvenience[]
- A request parameter
create_new_wallet
transactions
is added to response forcat_wallet
ifmode
in request isnew
transactions
is added to response fordao_wallet
transactions
is added to response forpool_wallet
ifmode
in request isnew
send_transaction
- Changed the type of
fee
touint64
and made it optional - Added
transactions
to response
- Changed the type of
send_transaction_multi
- Simplified
TSendTransactionMultiRequest
- Added
transactions
to response
- Simplified
spend_clawback_coins
- Added
transactions
to response
- Added
send_notification
- Added
transactions
to response
- Added
cat_spend
- Added
transactions
to response
- Added
create_offer_for_ids
- Added
transactions
to response
- Added
take_offer
- Added
transactions
to response
- Added
cancel_offer
- Added
transactions
to response
- Added
cancel_offers
- Added
transactions
to response
- Added
did_update_recovery_ids
- Added
transactions
to response
- Added
did_message_spend
- Added
transactions
to response
- Added
did_update_metadata
- Added
transactions
to response
- Added
did_recovery_spend
- Added
transactions
to response
- Added
did_create_attest
- Added
transactions
to response
- Added
did_transfer_did
- Added
transactions
to response
- Added
dao_add_funds_to_treasury
- Added
transactions
to response
- Added
dao_send_to_lockup
- Added
transactions
to response
- Added
dao_exit_lockup
- Added
transactions
to response
- Added
dao_create_proposal
- Added
transactions
to response
- Added
dao_vote_on_proposal
- Added
transactions
to response
- Added
dao_close_proposal
- Added
transactions
to response
- Added
dao_free_coins_from_finished_proposals
- Added
transactions
to response
- Added
nft_mint_nft
- Added
transactions
to response
- Added
nft_set_nft_did
- Added
transactions
to response
- Added
nft_set_did_bulk
- Added
transactions
to response
- Added
nft_transfer_bulk
- Added
transactions
to response
- Added
nft_transfer_nft
- Added
transactions
to response
- Added
nft_add_uri
- Added
transactions
to response
- Added
nft_mint_bulk
- Added
transactions
to response
- Added
create_signed_transaction
- Added
morph_bytes
to request parameter - Added
transactions
to response
- Added
pw_join_pool
- Added
transactions
to response
- Added
pw_self_pool
- Added
transactions
to response
- Added
pw_absorb_rewards
- Added
transactions
to response
- Added
dl_update_root
- Added
transactions
to response
- Added
dl_update_multiple
- Added
transactions
to response
- Added
- Moved
TxEndpoint
to src/chia/rpc/util.ts (Previouslysrc/chia/wallet/util/tx_config.ts
) - Renamed
TxEndPoint
toTXEndpointRequest
- Renamed
TxEndpointForCompat
toTXEndpointForCompat
- Renamed
TxConfigLoader
toTXConfigLoader
- Changed the types of
passed
andclosed
in ProposalInfoto
bool(Previously they were
Optional`)
As a result, the RPC APIs below are affecteddao_get_proposals
of Wallet RPC APIdao_adjust_filter_level
of Wallet RPC API
- Upgraded dependencies and replaced
yarn.lock
withpnpm-lock.yaml
- Moved
FarmerRecord
to src/chia/pool/record.ts ( Previouslysrc/chia/pool/store.ts
)
- Renamed
ReceiveBlockResult
toAddBlockResult
(typeReceiveBlockResult
is still available to avoid breaking change) - Fixed an invalid
TCreate_New_DAO_WalletRequest
README location. - Fixed an issue where
pubkey
andpubhash
in request of Wallet RPC APIdid_recovery_spend
was not optional in the API doc. - Fixed lint errors
- FullNode RPC API
get_network_info_of_full_node
- Wallet RPC API
get_network_info_of_wallet
- Removed empty request parameter types like
{}
- When RPC API responds with
success: false
, itsPromise
now doesreject
. (Previously it doesresolve
) - At [email protected], in
chia/consensus/cost_calculator.py
,
NPCResult.cost
was removed.
As a result, the RPC APIs below might be incompatible between2.1.4
and2.2.1
.get_all_mempool_items
of FullNode RPC APIget_mempool_item_by_tx_id
of FullNode RPC API
- Loosened a type of
agent
to call RPC APIs. RPC APIs can be invoked withagent
which just implementssendMessage
method depicted as below.
export interface APIAgent {
sendMessage<M extends unknown>(
destination: string,
command: string,
data?: Record<string, unknown>,
): Promise<M>;
}
sp_source_data
was added toNewSignagePoint
As a result the following API responses were affectedinclude_signature_source_data
was added toDeclareProofOfSpace
As a result the following API responses were affectedfoliage_block_data
,foliage_transaction_block_data
andrc_block_unfinished
were added toRequestSignedValues
eligible_for_fast_forward
was added toBundleCoinSpend
CHIP_0002_P2_DELEGATED_CONDITIONS
was added toSigningMode
As a result the following API responses were affected- Wallet RPC API
get_notifications
- The types of request parameters were slightly changed
ids
are nowbytes32[]
(previouslystr[]
)start
are nowuint32
(previouslyint[]
)end
are nowuint32
(previouslyint[]
)
- The types of response parameters were slightly changed
id
are nowbytes32
(previouslystr
)message
are nowbytes
(previouslystr
)
- The types of request parameters were slightly changed
get_offer_summary
- The following properties were added to the response parameters
additions: str[]
removals: str[]
- The following properties were added to the response parameters
nft_get_info
- The following properties were removed from the response parameters
ignore_size_limit
- The following properties were removed from the response parameters
- Added connectivity options for
RPCAgent
.keepAlive
(default:true
)keepAliveMsecs
(default:1000
)maxSockets
(default:Infinity
)timeout
(default:undefined
)
// Usage
const {RPCAgent} = require("chia-agent");
const {get_plots} = require("chia-agent/api/rpc");
const agent = new RPCAgent({
service: "harvester",
keepAlive: true,
keepAliveMsecs: 3000,
maxSockets: 1, // Avoid to set `1` if your requests may be sent in parallel.
timeout: 5000,
});
const res = await get_plots(agent);
- Added
httpsAgent
,httpAgent
option forRPCAgent
. You can now configure and inject your ownrequire('https').Agent
intoRPCAgent
.
// Usage
const {Agent: HttpsAgent} = require("https"); // or const {Agent: HttpAgent} = require('http');
const {RPCAgent} = require("chia-agent");
const {get_plots} = require("chia-agent/api/rpc");
const httpsAgent = new HttpsAgent({
host: "localhost",
port: 8560,
ca: ...,
cert: ...,
key: ...,
rejectUnauthorized: false,
});
const agent = new RPCAgent({httpsAgent: httpsAgent}); // `new RPCAgent({httpAgent: httpAgent});` is also allowed.
const res = await get_plots(agent);
- Fixed an issue where some of the RPC Pool APIs did not handle request parameters correctly.
- Added missing attribute
peak_height
toNewSignagePoint
- FullNode RPC API
- Wallet RPC API
dao_adjust_filter_level
dao_add_funds_to_treasury
dao_get_treasury_balance
dao_get_treasury_id
dao_get_rules
dao_send_to_lockup
dao_get_proposals
dao_get_proposal_state
dao_exit_lockup
dao_create_proposal
dao_vote_on_proposal
dao_parse_proposal
dao_close_proposal
dao_free_coins_from_finished_proposals
- SigningMode
- Added
CHIP_0002_HEX_INPUT
asSigningMode
- Added
- WalletType
- Added
DAO
andDAO_CAT
toWalletType
- Added
- RPC Agent
- Allow to specify
host
/port
on instantiatingRPCAgent
whenprotocol
is not specified.
const agent = new RPCAgent({host: 'example.com', port: 8444, service: 'full_node', configPath: '...'});
- Allow to specify
- Farmer RPC API
get_pool_state
- Added new properties
insufficient_partials_since_start
insufficient_partials_24h
- Added new properties
- Wallet RPC API
select_coins
- The types of both
excluded_coins
andexclude_coins
were changed toCoin[]
fromstr[]
. - Please note that both of the above properties are just kept for compatibility so don't use them unless you have
strong reasons. Use
excluded_coin_ids: str[]
instead.
- The types of both
sign_message_by_address
- Added
safe_mode
to request parameter
- Added
sign_message_by_id
- Added
safe_mode
to request parameter
- Added
- Typo in SpendBundle:
cons_spends
renamed tocoin_spends
- Fixed an issue where sometimes error logs were not reported due to circular dependencies.
- Daemon WebSocket API
start_plotting
- Added
disk_128
,disk_16
to cudaplot request parameter.
- Added
- DataLayer RPC API
create_data_store
- Added
verbose
to request parameter - Now
txs
is set only whenverbose
istrue
.
- Added
unsubscribe
- Added
retain
to request parameter
- Added
- Wallet RPC API
- A collection of common optional request parameters(
TxEndpoint
) is added to several wallet RPC API requests.create_new_wallet
send_transaction
spend_clawback_coins
select_coins
send_notification
cat_spend
create_offer_for_ids
take_offer
cancel_offer
cancel_offers
did_update_recovery_ids
did_message_spend
did_update_metadata
did_create_attest
did_transfer_did
nft_mint_nft
nft_set_nft_did
nft_set_did_bulk
nft_transfer_bulk
nft_transfer_nft
nft_add_uri
nft_mint_bulk
create_signed_transaction
pw_join_pool
pw_self_pool
pw_absorb_rewards
create_new_dl
dl_update_root
dl_update_multiple
dl_new_mirror
dl_delete_mirror
vc_mint
vc_spend
vc_revoke
create_new_wallet
- Added
test
request parameter for CAT wallet
- Added
spend_clawback_coins
- Added
force
request parameter
- Added
get_offer_summary
- Added
valid_times
to response
- Added
TradeRecord
now hasvalid_times
.
As a result of this addition, the following Wallet RPC APIs are affected.TransactionRecordConvenience
now hasvalid_times
.
As a result of this addition, the following Wallet RPC APIs are affectedCRCAT
are added toWalletType
andCRCAT_PENDING
,CRCAT
are added toCoinType
.
As a result of this addition, the following Wallet RPC API is affected.
- A collection of common optional request parameters(
- Daemon WebSocket API
- Fixed an issue where
kc_user
andkc_service
were missing from the request parameter of the following daemon Ws APIs.
- Fixed an issue where
- Wallet RPC API
create_new_wallet
- Added missing
name
request parameter for CAT wallet
- Added missing
get_offer_summary
- Fixed wrong response param name:
driver_dict
->infos
- Fixed wrong response param name:
- Fixed an issue where the type of
status
property inTradeRecordConvenience
wasuint32
(str
is correct).
- Daemon WebSocket API
start_plotting
no_direct_downloads
has been removed fromTBladeBitCudaParams
- The format of
PoolState
) has been changed.points_found_24h
andpoints_acknowledged_24h
are nowArray<[uint32, uint64]>
(they wereArray<[float, uint64]>
)pool_errors_24h
is nowArray<[uint32, ErrorResponse]>
(it wasErrorResponse[]
)
- The following request properties of
send_transaction
andcat_spend
Wallet RPC API were renamedexclude_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 renamedexclude_coin_amounts
->excluded_coin_amounts
exclude_coins
->excluded_coins
- The previous property name (
exclude_coins
) is preserved for backward compatibility - Unlike
send_transaction
andcat_spend
,exclude_coin_amounts
is removed by accident and not backward compatible.
- Daemon WebSocket API
start_plotting
- The
t2
option for chiapos plotter is now optional - Added
compress
option for bladebit plotter - Added
cudaplot
plot type for bladebit plotter
- The
get_plotters
- Added
cuda_support
property to bladebit install info
- Added
- DataLayer RPC API
- Renamed the type
WsTakeOfferMessageDL
toWsTakeOfferMessage
- Renamed the type
WsCancelOfferMessageDL
toWsCancelOfferMessage
- Renamed the type
- Farmer RPC API
get_pool_state
- 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
- Added new properties
get_harvesters
- Added
total_effective_plot_size
andharvesting_mode
toharvesters
in response
- Added
get_harvesters_summary
- Added
total_effective_plot_size
andharvesting_mode
toharvesters
in response
- Added
- Farmer WebSocket API
on_new_farming_info
- Added
node_id
andlookup_time
tofarming_info
Broadcast data
- Added
on_new_signage_point
- Added
missing_signage_points
to Broadcast data
- Added
on_submitted_partial
- Added
"wallet_ui""
todestination
in Broadcast data
- Added
on_harvester_update
- Added
total_effective_plot_size
andharvesting_mode
to broadcast data
- Added
- Harvester RPC API
get_plots
- Added
compression_level
to response
- Added
- FullNode RPC API
get_blockchain_state
- Added
average_block_time
to response
- Added
- Wallet RPC API
get_farmed_amount
- Added
last_time_farmed
to response - Added
blocks_won
to response
- Added
- 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
- Wallet RPC API
get_transactions
- Added
type_filter
to request parameter - Added
confirmed
to request parameter - Added
metadata
for eachtransactions
in a response
- Added
get_transaction_count
- Added
type_filter
to request parameter - Added
confirmed
to request parameter
- Added
send_transaction
- Added
puzzle_decorator
to request parameter
- Added
did_get_info
- Added
did_id
to response
- Added
- Replace the npm module
json-bigint
to@chiamine/json-bigint
.
- Fixed the type of
int64
,uint64
,uint128
,uint512
tonumber | bigint
.
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.
Just updated documents.
You don't need to update chia-agent
from 11.1.0
for [email protected]
because there are no API changes.
- Wallet RPC API
get_wallet_balance
- 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)
- Part of response properties are replaced by
cat_spend
- Added
extra_delta
,tail_reveal
andtail_solution
to request parameter.
- Added
- In
chia/wallet/nft_wallet/nft_info.py
,nft_coin_confirmation_height
was added toNFTInfo
.
As a result of this change, the responses from following RPC API is affected.
- Updated
yaml
to2.2.2
- Added missing
get_sync_status
toREADME.md
for RPC APIs - Added missing property
launcher_id
todl_history
in DataLayer RPC API
JSONified MempoolItem
replaced original MempoolItem
in chia/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
get_blockchain_state
- The type of
mempool_fees
was changed toint
fromMojos
(uint64
)
- The type of
get_fee_estimate
- The type of
mempool_fees
was changed toint
fromMojos
(uint64
)
- The type of
- Wallet RPC API
send_transaction
- Added
reuse_puzhash
to request parameter
- Added
sign_message_by_address
- Added
is_hex
to request parameter
- Added
sign_message_by_id
- Added
is_hex
to request parameter
- Added
cat_spend
- Added
reuse_puzhash
to request parameter
- Added
create_offer_for_ids
- Added
reuse_puzhash
to request parameter
- Added
take_offer
- Added
reuse_puzhash
to request parameter
- Added
did_update_recovery_ids
- Added
reuse_puzhash
to request parameter
- Added
did_get_info
- Added
solution
to response
- Added
did_update_metadata
- Added
reuse_puzhash
to request parameter
- Added
did_transfer_did
- Added
reuse_puzhash
to request parameter
- Added
nft_mint_nft
- Added
reuse_puzhash
to request parameter
- Added
nft_set_nft_did
- Added
reuse_puzhash
to request parameter
- Added
nft_set_did_bulk
- Added
reuse_puzhash
to request parameter
- Added
nft_transfer_bulk
- Added
reuse_puzhash
to request parameter
- Added
nft_transfer_nft
- Added
reuse_puzhash
to request parameter
- Added
nft_add_uri
- Added
reuse_puzhash
to request parameter
- Added
nft_mint_bulk
- Added
reuse_puzhash
to request parameter
- Added
- Wallet WebSocket API
on_state_changed_of_wallet
- Added
wallet_removed
to state list - Added
error
andstatus
property totx_update
state changed event
- Added
In chia/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.
- New FullNode(Simulator) RPC API
Big thanks to Dishwasha for a PR for new Simulator API! - New Farmer WebSocket API
- New Harvester WebSocket API
- New Wallet RPC API
- New Wallet WebSocket API
- Farmer WebSocket API
on_submitted_partial
- Fixed an issue where
on_submitted_partial
was not working
- Fixed an issue where
- Wallet RPC API
verify_signature
- Fixed an issue where
verify_signature
was not exposed viarequire("chia-agent/api/rpc")
- Fixed an issue where
- Wallet WebSocket API
on_sync_changed
- Fixed an issue where
on_sync_changed
was defined ason_sync_changed_of_wallet
- Fixed an issue where
on_coin_added
- Fixed a typo. (WsCoindAddedMessage -> WsCoinAddedMessage)
- Fixed an issue where
on_coin_added
was defined ason_coin_added_of_wallet
In chia/types/mempool_items.py
, assert_height
was added to MempoolItem
.
As a result of this change, the responses from following RPC APIs are affected.
- Common RPC API
open_connection
- Added
success
to response - Added
error
to response whensuccess
isFalse
- Added
- FullNode RPC API
get_blockchain_state
- Added
mempool_fees
to response
- Added
get_fee_estimate
- 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
- Added
- Wallet RPC API
get_notifications
- Added
height
to response
- Added
verify_signature
- Added
signing_mode
to request parameter
- Added
sign_message_by_address
- Added
signing_mode
to response
- Added
sign_message_by_id
- Added
None
type tolatest_coin_id
in response - Added
signing_mode
to response
- Added
cat_spend
- Added
coins
to response
- Added
get_offer_summary
- Added
id
to response
- Added
check_offer_validity
- Added
id
to response
- Added
did_message_spend
- Removed error response
nft_set_did_bulk
- Added `tx_num to response
nft_get_wallet_did
- Removed error response
nft_set_nft_status
- Removed error response
- FullNode RPC API
get_blockchain_state
- Changed the type of
mempool_size
in response fromint
toCLVMCost
(actuallyuint64
)
- Changed the type of
- Wallet RPC API
nft_set_did_bulk
- Fixed missing export and entry in README
verify_signature
- Added missing
message
to request parameter
- Added missing
In chia/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.
- Response params of
keyring_status
daemon WebSocket API below are deprecatedneeds_migration
can_remove_legacy_keys
- Daemon WebSocket API
(Code will remain awhile on chia-agent for backward compatibility. Only document is removed for now.)- Removed
migrate_keyring
- Removed
notify_keyring_migration_completed
- Removed
- Daemon WebSocket API
keyring_status
- Removed
needs_migration
from response - Removed
can_remove_legacy_keys
from response
- Removed
- FullNode RPC API
get_mempool_item_by_tx_id
- Added
include_pending
to request parameter
- Added
- Wallet RPC API
send_transaction
- Added
max_coin_amount
to request parameter - Added
exclude_coin_amounts
to request parameter - Added
exclude_coin_ids
to request parameter
- Added
send_transaction_multi
- Added
max_coin_amount
to request parameter - Added
exclude_coin_amounts
to request parameter - Added parameters for cat spends.
- Added
select_coins
- Added
max_coin_amount
to request parameter - Added
exclude_coin_amounts
to request parameter
- Added
cat_spend
- 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
- Added
sign_message_by_id
- Added
latest_coin_id
to request parameter
- Added
create_offer_for_ids
- Added
max_coin_amount
to request parameter
- Added
take_offer
- Added
max_coin_amount
to request parameter
- Added
nft_mint_nft
- Added
nft_id
to return parameter
- Added
nft_mint_bulk
- Added
nft_id_list
to return parameter
- Added
create_signed_transaction
- Added
max_coin_amount
to return parameter - Added
exclude_coin_amounts
to return parameter
- Added
- Wallet WebSocket API
state_changed
- Added
new_on_chain_notification
state.
- Added
TBladeBitParams
has been renamed toTBladeBitRamParams
plot_type: "ramplot"
has been added
TBladeBit2Params
has been renamed toTBladeBitDiskParams
plot_type: "diskplot"
has been addedplotter
type has been converted to"bladebit"
from"bladebit2"
- Eased type requirement of
daemon.sendMessage()
andagent.sendMessage()
You can request RPC API on Daemon WebSocket channel like this:
const {getDaemon} = require("chia-agent");
const {get_harvesters_summary} = require("chia-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("chia_farmer", "get_harvesters_summary");
/*
{
ack: true,
command: 'get_harvesters_summary',
data: { harvesters: [ [Object] ], success: true },
destination: 'chia_agent',
origin: 'chia_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.
- FullNode RPC API
get_blockchain_state
- Made
sync_tip_height
asuint32
(previouslyOptional<uint32>
) becauseNone
value would never be set
- Made
- Wallet RPC API
send_transaction_multi
- Added missing
min_coin_amount
to request parameter - Added missing
exclude_coins
to request parameter
- Added missing
create_offer_for_ids
- Added missing
solver
to request parameter
- Added missing
create_signed_transaction
- Added missing
wallet_id
to return parameter in README - Added missing
exclude_coins
to return parameter in README
- Added missing
add_private_key
daemon WebSocket API now deprecatedpassphrase
request param
and addedlabel
param.program
property was removed fromMempoolItem
class.
See MempoolItem for more detail.
This impacts on API response below:get_all_mempool_items
of FullNode RPC APIget_mempool_item_by_tx_id
of FullNode RPC API
- Wallet RPC API
(Code will remain awhile on chia-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
- Removed
RATE_LIMITED
fromWalletType
- New Daemon WebSocket API
get_key
get_keys
set_label
delete_label
running_services
- Added support for Bladebit2 plotting option
- New FullNode RPC API
- New Wallet RPC API
- Daemon WebSocket API
add_private_key
- Removed
passphrase
request parameter - Added
label
request parameter
- Removed
- DataLayer RPC API
get_value
- Added
root_hash
request parameter
- Added
- FullNode RPC API
program
property was removed fromMempoolItem
class.
See MempoolItem for more detail.
- Wallet RPC API
nft_get_nfts
- Made
wallet_id
optional request parameter - Added
start_index
,num
,ignore_size_limit
request parameters
- Made
nft_get_info
- Added
ignore_size_limit
request parameters
- Added
nft_add_uri
- Removed error response
create_signed_transaction
- Added
signed_txs
to response
- Added
- Common RPC API
healthz
- Changed
success
type toTrue
from"true"
- Changed
p2_address
,minter_did
,off_chain_metadata
were added toNFTInfo
class.
This impacts on API response below:
- Wallet RPC API
nft_set_nft_did
- Fixed an issue where
did_id
request param was described to be required
- Fixed an issue where
- Common RPC API
get_routes
- Added missing
success
response parameter.
- Added missing
- Added Common RPC API Error format description and type
- New DataLayer RPC API
create_data_store
get_owned_stores
batch_update
get_value
get_keys
get_keys_values
get_ancestors
get_root
get_local_root
get_roots
delete_key
insert
subscribe
unsubscribe
add_mirror
delete_mirror
get_mirrors
remove_subscriptions
subscriptions
get_kv_diff
get_root_history
add_missing_files
make_offer
take_offer
verify_offer
cancel_offer
- New Wallet RPC API
- New Wallet WebSocket API
- Added
offer_added
,offer_cancelled
tostate_changed
event.
- Added
- Wallet RPC API
get_offer_summary
- Added
advanced
request parameter
- Added
take_offer
- Added
solver
request parameter
- Added
- 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
series_total
and series_number
in NFTInfo
class have been renamed to edition_total
and edition_number
(defined in chia/wallet/nft_wallet/nft_info.py
.)
As a result, the following Wallet RPC APIs in [email protected]
become not compatible with [email protected]
nft_get_info
nft_info.series_total
was renamed tonft_info.edition_total
nft_info.series_number
was renamed tonft_info.edition_number
nft_get_nfts
nft_list.series_total
was renamed tonft_list.edition_total
nft_list.series_number
was renamed tonft_list.edition_number
- Farmer RPC API
get_harvester_plots_valid
get_harvester_plots_invalid
get_harvester_plots_keys_missing
get_harvester_plots_duplicates
- Changed type of
page
touint32
fromint
- Changed type of
page_size
touint32
fromint
- Changed type of
- Wallet RPC API
get_wallets
- Added
fingerprint
to response
- Added
create_new_wallet
- Added new error response
get_wallet_balance
- Added
wallet_type
to response - Added
asset_id
to response
- Added
send_transaction
- Changed request type of
wallet_id
touint32
fromint
- Changed request type of
min_coin_amount
touint64
fromuint128
- Changed request type of
select_coins
- Added
min_coin_amount
to request. - Added
excluded_coins
to request.
- Added
cat_set_name
- Changed type of
wallet_id
touint32
fromint
- Changed type of
cat_get_name
- Changed type of
wallet_id
touint32
fromint
- Changed type of
cat_spend
- Changed type of
wallet_id
touint32
fromint
- Changed request type of
min_coin_amount
touint64
fromuint128
- Changed type of
cat_get_asset_id
- Changed type of
wallet_id
touint32
fromint
- Changed type of
create_offer_for_ids
- Changed request type of
min_coin_amount
touint64
fromuint128
- Changed request type of
take_offer
- Changed request type of
min_coin_amount
touint64
fromuint128
- Changed request type of
send_clawback_transaction
- Changed type of
wallet_id
touint32
fromint
- Changed type of
create_signed_transaction
- Changed request type of
min_coin_amount
touint64
fromuint128
- Added
excluded_coins
to request.
- Changed request type of
pw_self_pool
pw_absorb_rewards
pw_status
- Removed error response
nft_get_info
nft_info.series_total
was renamed tonft_info.edition_total
nft_info.series_number
was renamed tonft_info.edition_number
nft_get_nfts
nft_list.series_total
was renamed tonft_list.edition_total
nft_list.series_number
was renamed tonft_list.edition_number
- Wallet WebSocket API
- Added
added_stray_cat
,new_derivation_index
events
- Added
- Fixed an issue where type information of
get_puzzle_and_solution
was missing. - Fixed an issue where event destination of
sync_changed
andcoin_added
Wallet WebSocket API was not correct. - Fixed an issue where
healthz
common RPC API was missing.
nft_mint_nft
- Renamed
series_number
toedition_number
. - Renamed
series_total
toedition_total
.
- Renamed
send_transaction
- Added
min_coin_amount
to request parameter
- Added
cat_spend
- Added
min_coin_amount
to request parameter
- Added
create_offer_for_ids
- Added
min_coin_amount
to request parameter
- Added
take_offer
- Added
min_coin_amount
to request parameter
- Added
nft_mint_nft
- Renamed
series_number
toedition_number
. - Renamed
series_total
toedition_total
.
- Renamed
create_signed_transaction
- Added
min_coin_amount
to request parameter
- Added
create_new_wallet
- Renamed
filename
tobackup_data
.
- Renamed
did_get_recovery_list
- Renamed
recover_list
torecovery_list
.
- Renamed
did_recovery_spend
- Renamed
attest_filenames
toattest_data
. - Changed the type of
success
response property tobool
fromSpendBundle
. - Added
spend_bundle
to response.
- Renamed
did_create_attest
- Removed
filename
from request. - Added
attest_data
to response.
- Removed
did_create_backup_file
- Removed
filename
from request. - Added
backup_data
to response.
- Removed
get_reward_targets
- Added
max_ph_to_search
to request parameter
- Added
check_delete_key
- Added
max_ph_to_search
to request parameter
- Added
get_wallets
- Added
include_data
to request parameter
- Added
create_new_wallet
- Added
metadata
andwallet_name
to request parameter for DID wallet - Changed parameter name from
filename
andbackup_data
for request parameter for DID wallet recovery - Added NFT Wallet type
- Added
create_offer_for_ids
- Added
driver_dict
to request parameter
- Added
get_offer_summary
- Added
infos
to response parameter
- Added
did_update_recovery_ids
- Changed the type of
wallet_id
touint32
fromint
.
- Changed the type of
did_get_did
- Changed the type of
wallet_id
touint32
fromint
.
- Changed the type of
did_get_recovery_list
- Changed the type of
wallet_id
touint32
fromint
. - Renamed
recover_list
torecovery_list
.
- Changed the type of
did_recovery_spend
- Changed the type of
wallet_id
touint32
fromint
. - Renamed
attest_filenames
toattest_data
. - Changed response dict format
- Changed the type of
did_get_pubkey
- Changed the type of
wallet_id
touint32
fromint
.
- Changed the type of
did_create_attest
- Changed the type of
wallet_id
touint32
fromint
. - Removed
filename
from request. - Added
attest_data
to response.
- Changed the type of
did_get_information_needed_for_recovery
- Changed the type of
wallet_id
touint32
fromint
.
- Changed the type of
did_create_backup_file
- Changed the type of
wallet_id
touint32
fromint
. - Removed
filename
from request. - Added
backup_data
to response.
- Changed the type of
TradeRecordConvenience
type atchia/wallet/trade_record.py
was changed.
(Addedinfos
property tosummary
dict)
As a result, the following APIs are affected:create_offer_for_ids
of Wallet RPC APItake_offer
of Wallet RPC APIget_offer
of Wallet RPC APIget_all_offers
of Wallet RPC API
- Renamed
DISTRIBUTED_ID
toDECENTRALIZED_ID
ofWalletType
insrc/api/chia/wallet/util/wallet_type.ts
. - Added
NFT
toWalletType
insrc/api/chia/wallet/util/wallet_type.ts
.
- Fixed an issue where README description for
did_get_pubkey
was wrong. - Fixed an issue where the type of
pubkey
response property fordid_get_pubkey
was wrong.
- At [email protected], a farmer websocket API
new_plots
was replaced by
harvester_update
andharvester_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.
- Farmer WebSocket API
on_new_plots
Plot
type atchia/harvester/harvester.py
was changed.
(Removed deprecatedplot-seed
and change the type oftime_modified
toint
fromfloat
)
As a result, the following APIs are affected:get_plots
of Harvester RPC APIon_get_plots
of Harvester WebSocket API
get_pool_state
plot_count
property is added
- 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
- At [email protected], in
chia/consensus/cost_calculator.py
,
NPCResult.npc_list
was removed andNPCResult.conds
was added.
As a result, the RPC APIs below might be incompatible between1.3.3
and1.3.4
.get_all_mempool_items
Of FullNode RPC APIget_mempool_item_by_tx_id
Of FullNode RPC API
- FullNode RPC API
- Updated
get_additions_and_removals
- Updated
- Wallet RPC API
- Updated
get_wallets
- Updated
pw_absorb_rewards
- Updated
- The following APIs changed because a new property was added to
TradeRecord
class atchia/wallet/trade_record.py
This is not a breaking change because just adding a property is backward compatible.
- 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.
- At [email protected], in
chia/consensus/cost_calculator.py
,
NPCResult.clvm_cost
was renamed toNPCResult.cost
.
As a result, the RPC APIs below might be incompatible between1.2.11
and1.3.0
.get_all_mempool_items
Of FullNode RPC APIget_mempool_item_by_tx_id
Of FullNode RPC API
- In
chia/pools/pool_config.py
,authentication_public_key
was removed fromPoolWalletConfig
.
As a result, the RPC APIs below might be incompatible between1.2.11
and1.3.0
.get_pool_state
of Farmer RPC API
- In
chia/types/coin_record.py
,CoinRecord.spent
was removed and turned into a getter method.
As a result, the RPC APIs below might be incompatible between1.2.11
and1.3.0
.get_additions_and_removals
of FullNode RPC API
- Wallet RPC API
create_backup
was removed - Wallet RPC API
get_discrepancies_for_offer
was removed - Wallet RPC API
respond_to_offer
was removed - Wallet RPC API
get_trade
was removed - Wallet RPC API
get_all_trades
was removed - Wallet RPC API
cancel_trade
was removed - Wallet RPC API
cc_set_name
was renamed tocat_set_name
- Wallet RPC API
cc_get_name
was renamed tocat_get_name
- Wallet RPC API
cc_spend
was renamed tocat_spend
- Wallet RPC API
cc_get_colour
was renamed tocat_get_asset_id
- The request parameter of Wallet RPC API
create_offer_for_ids
was changed and incompatible with older API. - The request parameter of Wallet RPC API
create_new_wallet
was changed and incompatible with older API.
- Removed
create_backup
of Wallet RPC API - Removed
get_discrepancies_for_offer
of Wallet RPC API - Removed
respond_to_offer
of Wallet RPC API - Removed
get_trade
of Wallet RPC API - Removed
get_all_trades
of Wallet RPC API - Removed
cancel_trade
of Wallet RPC API - Removed
TradeRecordInJson
atsrc/api/chia/wallet/util/trade_utils.ts
- Added
metrics
service - Common RPC API
- Timelord WebSocket API
- Crawler RPC API
- Crawler WebSocket API
- New farmer WebSocket API
- New FullNode RPC API
- New FullNode WebSocket API
- New harvester WebSocket API
- New wallet RPC API
- New wallet WebSocket API
- New daemon API
- Renamed
NPCResult.clvm_cost
toNPCResult.cost
- Removed
authentication_public_key
fromPoolWalletConfig
- Set actual value to
destination
property on websocket APIs. (i.e.wallet_ui
,metrics
) - Updated
get_blockchain_state
of FullNode RPC API - Updated
get_blocks
of FullNode RPC API - Renamed
cc_set_name
of Wallet RPC API tocat_set_name
- Renamed
cc_get_name
of Wallet RPC API tocat_get_name
- Renamed
cc_spend
of Wallet RPC API tocat_spend
- Renamed
cc_get_colour
of Wallet RPC API tocat_get_asset_id
- Updated
create_offer_for_ids
of Wallet RPC API - Updated
log_in
of Wallet RPC API - Updated
add_key
of Wallet RPC API - Updated
create_new_wallet
of Wallet RPC API - Updated
get_wallet_balance
of Wallet RPC API - Updated
get_transaction
of Wallet RPC API - Updated
get_transactions
of Wallet RPC API - Updated
send_transaction
of Wallet RPC API - Updated
send_transaction_multi
of Wallet RPC API - Updated
create_signed_transaction
of Wallet RPC API - Updated
pw_join_pool
of Wallet RPC API - Updated
pw_self_pool
of Wallet RPC API - Updated
pw_absorb_rewards
of Wallet RPC API - Added
memos
toTransactionRecord
insrc/api/chia/wallet/transaction_record.ts
. - Renamed
COLOURED_COIN
toCAT
ofWalletType
insrc/api/chia/wallet/util/wallet_type.ts
.
- Replaced
unknown
type with actual type foron_state_changed_of_wallet
in wallet WebSocket API
- Added
skip_hostname_verification
option forRPCAgent
- Fixed an issue where wallet WebSocket message from daemon was not captured.
Thank you! @joshpainter
- Service name of plotter was changed:
chia plots create
=>chia_plotter
.
If you have a code which starts plotting via daemon websocket API, you might write like this:On and after [email protected], you must rewrite the last line of the above code like this:const {getDaemon} = require("chia-agent"); const {start_plotting} = require("chia-agent/api/ws"); const daemon = getDaemon(); // This is the websocket connection handler await daemon.connect(); // connect to local daemon using config file. const response = await start_plotting(daemon, {service: "chia plots create", ...});
Please note you need to also update other code lines which refers to old service name(const response = await start_plotting(daemon, {service: "chia_plotter", ...});
chia plots create
).
- Updated
start_plotting
of Daemon Websocket API - Updated
create_new_wallet
of Wallet RPC API - Updated
get_trade
of Wallet RPC API - Updated
pw_join_pool
of Wallet RPC API - Updated
pw_self_pool
of Wallet RPC API - Updated
pw_absorb_rewards
of Wallet RPC API - Updated
pw_status
of Wallet RPC API
- Updated
keyring_status
of Daemon Websocket API - Updated
migrate_keyring
- Updated
set_keyring_passphrase
- Updated
keyring_status
of Daemon Websocket API - Updated
start_plotting
of Daemon Websocket API
- Added missing properties for
did_spend
Note:chia-blockchain
no longer responds to/did_spend
wallet API endpoint on and after 1.2.8.
For now, I don't remove/did_spend
fromchia-agent
but only remove from API document.
This release corresponds to [email protected], which introduced no external API changes.
This release corresponds to [email protected] which only updates install script.
There are no API changes at all.
- Update documents
- Updated
get_public_keys
of Wallet RPC API - Updated
add_key
of Wallet RPC API - Updated
delete_all_keys
of Wallet RPC API - Updated
get_initial_freeze_period
of Wallet RPC API
I incremented major version. See "Changed" section for detail.
- Rename
CoinSolution
toCoinSpend
and updated affected API response format.- Note: this introduces breaking changes to some API response format.
For additional information, please see https://github.com/Chia-Network/chia-blockchain/commit/6cf29102f95b410a8c6dc416e612c998bac567fa#comments
- Note: this introduces breaking changes to some API response format.
1.1.0 - 2021-07-08
- Update G1Element/G2Element type to
string
(Serialized hex string representation) - Updated
get_private_key
- New pool protocol/api
- New farmer api
- New full_node api
- New wallet api
- Added type TCreate_New_Pool_WalletRequest
- Added type TCreate_New_Pool_WalletResponse
- Added type PoolWalletInfo
- Added BUILD.md
- Fixed RPC API document links
- Fixed the type of
SerializedProgram
tostr
- Fixed an issue where submodule could not be loaded. e.g.
const {...} = require("chia-agent/api/rpc");
- Correct type name
TCreate_New_RC_WalletRequest/Response
toTCreate_New_RL_WalletRequest/Response
- Fixed wrong
create_new_wallet
request format - Fixed an issue where array data in YAML file was not parsed as expected.
- Fixed
login
response json of Wallet RPC API - Fixed
get_private_key
response json of Wallet RPC API - Fixed
create_offer_for_ids
response json of Wallet RPC API - Fixed
get_discrepancies_for_offer
response json of Wallet RPC API - Fixed
did_get_pubkey
response json of Wallet RPC API - Fixed
did_recovery_spend
response json of Wallet RPC API
1.0.1 - 2021-05-19
- Only fixed typo in README.md
1.0.0 - 2021-05-19
- Added new RPC client
- Added new RPC API
- Added new Websocket API
- Added API type definitions
- Added code samples
0.0.5 - 2021-05-13
- Reorganized internal log level and locations.
daemon.connect()
resolves to boolean value indicating whether connecting is success or failure.- Trying to re-connect to an url which is already active does not output warning anymore.
- Added types
- Fixed an issue where it could fail to catch response from chia daemon.
0.0.4 - 2021-05-13
- Fixed an issue where some requests were not responded by chia daemon.
0.0.3 - 2021-05-13
- Changed argument order for
daemon.sendMessage
for previous one was not intuitive.
// Old
daemon.sendMessage(get_block_record_by_height_command, destination, data);
// Now
daemon.sendMessage(destination, get_block_record_by_height_command, data);
0.0.2 - 2021-05-13
- Fixed an issue where it cannot be executed via
npx
command.
0.0.1 - 2021-05-13
Initial release.