- #207
8e5768f
Thanks @jxom! - Added assertion inwatchBlocks
andwatchBlockNumber
to check that the next block number is higher than the previously seen block number.
- #209
ae3e0b6
Thanks @jxom! - AddedverifyMessage
,recoverAddress
,recoverMessageAddress
, andhashMessage
.
- #205
36fa97a
Thanks @jxom! - Added an assertion to check for existence of an event signature ontopics
fordecodeEventLog
- #198
e805e7e
Thanks @wighawag! - Added an assertion indecodeEventLog
to check for a mismatch between topics + indexed event parameters.
36c908c
Thanks @jxom! - Fixed an issue where empty strings were not being decoded properly indecodeAbiParameters
.
- #159
574ae22
Thanks @jxom! - Fixed issue where decoding error logs would break if constructor was in ABI.
- #141
450b612
Thanks @unholypanda! - FixedcreatePublicClient
to includegetTransactionCount
-
#139
304a436
Thanks @jxom! - Added the following chains:baseGoerli
boba
filecoinCalibration
flare
flareTestnet
harmonyOne
moonbaseAlpha
moonbeam
moonriver
okc
polygonZkEvmTestnet
shardeumSphinx
songbird
songbirdTestnet
telos
telosTestnet
zhejiang
-
#100
6bb8ce4
Thanks @jxom! - Breaking: RenamedrequestAccounts
Wallet Action torequestAddresses
Breaking: Renamed
getAccounts
Wallet Action togetAddresses
-
#100
6bb8ce4
Thanks @jxom! - Breaking: Thefrom
argument has been removed from Actions in favour ofaccount
to distinguish between Account types:+ import { getAccount } from 'viem' const [address] = await walletClient.requestAddresses() + const account = getAccount(address) const hash = await walletClient.sendTransaction({ - from: address, + account, to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', value: 1000000000000000000n })
Affected actions:
call
estimateGas
sendTransaction
signMessage
estimateContractGas
multicall
readContract
simulateContract
writeContract
057e01e
Thanks @jxom! - -testClient.getTxPoolContent
→testClient.getTxpoolContent
testClient.getTxPoolStatus
→testClient.getTxpoolStatus
-
#85
2350d1a
Thanks @jxom! - Breaking: RenamedencodeAbi
&decodeAbi
toencodeAbiParameters
&decodeAbiParameters
, and modified API from named arguments to inplace arguments:import { - encodeAbi, - decodeAbi, + encodeAbiParameters, + decodeAbiParameters, } from 'viem' -const result = encodeAbi({ params, values }) +const result = encodeAbiParameters(params, values) -const result = decodeAbi({ params, data }) +const result = decodeAbiParameters(params, data)
1971e6a
Thanks @jxom! - Added assertion to check if addresses are valid forsendTransaction
,estimateGas
&call
.
- #91
0ac32c2
Thanks @jxom! - Breaking: RenamedgetFunctionSignature
andgetEventSignature
togetFunctionSelector
andgetEventSelector
.
- #81
eb572b0
Thanks @jxom! - Improved transaction & contract error messaging & coalesce error messages from nodes.
8ef068b
Thanks @jxom! - Added502
,503
and504
error codes as "non-deterministic" errors forfallback
transport & retries.
-
#77
d6a29f5
Thanks @jxom! - Decorated Clients with their respective Actions.Example:
import { createPublicClient, http } from 'viem' import { mainnet } from 'viem/chains' -import { getBlockNumber } from 'viem/public' const client = createPublicClient({ chain: mainnet, transport: http(), }) - const blockNumber = await getBlockNumber(client) + const blockNumber = await client.getBlockNumber()
Breaking: Renamed encoding utils.
encodeBytes
/decodeBytes
→toBytes
/fromBytes
encodeHex
/decodeHex
→toHex
/fromHex
encodeRlp
/decodeRlp
→toRlp
/fromRlp
-
#68
1be77b3
Thanks @jxom! - Breaking: Removed all public/wallet/test actions & utils from theviem
entrypoint to their respective entrypoints:viem
= Clients & Transport exportsviem/chains
= Chains exportsviem/contract
= Contract Actions & Utils exportsviem/ens
= ENS Actions & Utils exportsviem/public
= Public Actions exportsviem/test
= Test Actions exportsviem/utils
= Utils exportsviem/wallet
= Wallet Actions exports
- #56
3e90197
Thanks @jxom! - - Breaking: RenamedhumanMessage
toshortMessage
inBaseError
.- Added
multicall
. - Support overloaded contract functions.
- Added
5a6bdf8
Thanks @jxom! - Fixed an issue whereencodeAbi
couldn't encode dynamic bytes larger than 32 bytes"
a74d643
Thanks @jxom! - Breaking: Removed theviem/actions
export in favor ofviem/public
,viem/test
&viem/wallet
exports.
43700d9
Thanks @jxom! - Fixed issue where preinstall/postinstall scripts were being published to NPM.