All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Node#bootstrap_lazynow returns the v22 node response of aHashof keysstartedandkey_insertedwith boolean values.Node#bootstrap_anynow optionally takesaccountargument.Account#pendingandWalletAccount#pending:- now optionally takes
sortedargument. - now optionally takes
allow_unconfirmedargument.
- now optionally takes
Account#balanceandWalletAccount#balancenow optionally takesallow_unconfirmedargument.Account#infoandWalletAccount#infonow optionally takesallow_unconfirmedargument.Block#pending?now optionally takesallow_unconfirmedargument.Wallet#pendingnow optionally takesallow_unconfirmedargument.
Block#next.Block#descendantsaliasesBlock#successors
Block.chainandBlock.successorsno longer return the Block itself in the response.
- Fix
Block#typebeingnilwhen RPC doesn't return asubtype.
Nanook::Block#block_count_by_typeRemoved, as the RPC no longer supports this command.Nanook::Block#historyRemoved, as the RPC command is deprecated.Nanook::Block#publishRemoved, as the RPC command expects more data than what we instantiate withinNanook::Block.- Removed all RPC calls that are not recommended for production:
Nanook::Node#bootstrap_status.Nanook::Node#confirmation_history.Nanook::Node#confirmed_recently?.
Nanook::KeyReplaced byNanook::PrivateKey.Nanook::Account#infoNo longer acceptsdetailed:argument.Nanook::Node#synced?As this was deprecated for removal in v3.0.
- Added missing
Nanook::WalletAccount#block_countdelegate. - Added
Nanook#network_telemetry. - Added
Nanook::Rpc#test. - Added
Nanook::WalletAccount#work. - Added
Nanook::WalletAccount#set_work. - Added
Nanook::Account#blocks. - Added
Nanook::Account#delegators_count. - Added
Nanook::Account#open_block. - Added
Nanook::Node#change_receive_minimum. - Added
Nanook::Node#confirmation_quorum. - Added
Nanook::Node#keepalive. - Added
Nanook::Node#receive_minimum. - Added
Nanook::Node#search_pending. - Added
Nanook::Wallet#history. - Added
Nanook::Wallet#exists?. - Added
Nanook::Wallet#ledger. - Added
Nanook::Wallet#move_accounts. - Added
Nanook::Wallet#remove_account. - Added
Nanook::Wallet#republish_blocks. - Added
Nanook::Wallet#search_pending. - Added
Nanook::Wallet#work. - Added
Nanook::Block#account. - Added
Nanook::Block#amount. - Added
Nanook::Block#balance. - Added
Nanook::Block#change?. - Added
Nanook::Block#confirmed?. - Added
Nanook::Block#epoch?. - Added
Nanook::Block#exists?. - Added
Nanook::Block#height. - Added
Nanook::Block#open?. - Added
Nanook::Block#previous. - Added
Nanook::Block#receive?. - Added
Nanook::Block#representative. - Added
Nanook::Block#send?. - Added
Nanook::Block#signature. - Added
Nanook::Block#timestamp. - Added
Nanook::Block#type. - Added
Nanook::Block#unconfirmed?. - Added
Nanook::Block#work. - Added
Nanook::PrivateKeywith methods#create,#accountand#public_key. - Added
Nanook::PublicKeywith method#account. - Added equality testing methods
#==,#eql?and#hashfor:Nanook::AccountNanook::BlockNanook::PrivateKeyNanook::PublicKeyNanook::WalletNanook::WalletAccount
- New error classes:
Nanook::ConnectionError,NanoUnitError,NodeRpcErrorandNodeRpcConfigurationError. Nanook::Wallet#default_representativereturns aNanook::Account.Nanook::Wallet#change_representativereturns aNanook::Account.Nanook::Wallet#unlockcan be passed no argument (passwordwill benil).Nanook::Wallet#inforeturns data fromwallet_infoRPC.Nanook::Block#is_valid_work?renamed to#valid_work?.Nanook::Block#republishreturns an Array ofNanook::Blocks.Nanook::Block#chainreturns an Array ofNanook::Blocks.Nanook::Block#successorsreturns an Array ofNanook::Blocks.Nanook::Block#info:- returns balances in nano, and can optionally be passed
unit: :rawargument. - returns account values as
Nanook::Accountand block values asNanook::Block.
- returns balances in nano, and can optionally be passed
Nanook::Node#peersreturns details as aHashkeyed byNanook::Account.Nanook::Account#pendingreturns source asNanook::Accountand block asNanook::Blockwhendetailed: true.Nanook::Account#representativereturns aNanook::Account.Nanook::Account#delegatorsreturns accounts asNanook::Accounts.Nanook::Account#historyreturns accounts asNanook::Accountand blocks asNanook::Block.Nanook::Account#ledgerreturns accounts asNanook::Accountand blocks asNanook::Block.Nanook::Account#public_keyreturns aNanook::PublicKey.Nanook::Account#weightaccepts an optionalunit:argment.Nanook::Account#info:- returns the
frontier,open_block,representative_blockvalues asNanook::Blocks. - returns the
representativeas aNanook::Account. modified_timestampkey renamed tolast_modified_atand value is aTimein UTC.
- returns the
Nanook::Keyhas becomeNanook::PrivateKey,#generatehas been renamed#createand returns aNanook::PrivateKey.
- A number of errors when node is still bootstrapping and is missing accounts from the ledger.
Nanook::Node#representatives_onlineaccessing representative list as aHashafter RPC change.
- undefined method 'new' for
BigDecimal:Class(thank you @MihaiVoinea)
- New
Nanook::Node#bootstrap_lazymethod. - New
Nanook::Node#bootstrap_statusmethod. - New
Nanook::Node#difficultymethod. - New
Nanook::Node#uptimemethod. - New
Nanook::Wallet#lockmethod.
Nanook::Node#chainnow takes optionaloffsetargument.Nanook::Node#successorsnow takes optionaloffsetargument.Nanook::Node#successorsnow aliased asNanook::Node#ancestors- Updated docs to use
nano_prefixed addresses.
- New
Nanook::Node#confirmation_historymethod. - New
Nanook::Block#confirmmethod. - New
Nanook::Block#confirmed_recently?method.
Nanook::Block#generate_worknow can take optionaluse_peersargument.
- New
Nanook::Wallet#default_representativemethod. - New
Nanook::Wallet#change_default_representativemethod. - New
Nanook::Wallet#infomethod.
- New
Nanook::Account#block_countmethod returns number of blocks in ledger for an account. Nanook::Node#block_count_typeis now an alias to the preferred#block_count_by_typemethod.- new
Nanook::Node#representatives_onlinemethod. Nanook::Node#synchronizing_blocksaliased by#unchecked, for people familiar with what the RPC calls it.Nanook::Node#versionnow an aliased by#infomethod.Nanook::WalletAccount#exists?now aliased by#open?
Nanook::WalletAccount#account_idRemoved, as there was already anidmethod that returned this.Nanook::WalletAccount#wallet_idRemoved, as theWalletAccountobject should be considered a kind of Account.
Nanook::Account#delegatorsnow takesunitargument.Nanook::Account#ledgernow takesunitandmodified_sincearguments.Nanook::Node#representativesnow takesunitargument.Nanook::Node#synced?is deprecated with awarn. Nodes never seem to reach 100% synchronized, so this method is useless.Nanook::Rpc::DEFAULT_TIMEOUTreduced from 500 to 60.
- Payment methods no longer check that recipient account has an open block, as this prevents funds being sent to accounts about to be opened.
- Payment methods now check the account id of the recipient is valid, raises ArgumentError if not.
- Payment methods now return a Nanook::Error if the RPC returns an error when trying to pay, instead of a String.
- User can define
Nanook::UNIT = :rawto set the default unit to:rawinstead of:nano. Nanook::Wallet#restoreto create a wallet, change its seed and create x number of accounts.Nanook::WalletAccount#createtakes an optional argument to signal how many accounts to create.- New
Nanook::WalletAccount#change_representativemethod to change an account's representative. - New
Nanook::Node#account_countmethod to return number of known accounts in ledger. - New
Nanook::Node#synchronizing_blocksmethod to return information about "unchecked" synchronizing blocks. - New
Nanook::Account#last_modified_atmethod. - Added ruby version requirement >= 2.0 to gemspec.
Nanook::Rpc#inspectdisplays full hostname with scheme and port.Nanook::Account#newaccountparam is now required.Nanook::Account#infonow also returns theidof the account.Nanook::Account#historynow returnsamountin NANO by default, takesunit: :rawargument to return in raw.Nanook::Account#infonow returnsbalanceandpendingin NANO by default, takesunit: :rawargument to return in raw.Nanook::Account#exists?now checks for open block.Nanook::Account#pendingnow takes additional argumentsdetailed:andunit:.Nanook::Block#accountnow returns aNanook::Accountinstance.Nanook::Block#infonow also returns theidof the block.Nanook::Wallet#accountsnow returnsNanook::WalletAccountinstances.Nanook::Wallet#createnow returns aNanook::Walletinstance.Nanook::Wallet#pendingnow takes additional argumentsdetailed:andunit:.Nanook::Wallet#seedalias method of#id.Nanook::WalletAccount#createnow returnsNanook::WalletAccountinstances.- Changed documentation generating tool from rdoc to yard.
- Missing
Nanook#rpcaccessor. Nanook::Block#publishcan return false when publish fails.Nanook::Block#infocorrectly handlesallow_unchecked: trueerrors.
Nanook::Wallet#balance(account_break_down: true)always returning 0pendingbalance.
- Use
block.publishinREADME.mdand not the aliasblock.process.
- Added this CHANGELOG.md
- All classes have an
inspectmethod - New
idmethod forNanook::Account,Nanook::Block,Nanook::KeyandNanook::Walletclasses Nanook::WalletAccountclass has anaccount_idandwallet_idmethod
- Balance checking methods will now return the balance in NANO by default.
They take an argument
unit:which can be set to:rawto have the balance return in raw units. - All pay methods continue to take NANO as the default unit, but can now
also take an argument
unit:which can be set to:rawto have theamountargument be treated as being in raw instead of NANO.