Libplanet 4.5.0
Released on May 14, 2024.
Due to changes in #3780 and #3783, a network ran with a prior version may not be compatible with this version. Regarding #3780, a network that ran with an IAction
that has used GetTotalSupply()
with its execution result dependent on its value may not be compatible. Regarding #3783, a network that ran with an IAction
that has either used MintAsset()
and BurnAsset()
with its execution result dependent on handling of a possible Exception
thrown by these methods may not be compatible.
Backward-incompatible API changes
- (Libplanet.Types) Updated
BlockMetadata.CurrentProtocolVersion
from 6 to 7. [#3769] - (Libplanet.Store) Added
IterateSubTrieValues(KeyBytes)
andIterateSubTrieNodes(KeyBytes)
methods toMerkleTrie
. [#3774] - (Libplanet.Types) Added
BlockMetadata.CurrencyAccountProtocolVersion
. [#3775] - (Libplanet.Mocks) Removed
MockWorldState.ToModern()
andMockWorldState.SetTotalSupply()
methods. [#3778] - (Libplanet.Action) Removed
TotalSupplyNotTrackableException
class. [#3780] - (Libplanet.Action)
IWorldState.GetTotalSupply()
no longer throws aTotalSupplyNotTrackableException
but returns a zero amount of correspondingFungibleAssetValue
. [#3780] - (Libplanet.Action) Changed the precednce for the types of
Exception
s that may be thrown byIWorld.MintAsset()
andIWorld.BurnAsset()
.
Added APIs
- (Libplanet.Action) Added
CurrencyAccount
class. [#3779]
Behavioral changes
- (Libplanet.Mocks)
MockWorldState.SetBalance()
now automatically updates the total supply of the providedCurrency
. [#3778]