This repository has been 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_itemsAt
governance_chainConfigAt
governance_chainConfig
klay_govParamsAt
klay_chainConfigAt
klay_chainConfig
klay_gasPriceAt
- updated API
admin_exportChain
- added API
governance_getRewardsAccumulated
klay_forkStatus
klay_recoverFromTransaction
klay_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
getGovParamsAt
is replaced bygetParams
in klay namespacegetItemsAt
is replaced bygetParams
in governance namespace
- About the API getting chain config
getChainConfigAt
is replaced bygetChainConfig
in klay namespace
- The fields (
kir
/poc
) are replaced by (kff
/kcf
) according to klaytn API service- It affacts
KlayRewards
/GovernanceStakingInfo
response 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
effectiveGasPrice
field to the response object ofcaver.rpc.klay.getTransactionReceipt
. - Supported value-setting logic for undefined
gasPrice
with dynamic gas fee pricing mechanism introduced with the proposed Magma hard fork. Any undefined gasPrice will therefore be defaulted tobaseFee * 2
. - Supported
tx.suggestGasPrice
function in transaction instances to easily determine the gas price. - Added newly introduced KIP-71 governance parameters in the return object of
caver.rpc.governance
APIs. - Added newly introduced
caver.rpc.klay.getUpperBoundGasPrice
andcaver.rpc.klay.getLowerBoundGasPrice
APIs.
Please see KIP-71 for details.
- Added
- Supported some of the Admin API to control peers. (#320, #323)
caver.rpc.admin.getNodeInfo
callsadmin_datadir
.caver.rpc.admin.getPeers
callsadmin_peers
.caver.rpc.admin.addPeer
callsadmin_addPeer
.caver.rpc.admin.removePeer
callsadmin_removePeer
.
Improvements
- Updated web3j version to 4.8.8. (#305)
- Added code examples of the
caver.wallet
package in javadoc. (#306) - Added
net_version
rpc call tocaver.rpc.net
. (#320)
Fixes
- Updated
DefaultGasProvider
to implementContractGasProvider
to 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
TxTypeEthereumAccessList
which was introduced with EIP-2930- The
EthereumAccessList
class is available incaver.transaction.ethereumAccessList
asTxTypeEthereumAccessList
.
- The
- The transaction type
TxTypeEthereumDynamicFee
presented in the proposal EIP-1559 is also available- The
EthereumDynamicFee
class is available incaver.transaction.ethereumDynamicFee
asTxTypeEthereumDynamicFee
.
- The
- Access lists are now available with
- The newly added
klay
namespace 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
ecsign
function the new Ethereum transaction types.- The nitty-gritty: You have to sign the transaction types
EthereumAccessList
andEthereumDynamicFee
viaecsign
to generate the ECDSA signatures. - If you are inquisitive, the
v
in 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 thev
in 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
newheads
to get notification for the latest block andlogs
for 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.decompressedPublicKey
274, 285 * In therpc
layer, the default value of the parameterisFullTransaction
for the methodscaver.rpc.getBlockByXXX
used to betrue
, but now it’s set tofalse
. 280 - We fixed and improved the
contract.once
method. 282- The
EventFilterOptions
class 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
subscribeFlowable
method, 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.subscribe
method that pub/sub events throughklay_subscription
API.
Fixes
- Modified a default value
isFullTransaction
field 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
keyRing
tokeyring
in KeyStore class.(#269)
New Features
- Supports Governance RPC call. (#258)
caver.rpc.governance
provides Governance RPC call.caver.rpc.governance.vote
caver.rpc.governance.vote
caver.rpc.governance.showTally
caver.rpc.governance.getTotalVotingPower
caver.rpc.governance.getMyVotingPower
caver.rpc.governance.getMyVotes
caver.rpc.governance.getChainConfig
caver.rpc.governance.getNodeAddress
caver.rpc.governance.getItemsAt
caver.rpc.governance.getPendingChanges
caver.rpc.governance.getVotes
caver.rpc.governance.getIdxCache
caver.rpc.governance.getIdxCacheFromDb
caver.rpc.governance.getItemCacheFromDb
caver.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.decodeFunctionCall
contract.decodeFunctionCall
kip7.decodeFunctionCall
kip17.decodeFunctionCall
kip37.decodeFunctionCall
- Supports a method to get a caver transaction instance by transaction hash. (#263)
- This method converts the result of
caver.rpc.klay.getTransaction
with 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.recoverPublicKey
will recover public key string from signature.caver.utils.publicKeyToAddress
will 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
signatures
orfeePayerSignatures
field of the transaction.tx.recoverPublicKeys
will recover public keys fromsignatures
.tx.recoverFeePayerPublicKeys
will recover public keys fromfeePayerSignatures
.
- This method recovers public keys from the
- Adds a new layer named
Validator
. (#265, #268)caver.validator
is a layer that provides validation methods that are necessary to use Klaytn.caver.validator.validateSignedMessage
will validate the signature signed on a message.caver.validator.validateTransaction
will validatesignatures
andfeePayerSignatures
in the transaction.caver.validator.validateSender
will validatesignatures
in the transaction.caver.validator.validateFeePayer
will validatefeePayerSignatures
in 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
generateRolBasedKeys
togenerateRoleBasedKeys
in 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.governance
provides Governance RPC call.caver.rpc.governance.vote
caver.rpc.governance.vote
caver.rpc.governance.showTally
caver.rpc.governance.getTotalVotingPower
caver.rpc.governance.getMyVotingPower
caver.rpc.governance.getMyVotes
caver.rpc.governance.getChainConfig
caver.rpc.governance.getNodeAddress
caver.rpc.governance.getItemsAt
caver.rpc.governance.getPendingChanges
caver.rpc.governance.getVotes
caver.rpc.governance.getIdxCache
caver.rpc.governance.getIdxCacheFromDb
caver.rpc.governance.getItemCacheFromDb
caver.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.decodeFunctionCall
contract.decodeFunctionCall
kip7.decodeFunctionCall
kip17.decodeFunctionCall
kip37.decodeFunctionCall
- Supports a method to get a caver transaction instance by transaction hash. (#263)
- This method converts the result of
caver.rpc.klay.getTransaction
with 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.recoverPublicKey
will recover public key string from signature.caver.utils.publicKeyToAddress
will 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
signatures
orfeePayerSignatures
field of the transaction.tx.recoverPublicKeys
will recover public keys fromsignatures
.tx.recoverFeePayerPublicKeys
will recover public keys fromfeePayerSignatures
.
- This method recovers public keys from the
- Adds a new layer named
Validator
. (#265, #268)caver.validator
is a layer that provides validation methods that are necessary to use Klaytn.caver.validator.validateSignedMessage
will validate the signature signed on a message.caver.validator.validateTransaction
will validatesignatures
andfeePayerSignatures
in the transaction.caver.validator.validateSender
will validatesignatures
in the transaction.caver.validator.validateFeePayer
will validatefeePayerSignatures
in 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
generateRolBasedKeys
togenerateRoleBasedKeys
in 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
.generateRolBasedKeys
must be namedgenerateRoleBasedKeys
. - This method is in both
KeyringFactory.java
andKeyringFactoryWrapper.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_timeout
option to right place. - Changed name of
build_android_test
step.
- 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)