Skip to content

Releases: Concordium/concordium-java-sdk

v.12.1.0

Choose a tag to compare

@github-actions github-actions released this 03 Mar 10:22
  • Added MintTokenOperation implementing protocol level token mint
  • Added protocol level token mint example, see MintToken in concordium-sdk-examples
  • Added deserialization for the ConfigureDelegation payload
  • Fixed incorrect deserialization of the UpdateContract payload parameter
  • Fixed inability to create verifiable presentations (proofs) with certain order of statements

v.12.0.0

Choose a tag to compare

@github-actions github-actions released this 02 Feb 13:34
  • Support for Protocol 10
  • Added ProtocolVersion.V10 corresponding to Protocol version 10
  • Added AccountTransactionV1 which is the sponsored transaction,
    signed by both the sender and the sponsor
  • Added BlockItemType.ACCOUNT_TRANSACTION_V1 corresponding to AccountTransactionV1
  • Added ability to create and complete sponsored transactions via TransactionFactory
  • Added SponsoredTransaction example
  • Added TransactionFactory.newPayloadSubmission() builder to create transactions
    with any payload, including RawPayload
  • Changed ClientV2.sendTransaction() method to accept any BlockItem
  • Removed ClientV2.sendCredentialDeploymentTransaction() method.
    Such a transaction can now be submitted via the sendTransaction() method
  • Added optional sponsorDetails to AccountTransactionDetails,
    which is present if the transaction was sponsored
  • Added Payload.fromBytes() deserialization method
  • Added TokenUpdate.fromBytes() deserialization method
  • Removed long unsupported EncryptedTransfer and TransferToEncrypted.
    Only TransferToPublic remained
  • Added Expiry.from() method to create it from UInt64
  • Add human-readable toString() implementation for TransferTokenOperation

Breaking changes in handling of the transactions

Since the sponsored transactions feature from Protocol 10 introduces a new way of representing
the same transactions, existing conveniences around AccountTransaction are rendered useless.
Please, go through the following list of changes to understand how to fix the code after updating to 12.0.0.
There are also updated examples.

  • Payload no longer holds TransactionHeader and TransactionSignature.
    Its purpose is now purely to define the action executed by either AccountTransaction
    or AccountTransactionV1. Use TransactionFactory instead
  • Removed Payload.getDataToSign() method. Use the getDataToSign() method from
    either AccountTransaction or AccountTransactionV1 instead
    (the data differs for a sponsored transaction)
  • Removed Payload.calculateEnergyCost() method. Use the calculateMaxEnergyCost method from
    either TransactionHeader or TransactionHeaderV1 instead
    (the cost is bigger for a sponsored transaction)
  • Renamed Payload getTrasnactionType() method to just getType()
  • TransactionFactory.new***() methods now require Payload as an argument.
    For example, newTransfer() requires Transfer payload.
    Methods invoking smart contracts, like newUpdateContract(), also take max contract execution energy
    as the second argument (what used to be set through the maxEnergyCost() method)
  • Replaced TransactionFactory builder signer() and build() methods with just sign(),
    which now returns the final AccountTransaction
  • TransactionFactory now only returns AccountTransaction,
    or AccountTransactionV1 for sponsored transactions
  • Removed specific AccountTrasnaction implementations like TransferTransaction,
    TokenUpdateTransaction, etc. Replace occurrences of the removed types with AccountTransaction
    and use TransactionFactory to create such transactions
  • Merged TransferPayload and Transfer to just Transfer
  • Merged TransferWithMemoPayload and TransferWithMemo to just TransferWithMemo
  • Merged ConfigureBakerPayload and ConfigureBaker to just ConfigureBaker
  • Merged ConfigureDelegationPayload and ConfigureDelegation to just ConfigureDelegation
  • Merged InitContractPayload and InitContract to just InitContract
  • Changed TransactionHeader.expiry field type from UInt64 to Expiry
  • Removed various TransactionHeader builders. Do not manipulate headers directly,
    use TransactionFactory instead
  • Removed AccountTransaction builder and extended constructor.
    Use TransactionFactory instead

v.11.2.1

Choose a tag to compare

@github-actions github-actions released this 05 Jan 13:26

Fixed discrepancies with JavaScript SDK in creation of verifiable presentation

v.11.2.0

Choose a tag to compare

@github-actions github-actions released this 08 Dec 10:58
  • Added ability for wallets to create verifiable presentations (proofs) from identities and accounts.
    The entrypoint is VerificationRequestV1. This change does not include audit.
  • Removed checked exception from AtomicStatement.canBeProvedBy()
  • AtomicStatements now implement equals() and hashCode()
  • Hash is now fully JSON and CBOR serializable

v.11.1.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 10:18
  • Made TokenOperations deserializable from CBOR.
    TokenUpdate.builder().operationsSerialized() can be used for deserialization
  • Added TaggedTokenHolderAccount.getAddress() returning the address in a convenient form

v.11.0.2

Choose a tag to compare

@github-actions github-actions released this 29 Sep 09:08
  • Fixed always empty tokens in AccountInfo

v.11.0.1

Choose a tag to compare

@github-actions github-actions released this 27 Aug 10:48
6ae7f8d
  • Made Android package compatible with 16 KB alignment requirement

v.11.0.0

Choose a tag to compare

@github-actions github-actions released this 21 Aug 11:26
5e09b62
  • Support for Protocol 9
  • Added ProtocolVersion.V9 corresponding to Protocol version 9
  • Added tokens field to AccountInfo, containing list of related protocol level tokens
  • Added new account transaction, TokenUpdate, used to execute protocol level tokens operations
  • Added TokenOperation interface for protocol level tokens operations
  • Added TransferTokenOperation implementing protocol level token transfer
  • Added protocol level token transfer example, see SendTokenTransfer in concordium-sdk-examples
  • Added tokenUpdate result to AccountTransactionDetails
  • Added createPltUpdate authorization to AuthorizationsV1
  • Added RejectReasonTokenUpdateTransactionFailed and RejectReasonNotExistentTokenId transaction reject reasons
  • Added CborMapper singleton providing Jackson CBOR object mapper
  • Fixed having the Lombok library transitive

v.10.0.1

Choose a tag to compare

@github-actions github-actions released this 26 May 13:52
  • Added getPassiveDelegationInfo endpoint providing information about the passive delegators at the end of a given block
  • Exposed Payload.calculateEnergyCost method
  • Fixed base cost of ConfigureDelegation transaction being bigger than needed

v.10.0.0

Choose a tag to compare

@github-actions github-actions released this 28 Jan 09:45

It's a small release fixing one particular issue in ConfigureBaker transaction, yet the fix is not backward-compatible.

  • Changed openForDelegation field in ConfigureBakerPayload from boolean to OpenStatus:
    what used to be false is now OpenStatus.OPEN_FOR_ALL,
    what used to be true is now OpenStatus.CLOSED_FOR_NEW,
    and it is now possible to set OpenStatus.CLOSED_FOR_ALL as well

If you missed the previous major release introducing Protocol 8 support, check out the corresponding release notes