v1.7.0
RPC Breaking Changes
-
#4084
chain/getBlock
RPC returns404
if header is missing instead of400
.chain/getBlock
RPC returns404
if block for header is missing instead of400
-
#4117
chain/getAsset
RPC returns404
if assets is missing for id instead of400
-
#4105
chain/broadcastTransaction
RPC now attempts to add a transaction to the mempool as well as broadcast it -
#4120
wallet/sendTransaction
RPC no longer fails if the node is not connected to any peers
SDK Breaking Changes
-
#4102 removes
WorkerPool.verify
andTransaction.verify
. UseWorkerPool.verifyTransactions
(Typescript) orverify_transaction / batch_verify_transactions
(Rust) instead. -
#4125 Changes
Node
constructor to take aAssetsVerifier
object instead of aVerifiedAssetsCache
-
#4112 Removes
onTransactionCreated
callback fromWallet
class. Removes reference tomemPool
fromWallet
class -
#4094 Makes
Verifier.verifyMints
,Verifier.verifyBurns
andVerifier.verifyInternalNullifiers
static functions. MakesVerifier.verifyCreatedTransaction
function static and takeconsensus
as a parameter -
#4088
PeerNetwork
no longer adds a transaction to a wallet automatically but instead wallet listens toPeerNetwork.onTransactionGossipReceived
-
#4081
node
property is removed fromRpcMemoryClient
andRpcMemoryClient
now takes aRouter
object in the constructor instead of aNode
-
#4071
Router
class is separated intoRouter
andRoutes
-
#4070 All RPC route handlers now take an optional
Node
class -
#4099 Removes the
onBroadastTransaction
property from theWallet
class -
#4097
wallet.connectBlock
andwallet.disconnectBlock
method signatures changed to accept aWalletBlockHeader
(hash, previousBlockHash, sequence, timestamp) and a list ofWalletBlockTransaction
(transaction, initialNoteIndex). TheWallet.chainProcessor
property changed from an instance ofChainProcessor
toRemoteChainProcessor
-
#4126
Wallet
constructor no longer takes aBlockchain
instance, no longer has achain
property -
#4128
wallet.post
returnsPromise<{ transaction, accepted, broadcasted }>
instead ofPromise<Transaction>
Other changes
- #4132 Fixed a bug with checking the result of transaction proof verification
What's Changed
- feat: create ironfish binary by @jowparks in #3713
- refactor(cli,ironfish): Encapsulate
sequenceToHash
db operations by @rohanjadvani in #4049 - refactor(cli,ironfish): Encapsulate hashToNextHash db interactions by @rohanjadvani in #4050
- refactor(ironfish): Encapsulate assets db interactions by @rohanjadvani in #4051
- refactor(ironfish): Encapsulate transactionHashToBlockHash db operations by @rohanjadvani in #4052
- rebroadcasts on block connect by @hughy in #4073
- Send serialized transactions on chain stream by @danield9tqh in #4076
- feat(ironfish): Add
nonce
tochain/getAsset
by @rohanjadvani in #4080 - feat(ironfish): Pass memory client into wallet by @rohanjadvani in #4082
- verifies transaction spends in chain/broadcastTransaction by @hughy in #4083
- removes mempool accept from chain/broadcastTransaction by @hughy in #4086
- feat(ironfish): Fetch note witness from node client in wallet by @rohanjadvani in #4085
- Remove direct wallet dependency wallet from PeerNetwork by @danield9tqh in #4088
- Remove the node from the memory client by @danield9tqh in #4081
- Store consensus on wallet and use it for wallet/addTransaction RPC by @danield9tqh in #4094
- remove node dependencies in get transactions rpc by @danield9tqh in #4095
- feat(ironfish): Create
mempool/acceptTransaction
by @rohanjadvani in #4087 - asset-security owner -> creator rename and db work by @mat-if in #4101
- Add to mempool in broadcast RPC by @danield9tqh in #4105
- refactor: remove Transaction.verify and workerPool.verify by @mat-if in #4102
- feat(ironfish): Check if the peer network is ready in
broadcastTransaction
by @rohanjadvani in #4106 - Remove withReference from followChainStream by @dguenther in #4107
- uses node client to broadcast transactions by @hughy in #4099
- Verify block perf test by @ygao76 in #4098
- Update license field following SPDX 2.1 license expression standard by @frisoft in #4093
- Remove unused mempool and onCreateTransaction from Wallet by @danield9tqh in #4112
- feat(Wallet Server): Stub out project + basic gRPC server by @dgca in #4110
- Add the
transferOwnershipTo
field to MintDescription by @andreacorbellini in #4100 - removes wallet transaction verification during rebroadcast by @hughy in #4108
- implements RemoteChainProcessor by @hughy in #4097
- feat(ironfish): Check if chain has block from node client by @rohanjadvani in #4084
- Remove mempool dependency in wallet/addTransaction by @danield9tqh in #4109
- refactors scanTransaction to use RemoteChainProcessor by @hughy in #4115
- Update new block timestamp by @ygao76 in #4103
- feat(ironfish): Fetch chain asset from node client by @rohanjadvani in #4117
- feat(ironfish): Fetch chain head from node client by @rohanjadvani in #4118
- removes use of wallet.chain in useMinersTxFixture by @hughy in #4123
- Make remote call for account status by @danield9tqh in #4121
- Make remote call to node to see if its synced enough to create a tranaction by @danield9tqh in #4120
- Use assetsVerifier on wallet for RPC calls by @danield9tqh in #4125
- Fix
RawTransaction.postedSize
by considering fees when computing change notes by @andreacorbellini in #4116 - feat(ironfish): Create
wallet/getAsset
by @rohanjadvani in #4119 - feat(cli): Fetch asset from wallet in
wallet:burn
by @rohanjadvani in #4122 - removes uses of chain in wallet start by @hughy in #4124
- removes chain from wallet by @hughy in #4126
- feat(cli,ironfish): Log warning if errors happen during broadcast by @rohanjadvani in #4128
- Use node client for wallet/createTransaction RPC by @danield9tqh in #4131
- adds wallet/estimateFeeRates RPC by @hughy in #4129
- refactor(cli,ironfish): Encapsulate merkle tree of notes interactions by @rohanjadvani in #4053
- Use node client for wallet/rescanAccounts by @danield9tqh in #4130
- Fix checking result of proof verification and add tests by @dguenther in #4132
New Contributors
Full Changelog: v1.6.0...v1.7.0