libplanet

Blockchain in C#/.NET for on-chain, decentralized gaming

LGPL-2.1 License

Downloads
10.1K
Stars
489
Committers
79

Bot releases are visible (Hide)

libplanet - Libplanet 3.6.0

Published by github-actions[bot] about 1 year ago

Released on October 6, 2023.

Backward-incompatible API changes

  • Changed IActionEvaluator.Evaluate()'s return type to IReadOnlyList<ICommittedActionEvaluation> from IReadOnlyList<IActionEvaluation>. [#3445]
  • Changed BlockChain.DetermineStateRootHash(IActionEvaluator, IPreEvaluationBlock, out IReadOnlyList<IActionEvaluation>) to BlockChain.DetermineStateRootHash(IActionEvaluator, IPreEvaluationBlock, out IReadOnlyList<ICommittedActionEvaluation>). [#3445]
  • Changed BlockChain.EvaluateGenesis()'s return type to IReadOnlyList<ICommittedActionEvaluation> from IReadOnlyList<IActionEvaluation>. [#3445]
  • Changed BlockChain.EvaluateBlock()'s return type to IReadOnlyList<ICommittedActionEvaluation> from IReadOnlyList<IActionEvaluation>. [#3445]
  • Removed StateStoreExtensions class. [#3323, #3450]

Added APIs

  • (Libplanet.Explorer) Added TxResult.InputState of type HashDigest<SHA256>?. [#3446, #3447]
  • (Libplanet.Explorer) Added TxResult.OutputState of type HashDigest<SHA256>?. [#3446, #3447]
  • (Libplanet.Explorer) Added offsetStateRootHash of type HashDigest<SHA256>? argument for StateQuery.states field. [#3448, #3449]
  • (Libplanet.Explorer) Added offsetStateRootHash of type HashDigest<SHA256>? argument for StateQuery.balance field. [#3448, #3449]
  • (Libplanet.Explorer) Added offsetStateRootHash of type HashDigest<SHA256>? argument for StateQuery.totalSupply field. [#3448, #3449]
  • (Libplanet.Explorer) Added offsetStateRootHash of type HashDigest<SHA256>? argument for StateQuery.validators field. [#3448, #3449]

Behavioral changes

  • IActionEvaluator.Evaluate(), BlockChain.EvaluateGenesis(), and BlockChain.EvaluateBlock() have a side-effect of storing data to IStateStore when called. [#3445]
libplanet - Libplanet 3.5.0

Published by github-actions[bot] about 1 year ago

Released on October 4, 2023.

Backward-incompatible API changes

  • Removed IActionContext.Random property. Use IActionContext.GetRandom() instead. [#3437]
  • Added IActionContext.RandomSeed property. [#3437]
  • Added IActionContext.GetRandom() method. [#3437]
  • Changed IActionEvaluator.Evaluate(IPreEvaluationBlock) to IActionEvaluator.Evaluate(IPreEvaluationBlock, HashDigest<SHA256>). [#3438]
  • Changed ActionEvaluator to accept IStateStore instead of IBlockChainStates [#3439]
libplanet - Libplanet 3.4.0

Published by github-actions[bot] about 1 year ago

Released on September 25, 2023.

Backward-incompatible API changes

  • Added IBlockChainStates.GetAccountState(HashDigest<SHA256>?) interface method. [#3425]
  • Removed TxFailure.ExceptionMetadata property. [#3428]
  • Removed ISerializable interface from TxExecution, TxSuccess, and TxFailure. [#3428]
  • Removed TxSuccess and TxFailure class. [#3429]
  • Changed TxExecution class as sealed from abstract. [#3429]
  • All properties of TxExecution except BlockHash and TxId were overhauled. [#3429]
  • (Libplanet.Store) Removed IStore.PutTxExecution(TxSuccess) and IStore.PutTxExecution(TxFailure); added IStore.PutTxExecution(TxExecution). [#3429]
  • (Libplanet.Explorer) Removed TxResult.ExceptionName of type string? and added TxResult.ExceptionNames of type List<string?>?. [#3429]
  • (Libplanet.Explorer) Removed TxResult.UpdatedStates and TxResult.UpdatedFungibleAssets. [#3429]
  • Changed IActionRenderer.RenderAction(IValue, IActionContext, IAccount) to IActionRenderer.RenderAction(IValue, ICommittedActionContext, HashDigest<SHA256>). [#3431]
  • Changed IActionRenderer.RenderActionError(IValue, IActionContext, Exception) to IActionRenderer.RenderActionError(IValue, ICommittedActionContext, Exception). [#3431]

Added APIs

  • Added AccountDiff class. [#3424]
  • Added ICommittedActionContext interface. [#3431]
  • Added ICommittedActionEvaluation interface. [#3431]
libplanet - Libplanet 3.3.1

Published by github-actions[bot] about 1 year ago

Released on September 8, 2023.

  • (Libplanet.Store) Fixed a bug where ITrie.Get() could wrongly retrieve an IValue from a non-existent path. [#3420]
libplanet - Libplanet 3.3.0

Published by github-actions[bot] about 1 year ago

Released on September 7, 2023.

Backward-incompatible API changes

  • (Libplanet.Store) Removed ITrie.Commit() method. [#3392]
  • (Libplanet.Store) Added IStateStore.Commit() method. [#3398]
  • (Libplanet.Store) Removed IKeyValueStore.Get(IEnumerable<KeyBytes> keys) method. [#3362, #3400]
  • (Libplanet.Store) Added PathCursor struct. [#3399]
  • (Libplanet.Store) Added Nibbles struct. [#3399]
  • (Libplanet.Store) Changed KeyBytes to no longer implement IEquatable<byte[]> and IEquatable<ImmutableArray<byte>>. [#3402]
  • (Libplanet.Store) Added ITrie.GetNode() method. [#3401]
  • (Libplanet.Store) Added ITrie.IterateValues() method. [#3405]
  • (Libplanet.Store) Added ITrie.IterateNodes() method. [#3405]
  • (Libplanet.Store) Removed Secure option from TrieStateStore. [#3407]
    • Removed secure parameter from TrieStateStore().
    • Removed ITrie.Secure property.
    • Removed secure parameter from MerkleTrie().
    • Removed secure parameter from PathCursor().
  • (Libplanet.Store) Added ITrie.Diff() method. [#3410]
  • (Libplanet.Store) Removed MerkleTrieExtensions.DifferentNodes() static method. [#3410]
  • Removed IBlockState interface. [#3413]
  • Removed IBlockChainState.GetBlockState() interface method. [#3413]
  • Added IBlockChainState.GetAccountState() interface method. [#3413]
  • Added IAccountState interface. [#3416]
  • Added AccountState class. [#3416]

Added APIs

  • (Libplanet.RocksDBStore) RocksDBStore and RocksDBKeyValueStore became to receive @readonly parameter in their constructor. If it is true, it opens rocksdb as read-only mode. [#3354, #3356, RocksDB Read Only]

Behavioral changes

  • (Libplanet.Store) Changed ShortNode to no longer accept empty byte arrays. [#3390]

Bug fixes

  • (Libplanet.Store) Fixed Equals() for FullNode and ShortNode. [#3377]
  • (Libplanet.Store) Fixed a bug where adding two byte arrays as keys with one being a subsequence of the other would break MerkleTrie and lose data. [#3390]
  • (Libplanet.Store) Fixed a bug where when trying to add a value to an existing FullNode would throw an Exception. [#3390]
  • (Libplanet.Store) Fixed a bug where committing an ITrie may return an ITrie with a different path security scheme. [#3401]
libplanet - Libplanet 3.2.0

Published by github-actions[bot] about 1 year ago

Released on August 10, 2023.

Backward-incompatible API changes

  • (Libplanet.Action) Renamed IAccountStateDelta as IAccount. [#3337]
  • (Libplanet.Store) Optimized MerkleTrie.Get(). [#3347]
  • (Libplanet.Types) Removed TxSuccess.FungibleAssetsDelta [#3357]
  • (Libplanet.Explorer) Removed TxResult.ExceptionMetadata and TxResult.FungibleAssetsDelta. [#3357]
  • (Libplanet.Store) Added ITrie.Get(KeyBytes) interface method. [#3359]
  • (Libplanet.Store) Optimized MerkleTrie.Get() by allowing parallel processing when more than 4 KeyBytes keys are given. [#3359]
libplanet - Libplanet 3.1.2

Published by github-actions[bot] about 1 year ago

Released on August 10, 2023.

libplanet - Libplanet 3.1.1

Published by github-actions[bot] about 1 year ago

Released on August 9, 2023.

  • Fixed a bug where Swarm checks block existent when preloading. [#3253, #3353, #3360]
libplanet - Libplanet 3.1.0

Published by github-actions[bot] about 1 year ago

Released on July 27, 2023.

Backward-incompatible API changes

  • Changed StateStoreExtensions.Commit() to accept IImmutableDictionary<KeyBytes, IValue> instead of IImmutableDictionary<string, IValue>. [#3321]
  • Changed AccountDeltaExtensions.ToRawDelta() to return IImmutableDictionary<KeyBytes, IValue> instead of IImmutableDictionary<string, IValue>. [#3321]
  • Changed ActionEvaluatorExtensions.GetRawTotalDelta() to return IImmutableDictionary<KeyBytes, IValue> instead of IImmutableDictionary<string, IValue>. [#3321]
  • Removed EnumerableMeasurement class. [#3325]
  • Removed KeyValueExtensions class. [#3325]
  • Removed StateStoreExtensions.EncodeKey() and StateStoreExtensions.DecodeKey() methods. [#3328]
  • Removed StateStoreExtensions.GetStates(IStateStore, HashDigest<SHA256>?, IReadOnlyList<string>) method. [#3328]
  • Removed TrieExtensions.Set(ITrie, IEnumerable<KeyValuePair<string, IValue?>) method. [#3328]
  • Removed KeyBytes(string, Encoding) constructor. [#3328]

Added APIs

  • Added StateStoreExtensions.GetStates(IStateStore, HashDigest<SHA256>, IReadOnlyList<KeyBytes>) method. [#3321]
  • Added KeyBytes.Encoding static property. [#3328]
  • Added KeyBytes(string) constructor. [#3328]

Behavioral changes

  • Optimized read and write access to IStateStore both for memory and speed. [#3321]

Dependencies

libplanet - Libplanet 3.0.1

Published by github-actions[bot] about 1 year ago

Released on July 21, 2023.

  • Fixed builds and tests. [#3326]
libplanet - Libplanet 3.0.0

Published by github-actions[bot] over 1 year ago

Released on July 19, 2023.

Backward-incompatible API changes

  • (Libplanet.Common) Moved packages from Libplanet. [#3300]
    • Libplanet.Serialization
    • Libplanet.JsonConverters
  • (Libplanet.Common) Moved packages from Libplanet. [#3314]
    • Libplanet.Misc
  • (Libplanet.Crypto) Moved packages from Libplanet. [#3314]
    • Libplanet.Crypto
  • (Libplanet.Types) Moved packages from Libplanet. [#3314]
    • Libplanet.Assets
    • Libplanet.Blocks
    • Libplanet.Consensus
    • Libplanet.Tx
  • (Libplanet.Store) Moved packages from Libplanet. [#3303]
    • Libplanet.Store
  • (Libplanet.Action) Moved packages from Libplanet. [#3310]
    • Libplanet.Action
  • Removed IExtractableException and ExtractableException. [#3304]

Added APIs

  • (Libplanet.Net) Added Gossip.DeniedPeers property. [#3313]

Behavioral changes

  • TxFailure no longer tracks ExceptionMetadata and is always set to null even for already stored TxFailure. [#3304]
libplanet - Libplanet 2.4.1

Published by github-actions[bot] over 1 year ago

Released on July 14, 2023.

  • Slight speed and memory optimization for ByteUtil.Hex(). [#3297]
  • (Libplanet.RocksDBStore) Slight improvement for speed and memory usage. [#3298]
  • Upgrade Bencodex from 0.10.0 to 0.11.0. [#3302]
libplanet - Libplanet 2.5.0

Published by github-actions[bot] over 1 year ago

Released on July 12, 2023.

Due to changes in [#3272], a network ran with a prior version may not be compatible with this version.

Backward-incompatible API changes

  • (Libplanet.Net) Added Gossip.PublishMessage(MessageContent, IEnumerable<BoundPeer>) method. [#3206]
  • (Libplanet.Net) Added Context.AddMaj23() method. [#3206]
  • (Libplanet.Net) Added Context.GetVoteSetBits() method. [#3206]
  • (Libplanet.Net) Added Context.GetVoteSetBitsResponse() method. [#3206]
  • (Libplanet.Net) Added ConsensusContext.HandleMaj23() method. [#3206]
  • (Libplanet.Net) Added ConsensusContext.HandleVoteSetBits() method. [#3206]
  • (Libplanet.Net) Added ConsensusContext.HandleProposalClaim() method. [#3206]
  • Removed ActionTypeAttribute.ValueOf() method. [#3267]
  • Added Action<Message> validateMessageToReceive parameter to Gossip's constructor. [#3273]
  • Added Action<MessageContent> validateMessageToSend parameter to Gossip's constructor. [#3273]
  • Removed Action<Message> validateMessage parameter from Gossip's constructor. [#3273]
  • Removed AccountStateGetter, AccountBalanceGetter, TotalSupplyGetter, and ValidatorSetGetter delegates. [#3282]
  • Removed IFeeCalculator interface. [#3283]
  • Removed IBlockPolicy.FeeCalculator interface property. [#3283]
  • Removed TxExecution.ActionsLogsList, TxFailure.ActionsLogsList, and TxSuccess.ActionsLogsList properties. [#3291]
  • (Libplanet.Explorer) Removed TxResult.ActionsLogsList property. [#3291]
  • Removed IActionContext.Logs property and IActionContext.PutLog() method. [#3292]
  • Removed IActionEvaluation.Logs property. [#3292]

Added APIs

  • Added VoteSetBits and its related classes. [#3206]
    • Added VoteSetBits class.
    • Added VoteSetBitsMetadata class.
    • (Libplanet.Net) Added ConsensusVoteSetBitsMsg class.
  • Added ProposalClaim and its related class. [#3206]
    • Added ProposalClaim class.
    • Added ProposalClaimMetadata class.
    • (Libplanet.Net) Added ConsensusProposalClaimMsg class.
  • (Libplanet.Net) Added ConsensusMaj23Msg class. [#3206]
  • (Libplanet.Net) Added enumeration items to MessageType enum. [#3206]
    • Added ConsensusMaj23Msg of value 0x53.
    • Added ConsensusVoteSetBitsMsg of value 0x54.
    • Added ConsensusProposalClaimMsg of value 0x55.
  • Added IActionContext.Logs interface property. [#3274]
  • Changed the type for IActionEvaluation.Logs to IReadOnlyList<string> from List<string>. [#3274]
  • Changed the type for TxExecution.ActionsLogList to List<IReadOnlyList<string>>? from List<List<string>>?. [#3274]
  • (Libplanet.Explorer) Changed the type for TxResult.ActionsLogList to List<IReadOnlyList<string>>? from List<List<string>>?. [#3274]
  • (Libplanet.Explorer) Added BlockType.PreEvaluationHash field. [#3280, #3281]
  • (Libplanet.Net) Added VoteSet.GetAllVotes() method. [#3288]

Behavioral changes

  • (Libplanet.Net) Context became to remove its proposal when +2/3 valid votes were collected. [#3206]
  • Changed ActionEvaluator to evaluate all IActions in a Transaction without early termination even if an IAction throws an Exception. [#3272]
  • Gossip.HandleMessageAsync() now executes _validateMessageToReceive on given message received. [#3273]
  • Gossip.SendWantAsync() now executes _validateMessageToReceive on replies of WantMessage. [#3273]
  • Gossip.HandleWantAsync() now executes _validateMessageToSend on given message to send as a reply of WantMessage. [#3273]
  • GossipConsensusMessageCommunicator now prevents sending a message with a round other than its own as a reply to a WantMessage. [#3273]
  • GossipConsensusMessageCommunicator now executes anti-spam logic when messages are received. [#3273]

Bug fixes

  • Fixed a broken backwards compatibility of Currency [#3268, #3284]
libplanet - Libplanet 2.4.0

Published by github-actions[bot] over 1 year ago

Released on July 3, 2023.

Deprecated APIs

  • (Libplanet.Net) Removed ConsensusContext.BroadcastMessage property. [#3260]

Backward-incompatible API changes

  • Vote.BlockHash property became BlockHash type. (was BlockHash?) [#3249]
  • VoteMetadata(long, int, BlockHash?, DateTimeOffset, PublicKey, VoteFlag) constructor became VoteMetadata(long, int, BlockHash, DateTimeOffset, PublicKey, VoteFlag) [#3249]
  • (Libplanet.Net) Renamed Step enum to ConsensusStep to remove ambiguity. [#3249]
  • (Libplanet.Net) ConsensusProposalMsg, ConsensusPreVoteMsg and ConsensusPreCommitMsg became to inherit ConsensusVoteMsg. [#3249]
  • (Libplanet.Net) Removed ConsensusMsg.BlockHash property. [#3249]
  • (Libplanet.Net) Added Flag property to ConsensusVoteMsg abstract class. [#3260]
  • (Libplanet.Net) ConsensusProposalMsg no longer inherits ConsensusVoteMsg. Instead, inherits ConsensusMsg. [#3260]
  • (Libplanet.Net) Added parameter IConsensusMessageCommunicator consensusMessageCommunicator to ConsensusContext. [#3260]
  • (Libplanet.Net) Removed parameter DelegateBroadcastMessage broadcastMessage from ConsensusContext. [#3260]
  • (Libplanet.Net) Added parameter IConsensusMessageCommunicator consensusMessageCommunicator to Context. [#3260]
  • (Libplanet.Net) Renamed Context.BroadcastMessage(ConsensusMsg) as Context.PublishMessage(ConsensusMsg). [#3260]
  • (Libplanet.Net) Removed constructor of MessageCache class. [#3260]
  • (Libplanet.Explorer) Changed TxResult.UpdatedStates's type to IImmutableDictionary<Address, IValue> from IImmutableDictionary<Address, IValue?>. [#3262]

Added APIs

  • Added Maj23 and its related classes. [#3249]
    • Added Maj23 class.
    • Added Maj23Metadata class.
    • (Libplanet.Net) Added ConsensusMaj23Msg class.
  • Added VoteSetBits and its related classes. [#3249]
    • Added VoteSetBits class.
    • Added VoteSetBitsMetadata class.
    • (Libplanet.Net) Added ConsensusVoteSetBitsMsg class.
  • (Libplanet.Net) Added VoteSet class. [#3249]
  • (Libplanet.Net) Added HeightVoteSet class. [#3249]
  • (Libplanet.Net) Added ConsensusVoteMsg abstract class. [#3249]
  • (Libplanet.Net) Added InvalidProposalException class. [#3249]
  • (Libplanet.Net) Added InvalidVoteException class. [#3249]
  • (Libplanet.Net) Added InvalidMaj23Exception class. [#3249]
  • (Libplanet.Net) Added Gossip.PublishMessage(MessageContent, IEnumerable<BoundPeer>) method. [#3249]
  • Added IAccountDelta.OrderedSum() extension method. [#3256]
  • Added IAccountDelta.ToRawDelta() extension method. [#3256]
  • Removed several properties from IAccountStateDelta pertaining to the delta part of IAccountStateDelta. Access the equivalent data through IAccountStateDelta.Delta instead. [#3257]
    • Removed IAccountStateDelta.UpdatedAddresses property.
    • Removed IAccountStateDelta.StateUpdatedAddresses property.
    • Removed IAccountStateDelta.UpdatedFungibleAssets property.
    • Removed IAccountStateDelta.UpdatedTotalSupplyCurrencies property.
  • Changed IBlockStates to IBlockState. [#3259]
  • Changed IBlockChainStates.GetBlockStates() to IBlockChainStates.GetBlockState(). [#3259]
  • Changes IActionContext.PreviousStates to IActionContext.PreviousState.
  • Changed IActionEvaluation.OutputStates to IActionEvaluation.OutputState. [#3259]
  • (Libplanet.Net) Added IConsensusMessageCommunicator interface and its related classes. [#3260]
    • (Libplanet.Net) Added GossipConsensusMessageCommunicator class. [#3260]
  • (Libplanet.Net) Added Gossip.DenyPeer(BoundPeer) method. [#3260]
  • (Libplanet.Net) Added Gossip.AllowPeer(BoundPeer) method. [#3260]
  • (Libplanet.Net) Added Gossip.ClearCache() method. [#3260]
  • (Libplanet.Net) Added Gossip.ClearDenySet(BoundPeer) method. [#3260]

Behavioral changes

  • (Libplanet.Net) Gossip now maintains single message cache, and contents of this cache does not decayed by time or new messages. This cache is cleared only by Gossip.ClearCache() method. [#3260]
  • (Libplanet.Net) There are no mechanism for bootstrapping conensus any more. Instead, logic change on Gossip solves bootstrapping problem. [#3260]
  • (Libplanet.Net) Context.Start() now triggers IConsensusMessageCommunicator.OnStartHeight(). [#3260]
  • (Libplanet.Net) Context.StartRound() now triggers IConsensusMessageCommunicator.OnStartRound(). [#3260]
libplanet - Libplanet 2.3.0

Published by github-actions[bot] over 1 year ago

Released on June 28, 2023.

Backward-incompatible API changes

  • (@planetarium/tx) Removed some types and functions related to actions because the concept of SystemAction and CustomAction was removed since 1.1.0 and some system actions were removed since 1.2.0. [#3230]
    • Removed encodeUnsignedTxWithCustomActions() function.
    • Removed encodeUnsignedTxWithSystemAction() function.
    • Removed UnsignedTxWithCustomActions type.
    • Removed UnsignedTxWithSystemAction type.
    • Removed encodeMint() function.
    • Removed encodeTransfer() function.
    • Removed encodeSystemAction() function.
    • Removed CustomAction type.
    • Removed SystemAction type.
    • Removed Mint type.
    • Removed Transfer type.
    • Added encodeUnsignedTx() function.
    • Added UnsignedTx type.
    • signTx(UnsignedTxWithCustomActions | UnsignedTxWithSystemAction) function's signature became signTx(UnsignedTx).
    • SignedTx<T extends UnsignedTxWithCustomActions | UnsignedTxWithSystemAction>'s signature became SignedTx<T extends UnsignedTx>.
  • Changed the type for IAccountStateDelta.UpdatedFungibleAssets to IImmutableSet<(Address, Currency)> from IImmutableDictionary<Address, IImmutableSet<Currency>>. [#3244]
  • Changed the type for IAccountStateDelta.TotalUpdatedFungibleAssets to IImmutableSet<(Address, Currency)> from IImmutableDictionary<Address, IImmutableSet<Currency>>. [#3244]
  • Added IAccountStateDelta.Delta propery. [#3245]
  • Removed IValidatorSupportStateDelta interface. [#3247]
  • Added IAccountStateDeltaView.GetValidatorSet() interface method. [#3247]
  • Added IAccountStateDelta.SetValidator() interface method. [#3247]
  • Changed the name IAccountStateDelta.TotalSupplyUpdatedCurrencies to IAccountStateDelta.UpdatedTotalSupplyCurrencies. [#3248]
  • Changed TxSuccess.UpdatedStates's type to IImmutableDictionary<Address, IValue> from IImmutableDictionary<Address, IValue?>. [#3248]
  • Added IBlockChainStates.GetState() interface method. [#3250]
  • Added IBlockStates.GetState() interface method. [#3250]
  • Changed IBlockStates to inherit IAccountState interface. [#3251]

Added APIs

  • Added IAccountDelta interface and its default implementation AccountDelta class. [#3245]
libplanet - Libplanet 2.2.0

Published by github-actions[bot] over 1 year ago

Released on June 23, 2023.

Backward-incompatible API changes

  • Added BlockProtocolVersion property to IActionContext. [#3228]
  • Changed IAccountStateDelta.TransferAsset() to require additional IActionContext parameter. [#3229]
  • Changed IAccountStateDelta.MintAsset() and IAccountStateDelta.BurnAsset() to each require an additional IActionContext parameter. [#3231]

Bug fixes

  • Fixed a bug where IActionContext.BlockProtocolVersion was not being set properly in #3228.
libplanet - Libplanet 2.1.1

Published by github-actions[bot] over 1 year ago

Released on June 22, 2023.

libplanet - Libplanet 2.0.1

Published by github-actions[bot] over 1 year ago

Released on June 22, 2023.

  • (@planetarium/tx) Fixed a bug where an encodeCurrency serialized Currency in an incompatible way with Libplanet. [#3225]
libplanet - Libplanet 2.1.0

Published by github-actions[bot] over 1 year ago

Released on June 20, 2023.

Backward-incompatible API changes

  • All IBlockChainStates methods now take nullable BlockHash? instead of BlockHash as offset parameter. [#3214]
  • Removed IncompleteBlockStatesException class. [#3214]
  • Changed BlockChain's implementation of IBlockChainStates to match interface description. [#3214]
  • Added IBlockChainStates.GetBlockStates() interface method. [#3216]

Added APIs

  • Added IBlockStates interface and its default implementation BlockStates. [#3216]

Behavioral changes

  • Improved performance of fungible asset APIs on default IAccountStateDelta implementation. [#3218]

Bug fixes

  • Fixed a bug where BlockAction could have unintended AccountStateDeltaImpl.Signer during its execution. [#3215]
libplanet - Libplanet 2.0.0

Published by github-actions[bot] over 1 year ago

Released on June 14, 2023.

Backward-incompatible API changes

  • Added IAccountStateDelta.TotalUpdatedFungibleAssets interface property. [#3208]

  • Removed blockAction parameter from ActionContext(). [#3209]

  • Added ITransaction.MaxGasPrice property. [#3201]

  • Added ITransaction.GasLimit property. [#3201]

  • Currency.Serialize()'s behavioral is changed. the serialize field is replaced. [#3201]

Added APIs

  • Added FungibleAssetValue.Serialize() method. [#3201]

Behavioral changes

  • Improved performance of StateStoreExtensions.Commit() extension method and MerkleTrie.Commit() method. [#3165]
  • Improved performance of HashDigest<T>.DeriveFrom() static method on .NET Standard 2.1+. [#3165]