- Made
TokenOperations deserializable from CBOR.TokenUpdate.builder().operationsSerialized()can be used for deserialization - Added
TaggedTokenHolderAccount.getAddress()returning the address in a convenient form
- Fixed always empty
tokensinAccountInfo
- Made Android package compatible with 16 KB alignment requirement
- Support for Protocol 9
- Added
ProtocolVersion.V9corresponding to Protocol version 9 - Added
tokensfield toAccountInfo, containing list of related protocol level tokens - Added new account transaction,
TokenUpdate, used to execute protocol level tokens operations - Added
TokenOperationinterface for protocol level tokens operations - Added
TransferTokenOperationimplementing protocol level token transfer - Added protocol level token transfer example, see
SendTokenTransferinconcordium-sdk-examples - Added
tokenUpdateresult toAccountTransactionDetails - Added
createPltUpdateauthorization toAuthorizationsV1 - Added
RejectReasonTokenUpdateTransactionFailedandRejectReasonNotExistentTokenIdtransaction reject reasons - Added
CborMappersingleton providing Jackson CBOR object mapper - Fixed having the Lombok library transitive
- Added
getPassiveDelegationInfoendpoint providing information about the passive delegators at the end of a given block - Exposed
Payload.calculateEnergyCostmethod - Fixed base cost of
ConfigureDelegationtransaction being bigger than needed
- Changed
openForDelegationfield inConfigureBakerPayloadfrombooleantoOpenStatus: what used to befalseis nowOpenStatus.OPEN_FOR_ALL, what used to betrueis nowOpenStatus.CLOSED_FOR_NEW, and it is now possible to setOpenStatus.CLOSED_FOR_ALLas well
- Support for Protocol 8
- Added
ProtocolVersion.V8corresponding to Protocol version 8 - Added
BakerSuspendedandBakerResumedtransaction result events - Added
ValidatorSuspendedandValidatorPrimedForSuspensionspecial outcomes for theGetBlockSpecialEventsendpoint - Added
ChainParametersV3for Protocol version 8, addingValidatorScoreParameters - Added
GetConsensusDetailedStatusendpoint for querying detailed consensus status information - Added
GetScheduledReleaseAccountsendpoint for querying the list of accounts that have scheduled releases - Added
GetCooldownAccounts,GetPreCooldownAccountsandGetPrePreCooldownAccountsendpoints for querying the lists of accounts that have pending cooldowns in protocol version 7 onwards - Added
parameterfield toContractInitializedResultcontaining the parameter passed to the init function - Added
isSuspendedfield toBakerandBakerPoolStatuswhich, since Protocol version 8, indicates whether the account is suspended and is not participating in the consensus algorithm - Added
missedRoundsandisPrimedForSuspensionfields toCurrentPaydayStatuswhich, since Protocol version 8, reflect validator score status - Added
suspendedfield toConfigureBakerPayloadwhich, since Protocol version 8, indicates whether the validator is suspended - Added
FinalizationCommitteeParametersandValidatorScoreParametersentries ofPendingUpdateType, therefore new possible update types inPendingUpdateV2 - Added
validatorScoreParametersfield toNextUpdateSequenceNumberswhich corresponds to updates inChainParametersV3.validatorScoreParameters
- Support for Protocol 7
- Added
ProtocolVersion.V7corresponding to Protocol version 7 - Added
cooldownslist toAccountInfo - Added
availableBalancetoAccountInfo - Made optional the following
BakerPoolStatusfields:bakerEquityCapital,delegatedCapital,delegatedCapitalCap,poolInfo - Added
BakerDelegationRemovedandDelegationBakerRemovedtransaction result events - Removed previously deprecated encrypted transfers
(
EncryptedTransferTransaction,EncryptedTransferWithMemoTransaction,TransferToEncryptedTransaction)
- Added
MessageSigningDigestclass to generate digests for message signing - Added support for company identity attributes
- Deprecated encrypted transfers. They are partially removed since protocol version 7
- Removed unnecessary
amountparameter fromInvokeInstanceRequest. - Added utility functions for converting between
CCDAmountandEnergy. Present in utility classConverter. - Fixed a bug in
CustomEvent. Removed unnecessarytagfield. - Added
Web3IdProofclass withgetWeb3IdProofmethod to create Presentations. (And supporting classes) - Added method
getFinalizedBlocksFromfor retrieving finalized blocks starting from a given height. - Added method
getBlocksAtHeightfor retrieving live blocks at a given height. - Added method
findAtLowestHeightfor finding the earliest block satisfying some condition. - Added method
findAccountCreationfor finding the block in which an account was created. - Fixed an issue where
ConcordiumHdWallet.fromSeedPhrasealways produced an invalid seed as hex. - Added
AcceptableRequestclass withacceptableRequestandacceptableAtomicStatementto check if a request satisfies wallet rules.
- Make the
energyparameter for invoking an instanceOptional. - Parse the underlying reject reasons into
AccountTransactionDetails. - Introduced Cis2Client for interfacing with CIS2 compliant smart contracts.
- Support for deserializing contract update transactions.
- Fix a bug where contract invocations used the wrong format for parameters.
- Fix a bug in the serialization of
AccountIndex - Fix a bug that caused
getAccountInfoto fail for delegator and baker accounts if they had no stake pending changes. - Cleanup the API a bit for configure baker transaction by using
PartsPerHundredThousandsfor determining the commission rates. - Fix serialization of
ConfigureDelegationtransaction - Remove
AccountNoncein favor of just using theNoncetype across the API. - Fix a bug in the serialization of
AccountIndex - Fix a bug that caused
getAccountInfoto fail for delegator and baker accounts if they had no stake pending changes. This change is also propagated to the type level such thatBakerandAccountDelegationretains anOptional<PendingChange>as opposed to justPendingChange. - Fix .equals() for AccountInfo such that all fields are used to deduce equality.
- Purge remaining usages of V1 GRPC API.
- Added support for android through an AAR artifact.
- Added
ConcordiumHdWalletclass for deriving Concordium specific keys and randomness from a seed phrase. - Added
Identityclass with methodscreateIdentityRequestfor creating identity requests andcreateIdentityRecoveryRequestfor creating identity recovery requests. - Added
Credentialclass exposing methods required to create, sign and sending a credential deployment transaction. - Added release on maven central.
- Added method
waitUntilFinalizedfor waiting until a given transaction is finalized. - Removed deprecated V1 API from the SDK. Consumers of the (now removed)
getBlockSummaryendpoint should refer toGetBlockTransactionEvents,GetBlockSpecialEventsandGetBlockPendingUpdates. - Added support for GRPC V2
GetWinningBakersEpochfor getting a list of bakers that won the lottery in a particular historical epoch. Only available when querying a node with version at least 6.1. - Added support for GRPC V2
GetFirstBlockEpochfor getting the block hash of the first finalized block in a specified epoch. Only available when querying a node with version at least 6.1. - Added support for GRPC V2
GetBakerEarliestWinTimefor getting the projected earliest time at which a particular baker will be required to bake a block. Only available when querying a node with version at least 6.1. - Added support for GRPC V2
GetBakerRewardPeriodInfofor getting all the bakers in the reward period of a block. Only available when querying a node with version at least 6.1. - Added support for GRPC V2
GetBlockCertificatesfor retrieving certificates for a block supporting ConcordiumBF, i.e. a node with at least version 6.1. - Extended
CurrentPaydayStatuswithCommissionRatesthat apply for the current reward period. Requires at least node version 6.1. - Implemented custom JSON serialization of
AbstractAddressto enableAbstractAddressas a smart contract parameter, and added classListParamfor conveniently using lists of objects,AbstractAddress,ContractAddressandAccountAddressas smart contract parameters. - Added support for creating and serializing smart contract parameters using the abstract class
SchemaParameterand a providedSchema.
- Fixed a regression that made it harder to deserialize transactions from bytes.
- toString on CCD amount now displays the amount as micro CCD.
- Fix bug where
Detailstype was not correctly set when querying status of a block item.
- Remove an unused import from
ClientV2which could make compilation fail on some jdks.
- Fix a bug that caused custom http headers to be set for
ClientV2.
- Added typing for baker keys and moved
createBakerKeystoBakerKeys. Likewise theTransactionFactory.newUpdateBakerKeystakes in the generated baker keys. - Added support for
getBlockTransactionEventsfor retrieving events emitted by transactions. - Added support for
InvokeInstancefor executing a smart contract instance locally. - Removed
Accountinstead one should simply useAccountAddress. - All timestamps are now exposed as
Timestamps with convenience method for getting ZonedDateTime. - Renamed
AccountRequesttoAccountQuery. - Added support for GRPC V2
GetBlockChainParametersfor retrieving the parameters of the chain. - Deprecated the
Client. Instead one should useClientV2which leverages the GRPCv2 API of the node. - Support for protocol V6.
- Added support for GRPC V2
GetPeersInfofor retrieving information of the peers that the node holds. - Added support for GRPC V2
GetNodeInfofor retrieving various information of the node queried. - Added support for GRPC V2
GetBannedPeersfor retrieving a list of the banned peers. - Added support for GRPC V2
BanPeerfor banning a peer, - Added support for GRPC V2
UnbanPeerfor unbanning a peer - Added support for GRPC V2
GetBlockSpecialEventsfor retrieving a list of events not generated directly by any transaction - Added support for GRPC V2
GetBlockFinalizationSummaryfor retrieving summary of the finalization data in a given block - Added support for importing mobile & browser extension wallet exports as well as exports in the genesis format
- Added support for GRPC V2
GetAccountInfo - Added support for GRPC V2
GetAccountList - Added support for GRPC V2
GetNextAccountNonceNumber - Added support for GRPC V2
GetBlockItems - Added support for GRPC V2
GetConsensusStatus - Added support for GRPC V2
GetCryptographic Parameters - Added support for GRPC V2
GetIdentityProviders - Added support for GRPC V2
SendBlockItemfor sending a transaction. - Added support for GRPC V2
PeerConnectfor instructing the node to connect to a specific peer. - Added support for GRPC V2
PeerDisconnectfor instructing the node to drop a peer. - Added support for GRPC V2
GetPeersInfofor acquiring information of the peers that the node is connected to. - Added support for GRPC V2
GetBlockItemStatusfor retrieving the status of an individual transaction - Added support for GRPC V2
DumpStartwhich instructs the node to start dumping network packages at a specified path. - Added support for GRPC V2
DumpStopwhich instructs the node to stop dumping packages. - Fixed incorrect transaction event with respect to a transaction status for when a delegator decreased its stake.
- Added support for GRPC V2
GetBlockInfofor retrieving information of the block being queried. - Added support for GRPC V2
GetTokenomicsInfofor acquiring various tokenomics related information for a block. - Added support for GRPC V2
GetInstanceListfor retrieving the contract instances at a certain block. - Added support for GRPC V2
GetAncestorsfor getting specified no of ancestor blocks for the input block. - Added support for GRPC V2
GetBakerListfor retrieving the bakers at a certain block. - Added support for GRPC V2
GetAccountNonFinalizedTransactionsfor querying transactions from a particular account that have not yet been finalized. - Added support for GRPC V2
GetBranchesfor getting branches of the chain (i.e. descendants of the last finalized block). - Added support for GRPC V2
GetPassiveDelegatorsfor getting the passive delegators at a certain block. - Added support for GRPC V2
GetPoolDelegatorsfor getting the delegators for a specified baking pool at a certain block. - Added support for GRPC V2
GetElectionInfofor getting the bakers at a certain block and other metadata of the election. - Added support for GRPC V2
GetInstanceStatefor getting state of any Contract Instance - Added support for GRPC V2
InstanceStateLookupfor getting value of a particular key in Contract Instance. - Added support for GRPC V2
GetPoolInfofor getting information about a given pool at the end of a given block. - Added support for GRPC V2
GetModuleListfor getting list of smart contract module at the end of a given block. - Added support for GRPC V2
GetInstanceInfofor getting information about a contract instance at the end of a given block. - Added support for GRPC V2
GetPoolDelegatorsRewardPeriodfor getting fixed list of Pool Delegators for a given pool at the end of a given block. - Added support for GRPC V2
GetPassiveDelegatorsRewardPeriodfor getting fixed list of Passive Delegators for a given pool at the end of a given block. - Added support for GRPC V2
GetNextUpdateSequenceNumbersfor getting next available sequence numbers for updating chain parameters after a given block. - Added support for GRPC V2
GetBlockPendingUpdatesfor getting the pending updates to chain parameters at the end of a given block. - Added support for GRPC V2
ShutdownFor shutting down the network layer of the Node. - Added support for GRPC V2
GetModuleSourcefor getting binary source of Smart Contract Module.
- Added initial support for GRPC V2
- Added initial support for GRPC V2 query GetAnonymityRevokers
- Added CLI example for GRPC V2 query GetAnonymityRevokers
- Added support for GRPC V2 GetBlocks
- Added support for GRPC V2 GetFinalizedBlocks
- Added support for M1/M2 Mac
- Added support for Transfer With Schedule.
- Added support for Transfer With Schedule With Memo.
- Added support for Update Credentials Keys.
- Added support for Transfer to public wallet.
- Added support for Transfer To Encrypted wallet.
- Added support for Encrypted Transfer.
- Added support for Encrypted Transfer with Memo.
- Added support for Configuring a baker.
- Added support for Configuring the account as a Delegator.
- A new native dependency has been introduced in order to support the new transaction types mentioned above, As a result native dependencies need to be rebuilt before building the Java project.
- Support for Protocol 5.
- Added support for initializing smart contracts.
- Added support for Update Contract.
- Added support for Deploy Module transaction.
- Fix a bug where pending changes for delegators were not visible via
getAccountInfo. - Removed
BlocksAtHeightRequest.newRelative(long height, ProtocolVersion protocolVersion, boolean restrictedToGenesisIndex)as it was only a valid call onmainnetas all protocols exists there. However this may not be true on e.g.testnet. Note.BlocksAtHeightRequest.newRelative(long height, int genesisIndex, boolean restrictedToGenesisIndex)still exists for the purpose of getting blocks at a relative height. - Fix a bug where a
RejectReasonfor setting delegation target to a non baker was not correctly parsed. - Fix a bug where
updateTimeParameterswas not correctly parsed into theTransactionContentsenum. - Fix a bug where
updateCooldownParameterswas not correctly parsed into theTransactionContentsenum. - Fix a bug where
mintDistributionCPV1was not correctly parsed into the enqueued chain update. - Fix a bug where
timeParametersCPV1was not correctly parsed into the enqueued chain update - Fix a bug where
cooldownParametersCPV1was not correctly parsed into the enqueued chain update. - Fix a bug where
mintPerPaydaywas not properly parsed. - Fix a bug where
updateRootKeyswas not properly parsed.
- Fixed bug in
UpdateEnqueuedResultwhich parsedeffectiveTimein wrong. - Added support for
Uptimequery. - Added support for Account Transaction Register Data.
- Added support for query
PeerTotalSent - Added support for query
PeerList - Added support for query
PeerStats - Added support for query
PeerVersion - Added support for query
GetTransactionStatusInBlock - Added support for query
GetAccountNonFinalizedTransactions - Added support for query
PeerConnect - Added support for query
GetBakerList - Added support for query
GetPoolStatus - Added support for query
PeerTotalReceived - Added support for query
GetModuleSource - Added support for query
GetModuleList - Added support for query
GetBirkParameters - Added support for query
NodeInfo - Added support for query
Shutdown - Added support for query
GetAncestors - Added support for query
JoinNetwork - Added support for query
LeaveNetwork - Added support for query
GetRewardStatus - Added support for query
GetInstanceInfo - Added support for query
GetInstances - Added support for query
GetAccountList - Added support for query
GetBannedPeers - Added support for query
GetBranches - Added support for query
GetIdentityProviders - Added support for query
GetAnonymityRevokers - Added support for query
BanNode - Added support for query
UnBanNode - Added support for query
StartBaker - Added support for query
StopBaker
- Stronger typing for various places in the API.
- Renamed GTUAmount to CCDAmount
- New CredentialRegistrationId type.
- BlockSummary API now reflects the underlying types better.
- getAccountInfo can now be queried either via
AccountAddress,AccountIndexorCredentialRegistrationIdviaAccountRequest.
- Support for
getCryptographicParameters
- Expose more types related to
TransactionSummary
- Support for sending raw transactions.
- CredentialRegistrationID type introduced and AccountAddress can be derived from it.
- Support for configuring TLS.
- Allow consumers to provide extra HTTP headers for the gRPC connection.
- Fix a bug which caused the
Clientto use a global absolute timeout from when it was initialized.
AccountTransactionnow exposes agetTypefunction which returns the type of the underlyingPayload.
- Exposed more of the
transactionsin the API.
- Fix parsing bug for
AccountInfowhere scheduled releases was not included. - Transaction
Statusis now public. BlockItemis now public.
- Support for transaction deserialization.
- Support for
getBlockInfo.
- Support for
getBlocksAtHeight
- Support for account alias.