This repository was archived by the owner on Jul 23, 2024. It is now read-only.
Releases: klaytn/caver-java
Releases · klaytn/caver-java
Release v1.11.1
v1.11.1 Release Notes
What’s New in v.1.11.1
- API updates(#369)
- removed API
governance_itemsAtgovernance_chainConfigAtgovernance_chainConfigklay_govParamsAtklay_chainConfigAtklay_chainConfigklay_gasPriceAt
- updated API
admin_exportChain
- added API
governance_getRewardsAccumulatedklay_forkStatusklay_recoverFromTransactionklay_recoverFromMessage
- removed API
Release v1.10.2
v1.10.2 Release Notes
What’s New in v.1.10.2 (#366)
- About The API getting governance parameters
getGovParamsAtis replaced bygetParamsin klay namespacegetItemsAtis replaced bygetParamsin governance namespace
- About the API getting chain config
getChainConfigAtis replaced bygetChainConfigin klay namespace
- The fields (
kir/poc) are replaced by (kff/kcf) according to klaytn API service- It affacts
KlayRewards/GovernanceStakingInforesponse type
- It affacts
Release v1.10.0
What’s New in v.1.10.0 (#719, #721)
- Added klay.getRewards API to retrieve reward related information by block with the new GC reward structure following the abolishment of the Gini coefficient KIP-82
- Added governance.getChainConfigAt API to retrieve chain information for a certain block
- getStakingInfo, getNodeAddress, getChainConfig, getChainConfigAt APIs, previously only available from governance namespace, is supported for klay namespace
- Added klay.getGovParams, klay.getGovParamsAt APIs, which are functionally identical to governance.getItemsAt
Improvements
- You can now subscribe to contract events.(#353)
- Added IPFSOptions instance to support IPFS node and basic authentication. (#357)
- Updated in line with the new version of KIP17, KIP37 bytecode and klaytn-contracts and added Ownable interface.(#360)
Fixes
Release v1.9.0
What’s New in v.1.9.0
- Supported KIP-71 dynamic gas fee pricing mechanism. (#328, #327, #329, #330, #331, #334, #343, #344, #346)
- Added
effectiveGasPricefield to the response object ofcaver.rpc.klay.getTransactionReceipt. - Supported value-setting logic for undefined
gasPricewith dynamic gas fee pricing mechanism introduced with the proposed Magma hard fork. Any undefined gasPrice will therefore be defaulted tobaseFee * 2. - Supported
tx.suggestGasPricefunction in transaction instances to easily determine the gas price. - Added newly introduced KIP-71 governance parameters in the return object of
caver.rpc.governanceAPIs. - Added newly introduced
caver.rpc.klay.getUpperBoundGasPriceandcaver.rpc.klay.getLowerBoundGasPriceAPIs.
Please see KIP-71 for details.
- Added
- Supported some of the Admin API to control peers. (#320, #323)
caver.rpc.admin.getNodeInfocallsadmin_datadir.caver.rpc.admin.getPeerscallsadmin_peers.caver.rpc.admin.addPeercallsadmin_addPeer.caver.rpc.admin.removePeercallsadmin_removePeer.
Improvements
- Updated web3j version to 4.8.8. (#305)
- Added code examples of the
caver.walletpackage in javadoc. (#306) - Added
net_versionrpc call tocaver.rpc.net. (#320)
Fixes
- Updated
DefaultGasProviderto implementContractGasProviderto support dynamic gas price. If you are using DefaultGasProvider such asnew DefaultGasProvider(), please change it tonew DefaultGasProvider(caver), (#322)
Release v1.8.0
v1.8.0 Release Notes
What's New
- In line with Klaytn's pursuit of Ethereum equivalence, Klaytn now supports Ethereum transaction types. But what is an update without SDKs? You can start using these transactions with caver, via
caver.transaction.- Access lists are now available with
TxTypeEthereumAccessListwhich was introduced with EIP-2930- The
EthereumAccessListclass is available incaver.transaction.ethereumAccessListasTxTypeEthereumAccessList.
- The
- The transaction type
TxTypeEthereumDynamicFeepresented in the proposal EIP-1559 is also available- The
EthereumDynamicFeeclass is available incaver.transaction.ethereumDynamicFeeasTxTypeEthereumDynamicFee.
- The
- Access lists are now available with
- The newly added
klaynamespace API functions are now available with caver via caver.rpc.klay!- caver.rpc.klay.getHeader
- caver.rpc.klay.getFeeHistory
- caver.rpc.klay.getMaxPriorityFeePerGas
- caver.rpc.klay.createAccessList
- You can use the
ecsignfunction the new Ethereum transaction types.- The nitty-gritty: You have to sign the transaction types
EthereumAccessListandEthereumDynamicFeeviaecsignto generate the ECDSA signatures. - If you are inquisitive, the
vin the signature values {v, r, s} for the new Ethreuem transaction types is a parity (0 for even, 1 for odd) of the y-value of the Secp256k1 curve, whereas thevin Klaytn containschainId, making them incompatible. - Find it here.
- The nitty-gritty: You have to sign the transaction types
Release v1.6.4
v1.6.4 Release Notes
What’s New
- Good news: You can now use WebSocket to subscribe to events via publish/subscribe API with caver.java. (#278)
- Subscribe to events using
caver.rpc.klay.subscribe.- Use the parameters
newheadsto get notification for the latest block andlogsfor logs included in new blocks for specific contracts or events.
- Use the parameters
- Of course, you can unsubscribe using
caver.rpc.klay.unsubscribe. - Please refer to Klaytn Docs for more details.
- Subscribe to events using
Bug Fixes
- Did you know that the hex prefix "0x" used to only work in lower case? Now it accepts upper case "0X" too. 271
- We fortified the validation logic for the privateKey. 272, 275
- We also made some improvements in the validation logic for
caver.utils.compressedPublicKey,caver.utils.decompressedPublicKey274, 285 * In therpclayer, the default value of the parameterisFullTransactionfor the methodscaver.rpc.getBlockByXXXused to betrue, but now it’s set tofalse. 280 - We fixed and improved the
contract.oncemethod. 282- The
EventFilterOptionsclass has been refactored so that you can convert and manage subscription topics more easily. - Before, subscribing to an event returned only the raw data. Now with the new
subscribeFlowablemethod, you can configure the data stream yourself, i.e. register callback methods for various cases.
- The
Release v1.6.4-rc.1
v1.6.4-rc.1 Release Notes
New Features
- Supports a
caver.rpc.subscribemethod that pub/sub events throughklay_subscriptionAPI.
Fixes
- Modified a default value
isFullTransactionfield to false.- It affects
caver.rpc.klay.getBlockByNumber(),caver.rpc.klay.getBlockByHash().
- It affects
Release v1.6.3
v1.6.3 Release Notes
Breaking changes
- Modified field name
keyRingtokeyringin KeyStore class.(#269)
New Features
- Supports Governance RPC call. (#258)
caver.rpc.governanceprovides Governance RPC call.caver.rpc.governance.votecaver.rpc.governance.votecaver.rpc.governance.showTallycaver.rpc.governance.getTotalVotingPowercaver.rpc.governance.getMyVotingPowercaver.rpc.governance.getMyVotescaver.rpc.governance.getChainConfigcaver.rpc.governance.getNodeAddresscaver.rpc.governance.getItemsAtcaver.rpc.governance.getPendingChangescaver.rpc.governance.getVotescaver.rpc.governance.getIdxCachecaver.rpc.governance.getIdxCacheFromDbcaver.rpc.governance.getItemCacheFromDbcaver.rpc.governance.getStakingInfo
- Please refer to Klaytn Docs for more details.
- Supports decoding function call that consists of function selector and encoded parameters. (#260, #261)
caver.abi.decodeFunctionCallcontract.decodeFunctionCallkip7.decodeFunctionCallkip17.decodeFunctionCallkip37.decodeFunctionCall
- Supports a method to get a caver transaction instance by transaction hash. (#263)
- This method converts the result of
caver.rpc.klay.getTransactionwith the transaction hash into a transaction instance provided by caver-java.caver.transaction.getTransactionByHash
- This method converts the result of
- Supports new utils methods. (#264, #267)
- Since Klaytn supports account key updates, you need public key information to verify the signature. Also, a function to retrieve the address derived from the public key is provided.
caver.utils.recoverPublicKeywill recover public key string from signature.caver.utils.publicKeyToAddresswill derive an address from a public key.
- Since Klaytn supports account key updates, you need public key information to verify the signature. Also, a function to retrieve the address derived from the public key is provided.
- Supports a method that recovers public keys from a transaction instance. (#267)
- This method recovers public keys from the
signaturesorfeePayerSignaturesfield of the transaction.tx.recoverPublicKeyswill recover public keys fromsignatures.tx.recoverFeePayerPublicKeyswill recover public keys fromfeePayerSignatures.
- This method recovers public keys from the
- Adds a new layer named
Validator. (#265, #268)caver.validatoris a layer that provides validation methods that are necessary to use Klaytn.caver.validator.validateSignedMessagewill validate the signature signed on a message.caver.validator.validateTransactionwill validatesignaturesandfeePayerSignaturesin the transaction.caver.validator.validateSenderwill validatesignaturesin the transaction.caver.validator.validateFeePayerwill validatefeePayerSignaturesin the transaction.
- Adds a network provider that manages the network connection as a field of Caver class. (#251)
Fixed
- Fixed a typo in method name. (#256)
- Fixed the method name
generateRolBasedKeystogenerateRoleBasedKeysin KeyringFactory class.
- Fixed the method name
- Fixed an encoding/decoding logic that occurred when if the length of a dynamic array is zero. (#257)
- Fixed a decoding issue for LegacyTransaction logic. (#266)
- If a number type field (e.g., nonce, gas, gasPrice, value) has 0 value, it decodes as bigInteger.
- Fixed a build problem when using an IntelliJ. (#259)
Release v1.6.3-rc.4
v1.6.3-rc.4 Release Notes
New Features
- Supports Governance RPC call. (#258)
caver.rpc.governanceprovides Governance RPC call.caver.rpc.governance.votecaver.rpc.governance.votecaver.rpc.governance.showTallycaver.rpc.governance.getTotalVotingPowercaver.rpc.governance.getMyVotingPowercaver.rpc.governance.getMyVotescaver.rpc.governance.getChainConfigcaver.rpc.governance.getNodeAddresscaver.rpc.governance.getItemsAtcaver.rpc.governance.getPendingChangescaver.rpc.governance.getVotescaver.rpc.governance.getIdxCachecaver.rpc.governance.getIdxCacheFromDbcaver.rpc.governance.getItemCacheFromDbcaver.rpc.governance.getStakingInfo
- Please refer to Klaytn Docs for more details.
- Supports decoding function call that consists of function selector and encoded parameters. (#260, #261)
caver.abi.decodeFunctionCallcontract.decodeFunctionCallkip7.decodeFunctionCallkip17.decodeFunctionCallkip37.decodeFunctionCall
- Supports a method to get a caver transaction instance by transaction hash. (#263)
- This method converts the result of
caver.rpc.klay.getTransactionwith the transaction hash into a transaction instance provided by caver-java.caver.transaction.getTransactionByHash
- This method converts the result of
- Supports new utils methods. (#264, #267)
- Since Klaytn supports account key updates, you need public key information to verify the signature. Also, a function to retrieve the address derived from the public key is provided.
caver.utils.recoverPublicKeywill recover public key string from signature.caver.utils.publicKeyToAddresswill derive an address from a public key.
- Since Klaytn supports account key updates, you need public key information to verify the signature. Also, a function to retrieve the address derived from the public key is provided.
- Supports a method that recovers public keys from a transaction instance. (#267)
- This method recovers public keys from the
signaturesorfeePayerSignaturesfield of the transaction.tx.recoverPublicKeyswill recover public keys fromsignatures.tx.recoverFeePayerPublicKeyswill recover public keys fromfeePayerSignatures.
- This method recovers public keys from the
- Adds a new layer named
Validator. (#265, #268)caver.validatoris a layer that provides validation methods that are necessary to use Klaytn.caver.validator.validateSignedMessagewill validate the signature signed on a message.caver.validator.validateTransactionwill validatesignaturesandfeePayerSignaturesin the transaction.caver.validator.validateSenderwill validatesignaturesin the transaction.caver.validator.validateFeePayerwill validatefeePayerSignaturesin the transaction.
- Adds a network provider that manages the network connection as a field of Caver class. (#251)
Fixed
- Fixed a typo in method name. (#256)
- Fixed the method name
generateRolBasedKeystogenerateRoleBasedKeysin KeyringFactory class.
- Fixed the method name
- Fixed an encoding/decoding logic that occurred when if the length of a dynamic array is zero. (#257)
- Fixed a decoding issue for LegacyTransaction logic. (#266)
- If a number type field (e.g., nonce, gas, gasPrice, value) has 0 value, it decodes as bigInteger.
- Fixed a build problem when using an IntelliJ. (#259)
v1.6.3-rc.2 Release Notes
New Features
- Adds a network provider as a field of Caver class. (#251)
- This added field manages the network connection.
Fixes
- Fixed typo at method name. (#256)
- Fixed typo at method name
generateRolBasedKeys.generateRolBasedKeysmust be namedgenerateRoleBasedKeys. - This method is in both
KeyringFactory.javaandKeyringFactoryWrapper.java.
- Fixed typo at method name
Miscellaneous
- Updated Circle CI config. (#242)
- Separated tests from build job.
- Refactored
.circleci/config.yml.
- Refactored Circle CI config. (#250)
- Moved
no_output_timeoutoption to right place. - Changed name of
build_android_teststep.
- Moved
- Separated the library of web3j used in accordance with the project version. (#253)
- If the project version ends with "-android", using
web3j-android. - else using
web3j.
- If the project version ends with "-android", using
- Updated Circle CI config version from 2 to 2.1. (#254)