1.3.0
1.3.0 Chinilla blockchain 2022-10-16
This release aligns with Chia 1.6.0.
Added
- DataLayer
- XCH Spam Filter
- GUI Settings
Auto-Login
toggle (GUI only) - GUI Settings section for
DataLayer
Enable DataLayer
toggleEnable File Propagation Server
toggle
Modified
- Delayed pool config update until after sync
- Minor change to handling sync height to avoid race condition with blockchain DB
- Ignore
FileNotFoundError
when checking SSL file permissions if the file doesn’t exist
Fixed
- Fixed missing wallet
state_changed
events for GUI - Fixed several bugs related to wallet sync status
- Fixed GUI issue for CAT offers where the CAT Tail would not show in the tooltip for
Unknown CAT
s (https://github.com/Chinilla-Network/chinilla-blockchain-gui/issues/950)
Known Issues
- The CLI command
chinilla configure --enable-data-server
, and theconfig.yaml
parameter atdata_layer.run_server
have no effect, and will be removed in the future - DataLayer offers cannot be accepted (
take_offer
) if the offer has inclusions for the exact same key/value data for both maker and taker inclusions.
1.2.1 Chinilla blockchain unreleased
Notes
This release aligns with Chia 1.5.1
Added
- Add Source and Changelog to project_urls (Thanks @strayer!)
- Add condition code constant for REMARK, an always true Chinillalisp condition
- Add several wallet optimizations
- Add
chinilla db backup --backup-file <backup_file_destination>
(Thanks @neurosis69!) - Add debug option to log all SQL commands for wallet db (Thanks @neurosis69!)
- Additional data for
get_wallet_balance
andget_wallets
endpoints - Add
change_data
to_state_changed
since the later calls expect it - Add
Program.replace
- Add
new_transaction()
toDBWrapper2
- Add RPCs for getting/extending the current derivation path index
- Add symlinks to the UI RPM to mirror the .deb UI and the CLI installers
- Add support for excluding coins in
create_signed_transaction
wallet RPC (Thanks @felixbrucker!) - Add small coin selection improvements
- Add bulk cancel API
- Introduce
streamable.Field
- Introduce
Streamable.__post_init__
processing cache - Added minimum coin amount to various RPC calls
- Added new full_node RPC called
get_block_spends
- Get spends for block using transaction generator - Support for remembering the last used wallet key
- Documented deserialization length limitations (8191 bytes) in CLVM ROM. We recommend using a local version of the chinillalisp code when necessary
Changed
- Huge speedup in trusted wallet sync
- Previous time to sync 1000 tx: 90 seconds
- New time: 2 seconds
- Force keyring migration / Deprecate legacy keyring support
- Renaming series -> editions (full deprecation) (Thanks @DrakoPensulo!)
- Made various additions to the cache, and changes to validation to reduce CPU usage significantly
- Log full errors when
run_as_generator()
throws error - Sort
plot_paths
before splitting it into batches - Skip
plot_sync_callback
ifdelta
isNone
- Validate the path in
add_plot_directory
- Cache convert functions from
dataclass_from_dict
- Big thanks to @neurosis69 for the following:
- Allow bigger chunks of bind variables per SQL statement
- Execute SQL updates as chunks in
_set_spent function
fortx_removals
- Optimized column selection in various tables to use specific columns rather than all columns
- Write blockchain DB full node startup progress to debug.log
- Clean up and Refactor
chinilla show
command - Increment the dirty counter when setting
height-to-hash
map entries plotting.cache.DiskCache
->util.misc.VersionedBlob
- Improve
chinilla farm summary
- Optimize
std_hash
incoin.py
- Improved many tests
- Remove
big_ints
list - Improved UX for
plotnft claim
- Upgrade
chia-rs
to streamable support - Allow switching keys during sync
- Optimize
get_hash
by not double converting - Don't re-hash the same objects
- Drop redundant
PlotPathRequestData
conversion - Make
PlotsRefreshParameter
streamable + usefrom_json_dict
- Make
Plot{Info|Path}RequestData
streamable + usefrom_json_dict
- Optimize request additions
- Stop and join watchdog observer
- Remove chinilla.util.path.mkdir()
- Remove the constants_json field
- Don't convert
ConsensusConstants
to/from JSON - Move some class methods out of
Streamable
- Request header blocks, and new rate limits
- Replaced the python implementation of
Coin
with the Rust nativeCoin
fromchia_rs
- Watchdog==2.1.9 for bad file descriptor avoidance
- Be specific about
*args
inRpcServer
state changed methods - Make WalletUserStore.create_wallet() raise on failure, and return non-optional
- Switch back to official dnspython for v2.2.0
- Not optional -
WalletNode.wallet_state_manager
,.server
,.keychain_proxy
- More
uint64()
for NFT coin amount - Delay
WalletNode._new_peak_queue
instantiation to avoid errors - Remove unused
WalletCoinStore.get_unspent_coins_at_height
NFTInfo.royalty_puzzle_hash
isOptional
but notNone
here- Handle
KeychainProxyConnectionFailure
inFarmer.setup_keys
- Made simplifications to the
WalletCoinStore
class - Removed wallet transaction store cache
- Removed double
bytes32
conversion - Turn
dataclass_from_dict
intostreamable_from_dict
- Replace service
running_new_process=
parameter by.setup_process_global_state()
method - Changed wallet peer selection to prefer nodes in the following order
- trusted & synced
- untrusted & synced
- trusted & unsynced
- untrusted & unsynced
- Simplified pool cache
- Remove unused finished_sync_up_to (Thanks @olivernyc!)
- Expand
Field
and introduceStreamable._streamable_fields
- Removing
logging.basicConfig()
fromChinillaServer.__init__()
- Use coin selection algorithm for DID wallets
- Simplify service start configuration loading
- Wallet network messages now have higher priority than Node network messages
- Wallet now checks the mempool before adding new transactions to the queue
- Implemented new context manager for DB access (DBWrapper2) that supports nested transactions, improved support for concurrency, and simplified exception handling
- Upgraded
clvm-tools-rs
to0.1.19
- Upgraded
clvm_tools
to0.4.5
- Simplify wallet transaction store
- Remove unused
_clear_database()
functions - Optimized wallet DB queries using
execute_fetchall
- Optimize wallet
set_spent()
- Added support for minimum coin amount and excluding coins in
select_coin
RPC - Log
chinilla_full_version_str
in daemon and all services - On failure to get keys, log and return exception
- Update certificate store as of July 19, 2022
- Optimize puzzlehash generation (~65% faster)
- Deprecated the ability to disable the keyring passphrase feature
- Minor simplifications to derivation records
- Update protocol message checks
- Changed
initial_num_public_keys
default to 425 - Minor optimizations for block store
- Optimize get_coins_to_check()
- Minor wallet optimizations when determining coin type
- Avoid redundant printing of puzzle program in NFT uncurry attempt
- Substantially reduced overall size of Chinilla packages
- Log the plot refresh parameter on start
- Log blockchain database file used along with schema version on startup
- Removed redundant request for SubEpochData
Fixed
- Log error for failed service start
- Improve logging in
plot_sync.{receiver|delta}
- Fix default value assignments for
dataclass_from_dict
for streamable - Fix
change_payout_instructions
for invalid addresses - Fix SQL error when only config file is deleted
- Fix issue with wallet not handling rejection from unsynced local node properly
- Fix for transfer NFT with DID
- Fix misleading argument name (Thanks @olivernyc!)
- Fix knapsack coin selection
- Old performance with 200k coins: 60 seconds
- New: 0.78 seconds.
- Fix trusted_peer example in initial-config.yaml by (Thanks @ojura!)
- Replace existing simulator config & Fix simulator
- Fix attribute error on
FullNode.simulator_transaction_callback
- Fix passphrase hint
- Bump clvm_tools_rs for bug fix
- Fix NFT > CAT Royalty splitting bug
- Fixed
mint_nft
- Fix no keys loaded error by making KeychainProxy automatically reconnect when a connection is lost
- Fix a migration bug of NFT table change
- NFT wallet reorg fix
- Fix NFT wallet naming issue
- Can't shadow
info
which isNFTInfo
in the first place - Initialize logging before Service instantiation
- Make sure chinilla commands output help when no args are given (Chia-Network#11013) (Thanks @noneus!)
- Fixed bugs in fork point calculation, and reduced number of times weight-proofs are validated
- Fixed bug in starting the crawler (set service name to
full_node
) - NFT transfer/minting commands now validate the specified addresses
- Block summaries of CAT1 offers in the RPC and CLI