Changelog
v3.0.0
This is a major release that underwent a huge refactoring. It supports the most important latest changes of aeternity. It is fully compatible with the latest Iris hardfork.
General changes
- #196 , #218 , #219 , #220 , #221 , #222 , #223 SDK documentation via MkDocs including versioning with Mike
- #217 Improved Javadocs
- Updated dependencies
Breaking changes
- #144 Revisited handling of keypairs:
- Introduced
KeyPair
class, droppedBaseKeyPair
class - Introduced
HdWallet
andHdKeyPair
. These changes include a fix for a bug in the key derivation that derived wrong keypairs.
- Introduced
- #177 Discarded Java 8 in favor of Java 15+
- #183 Middleware: dropped
indaex
(formerlyaeternal
) in favor ofmdw
- #206 Renamed
gas
togasLimit
in all transaction model classes
New features
- #155 New transaction type
PayingForTx
- #157 Arbitrary pointer-keys for AENS pointers
- #159 External (protected) dry-run endpoint
- #171 Convenient methods to create delegation signatures
- #184 Retrieve next nonce with new API endpoint that provides different strategies
- #188 Force
deposit
to beZERO
in ContractCreateTx - #192 New method
computeGAInnerTxHash
for usage of Generalized Accounts - #200 Limit max amount of pointers to 32. Introduce constant
AENS.MAX_TTL
. - #201 Support for
NameTransferTx
- #211 Convenient methods for contract related transaction types to easily:
- deploy a contract
- perform a stateful contract call
- perform a read-only dry-run call
Refactoring
- #176 OpenAPI (OAS3) API (
/v3
) in favor of old swagger API (/v2
) - Introduced default values in the model classes of each tx-type
v2.2.1
This release ships an enhancement.
Enhancements
- #116 support includes for compiling, deploying and calling contracts
- we identified this was missing when developing the contraect-maven-plugin
v2.2.0
This release ships some fixes and enhancements.
Fixes
Enhancements
- #96 add ResultWrapper for standard java types returned from service calls to omit exceptions being ignored
- #97 introduce configurable way to wait for tx being included in a block
- this is currently covered by the following properties and only relevant in
blockingPostTransaction
callswaitForTxIncludedInBlockEnabled
(default=true)numTrialsToWaitForTxIncludedInBlock
(default=60)millisBetweenTrialsToWaitForTxIncludedInBlock
(default=1000)
- this is currently covered by the following properties and only relevant in
- #98 provide a (more) user-friendly way to handle unit conversions
- we introduced a
UnitConversionService
-Interface with aDefaultUnitConversionService
-Implementation that makes it a bit easier to handle conversions fromAE
toaettos
or custom tokens that may have less decimals
- we introduced a
- #99 prevent exceptions for TxModel classes
- #107 wait for confirmation of transaction
- now it is possible to wait for a transaction to be confirmed
- this is an asynchronous operation and can be configured through the following properties:
numOfConfirmations
(default=10)- the number of confirmations (KeyBlocks) until a transaction is considered confirmed
- this value can also be explicitly set as method parameter
millisBetweenTrailsToWaitForConfirmation
(default=10000)
- #111 add "payloadDecoded" attribute to SpendTransactionModel
- now the payload for a SpendTx is automatically decoded
v2.1.0
This release ships some fixes and enhancements. Additionally we renamed some attributes and model-classes. If you already used v2.0.0 it might be needed to fix these changes.
Refactoring
- #86 add "payable" attribute to AccountResult-model
Fixes
- #85 AeternalService: fix case-sensitive comparison of domains
- #88 replace Optional.orElse with Optional.orElseGet in the AccountServiceImpl
Enhancements
- #84 add missing ÆNS related AeternalService functionalities
- we added the possibility to query for active names and search for a name (which allows to receive e.g. the owner of a name)
- #87 add support to receive byteCode for given contractId
v2.0.0
Breaking changes and new features
- #77 integrate middleware
aeternal
and allow to query ÆNS auction related information - #72 add method to post transactions with a custom private key
- #70 adapt TLD changes (
.chain
instead of.aet
) - #68 refactoring: rename contractBaseUrl to compilerBaseUrl
- #65 refactoring: allow posting of signed transactions (string)
- #64 ÆNS: auction-related functionalities
- calculate the next minimum fee for a running auction
- #63 refactoring: dryRun actions
- #56 Lima related changes:
- update to new node version
v5.x.x
- ÆNS auctions:
- TLD:
.aet
instead of.test
nameFee
calculation- adapt changes in generation of
commitmentId
andnameId
- update version of
NameClaimTx
- TLD:
- update to new compiler version
v4.x.x
:- adapt sophia contracts to compile with new version
- FATE-VM:
- make the compiler-backend configurable (
AEVM
/FATE
) - introduce
VirtualMachine
enum and add it to theServiceConfiguration
so that the services in the SDK use the correctvmVersion
andabiVersion
combination and the correctbackend
in the compiler
- make the compiler-backend configurable (
- update to new node version
- #44 major refactoring:
- introduced model classes to be independent from the swagger-generated classes
- discarded the
TransactionFactory
-> for each transaction-type a model class was introduced which can be created following the builder-pattern - introduced the
AeternityService
which serves as entrypoint to access other services and needs to be instantiated through theAeternityServiceFactory
by passing theAeternityServiceConfiguration
General changes
- #60 update tuweni to stable release version
- #57 support contracts and oracles as ÆNS pointers
- #49 provide guidelines for contributors
- #45 update of node (
v4.1.0
) and compiler (v3.2.0
)
v1.2.0
General changes
- #5 included a specific
com.google.guava
version (27.0.1-jre
)- maven users shouldn't need to that in their own projects anymore
- #24 replaced
net.consensys.cava
dependency byorg.apache.tuweni
- the project is now being maintained by the apache software foundation
- #25 upgraded SDK setup to make use of æternity release 3.0.1 (
Fortuna
) - #27 added goggles to docker-compose setup in order to enable easy tx verification in our local setup
- #31 we included our
PaymentSplitter.aes
contract into the test-resources and wrote an integration test to make sure our contract functionalities work - #32 we made some changes regarding our release-notes
- in future you will find all information in this changelog-file
- there won't be a specific file for a certain release anymore
- #35 in future you will find the SDK documentation on gitbook:
- #36 upgraded SDK setup to make use of æternity release 3.3.0 (
Fortuna
)
New features
- #7 AENs support
- from now on it is possible to make use of the æternity naming system
- #10 contract support
- from now on it is possible to create and interact with æternity smart contracts
- while developing the contract support we identified some problems with the RLP encoding when trying to encode a
BigInteger.ZERO
- in the past it wasn't possible to use a
TTL
with value0
in any transaction type - this is now solved :-)
- in the past it wasn't possible to use a
- #28 added support for sophia compiler
- we now provide a
CompilerServiceFactory
that allows to get an Instance ofSophiaCompilerServiceImpl
- this service was needed to enable creation of smart contracts with the SDK
- we now provide a
- #40 added service method to generate ACI for Smart Contracts
v1.1.0
Breaking changes
- Transactions are now created through a central
TransactionFactory
- this refactoring breaks implementations that used older versions of the SDK
General changes
- #13 upgrade to new æternity release 2.0.0 (
Minerva
)
New features
- #6 HD wallet support (BIP44, BIP32 + BIP39)
- it is now possible to create and recover HD wallets
- #11 Fees (gas cost) calculation
- æternity release 2.0.0 (
Minerva
) introduced a new fee structure - the SDK now provides an automated fee calculation if the user doesn't provide a fee on his/her own
- æternity release 2.0.0 (
v1.0.2
Fixes
- #4 create a transaction on testnet
- we used
ae_devnet
instead ofae_uat
before - now we support 3 networks:
- DEVNET (
ae_devnet
) - TESTNET (
ae_uat
) - MAINNET (
ae_mainnet
)
- DEVNET (
- we used
v1.0.1
General changes
- return Single instead of Observable for responses that return only one object
- switch from bouncycastle 1.61-beta to the release version (no more need to manually add it)
v1.0.0
Initial release of our Java SDK to interact with the æternity blockchain.
Initial functionalities
- generate and recover KeyPair
- generate and recover Keystore-JSON
- create and sign spendTx
- various utils (crypto, encoding, signing)