viem 0.0.1-alpha.30 → 0.0.1-alpha.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chains.js +46 -46
- package/dist/chains.mjs +1 -1
- package/dist/{chunk-ZX4U6QKQ.js → chunk-4TDJALZ6.js} +75 -75
- package/dist/{chunk-EAD66IDC.js → chunk-DEF2SWG2.js} +54 -28
- package/dist/chunk-DEF2SWG2.js.map +1 -0
- package/dist/{chunk-EYRMK2SV.mjs → chunk-HJBIOX2W.mjs} +2 -2
- package/dist/{chunk-VOK5ALIT.js → chunk-K3Q7U5IY.js} +15 -15
- package/dist/{chunk-NPFW67BV.js → chunk-NZUM6QVJ.js} +22 -22
- package/dist/{chunk-25AJVKAT.mjs → chunk-P76FCR36.mjs} +55 -29
- package/dist/chunk-P76FCR36.mjs.map +1 -0
- package/dist/{chunk-AO7KQBK3.mjs → chunk-QPXAI2W5.mjs} +2 -2
- package/dist/{chunk-BHMSFL4W.js → chunk-S3HZ74MN.js} +14 -14
- package/dist/{chunk-23UHN6UC.mjs → chunk-ZIH5V7HU.mjs} +3 -3
- package/dist/{chunk-IP3NSE7H.mjs → chunk-ZZWYDER3.mjs} +2 -2
- package/dist/contract.d.ts +1 -1
- package/dist/contract.js +4 -4
- package/dist/contract.mjs +3 -3
- package/dist/{createPublicClient-99be385b.d.ts → createPublicClient-2187596f.d.ts} +1 -1
- package/dist/ens.d.ts +1 -1
- package/dist/ens.js +4 -4
- package/dist/ens.mjs +3 -3
- package/dist/index.d.ts +20 -5
- package/dist/index.js +97 -91
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +16 -10
- package/dist/index.mjs.map +1 -1
- package/dist/{parseGwei-e299cf13.d.ts → parseGwei-308eada9.d.ts} +10 -7
- package/dist/public.d.ts +2 -2
- package/dist/public.js +3 -3
- package/dist/public.mjs +2 -2
- package/dist/test.js +3 -3
- package/dist/test.mjs +2 -2
- package/dist/utils/index.d.ts +4 -4
- package/dist/utils/index.js +4 -2
- package/dist/utils/index.mjs +7 -5
- package/dist/wallet.js +3 -3
- package/dist/wallet.mjs +2 -2
- package/package.json +1 -1
- package/dist/chunk-25AJVKAT.mjs.map +0 -1
- package/dist/chunk-EAD66IDC.js.map +0 -1
- /package/dist/{chunk-ZX4U6QKQ.js.map → chunk-4TDJALZ6.js.map} +0 -0
- /package/dist/{chunk-EYRMK2SV.mjs.map → chunk-HJBIOX2W.mjs.map} +0 -0
- /package/dist/{chunk-VOK5ALIT.js.map → chunk-K3Q7U5IY.js.map} +0 -0
- /package/dist/{chunk-NPFW67BV.js.map → chunk-NZUM6QVJ.js.map} +0 -0
- /package/dist/{chunk-AO7KQBK3.mjs.map → chunk-QPXAI2W5.mjs.map} +0 -0
- /package/dist/{chunk-BHMSFL4W.js.map → chunk-S3HZ74MN.js.map} +0 -0
- /package/dist/{chunk-23UHN6UC.mjs.map → chunk-ZIH5V7HU.mjs.map} +0 -0
- /package/dist/{chunk-IP3NSE7H.mjs.map → chunk-ZZWYDER3.mjs.map} +0 -0
@@ -9,7 +9,7 @@ var __publicField = (obj, key, value) => {
|
|
9
9
|
var package_default = {
|
10
10
|
name: "viem",
|
11
11
|
description: "TypeScript Interface for Ethereum",
|
12
|
-
version: "0.0.1-alpha.
|
12
|
+
version: "0.0.1-alpha.32",
|
13
13
|
scripts: {
|
14
14
|
anvil: "source .env && anvil --fork-url $VITE_ANVIL_FORK_URL --fork-block-number $VITE_ANVIL_BLOCK_NUMBER --block-time $VITE_ANVIL_BLOCK_TIME",
|
15
15
|
bench: "vitest bench --no-threads",
|
@@ -168,7 +168,7 @@ var package_default = {
|
|
168
168
|
},
|
169
169
|
pnpm: {
|
170
170
|
patchedDependencies: {
|
171
|
-
"vitepress@1.0.0-alpha.
|
171
|
+
"vitepress@1.0.0-alpha.47": "patches/vitepress@1.0.0-alpha.47.patch"
|
172
172
|
}
|
173
173
|
}
|
174
174
|
};
|
@@ -1219,6 +1219,24 @@ var JsonRpcVersionUnsupportedError = class extends RpcRequestError {
|
|
1219
1219
|
__publicField(this, "code", -32006);
|
1220
1220
|
}
|
1221
1221
|
};
|
1222
|
+
var UserRejectedRequestError = class extends RpcRequestError {
|
1223
|
+
constructor(err) {
|
1224
|
+
super(err, {
|
1225
|
+
shortMessage: "User rejected the request."
|
1226
|
+
});
|
1227
|
+
__publicField(this, "name", "UserRejectedRequestError");
|
1228
|
+
__publicField(this, "code", 4001);
|
1229
|
+
}
|
1230
|
+
};
|
1231
|
+
var SwitchChainError = class extends RpcRequestError {
|
1232
|
+
constructor(err) {
|
1233
|
+
super(err, {
|
1234
|
+
shortMessage: "An error occurred when attempting to switch chain."
|
1235
|
+
});
|
1236
|
+
__publicField(this, "name", "SwitchChainError");
|
1237
|
+
__publicField(this, "code", 4902);
|
1238
|
+
}
|
1239
|
+
};
|
1222
1240
|
var UnknownRpcError = class extends RequestError {
|
1223
1241
|
constructor(err) {
|
1224
1242
|
super(err, {
|
@@ -1757,11 +1775,11 @@ function hashFunction(def) {
|
|
1757
1775
|
return hash(`${name}(${params.map(({ type }) => type).join(",")})`);
|
1758
1776
|
}
|
1759
1777
|
|
1760
|
-
// src/utils/hash/
|
1761
|
-
var
|
1778
|
+
// src/utils/hash/getEventSelector.ts
|
1779
|
+
var getEventSelector = (event) => hashFunction(event);
|
1762
1780
|
|
1763
|
-
// src/utils/hash/
|
1764
|
-
var
|
1781
|
+
// src/utils/hash/getFunctionSelector.ts
|
1782
|
+
var getFunctionSelector = (fn) => slice(hashFunction(fn), 0, 4);
|
1765
1783
|
|
1766
1784
|
// src/utils/address/isAddress.ts
|
1767
1785
|
var addressRegex = /^0x[a-fA-F0-9]{40}$/;
|
@@ -2245,7 +2263,7 @@ function decodeErrorResult({
|
|
2245
2263
|
throw new AbiDecodingZeroDataError();
|
2246
2264
|
const abi_ = [...abi || [], solidityError, solidityPanic];
|
2247
2265
|
const abiItem = abi_.find(
|
2248
|
-
(x) => x.type === "error" && signature ===
|
2266
|
+
(x) => x.type === "error" && signature === getFunctionSelector(formatAbiItem(x))
|
2249
2267
|
);
|
2250
2268
|
if (!abiItem)
|
2251
2269
|
throw new AbiErrorSignatureNotFoundError(signature, {
|
@@ -2266,7 +2284,7 @@ function decodeEventLog({
|
|
2266
2284
|
}) {
|
2267
2285
|
const [signature, ...argTopics] = topics;
|
2268
2286
|
const abiItem = abi.find(
|
2269
|
-
(x) => signature ===
|
2287
|
+
(x) => signature === getEventSelector(formatAbiItem(x))
|
2270
2288
|
);
|
2271
2289
|
if (!(abiItem && "name" in abiItem))
|
2272
2290
|
throw new AbiEventSignatureNotFoundError(signature, {
|
@@ -2317,7 +2335,7 @@ function decodeTopic({ param, value }) {
|
|
2317
2335
|
function decodeFunctionData({ abi, data }) {
|
2318
2336
|
const signature = slice(data, 0, 4);
|
2319
2337
|
const description = abi.find(
|
2320
|
-
(x) => signature ===
|
2338
|
+
(x) => signature === getFunctionSelector(formatAbiItem(x))
|
2321
2339
|
);
|
2322
2340
|
if (!description)
|
2323
2341
|
throw new AbiFunctionSignatureNotFoundError(signature, {
|
@@ -2462,7 +2480,7 @@ function encodeErrorResult({ abi, errorName, args }) {
|
|
2462
2480
|
if (!description)
|
2463
2481
|
throw new AbiErrorNotFoundError(errorName, { docsPath: docsPath3 });
|
2464
2482
|
const definition = formatAbiItem(description);
|
2465
|
-
const signature =
|
2483
|
+
const signature = getFunctionSelector(definition);
|
2466
2484
|
let data = "0x";
|
2467
2485
|
if (args && args.length > 0) {
|
2468
2486
|
if (!("inputs" in description && description.inputs))
|
@@ -2480,7 +2498,7 @@ function encodeEventTopics({ abi, eventName, args }) {
|
|
2480
2498
|
docsPath: "/docs/contract/encodeEventTopics"
|
2481
2499
|
});
|
2482
2500
|
const definition = formatAbiItem(abiItem);
|
2483
|
-
const signature =
|
2501
|
+
const signature = getEventSelector(definition);
|
2484
2502
|
let topics = [];
|
2485
2503
|
if (args && "inputs" in abiItem) {
|
2486
2504
|
const args_ = Array.isArray(args) ? args : _nullishCoalesce(_optionalChain([abiItem, 'access', _34 => _34.inputs, 'optionalAccess', _35 => _35.map, 'call', _36 => _36((x) => args[x.name])]), () => ( []));
|
@@ -2515,7 +2533,7 @@ function encodeFunctionData({ abi, args, functionName }) {
|
|
2515
2533
|
docsPath: "/docs/contract/encodeFunctionData"
|
2516
2534
|
});
|
2517
2535
|
const definition = formatAbiItem(description);
|
2518
|
-
const signature =
|
2536
|
+
const signature = getFunctionSelector(definition);
|
2519
2537
|
const data = "inputs" in description && description.inputs ? encodeAbi({
|
2520
2538
|
params: description.inputs,
|
2521
2539
|
values: _nullishCoalesce(args, () => ( []))
|
@@ -2710,6 +2728,10 @@ function buildRequest(request, {
|
|
2710
2728
|
throw new LimitExceededRpcError(err);
|
2711
2729
|
if (err.code === -32006)
|
2712
2730
|
throw new JsonRpcVersionUnsupportedError(err);
|
2731
|
+
if (err.code === 4001)
|
2732
|
+
throw new UserRejectedRequestError(err);
|
2733
|
+
if (err.code === 4902)
|
2734
|
+
throw new SwitchChainError(err);
|
2713
2735
|
if (err_ instanceof BaseError)
|
2714
2736
|
throw err_;
|
2715
2737
|
throw new UnknownRpcError(err);
|
@@ -3022,29 +3044,31 @@ function getTransactionError(err, {
|
|
3022
3044
|
var _isomorphicws = require('isomorphic-ws'); var _isomorphicws2 = _interopRequireDefault(_isomorphicws);
|
3023
3045
|
|
3024
3046
|
// src/utils/stringify.ts
|
3025
|
-
|
3026
|
-
|
3027
|
-
|
3028
|
-
|
3029
|
-
|
3030
|
-
}
|
3047
|
+
var stringify = (value, replacer, space) => JSON.stringify(
|
3048
|
+
value,
|
3049
|
+
(key, value_) => {
|
3050
|
+
const value2 = typeof value_ === "bigint" ? value_.toString() : value_;
|
3051
|
+
return typeof replacer === "function" ? replacer(key, value2) : value2;
|
3052
|
+
},
|
3053
|
+
space
|
3054
|
+
);
|
3031
3055
|
|
3032
3056
|
// src/utils/rpc.ts
|
3033
3057
|
var id = 0;
|
3034
|
-
async function http(url, {
|
3035
|
-
|
3036
|
-
timeout = 1e4
|
3037
|
-
}) {
|
3058
|
+
async function http(url, { body, fetchOptions = {}, timeout = 1e4 }) {
|
3059
|
+
const { headers, method, signal: signal_ } = fetchOptions;
|
3038
3060
|
try {
|
3039
3061
|
const response = await withTimeout(
|
3040
3062
|
async ({ signal }) => {
|
3041
3063
|
const response2 = await fetch(url, {
|
3064
|
+
...fetchOptions,
|
3065
|
+
body: stringify({ jsonrpc: "2.0", id: id++, ...body }),
|
3042
3066
|
headers: {
|
3067
|
+
...headers,
|
3043
3068
|
"Content-Type": "application/json"
|
3044
3069
|
},
|
3045
|
-
method: "POST",
|
3046
|
-
|
3047
|
-
signal: timeout > 0 ? signal : void 0
|
3070
|
+
method: method || "POST",
|
3071
|
+
signal: signal_ || (timeout > 0 ? signal : void 0)
|
3048
3072
|
});
|
3049
3073
|
return response2;
|
3050
3074
|
},
|
@@ -3206,11 +3230,11 @@ function formatUnit(value, decimals) {
|
|
3206
3230
|
const negative = display.startsWith("-");
|
3207
3231
|
if (negative)
|
3208
3232
|
display = display.slice(1);
|
3233
|
+
display = display.padStart(decimals, "0");
|
3209
3234
|
let [integer, fraction] = [
|
3210
3235
|
display.slice(0, display.length - decimals),
|
3211
3236
|
display.slice(display.length - decimals)
|
3212
3237
|
];
|
3213
|
-
fraction = fraction.padStart(decimals, "0");
|
3214
3238
|
fraction = fraction.replace(/(0+)$/, "");
|
3215
3239
|
return `${negative ? "-" : ""}${integer || "0"}${fraction ? `.${fraction}` : ""}`;
|
3216
3240
|
}
|
@@ -3432,5 +3456,7 @@ function parseGwei(ether, unit = "wei") {
|
|
3432
3456
|
|
3433
3457
|
|
3434
3458
|
|
3435
|
-
|
3436
|
-
|
3459
|
+
|
3460
|
+
|
3461
|
+
exports.BaseError = BaseError; exports.AbiConstructorNotFoundError = AbiConstructorNotFoundError; exports.AbiConstructorParamsNotFoundError = AbiConstructorParamsNotFoundError; exports.AbiDecodingDataSizeInvalidError = AbiDecodingDataSizeInvalidError; exports.AbiDecodingZeroDataError = AbiDecodingZeroDataError; exports.AbiEncodingArrayLengthMismatchError = AbiEncodingArrayLengthMismatchError; exports.AbiEncodingLengthMismatchError = AbiEncodingLengthMismatchError; exports.AbiErrorInputsNotFoundError = AbiErrorInputsNotFoundError; exports.AbiErrorNotFoundError = AbiErrorNotFoundError; exports.AbiErrorSignatureNotFoundError = AbiErrorSignatureNotFoundError; exports.AbiEventSignatureNotFoundError = AbiEventSignatureNotFoundError; exports.AbiEventNotFoundError = AbiEventNotFoundError; exports.AbiFunctionNotFoundError = AbiFunctionNotFoundError; exports.AbiFunctionOutputsNotFoundError = AbiFunctionOutputsNotFoundError; exports.AbiFunctionSignatureNotFoundError = AbiFunctionSignatureNotFoundError; exports.InvalidAbiEncodingTypeError = InvalidAbiEncodingTypeError; exports.InvalidAbiDecodingTypeError = InvalidAbiDecodingTypeError; exports.InvalidArrayError = InvalidArrayError; exports.InvalidDefinitionTypeError = InvalidDefinitionTypeError; exports.InvalidAddressError = InvalidAddressError; exports.BlockNotFoundError = BlockNotFoundError; exports.ChainDoesNotSupportContract = ChainDoesNotSupportContract; exports.multicall3Abi = multicall3Abi; exports.panicReasons = panicReasons; exports.TransactionExecutionError = TransactionExecutionError; exports.TransactionNotFoundError = TransactionNotFoundError; exports.TransactionReceiptNotFoundError = TransactionReceiptNotFoundError; exports.WaitForTransactionReceiptTimeoutError = WaitForTransactionReceiptTimeoutError; exports.CallExecutionError = CallExecutionError; exports.ContractFunctionExecutionError = ContractFunctionExecutionError; exports.ContractFunctionRevertedError = ContractFunctionRevertedError; exports.ContractFunctionZeroDataError = ContractFunctionZeroDataError; exports.RawContractError = RawContractError; exports.SizeExceedsPaddingSizeError = SizeExceedsPaddingSizeError; exports.DataLengthTooLongError = DataLengthTooLongError; exports.DataLengthTooShortError = DataLengthTooShortError; exports.InvalidBytesBooleanError = InvalidBytesBooleanError; exports.InvalidHexBooleanError = InvalidHexBooleanError; exports.InvalidHexValueError = InvalidHexValueError; exports.OffsetOutOfBoundsError = OffsetOutOfBoundsError; exports.EstimateGasExecutionError = EstimateGasExecutionError; exports.FilterTypeNotSupportedError = FilterTypeNotSupportedError; exports.ExecutionRevertedError = ExecutionRevertedError; exports.FeeCapTooHighError = FeeCapTooHighError; exports.FeeCapTooLowError = FeeCapTooLowError; exports.NonceTooHighError = NonceTooHighError; exports.NonceTooLowError = NonceTooLowError; exports.NonceMaxValueError = NonceMaxValueError; exports.InsufficientFundsError = InsufficientFundsError; exports.IntrinsicGasTooHighError = IntrinsicGasTooHighError; exports.IntrinsicGasTooLowError = IntrinsicGasTooLowError; exports.TransactionTypeNotSupportedError = TransactionTypeNotSupportedError; exports.TipAboveFeeCapError = TipAboveFeeCapError; exports.UnknownNodeError = UnknownNodeError; exports.RequestError = RequestError; exports.RpcRequestError = RpcRequestError; exports.ParseRpcError = ParseRpcError; exports.InvalidRequestRpcError = InvalidRequestRpcError; exports.MethodNotFoundRpcError = MethodNotFoundRpcError; exports.InvalidParamsRpcError = InvalidParamsRpcError; exports.InternalRpcError = InternalRpcError; exports.InvalidInputRpcError = InvalidInputRpcError; exports.ResourceNotFoundRpcError = ResourceNotFoundRpcError; exports.ResourceUnavailableRpcError = ResourceUnavailableRpcError; exports.TransactionRejectedRpcError = TransactionRejectedRpcError; exports.MethodNotSupportedRpcError = MethodNotSupportedRpcError; exports.LimitExceededRpcError = LimitExceededRpcError; exports.JsonRpcVersionUnsupportedError = JsonRpcVersionUnsupportedError; exports.UserRejectedRequestError = UserRejectedRequestError; exports.SwitchChainError = SwitchChainError; exports.UnknownRpcError = UnknownRpcError; exports.HttpRequestError = HttpRequestError; exports.WebSocketRequestError = WebSocketRequestError; exports.RpcError = RpcError; exports.TimeoutError = TimeoutError; exports.UrlRequiredError = UrlRequiredError; exports.concat = concat; exports.isBytes = isBytes; exports.isHex = isHex; exports.pad = pad; exports.padHex = padHex; exports.padBytes = padBytes; exports.trim = trim; exports.size = size; exports.slice = slice; exports.sliceBytes = sliceBytes; exports.sliceHex = sliceHex; exports.boolToHex = boolToHex; exports.bytesToHex = bytesToHex; exports.toHex = toHex; exports.numberToHex = numberToHex; exports.stringToHex = stringToHex; exports.boolToBytes = boolToBytes; exports.toBytes = toBytes; exports.hexToBytes = hexToBytes; exports.numberToBytes = numberToBytes; exports.stringToBytes = stringToBytes; exports.toRlp = toRlp; exports.fromHex = fromHex; exports.hexToBigInt = hexToBigInt; exports.hexToBool = hexToBool; exports.hexToNumber = hexToNumber; exports.hexToString = hexToString; exports.fromBytes = fromBytes; exports.bytesToBigint = bytesToBigint; exports.bytesToBool = bytesToBool; exports.bytesToNumber = bytesToNumber; exports.bytesToString = bytesToString; exports.fromRlp = fromRlp; exports.extractFunctionParts = extractFunctionParts; exports.extractFunctionName = extractFunctionName; exports.extractFunctionParams = extractFunctionParams; exports.extractFunctionType = extractFunctionType; exports.keccak256 = keccak256; exports.getEventSelector = getEventSelector; exports.getFunctionSelector = getFunctionSelector; exports.isAddress = isAddress; exports.checksumAddress = checksumAddress; exports.getAddress = getAddress; exports.getContractAddress = getContractAddress2; exports.getCreateAddress = getCreateAddress; exports.getCreate2Address = getCreate2Address; exports.isAddressEqual = isAddressEqual; exports.encodeAbi = encodeAbi; exports.decodeAbi = decodeAbi; exports.formatAbiItem = formatAbiItem; exports.decodeErrorResult = decodeErrorResult; exports.decodeEventLog = decodeEventLog; exports.decodeFunctionData = decodeFunctionData; exports.getAbiItem = getAbiItem; exports.decodeFunctionResult = decodeFunctionResult; exports.encodeDeployData = encodeDeployData; exports.encodeErrorResult = encodeErrorResult; exports.encodeEventTopics = encodeEventTopics; exports.encodeFunctionData = encodeFunctionData; exports.encodeFunctionResult = encodeFunctionResult; exports.formatAbiItemWithArgs = formatAbiItemWithArgs; exports.getCache = getCache; exports.withCache = withCache; exports.wait = wait; exports.isDeterministicError = isDeterministicError; exports.buildRequest = buildRequest; exports.defineChain = defineChain; exports.format = format3; exports.defineFormatter = defineFormatter; exports.transactionType = transactionType; exports.formatTransaction = formatTransaction; exports.defineTransaction = defineTransaction; exports.formatBlock = formatBlock; exports.defineBlock = defineBlock; exports.extract = extract; exports.formatFeeHistory = formatFeeHistory; exports.formatLog = formatLog; exports.formatTransactionReceipt = formatTransactionReceipt; exports.defineTransactionReceipt = defineTransactionReceipt; exports.formatTransactionRequest = formatTransactionRequest; exports.defineTransactionRequest = defineTransactionRequest; exports.assertRequest = assertRequest; exports.containsNodeError = containsNodeError; exports.getNodeError = getNodeError; exports.getCallError = getCallError; exports.getContractError = getContractError; exports.getEstimateGasError = getEstimateGasError; exports.getTransactionError = getTransactionError; exports.stringify = stringify; exports.getSocket = getSocket; exports.rpc = rpc; exports.etherUnits = etherUnits; exports.gweiUnits = gweiUnits; exports.weiUnits = weiUnits; exports.formatUnit = formatUnit; exports.formatEther = formatEther; exports.formatGwei = formatGwei; exports.parseUnit = parseUnit; exports.parseEther = parseEther; exports.parseGwei = parseGwei;
|
3462
|
+
//# sourceMappingURL=chunk-DEF2SWG2.js.map
|