Releases: Chinilla/chinilla-blockchain
Releases · Chinilla/chinilla-blockchain
1.4.0
1.4.0 Chinilla blockchain 2023-01-03
This release aligns with Chia 1.6.2
Added
- Add WalletConnect
- Add Bladebit v2 plotting support (RAM and Disk)
- Add
chinilla keys show --json
(display all keys as json) (thanks @kimsk) - Add
chinilla data get_sync_status
CLI and RPC. - Add download progress log and stream in Datalayer (thanks @Chida82)
- Add wallet RPC
/get_spendable_coins
- Add wallet RPC
/get_coin_records_by_names
- Add wallet RPC
/verify_signature
- Add wallet RPC
/did_message_spend
- Add wallet RPC
/did_get_info
- Add wallet RPC
/nft_set_did_bulk
- Add options
--max-coin-amount
and--exclude-coin-ids
tochinilla wallet send
- Add
--fingerprint
option tochinilla keys show
- Add SECURITY.md
- Add GUI support for adding and removing full node peers
- New GUI setting for NFT image scaling
- New GUI warning if the GUI version is different from the back-end version
Changed
- Remove legacy keyring support
- Drop support for bladebit v1 and use bladebit v2 for RAM and Disk plots
- Removed remaining vestiges of defunct backup service
debug_spend_bundle
-- print coin id as hex string- Only open SQLite log file once per db wrapper
- Switch to context manager for task timing instrumentation
- Revert rate limiting messages from
warning
back todebug
add_private_key
now returns the fingerprint of the added key- SQLite log the full node db version check
- Delete DID wallet after transfer
- Don't validate weight proof on wallet log_in
- Drop broken message types logging
- Return minted NFT ID & Allow transfer NFT with NFT ID
- Display key labels when making a wallet key selection
- Add support for pending transactions to
get_mempool_item_by_tx_id()
(thanks @rwarren) - Simplify the mempool manager instantiation
- Add coin id and address to NFT Details screen in GUI
- New GUI prefs location under
CHINILLA_ROOT
- Removed SkyNFT references
- Add GUI memo field when sending HCX
- Update to Electron 20.3.5
Fixed
- Fixed a missing state_changed GUI notification
- Minor sync optimizations and refactor; eliminate redundant weight proof requests
- Upped the number of file handles for madmax
- Catch exceptions raised when resolving plot directories (fix Chia-Network#13723)
- Call close callback for already closed connections (fix Chia-Network#9172)
- Set GUI binary name to
chinilla-blockchain
in the Fedora rpm and Ubuntu deb (fix Chia-Network#13847) - Add simple fix to set farmer response timer for
SP: 0
(fix Chia-Network#11869, Chia-Network#10900) (thanks @neurosis69) - Preserve correct
MempoolItem
block height when rebuilding mempool - Windows: start daemon without a window and detached from current console (fix Chia-Network#13175) (thanks @jcteng)
- Fix pool singleton sync height in DB
- Remove duplicate nft wallet deletion in reorg
- Fix DID unnecessary wallet deletion
- Improve performance of wallets with many NFTs
- Stop creating unecessary index in notification store (fix Chia-Network#13955)
- Fix issues in switching pools introduced in 1.6.0 (fix Chia-Network#13872)
- Handle incoming unknown capabilities
- GUI Offer Builder displays totals with royalties when requesting an NFT
- Fixed NFT inbox detection
- Convert and cache NFT metadata as UTF-8
- Fixed issue with switching between farmer and wallet modes (GUI issue Chia-Network#1005)
- Improve error message when sending more mojos than Spendable Balance
1.4.0-rc1
fixed taildatabase links
1.4.0b6
1.4.0 Beta 6
1.4.0b5
1.4.0 Beta 5
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
1.2.0
1.2.0 Chinilla blockchain 2022-7-26
Notes
This release aligns with Chia 1.5.0
Added
- Added derivation index information to the Wallet UI to show the current derivation index height
- Added section in Settings to allow the user to manually update the derivation index height in order to ensure the wallet finds all the coins
- Added a tooltip for users to understand why their CAT balance has changed as new CAT2 tokens get re-issued
- There is now a
blockchain_wallet_v2_r1_*.sqlite
DB that will be created, which will sync from 0 to look for CAT2 tokens. This preserves a copy of your previous wallet DB so that you are able to look up previous transactions by using an older wallet client - Extended
min_coin
to RPC calls, and CLI for coin selection - Show DID in the offer preview for NFTs
- Added wallet RPCs (
get_derivation_index
,update_derivation_index
) to enable the GUI, and CLI to report what the current derivation index is for scanning wallet addresses, and also allows a user to move that index forward to broaden the set of addresses to scan for coins
Changed
- Changed the DID Wallet to use the new coin selection algorithm that the Standard Wallet, and the CAT Wallet already use
- Changed returning the result of send_transaction to happen after the transaction has been added to the queue, rather than it just being added to the mempool.
- Increased the priority of wallet transactions vs full node broadcasted transactions, so we don't have to wait in line as a wallet user
- Deprecated the
-st, --series-total
and-sn, --series-number
RPC and CLI NFT minting options in favor of-ec, --edition-count
and-en, --edition-number
to align with NFT industry terms - When creating a DID profile, a DID-linked NFT wallet is automatically created
- Update
chinilla wallet take_offer
to show NFT royalties that will be paid out when an offer is taken - Added a parameter to indicate how many additional puzzle hashes
create_more_puzzle_hashes
should create
Fixed
- Fixed [CVE-2022-36447] where in tokens previously minted on the Chinilla blockchain using the
CAT1
standard can be inflated in arbitrary amounts by any holder of the token. Total amount of the token can be increased as high as the malicious actor pleases. This is true for everyCAT1
on the Chinilla blockchain, regardless of issuance rules. This attack is auditable on-chain, so maliciously altered coins can potentially be "marked" by off-chain observers as malicious. - Fixed issue that prevented websockets from being attempted if an earlier websocket failed
- Fixed issue where
test_smallest_coin_over_amount
did not work properly when all coins were smaller than the amount - Fixed a performance issue with knapsack that caused it to keep searching for more coins than could actually be selected. Performance with 200k coins:
- Old: 60 seconds
- New: 0.78 seconds
- Fixed offer compression backwards compatibility
- Fixed royalty percentage check for NFT0 NFTs, and made the check for an offer containing an NFT more generalized
- Fixed timing with asyncio context switching that could prevent networking layer from responding to ping
1.1.0
1.1.0 Chinilla blockchain 2022-6-29
Notes
This release aligns with Chia 1.4.0
Added
- Added support for NFTs!!! :party:
- Added
chinilla wallet nft
command (see https://docs.chia.net/docs/13cli/did_cli) - Added
chinilla wallet did
command (see https://docs.chia.net/docs/12rpcs/nft_rpcs) - Added RPCs for DID (see https://docs.chia.net/docs/12rpcs/did_rpcs)
- Added RPCs for NFT (see https://docs.chia.net/docs/12rpcs/nft_rpcs)
- Enable stricter mempool rule when dealing with multiple extra arguments
- Added a retry when loading pool info from a pool at 2 minute intervals
- Added CLI options
--sort-by-height
and –sort-by-relevanceto
chinilla wallet get_transactions` - Harvester: Introduce
recursive_plot_scan
- Add libgmp-dev to Bladebit installation - thanks to @TheLastCicada
- Add support for multiple of the same CAT in aggregate offers - Thanks to @roseiliend
Changed
- New coin selection algorithm based on bitcoin knapsack. Previously chinilla selected the largest coin
- Updated chiapos to 1.0.10
- Updated chiavdf to 1.0.6
- Updated blspy to 1.0.13
- Updated setproctitle to 1.2.3
- Updated PyYAML to 6.0
- Updated pyinstaller to 5.0
- Bump clvm_tools_rs version to 0.1.9 for clvm stepper and add a test
- Modest speedup of syncing by batching coin lookups
- Cmds: Use the new
plot_count
ofget_pool_state
inplotnft show
- Set mempool size back to the original size at launch
- Plotting|tests|setup: Improve
PlotManager
cache - Wallet: Drop unused
WalletStateManager.get_derivation_index
- Harvester: Tweak
get_plots
RPC - Remove explicit multidict version from setup.py
- Simplify install.sh ubuntu version tracking
- Optimize BLS verification when public key is repeated
- Use Install.ps1 in build_windows.ps1
- Updated warning about
CHINILLA_ROOT
being set when running init - Cmds: Adjust stop daemon output
- Remove unused functions on MerkleSet
- Optimize
hash_coin_list()
- Update CONTRIBUTING.md
- Remove outdated 3.8 upgrade comment
- Hint refactor
- Replace MerkleSet with the rust implementation
- Simplify SizedBytes and StructStream
- Allow services to set a non-default max request body size limit
- Reduce the redundant computations of coin_ids in block_body_validation
- Uses the new
from_bytes_unchecked
method in blspy, to improve perfo… - Remove the cache from CoinStore
- Keep daemon websocket alive during keyring unlock
- Support searching derived addresses on testnet.
- Optimize code to not perform useless subgroup checks
- Restore missing hints being stored as None (instead of 0-length bytes)
- Coin simplification
- Harvester: Use a set instead of a list to speed up availability checks
- Improved performance of debug log output
- Update plotters installation to include an
apt update
- thanks to @TheLastCicada - Early return from
_set_spent function
- Thanks @neurosis69 - Remove redundant condition in
get_coin_records
- Thanks @neurosis69 - Write python version error to stderr - thanks to @LuaKT
Fixed
- Fixed issues with harvesters not reconnecting properly - fixes Chia-Network#11466
- Return not synced if there are no connections - fixes Chia-Network#12090
- Fix issues with wallet resending transactions on various mempool and node errors - fixes Chia-Network#10873
- Fix some issues with
plotnft show
(Chia-Network#11897) - Handle ephemeral ports and dual stack (ipv4 & ipv6)
- Fix issues when wallet syncing and rolling back too far in the past
- Fixes issues with the Farmer Reward dialog incorrectly reporting there is no private key (Chia-Network#11036)
- Fix race condition, blockchain can change between two calls to get_peak
- Wallet: Fix
CATLineageStore
creation increate_new_cat_wallet
- Fix incorrect return in "rollback_to_block"
- Wallet: Some rollback fixes
- Fix issue with missing coins
- Fix Newer block issue
- Fix jsonify bool
- Fix wallet introducers for testnet
- Correct wallet CLI sent/received indication
- Correct "Older block not found" error message
- Print MempoolInclusionStatus as string
- Optimize Program.curry()
- Improve detection of disconnected websocket between services
- Correct install.sh usage short options list
- Make sure we set the sync to height correctly when we roll back
1.0.5
1.0.5 Chinilla blockchain 2022-5-11
Notes
This release aligns with Chia 1.3.5
Added
- Added Support for Python 3.10
- Performance improvements in harvesters during plot refresh. Large farmers likely no longer need to specify a very high plot refresh interval in config.yaml
- Added CLI only
.rpm
and.deb
packages to official release channels - Fixed an issue where some coins would be missing after a full sync
- Enabled paginated plot loading and improved plot state reporting
- Updated the farming GUI tab to fix several bugs
- Fix infinite loop with timelord closing
- Simplified install.sh ubuntu version tracking
- Fixed memory leak on the farm page
- Fixed list of plot files "in progress"
- Various farmer rpc improvements
- Improvements to the harvester
get_plots
RPC
Known Issues
There is a known issue where harvesters will not reconnect to the farmer automatically unless you restart the harvester. This bug was introduced in 1.3.4 and we plan to patch it in a coming release.
1.0.4
1.0.4 Chinilla Blockchain 2022-05-02
Added
- Added support for sharing offers to the Chinilla.com Offer Trader from the GUI.
Fixed
- Changed remaining references of
tails
totokens
1.0.3
1.0.3 Chinilla Blockchain 2022-04-26
Notes
- This is a minor update to support the release of our first Chinilla Asset Tokens.
Added
-
Added The first two Chinilla Asset Tokens to the GUI:
Founder Token
: The first 100 farmers who won a block will receive ONE (1) by April 27, 2022Early Farmer Token
: Every farmer who received a block reward in the first 100,000 blocks will receive FIVE (5) by April 27, 2022
Fixed
- redirected
taildatabase.com
links toChinilla.com