Releases: hiero-ledger/hiero-sdk-cpp
v0.6.0
What's New
➡️ Create Hedera files.
➡️ Delete a smart contract instance.
➡️ Call a local smart contract function.
Notes
There are several files in the repo that are not included in the build and should not used. These files both header (.h
) and source (.cc
) include:
- AccountStakersQuery
- ContractExecuteTransaction
- ContractInfo
- ContractInfoQuery
- ContractUpdateTransaction
- EthereumTransaction
- FileAppendTransaction
- FileContentsQuery
Added
- Implement
ContractCallQuery
by @rwalworth in #268 - Implement
ContractDeleteTransaction
by @rwalworth in #272 - Hash mismatch when pulling v0.36 C++ Hedera protobufs by @rwalworth in #277
- Implement
FileCreateTransaction
by @rwalworth in #274
Full Changelog: v0.5.0...v0.6.0
v0.5.0
What's New
➡️ Add new functions to Client
- forMainnet()
, forPreviewnet()
and forNetwork()
➡️ Create Hedera smart contracts
➡️ More functionalities for Accounts
- AccountInfoQuery
, AccountAllowanceDeleteTransaction
, AccountAllowanceApproveTransaction
, AccountRecordsQuery
and AccountDeleteTransaction
.
Examples
➡️ AccountAllowanceExample.cc
➡️ DeleteAccountExample.cc
➡️ StakingExample.cc
Notes
There are several files in the repo that are not included in the build and should not used. These files both header (.h
) and source (.cc
) include:
- AccountStakersQuery
- ContractCallQuery
- ContractDeleteTransaction
- ContractExecuteTransaction
- ContractFunctionResult
- ContractInfo
- ContractInfoQuery
- ContractUpdateTransaction
- EthereumTransaction
- FileAppendTransaction
- FileContentsQuery
- FileCreateTransaction
Added
- Upgrade to
v0.36
of the C++ Hedera protobufs by @rwalworth in #261 - Upgrade to
v0.36
of C++ Hedera protobufs by @rwalworth in #266 - Add function
forNetwork()
to classClient
(PR) by @deyanzz in #250 - Add
forMainnet()
andforPreviewnet()
Client APIs by @rwalworth in #231 - Run tests automatically in the PR checks workflow (PR) by @deyanzz in #258
- Valid
ECDSAsecp256k1PrivateKey
s are throwingBadKeyException
by @rwalworth in #254 - Implement
ContractCreateTransaction
by @rwalworth in #251 - Implement
ContractByteCodeQuery
by @rwalworth in #248 - Implement
AccountInfoQuery
by @rwalworth in #246 - Implement
AccountAllowanceDeleteTransaction
by @rwalworth in #244 - Implement
AccountAllowanceApproveTransaction
by @rwalworth in #242 - Implement
AccountRecordsQuery
by @rwalworth in #240 - Implement
AccountDeleteTransaction
by @rwalworth in #233 - Add
Transaction::fromBytes()
tests forAccountUpdateTransaction
andAccountDeleteTransaction
by @rwalworth in #238 - Fix compiler warnings for AccountIdTest and EvmAddressTest by @rwalworth in #234
Transaction::fromBytes
not properly deserializing by @rwalworth in #262
Full Changelog: v0.4.0...v0.5.0
v0.4.0
What's New
➡️ Update Hedera accounts
➡️ Updated API documentation
Examples
➡️ UpdateAccountPublicKeyExample.cc
Notes
There are several files in the repo that are not included in the build and should not used. These files both header (.h
) and source (.cc
) include:
- AccountAllowanceApproveTransaction
- AccountAllowanceDeleteTransaction
- AccountDeleteTransaction
- AccountInfo
- AccountInfoQuery
- AccountRecordsQuery
- AccountStakersQuery
- ContractByteCodeQuery
- ContractCallQuery
- ContractCreateTransaction
- ContractDeleteTransaction
- ContractExecuteTransaction
- ContractFunctionResult
- ContractInfo
- ContractInfoQuery
- ContractUpdateTransaction
- EthereumTransaction
- FileAppendTransaction
- FileContentsQuery
- FileCreateTransaction
Added
- Remove clone() for
Executable
and all derived classes by @rwalworth in #221 - Implement
AccountUpdateTransaction
by @rwalworth in #220 - Complete implementation for NodeAddress (PR) by @deyanzz in #223
- Conform and update
PrivateKey
andPublicKey
classes by @rwalworth in #218 - Switch
std::vector<unsigned char>
tostd::vector<std::byte>
by @rwalworth in #227 - Add docs to APIs by @rwalworth in #228
Full Changelog: v0.3.0...v0.4.0
v0.3.0
What's Changed
➡️ Add nlohmann json framework to manage JSON data
➡️ Add Transaction::fromBytes()
function
➡️ Add TransferTransaction
support for custom tokens
➡️ Combine OpenSSL utilities into single file
Examples
Notes
There are several files in the repo that are not included in the build and should not used. These files both header (.h
) and source (.cc
) include:
- AccountAllowanceApproveTransaction
- AccountAllowanceDeleteTransaction
- AccountDeleteTransaction
- AccountInfo
- AccountInfoQuery
- AccountRecordsQuery
- AccountStakersQuery
- AccountUpdateTransaction
- ContractByteCodeQuery
- ContractCallQuery
- ContractCreateTransaction
- ContractDeleteTransaction
- ContractExecuteTransaction
- ContractFunctionResult
- ContractInfo
- ContractInfoQuery
- ContractUpdateTransaction
- EthereumTransaction
- FileAppendTransaction
- FileContentsQuery
- FileCreateTransaction
Added
- Add
nlohmann_json
framework for JSON data by @deyanzz in #208 - Implement
Transaction::fromBytes()
by @rwalworth in #209 - Add token support to
TransferTransaction
by @rwalworth in #206 - Create
OpenSSLUtils
namespace and move all OpenSSL utility classes/functions into it by @rwalworth in #210
Full Changelog: v0.2.1...v0.3.0
v0.2.1
v0.2.0
What's Changed
➡️ Generate SLIP44 standard ED25519/ECDSAsecp256k1 private keys from BIP39 mnemonics
➡️ ECDSAPrivateKey
and ECDSAPublicKey
renamed to ECDSAsecp256k1PrivateKey
and ECDSAsecp256k1PublicKey
respectively
➡️ Hedera accounts can be created using an EvmAddress
Examples
➡️ GeneratePrivateKeyFromMnemonic.cc
Notes
There are several files in the repo that are not included in the build and should not used. These files (both header (.h
) and source (.cc
) include:
- AccountAllowanceApproveTransaction
- AccountAllowanceDeleteTransaction
- AccountDeleteTransaction
- AccountInfo
- AccountInfoQuery
- AccountRecordsQuery
- AccountStakersQuery
- AccountUpdateTransaction
- ContractByteCodeQuery
- ContractCallQuery
- ContractCreateTransaction
- ContractDeleteTransaction
- ContractExecuteTransaction
- ContractFunctionResult
- ContractInfo
- ContractInfoQuery
- ContractUpdateTransaction
- EthereumTransaction
- FileAppendTransaction
- FileContentsQuery
- FileCreateTransaction
Added
- Update to v0.34 of Hedera C++ protobuf release by @rwalworth in #182
- Create an example to derive a
PrivateKey
from aMnemonicBIP39
. by @rwalworth in #184 - Add new protobuf response codes to Status enum by @rwalworth in #174
- Test for proper serialization/deserialization of Hedera protobuf objects by @deyanzz in #176
- Tests are failing in Debug mode for MacOS and Windows by @rwalworth in #186
- Include features introduced in Hedera protobufs since
v0.30
by @rwalworth in #188 - Rename all ECDSA key instances to
ECDSAsecp256k1
by @rwalworth in #189 - Test and fix memory leaks by @rwalworth in #190
- Use
std::unique_ptr
to manage OpenSSL memory allocations when able by @rwalworth in #191 - Conform differences in
verifySignature
forECDSAsecp256k1PublicKey
andED25519PublicKey
by @rwalworth in #194 - Conform to SDK standard for generating
PrivateKey
s fromMnemonic
by @rwalworth in #195 - Add missed wrapper objects by @rwalworth in #196
- Create more descriptive exceptions by @rwalworth in #198
- Add additional cryptography test vectors by @rwalworth in #200
Full Changelog: v0.1.0...v0.2.0
v0.1.0
What's New
➡️ Create new Hedera accounts
➡️ Transfer HBAR between accounts
➡️ Generate ED25519 keys
➡️ Generate ECDSA keys
➡️ Get an account balance
Examples
➡️ CreateAccountExample.cc
➡️ GetAccountBalanceExample.cc
➡️ TransferCryptoExample.cc
Notes
There are several files in the repo that are not included in the build and should not used. These files (both header (.h
) and source (.cc
) include:
- AccountAllowanceApproveTransaction
- AccountAllowanceDeleteTransaction
- AccountDeleteTransaction
- AccountInfo
- AccountInfoQuery
- AccountRecordsQuery
- AccountStakersQuery
- AccountUpdateTransaction
- ContractByteCodeQuery
- ContractCallQuery
- ContractCreateTransaction
- ContractDeleteTransaction
- ContractExecuteTransaction
- ContractFunctionResult
- ContractInfo
- ContractInfoQuery
- ContractUpdateTransaction
- EthereumTransaction
- EvmAddress
- FileAppendTransaction
- FileContentsQuery
- FileCreateTransaction
Added
- Implement a basic
Client
by @rwalworth in #26 - Implement Ed25519 signing by @alittley in #44
- Implement a basic
Transaction
base class by @rwalworth in #37 - Implement ed25519 verification by @alittley in #54
- Implement a basic
AccountCreateTransaction
by @rwalworth in #40 - Implement a basic
TransactionResponse
class by @rwalworth in #42 - Implement a basic
AccountBalanceQuery
class by @rwalworth in #45 - Add support for using the prebuilt HAPI Library to CMake by @nathanklick in #6
- Remove libsodium in favor of OpenSSL, and make keys into smart pointers by @alittley in #24
- Combine alias member variables into single variable by @alittley in #28
- Add keypair class by @alittley in #30
- Implement a single test stub by @alittley in #33
- Remove Java SDK from file copyright headers by @alittley in #35
- Create functions to get DER encoding of public keys by @alittley in #39
- Implement a basic
Executable
base class by @rwalworth in #36 - Add basic
TransactionId
type by @rwalworth in #46 - Implement
Status
type by @rwalworth in #47 - Implement basic
ExchangeRate
type by @rwalworth in #48 - Implement a basic
TransactionReceipt
class by @rwalworth in #49 - Implement a basic
AccountId
type by @rwalworth in #50 - Implement basic
ContractId
type by @rwalworth in #51 - Implement a basic
TransactionRecord
by @rwalworth in #52 - Implement a basic
TransferTransaction
for simple Hbar transfers only by @rwalworth in #55 - Add capabilities to sign Transactions when the transaction is being sent by @rwalworth in #59
- Rename Keypair to PrivateKey by @alittley in #62
- Write tests for basic ed25519 signing and verification by @alittley in #58
- Implement basic
Hbar
type by @rwalworth in #60 - Impelement serialization and loading of private keys by @alittley in #65
- Use only DER encoding for serialization and deserialization by @alittley in #67
- Write documentation for crypto objects by @alittley in #69
- Add support for GRPC and Protobuf Libraries in HAPI library artifacts by @nathanklick in #72
- Implement and test pubkey to protobuf conversion by @alittley in #74
- Write unit tests for Hbar by @rwalworth in #94
- Create CreateAccountExample by @rwalworth in #70
- Fix pubkey decoding from protobuf by @alittley in #101
- Create GetAccountBalance example by @rwalworth in #99
- Create TransferCryptoExample by @rwalworth in #98
- Create unit tests for
AccountBalanceQuery
by @rwalworth in #102 - Create unit tests for
Client
by @rwalworth in #104 - Create unit tests for
AccountCreateTransaction
by @rwalworth in #103 - Add unit tests for
ContractId
by @rwalworth in #105 - Add unit test for
ExchangeRate
andExchangeRateSet
by @rwalworth in #106 - 00063 authenticated channels by @alittley in #110
- Create unit tests for
TransactionId
by @rwalworth in #107 - Create unit tests for
TransactionReceiptTest
by @rwalworth in #108 - Create unit tests for
TransactionReceiptQuery
by @rwalworth in #109 - Create unit tests for
TransactionRecord
by @rwalworth in #111 - Create unit tests for
TransactionRecordQuery
by @rwalworth in #112 - Create unit tests for
TransactionResponse
by @rwalworth in #113 - Create unit tests for
TransferTransaction
by @rwalworth in #116 - Create unit tests for
Transfer
by @rwalworth in #114 - 00118 mnemonics by @alittley in #123
- Move implementation-specific classes and APIs to new
impl/
folder by @rwalworth in #119 - Create unit tests for
AccountId
by @rwalworth in #120 - Fix SDK build under Windows OS environment by @nathanklick in #133
- Implement ECDSA(secp256k1) keys by @alittley in #139
- Implement deeper network connectivity logic by @rwalworth in #132
- Running the examples on Windows causes a channel create failure by @rwalworth in #135
- Update README with proper build and testing instructions by @rwalworth in #138
- Revert back to C++17 standards by @rwalworth in #157
- Migrate Actions workflows to new cluster by @nathanklick in #155
- Remove remaining prints on failure and updated tests in ED25519PublicKeyTest by @deyanzz in #160
- Build OpenSSL from source by @rwalworth in #162
- Make the maximum number of token associations for an account 5000 instead of 1000 by @rwalworth in #171
- Update action to remove depreciated set-output by @isavov in #175
- Swap sha256 hashing for keccak256 by @rwalworth in #169
- Fix Windows debug build to use new Hedera C++ protobuf artifacts by @rwalworth in #178
- Update to v0.33 of Hedera C++ protobuf release by @rwalworth in #180
New Contributors
Full Changelog: https://github.com/hashgraph/hedera-sdk-cpp/commits/v0.1.0