viem 2.21.1 → 2.21.3
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +26 -0
- package/_cjs/account-abstraction/index.js +6 -2
- package/_cjs/account-abstraction/index.js.map +1 -1
- package/_cjs/celo/serializers.js +2 -1
- package/_cjs/celo/serializers.js.map +1 -1
- package/_cjs/chains/definitions/acala.js +0 -4
- package/_cjs/chains/definitions/acala.js.map +1 -1
- package/_cjs/chains/definitions/bahamut.js +0 -12
- package/_cjs/chains/definitions/bahamut.js.map +1 -1
- package/_cjs/chains/definitions/beam.js +0 -4
- package/_cjs/chains/definitions/beam.js.map +1 -1
- package/_cjs/chains/definitions/beamTestnet.js +0 -4
- package/_cjs/chains/definitions/beamTestnet.js.map +1 -1
- package/_cjs/chains/definitions/bitTorrent.js +0 -1
- package/_cjs/chains/definitions/bitTorrent.js.map +1 -1
- package/_cjs/chains/definitions/bitTorrentTestnet.js +0 -1
- package/_cjs/chains/definitions/bitTorrentTestnet.js.map +1 -1
- package/_cjs/chains/definitions/bobSepolia.js +0 -4
- package/_cjs/chains/definitions/bobSepolia.js.map +1 -1
- package/_cjs/chains/definitions/defichainEvm.js +0 -3
- package/_cjs/chains/definitions/defichainEvm.js.map +1 -1
- package/_cjs/chains/definitions/defichainEvmTestnet.js +0 -3
- package/_cjs/chains/definitions/defichainEvmTestnet.js.map +1 -1
- package/_cjs/chains/definitions/jbc.js +0 -3
- package/_cjs/chains/definitions/jbc.js.map +1 -1
- package/_cjs/chains/definitions/kaia.js +1 -0
- package/_cjs/chains/definitions/kaia.js.map +1 -1
- package/_cjs/chains/definitions/karura.js +0 -4
- package/_cjs/chains/definitions/karura.js.map +1 -1
- package/_cjs/chains/definitions/kcc.js +0 -3
- package/_cjs/chains/definitions/kcc.js.map +1 -1
- package/_cjs/chains/definitions/mandala.js +0 -4
- package/_cjs/chains/definitions/mandala.js.map +1 -1
- package/_cjs/chains/definitions/metis.js +1 -6
- package/_cjs/chains/definitions/metis.js.map +1 -1
- package/_cjs/chains/definitions/oasisTestnet.js +0 -1
- package/_cjs/chains/definitions/oasisTestnet.js.map +1 -1
- package/_cjs/chains/definitions/oortmainnetDev.js +0 -4
- package/_cjs/chains/definitions/oortmainnetDev.js.map +1 -1
- package/_cjs/chains/definitions/pgn.js +0 -5
- package/_cjs/chains/definitions/pgn.js.map +1 -1
- package/_cjs/chains/definitions/pgnTestnet.js +0 -5
- package/_cjs/chains/definitions/pgnTestnet.js.map +1 -1
- package/_cjs/chains/definitions/polygon.js +1 -1
- package/_cjs/chains/definitions/polygon.js.map +1 -1
- package/_cjs/chains/definitions/sapphire.js +0 -5
- package/_cjs/chains/definitions/sapphire.js.map +1 -1
- package/_cjs/chains/definitions/sapphireTestnet.js +0 -5
- package/_cjs/chains/definitions/sapphireTestnet.js.map +1 -1
- package/_cjs/chains/definitions/taikoKatla.js +0 -3
- package/_cjs/chains/definitions/taikoKatla.js.map +1 -1
- package/_cjs/chains/definitions/wemix.js +0 -1
- package/_cjs/chains/definitions/wemix.js.map +1 -1
- package/_cjs/chains/definitions/wemixTestnet.js +0 -1
- package/_cjs/chains/definitions/wemixTestnet.js.map +1 -1
- package/_cjs/chains/definitions/xdc.js +0 -4
- package/_cjs/chains/definitions/xdc.js.map +1 -1
- package/_cjs/chains/definitions/zkFair.js +0 -3
- package/_cjs/chains/definitions/zkFair.js.map +1 -1
- package/_cjs/chains/definitions/zkFairTestnet.js +0 -3
- package/_cjs/chains/definitions/zkFairTestnet.js.map +1 -1
- package/_cjs/chains/index.js.map +1 -1
- package/_cjs/errors/unit.js +13 -0
- package/_cjs/errors/unit.js.map +1 -0
- package/_cjs/errors/version.js +1 -1
- package/_cjs/index.js +7 -5
- package/_cjs/index.js.map +1 -1
- package/_cjs/utils/lru.js +8 -0
- package/_cjs/utils/lru.js.map +1 -1
- package/_cjs/utils/transaction/assertRequest.js +2 -1
- package/_cjs/utils/transaction/assertRequest.js.map +1 -1
- package/_cjs/utils/transaction/assertTransaction.js +4 -3
- package/_cjs/utils/transaction/assertTransaction.js.map +1 -1
- package/_cjs/utils/unit/parseUnits.js +3 -0
- package/_cjs/utils/unit/parseUnits.js.map +1 -1
- package/_esm/account-abstraction/index.js +2 -0
- package/_esm/account-abstraction/index.js.map +1 -1
- package/_esm/celo/serializers.js +3 -2
- package/_esm/celo/serializers.js.map +1 -1
- package/_esm/chains/definitions/acala.js +0 -4
- package/_esm/chains/definitions/acala.js.map +1 -1
- package/_esm/chains/definitions/bahamut.js +0 -12
- package/_esm/chains/definitions/bahamut.js.map +1 -1
- package/_esm/chains/definitions/beam.js +0 -4
- package/_esm/chains/definitions/beam.js.map +1 -1
- package/_esm/chains/definitions/beamTestnet.js +0 -4
- package/_esm/chains/definitions/beamTestnet.js.map +1 -1
- package/_esm/chains/definitions/bitTorrent.js +0 -1
- package/_esm/chains/definitions/bitTorrent.js.map +1 -1
- package/_esm/chains/definitions/bitTorrentTestnet.js +0 -1
- package/_esm/chains/definitions/bitTorrentTestnet.js.map +1 -1
- package/_esm/chains/definitions/bobSepolia.js +0 -4
- package/_esm/chains/definitions/bobSepolia.js.map +1 -1
- package/_esm/chains/definitions/defichainEvm.js +0 -3
- package/_esm/chains/definitions/defichainEvm.js.map +1 -1
- package/_esm/chains/definitions/defichainEvmTestnet.js +0 -3
- package/_esm/chains/definitions/defichainEvmTestnet.js.map +1 -1
- package/_esm/chains/definitions/jbc.js +0 -3
- package/_esm/chains/definitions/jbc.js.map +1 -1
- package/_esm/chains/definitions/kaia.js +1 -0
- package/_esm/chains/definitions/kaia.js.map +1 -1
- package/_esm/chains/definitions/karura.js +0 -4
- package/_esm/chains/definitions/karura.js.map +1 -1
- package/_esm/chains/definitions/kcc.js +0 -3
- package/_esm/chains/definitions/kcc.js.map +1 -1
- package/_esm/chains/definitions/mandala.js +0 -4
- package/_esm/chains/definitions/mandala.js.map +1 -1
- package/_esm/chains/definitions/metis.js +1 -6
- package/_esm/chains/definitions/metis.js.map +1 -1
- package/_esm/chains/definitions/oasisTestnet.js +0 -1
- package/_esm/chains/definitions/oasisTestnet.js.map +1 -1
- package/_esm/chains/definitions/oortmainnetDev.js +0 -4
- package/_esm/chains/definitions/oortmainnetDev.js.map +1 -1
- package/_esm/chains/definitions/pgn.js +0 -5
- package/_esm/chains/definitions/pgn.js.map +1 -1
- package/_esm/chains/definitions/pgnTestnet.js +0 -5
- package/_esm/chains/definitions/pgnTestnet.js.map +1 -1
- package/_esm/chains/definitions/polygon.js +1 -1
- package/_esm/chains/definitions/polygon.js.map +1 -1
- package/_esm/chains/definitions/sapphire.js +0 -5
- package/_esm/chains/definitions/sapphire.js.map +1 -1
- package/_esm/chains/definitions/sapphireTestnet.js +0 -5
- package/_esm/chains/definitions/sapphireTestnet.js.map +1 -1
- package/_esm/chains/definitions/taikoKatla.js +0 -3
- package/_esm/chains/definitions/taikoKatla.js.map +1 -1
- package/_esm/chains/definitions/wemix.js +0 -1
- package/_esm/chains/definitions/wemix.js.map +1 -1
- package/_esm/chains/definitions/wemixTestnet.js +0 -1
- package/_esm/chains/definitions/wemixTestnet.js.map +1 -1
- package/_esm/chains/definitions/xdc.js +0 -4
- package/_esm/chains/definitions/xdc.js.map +1 -1
- package/_esm/chains/definitions/zkFair.js +0 -3
- package/_esm/chains/definitions/zkFair.js.map +1 -1
- package/_esm/chains/definitions/zkFairTestnet.js +0 -3
- package/_esm/chains/definitions/zkFairTestnet.js.map +1 -1
- package/_esm/chains/index.js +1 -0
- package/_esm/chains/index.js.map +1 -1
- package/_esm/errors/unit.js +9 -0
- package/_esm/errors/unit.js.map +1 -0
- package/_esm/errors/version.js +1 -1
- package/_esm/index.js +1 -0
- package/_esm/index.js.map +1 -1
- package/_esm/utils/lru.js +8 -0
- package/_esm/utils/lru.js.map +1 -1
- package/_esm/utils/transaction/assertRequest.js +2 -1
- package/_esm/utils/transaction/assertRequest.js.map +1 -1
- package/_esm/utils/transaction/assertTransaction.js +4 -3
- package/_esm/utils/transaction/assertTransaction.js.map +1 -1
- package/_esm/utils/unit/parseUnits.js +3 -0
- package/_esm/utils/unit/parseUnits.js.map +1 -1
- package/_types/account-abstraction/index.d.ts +2 -0
- package/_types/account-abstraction/index.d.ts.map +1 -1
- package/_types/celo/serializers.d.ts.map +1 -1
- package/_types/chains/definitions/acala.d.ts +0 -4
- package/_types/chains/definitions/acala.d.ts.map +1 -1
- package/_types/chains/definitions/bahamut.d.ts +0 -4
- package/_types/chains/definitions/bahamut.d.ts.map +1 -1
- package/_types/chains/definitions/beam.d.ts +0 -4
- package/_types/chains/definitions/beam.d.ts.map +1 -1
- package/_types/chains/definitions/beamTestnet.d.ts +0 -4
- package/_types/chains/definitions/beamTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/bitTorrent.d.ts +0 -3
- package/_types/chains/definitions/bitTorrent.d.ts.map +1 -1
- package/_types/chains/definitions/bitTorrentTestnet.d.ts +0 -3
- package/_types/chains/definitions/bitTorrentTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/bobSepolia.d.ts +0 -4
- package/_types/chains/definitions/bobSepolia.d.ts.map +1 -1
- package/_types/chains/definitions/defichainEvm.d.ts +0 -3
- package/_types/chains/definitions/defichainEvm.d.ts.map +1 -1
- package/_types/chains/definitions/defichainEvmTestnet.d.ts +0 -3
- package/_types/chains/definitions/defichainEvmTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/jbc.d.ts +0 -3
- package/_types/chains/definitions/jbc.d.ts.map +1 -1
- package/_types/chains/definitions/kaia.d.ts +1 -0
- package/_types/chains/definitions/kaia.d.ts.map +1 -1
- package/_types/chains/definitions/karura.d.ts +0 -4
- package/_types/chains/definitions/karura.d.ts.map +1 -1
- package/_types/chains/definitions/kcc.d.ts +0 -3
- package/_types/chains/definitions/kcc.d.ts.map +1 -1
- package/_types/chains/definitions/mandala.d.ts +0 -4
- package/_types/chains/definitions/mandala.d.ts.map +1 -1
- package/_types/chains/definitions/metis.d.ts +1 -6
- package/_types/chains/definitions/metis.d.ts.map +1 -1
- package/_types/chains/definitions/oasisTestnet.d.ts +0 -3
- package/_types/chains/definitions/oasisTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/oortmainnetDev.d.ts +0 -4
- package/_types/chains/definitions/oortmainnetDev.d.ts.map +1 -1
- package/_types/chains/definitions/pgn.d.ts +0 -5
- package/_types/chains/definitions/pgn.d.ts.map +1 -1
- package/_types/chains/definitions/pgnTestnet.d.ts +0 -5
- package/_types/chains/definitions/pgnTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/polygon.d.ts +2 -2
- package/_types/chains/definitions/sapphire.d.ts +0 -5
- package/_types/chains/definitions/sapphire.d.ts.map +1 -1
- package/_types/chains/definitions/sapphireTestnet.d.ts +0 -5
- package/_types/chains/definitions/sapphireTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/taikoKatla.d.ts +0 -3
- package/_types/chains/definitions/taikoKatla.d.ts.map +1 -1
- package/_types/chains/definitions/wemix.d.ts +0 -3
- package/_types/chains/definitions/wemix.d.ts.map +1 -1
- package/_types/chains/definitions/wemixTestnet.d.ts +0 -3
- package/_types/chains/definitions/wemixTestnet.d.ts.map +1 -1
- package/_types/chains/definitions/xdc.d.ts +0 -4
- package/_types/chains/definitions/xdc.d.ts.map +1 -1
- package/_types/chains/definitions/zkFair.d.ts +0 -3
- package/_types/chains/definitions/zkFair.d.ts.map +1 -1
- package/_types/chains/definitions/zkFairTestnet.d.ts +0 -3
- package/_types/chains/definitions/zkFairTestnet.d.ts.map +1 -1
- package/_types/chains/index.d.ts +1 -0
- package/_types/chains/index.d.ts.map +1 -1
- package/_types/errors/unit.d.ts +10 -0
- package/_types/errors/unit.d.ts.map +1 -0
- package/_types/errors/version.d.ts +1 -1
- package/_types/index.d.ts +1 -0
- package/_types/index.d.ts.map +1 -1
- package/_types/utils/lru.d.ts +1 -0
- package/_types/utils/lru.d.ts.map +1 -1
- package/_types/utils/transaction/assertRequest.d.ts.map +1 -1
- package/_types/utils/transaction/assertTransaction.d.ts.map +1 -1
- package/_types/utils/unit/parseUnits.d.ts.map +1 -1
- package/account-abstraction/index.ts +13 -0
- package/celo/serializers.ts +3 -2
- package/chains/definitions/acala.ts +0 -4
- package/chains/definitions/bahamut.ts +0 -12
- package/chains/definitions/beam.ts +0 -4
- package/chains/definitions/beamTestnet.ts +0 -4
- package/chains/definitions/bitTorrent.ts +0 -1
- package/chains/definitions/bitTorrentTestnet.ts +0 -1
- package/chains/definitions/bobSepolia.ts +0 -4
- package/chains/definitions/defichainEvm.ts +0 -3
- package/chains/definitions/defichainEvmTestnet.ts +0 -3
- package/chains/definitions/jbc.ts +0 -3
- package/chains/definitions/kaia.ts +1 -0
- package/chains/definitions/karura.ts +0 -4
- package/chains/definitions/kcc.ts +0 -3
- package/chains/definitions/mandala.ts +0 -4
- package/chains/definitions/metis.ts +1 -6
- package/chains/definitions/oasisTestnet.ts +0 -1
- package/chains/definitions/oortmainnetDev.ts +0 -4
- package/chains/definitions/pgn.ts +0 -5
- package/chains/definitions/pgnTestnet.ts +0 -5
- package/chains/definitions/polygon.ts +1 -1
- package/chains/definitions/sapphire.ts +0 -5
- package/chains/definitions/sapphireTestnet.ts +0 -5
- package/chains/definitions/taikoKatla.ts +0 -3
- package/chains/definitions/wemix.ts +0 -1
- package/chains/definitions/wemixTestnet.ts +0 -1
- package/chains/definitions/xdc.ts +0 -4
- package/chains/definitions/zkFair.ts +0 -3
- package/chains/definitions/zkFairTestnet.ts +0 -3
- package/chains/index.ts +1 -0
- package/errors/unit.ts +12 -0
- package/errors/version.ts +1 -1
- package/index.ts +4 -0
- package/package.json +2 -2
- package/utils/lru.ts +11 -0
- package/utils/transaction/assertRequest.ts +2 -1
- package/utils/transaction/assertTransaction.ts +4 -3
- package/utils/unit/parseUnits.ts +4 -0
@@ -7,7 +7,6 @@ export const wemixTestnet = /*#__PURE__*/ defineChain({
|
|
7
7
|
nativeCurrency: { name: 'WEMIX', symbol: 'tWEMIX', decimals: 18 },
|
8
8
|
rpcUrls: {
|
9
9
|
default: { http: ['https://api.test.wemix.com'] },
|
10
|
-
public: { http: ['https://api.test.wemix.com'] },
|
11
10
|
},
|
12
11
|
blockExplorers: {
|
13
12
|
default: {
|
@@ -12,10 +12,6 @@ export const xdc = /*#__PURE__*/ defineChain({
|
|
12
12
|
default: { http: ['https://rpc.xinfin.network'] },
|
13
13
|
},
|
14
14
|
blockExplorers: {
|
15
|
-
xinfin: {
|
16
|
-
name: 'XinFin',
|
17
|
-
url: 'https://explorer.xinfin.network',
|
18
|
-
},
|
19
15
|
default: {
|
20
16
|
name: 'Blocksscan',
|
21
17
|
url: 'https://xdc.blocksscan.io',
|
package/chains/index.ts
CHANGED
@@ -108,6 +108,7 @@ export { filecoinCalibration } from './definitions/filecoinCalibration.js'
|
|
108
108
|
export { filecoinHyperspace } from './definitions/filecoinHyperspace.js'
|
109
109
|
export { flare } from './definitions/flare.js'
|
110
110
|
export { flareTestnet } from './definitions/flareTestnet.js'
|
111
|
+
/** @deprecated */
|
111
112
|
export { flowPreviewnet } from './definitions/flowPreviewnet.js'
|
112
113
|
export { flowMainnet } from './definitions/flowMainnet.js'
|
113
114
|
export { flowTestnet } from './definitions/flowTestnet.js'
|
package/errors/unit.ts
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
import { BaseError } from './base.js'
|
2
|
+
|
3
|
+
export type InvalidDecimalNumberErrorType = InvalidDecimalNumberError & {
|
4
|
+
name: 'InvalidDecimalNumberError'
|
5
|
+
}
|
6
|
+
export class InvalidDecimalNumberError extends BaseError {
|
7
|
+
constructor({ value }: { value: string }) {
|
8
|
+
super(`Number \`${value}\` is not a valid decimal number.`, {
|
9
|
+
name: 'InvalidDecimalNumberError',
|
10
|
+
})
|
11
|
+
}
|
12
|
+
}
|
package/errors/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = '2.21.
|
1
|
+
export const version = '2.21.3'
|
package/index.ts
CHANGED
@@ -825,6 +825,10 @@ export {
|
|
825
825
|
type EnsAvatarUnsupportedNamespaceErrorType,
|
826
826
|
type EnsAvatarUriResolutionErrorType,
|
827
827
|
} from './errors/ens.js'
|
828
|
+
export {
|
829
|
+
type InvalidDecimalNumberErrorType,
|
830
|
+
InvalidDecimalNumberError,
|
831
|
+
} from './errors/unit.js'
|
828
832
|
export {
|
829
833
|
EstimateGasExecutionError,
|
830
834
|
type EstimateGasExecutionErrorType,
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "viem",
|
3
3
|
"description": "TypeScript Interface for Ethereum",
|
4
|
-
"version": "2.21.
|
4
|
+
"version": "2.21.3",
|
5
5
|
"main": "./_cjs/index.js",
|
6
6
|
"module": "./_esm/index.js",
|
7
7
|
"types": "./_types/index.d.ts",
|
@@ -170,7 +170,7 @@
|
|
170
170
|
"@noble/curves": "1.4.0",
|
171
171
|
"@noble/hashes": "1.4.0",
|
172
172
|
"@scure/bip32": "1.4.0",
|
173
|
-
"@scure/bip39": "1.
|
173
|
+
"@scure/bip39": "1.4.0",
|
174
174
|
"abitype": "1.0.5",
|
175
175
|
"isows": "1.0.4",
|
176
176
|
"webauthn-p256": "0.0.5",
|
package/utils/lru.ts
CHANGED
@@ -11,6 +11,17 @@ export class LruMap<value = unknown> extends Map<string, value> {
|
|
11
11
|
this.maxSize = size
|
12
12
|
}
|
13
13
|
|
14
|
+
override get(key: string) {
|
15
|
+
const value = super.get(key)
|
16
|
+
|
17
|
+
if (value !== undefined) {
|
18
|
+
this.delete(key)
|
19
|
+
super.set(key, value)
|
20
|
+
}
|
21
|
+
|
22
|
+
return value
|
23
|
+
}
|
24
|
+
|
14
25
|
override set(key: string, value: value) {
|
15
26
|
super.set(key, value)
|
16
27
|
if (this.maxSize && this.size > this.maxSize)
|
@@ -3,6 +3,7 @@ import {
|
|
3
3
|
parseAccount,
|
4
4
|
} from '../../accounts/utils/parseAccount.js'
|
5
5
|
import type { SendTransactionParameters } from '../../actions/wallet/sendTransaction.js'
|
6
|
+
import { maxUint256 } from '../../constants/number.js'
|
6
7
|
import {
|
7
8
|
InvalidAddressError,
|
8
9
|
type InvalidAddressErrorType,
|
@@ -53,7 +54,7 @@ export function assertRequest(args: AssertRequestParameters) {
|
|
53
54
|
)
|
54
55
|
throw new FeeConflictError()
|
55
56
|
|
56
|
-
if (maxFeePerGas && maxFeePerGas >
|
57
|
+
if (maxFeePerGas && maxFeePerGas > maxUint256)
|
57
58
|
throw new FeeCapTooHighError({ maxFeePerGas })
|
58
59
|
if (
|
59
60
|
maxPriorityFeePerGas &&
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { versionedHashVersionKzg } from '../../constants/kzg.js'
|
2
|
+
import { maxUint256 } from '../../constants/number.js'
|
2
3
|
import {
|
3
4
|
InvalidAddressError,
|
4
5
|
type InvalidAddressErrorType,
|
@@ -99,7 +100,7 @@ export function assertTransactionEIP1559(
|
|
99
100
|
const { chainId, maxPriorityFeePerGas, maxFeePerGas, to } = transaction
|
100
101
|
if (chainId <= 0) throw new InvalidChainIdError({ chainId })
|
101
102
|
if (to && !isAddress(to)) throw new InvalidAddressError({ address: to })
|
102
|
-
if (maxFeePerGas && maxFeePerGas >
|
103
|
+
if (maxFeePerGas && maxFeePerGas > maxUint256)
|
103
104
|
throw new FeeCapTooHighError({ maxFeePerGas })
|
104
105
|
if (
|
105
106
|
maxPriorityFeePerGas &&
|
@@ -128,7 +129,7 @@ export function assertTransactionEIP2930(
|
|
128
129
|
throw new BaseError(
|
129
130
|
'`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.',
|
130
131
|
)
|
131
|
-
if (gasPrice && gasPrice >
|
132
|
+
if (gasPrice && gasPrice > maxUint256)
|
132
133
|
throw new FeeCapTooHighError({ maxFeePerGas: gasPrice })
|
133
134
|
}
|
134
135
|
|
@@ -152,6 +153,6 @@ export function assertTransactionLegacy(
|
|
152
153
|
throw new BaseError(
|
153
154
|
'`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.',
|
154
155
|
)
|
155
|
-
if (gasPrice && gasPrice >
|
156
|
+
if (gasPrice && gasPrice > maxUint256)
|
156
157
|
throw new FeeCapTooHighError({ maxFeePerGas: gasPrice })
|
157
158
|
}
|
package/utils/unit/parseUnits.ts
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import { InvalidDecimalNumberError } from '../../errors/unit.js'
|
1
2
|
import type { ErrorType } from '../../errors/utils.js'
|
2
3
|
|
3
4
|
export type ParseUnitsErrorType = ErrorType
|
@@ -14,6 +15,9 @@ export type ParseUnitsErrorType = ErrorType
|
|
14
15
|
* // 420000000000n
|
15
16
|
*/
|
16
17
|
export function parseUnits(value: string, decimals: number) {
|
18
|
+
if (!/^(-?)([0-9]*)\.?([0-9]*)$/.test(value))
|
19
|
+
throw new InvalidDecimalNumberError({ value })
|
20
|
+
|
17
21
|
let [integer, fraction = '0'] = value.split('.')
|
18
22
|
|
19
23
|
const negative = integer.startsWith('-')
|