viem 0.4.0-main.20230429T085835 → 0.4.0-main.20230430T000813
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/cjs/actions/public/call.js +12 -1
- package/dist/cjs/actions/public/call.js.map +1 -1
- package/dist/cjs/constants/address.js +5 -0
- package/dist/cjs/constants/address.js.map +1 -0
- package/dist/cjs/constants/index.js +3 -1
- package/dist/cjs/constants/index.js.map +1 -1
- package/dist/cjs/errors/base.js +17 -0
- package/dist/cjs/errors/base.js.map +1 -1
- package/dist/cjs/errors/ccip.js +68 -0
- package/dist/cjs/errors/ccip.js.map +1 -0
- package/dist/cjs/errors/index.js +7 -3
- package/dist/cjs/errors/index.js.map +1 -1
- package/dist/cjs/errors/request.js +1 -1
- package/dist/cjs/errors/request.js.map +1 -1
- package/dist/cjs/errors/version.js +1 -1
- package/dist/cjs/index.js +10 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/ccip.js +97 -0
- package/dist/cjs/utils/ccip.js.map +1 -0
- package/dist/cjs/utils/errors/getContractError.js +1 -5
- package/dist/cjs/utils/errors/getContractError.js.map +1 -1
- package/dist/cjs/utils/errors/getNodeError.js +1 -1
- package/dist/cjs/utils/errors/getNodeError.js.map +1 -1
- package/dist/cjs/utils/index.js +8 -3
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/esm/actions/public/call.js +12 -2
- package/dist/esm/actions/public/call.js.map +1 -1
- package/dist/esm/constants/address.js +2 -0
- package/dist/esm/constants/address.js.map +1 -0
- package/dist/esm/constants/index.js +1 -0
- package/dist/esm/constants/index.js.map +1 -1
- package/dist/esm/errors/base.js +17 -0
- package/dist/esm/errors/base.js.map +1 -1
- package/dist/esm/errors/ccip.js +62 -0
- package/dist/esm/errors/ccip.js.map +1 -0
- package/dist/esm/errors/index.js +1 -0
- package/dist/esm/errors/index.js.map +1 -1
- package/dist/esm/errors/request.js +1 -1
- package/dist/esm/errors/request.js.map +1 -1
- package/dist/esm/errors/version.js +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/ccip.js +92 -0
- package/dist/esm/utils/ccip.js.map +1 -0
- package/dist/esm/utils/errors/getContractError.js +3 -7
- package/dist/esm/utils/errors/getContractError.js.map +1 -1
- package/dist/esm/utils/errors/getNodeError.js +1 -1
- package/dist/esm/utils/errors/getNodeError.js.map +1 -1
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/types/actions/public/call.d.ts +1 -0
- package/dist/types/actions/public/call.d.ts.map +1 -1
- package/dist/types/constants/address.d.ts +2 -0
- package/dist/types/constants/address.d.ts.map +1 -0
- package/dist/types/constants/index.d.ts +1 -0
- package/dist/types/constants/index.d.ts.map +1 -1
- package/dist/types/errors/base.d.ts +2 -0
- package/dist/types/errors/base.d.ts.map +1 -1
- package/dist/types/errors/ccip.d.ts +29 -0
- package/dist/types/errors/ccip.d.ts.map +1 -0
- package/dist/types/errors/index.d.ts +1 -0
- package/dist/types/errors/index.d.ts.map +1 -1
- package/dist/types/errors/request.d.ts +2 -2
- package/dist/types/errors/request.d.ts.map +1 -1
- package/dist/types/errors/version.d.ts +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/utils/ccip.d.ts +35 -0
- package/dist/types/utils/ccip.d.ts.map +1 -0
- package/dist/types/utils/errors/getContractError.d.ts.map +1 -1
- package/dist/types/utils/formatters/transaction.d.ts +1 -1
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types/utils/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/actions/public/call.ts +12 -1
- package/src/constants/address.ts +1 -0
- package/src/constants/index.ts +2 -0
- package/src/errors/base.ts +10 -0
- package/src/errors/ccip.ts +74 -0
- package/src/errors/index.ts +6 -0
- package/src/errors/request.ts +3 -3
- package/src/errors/version.ts +1 -1
- package/src/index.ts +5 -0
- package/src/utils/ccip.ts +136 -0
- package/src/utils/errors/getContractError.ts +1 -7
- package/src/utils/errors/getNodeError.ts +1 -1
- package/src/utils/index.ts +7 -0
package/dist/types/index.d.ts
CHANGED
@@ -3,10 +3,10 @@ export type { GetContractParameters, GetContractReturnType, } from './actions/in
|
|
3
3
|
export type { AddChainParameters, CallParameters, CallReturnType, CreateBlockFilterReturnType, CreateContractEventFilterParameters, CreateContractEventFilterReturnType, CreateEventFilterParameters, CreateEventFilterReturnType, CreatePendingTransactionFilterReturnType, DeployContractParameters, DeployContractReturnType, DropTransactionParameters, EstimateGasParameters, EstimateGasReturnType, GetAddressesReturnType, GetBalanceParameters, GetBalanceReturnType, GetBlockNumberParameters, GetBlockNumberReturnType, GetBlockParameters, GetBlockReturnType, GetBlockTransactionCountParameters, GetBlockTransactionCountReturnType, GetBytecodeParameters, GetBytecodeReturnType, GetChainIdReturnType, GetEnsAddressParameters, GetEnsAddressReturnType, GetEnsNameParameters, GetEnsNameReturnType, GetEnsResolverParameters, GetEnsResolverReturnType, GetFeeHistoryParameters, GetFeeHistoryReturnType, GetFilterChangesParameters, GetFilterChangesReturnType, GetFilterLogsParameters, GetFilterLogsReturnType, GetGasPriceReturnType, GetLogsParameters, GetLogsReturnType, GetPermissionsReturnType, GetStorageAtParameters, GetStorageAtReturnType, GetTransactionConfirmationsParameters, GetTransactionCountParameters, GetTransactionConfirmationsReturnType, GetTransactionCountReturnType, GetTransactionParameters, GetTransactionReceiptParameters, GetTransactionReceiptReturnType, GetTransactionReturnType, ImpersonateAccountParameters, IncreaseTimeParameters, MineParameters, MulticallParameters, MulticallReturnType, OnBlock, OnBlockNumberFn, OnBlockNumberParameter, OnBlockParameter, OnLogsFn, OnLogsParameter, OnTransactionsFn, OnTransactionsParameter, ReadContractParameters, ReadContractReturnType, ReplacementReason, ReplacementReturnType, RequestAddressesReturnType, RequestPermissionsReturnType, RequestPermissionsParameters, ResetParameters, RevertParameters, SendTransactionParameters, SendTransactionReturnType, SendUnsignedTransactionParameters, SendUnsignedTransactionReturnType, SetBalanceParameters, SetBlockGasLimitParameters, SetBlockTimestampIntervalParameters, SetCodeParameters, SetCoinbaseParameters, SetIntervalMiningParameters, SetMinGasPriceParameters, SetNextBlockBaseFeePerGasParameters, SetNextBlockTimestampParameters, SetNonceParameters, SetStorageAtParameters, SignMessageParameters, SignMessageReturnType, SignTypedDataParameters, SignTypedDataReturnType, SimulateContractParameters, SimulateContractReturnType, StopImpersonatingAccountParameters, SwitchChainParameters, UninstallFilterParameters, UninstallFilterReturnType, WaitForTransactionReceiptParameters, WaitForTransactionReceiptReturnType, WatchAssetParameters, WatchAssetReturnType, WatchBlockNumberParameters, WatchBlockNumberReturnType, WatchBlocksParameters, WatchBlocksReturnType, WatchContractEventParameters, WatchContractEventReturnType, WatchEventParameters, WatchEventReturnType, WatchPendingTransactionsParameters, WatchPendingTransactionsReturnType, WriteContractParameters, WriteContractReturnType, } from './actions/index.js';
|
4
4
|
export type { Client, ClientConfig, CustomTransport, CustomTransportConfig, FallbackTransport, FallbackTransportConfig, HttpTransport, HttpTransportConfig, PublicClient, PublicClientConfig, TestClient, TestClientConfig, Transport, TransportConfig, WalletClient, WalletClientConfig, WebSocketTransport, WebSocketTransportConfig, } from './clients/index.js';
|
5
5
|
export { createClient, createPublicClient, createTestClient, createTransport, createWalletClient, custom, fallback, http, webSocket, } from './clients/index.js';
|
6
|
-
export { multicall3Abi, etherUnits, gweiUnits, weiUnits, } from './constants/index.js';
|
6
|
+
export { multicall3Abi, etherUnits, gweiUnits, weiUnits, zeroAddress, } from './constants/index.js';
|
7
7
|
export { AbiConstructorNotFoundError, AbiConstructorParamsNotFoundError, AbiDecodingDataSizeInvalidError, AbiDecodingZeroDataError, AbiEncodingArrayLengthMismatchError, AbiEncodingLengthMismatchError, AbiErrorInputsNotFoundError, AbiErrorNotFoundError, AbiErrorSignatureNotFoundError, AbiEventNotFoundError, AbiEventSignatureEmptyTopicsError, AbiEventSignatureNotFoundError, AbiFunctionNotFoundError, AbiFunctionOutputsNotFoundError, AbiFunctionSignatureNotFoundError, BaseError, BlockNotFoundError, CallExecutionError, ChainDisconnectedError, ChainDoesNotSupportContract, ClientChainNotConfiguredError, ContractFunctionExecutionError, ContractFunctionRevertedError, ContractFunctionZeroDataError, DataLengthTooLongError, DataLengthTooShortError, DecodeLogTopicsMismatch, EnsAvatarUriResolutionError, EstimateGasExecutionError, ExecutionRevertedError, FeeCapTooHighError, FeeCapTooLowError, FilterTypeNotSupportedError, HttpRequestError, InsufficientFundsError, InternalRpcError, IntrinsicGasTooHighError, IntrinsicGasTooLowError, InvalidAbiDecodingTypeError, InvalidAbiEncodingTypeError, InvalidAddressError, InvalidArrayError, InvalidBytesBooleanError, InvalidChainIdError, InvalidDefinitionTypeError, InvalidHexBooleanError, InvalidHexValueError, InvalidInputRpcError, InvalidLegacyVError, InvalidParamsRpcError, InvalidRequestRpcError, JsonRpcVersionUnsupportedError, LimitExceededRpcError, MethodNotFoundRpcError, MethodNotSupportedRpcError, NonceMaxValueError, NonceTooHighError, NonceTooLowError, OffsetOutOfBoundsError, ParseRpcError, ProviderDisconnectedError, ProviderRpcError, RawContractError, ResourceNotFoundRpcError, ResourceUnavailableRpcError, RpcError, RpcRequestError, SizeExceedsPaddingSizeError, TimeoutError, TipAboveFeeCapError, TransactionExecutionError, TransactionTypeNotSupportedError, TransactionNotFoundError, TransactionReceiptNotFoundError, TransactionRejectedRpcError, SwitchChainError, UnauthorizedProviderError, UnknownRpcError, UnsupportedProviderMethodError, UrlRequiredError, UserRejectedRequestError, WaitForTransactionReceiptTimeoutError, WebSocketRequestError, UnknownNodeError, } from './errors/index.js';
|
8
8
|
export type { AbiItem, AccessList, Account, AccountSource, Address, AssetGateway, AssetGatewayUrls, Block, BlockIdentifier, BlockNumber, BlockTag, ByteArray, Chain, ContractFunctionConfig, ContractFunctionResult, CustomSource, EIP1193Provider, FeeHistory, FeeValues, FeeValuesEIP1559, FeeValuesLegacy, GetTypedDataDomain, GetTypedDataMessage, GetTypedDataPrimaryType, GetTypedDataTypes, GetConstructorArgs, GetErrorArgs, GetEventArgs, GetEventArgsFromTopics, GetFunctionArgs, GetTransportConfig, GetValue, HDAccount, HDKey, HDOptions, Hash, Hex, InferErrorName, InferEventName, InferFunctionName, InferItemName, JsonRpcAccount, LocalAccount, Log, MulticallContracts, MulticallResult, MulticallResults, ParseAccount, PrivateKeyAccount, RpcBlock, RpcBlockIdentifier, RpcBlockNumber, RpcFeeHistory, RpcFeeValues, RpcLog, RpcTransaction, RpcTransactionReceipt, RpcTransactionRequest, RpcUncle, Transaction, TransactionBase, TransactionEIP1559, TransactionEIP2930, TransactionLegacy, TransactionReceipt, TransactionRequest, TransactionRequestBase, TransactionRequestEIP1559, TransactionRequestEIP2930, TransactionRequestLegacy, TransactionSerializable, TransactionSerializableBase, TransactionSerializableEIP1559, TransactionSerializableEIP2930, TransactionSerializableLegacy, TransactionSerialized, TransactionSerializedEIP1559, TransactionSerializedEIP2930, TransactionSerializedLegacy, TransactionType, TypedDataDefinition, Uncle, } from './types/index.js';
|
9
9
|
export { labelhash, namehash } from './utils/ens/index.js';
|
10
10
|
export type { BlockFormatter, DecodeAbiParametersReturnType, DecodeErrorResultParameters, DecodeErrorResultReturnType, DecodeEventLogParameters, DecodeEventLogReturnType, DecodeFunctionDataParameters, DecodeFunctionResultParameters, DecodeFunctionResultReturnType, EncodeAbiParametersReturnType, EncodeDeployDataParameters, EncodeErrorResultParameters, EncodeEventTopicsParameters, EncodeFunctionDataParameters, EncodeFunctionResultParameters, ExtractFormatter, Formatted, FormattedBlock, FormattedTransaction, FormattedTransactionReceipt, FormattedTransactionRequest, GetAbiItemParameters, GetContractAddressOptions, GetCreate2AddressOptions, GetCreateAddressOptions, GetSerializedTransactionType, GetTransactionType, HashTypedDataParameters, HashTypedDataReturnType, ParseAbi, ParseAbiItem, ParseAbiParameter, ParseAbiParameters, RecoverAddressParameters, RecoverAddressReturnType, RecoverMessageAddressParameters, RecoverMessageAddressReturnType, RecoverPublicKeyParameters, RecoverPublicKeyReturnType, RecoverTypedDataAddressParameters, RecoverTypedDataAddressReturnType, ToRlpReturnType, TransactionFormatter, TransactionReceiptFormatter, TransactionRequestFormatter, VerifyMessageParameters, VerifyMessageReturnType, VerifyTypedDataParameters, VerifyTypedDataReturnType, } from './utils/index.js';
|
11
|
-
export { assertRequest, assertTransactionEIP1559, assertTransactionEIP2930, assertTransactionLegacy, boolToBytes, boolToHex, bytesToBigint, bytesToBool, bytesToHex, bytesToNumber, bytesToString, concat, concatBytes, concatHex, decodeAbiParameters, decodeErrorResult, decodeEventLog, decodeFunctionData, decodeFunctionResult, defineBlock, defineChain, defineTransaction, defineTransactionReceipt, defineTransactionRequest, encodeAbiParameters, encodeDeployData, encodeErrorResult, encodeEventTopics, encodeFunctionData, encodeFunctionResult, encodePacked, formatBlock, formatEther, formatGwei, formatTransaction, formatTransactionRequest, formatUnits, fromBytes, fromHex, fromRlp, getAbiItem, getAddress, getContractAddress, getContractError, getCreate2Address, getCreateAddress, getEventSelector, getFunctionSelector, getSerializedTransactionType, getTransactionType, hashMessage, hashTypedData, hexToBigInt, hexToBool, hexToBytes, hexToNumber, hexToString, isAddress, isAddressEqual, isBytes, isHash, isHex, keccak256, numberToBytes, numberToHex, pad, padBytes, padHex, parseAbi, parseAbiItem, parseAbiParameter, parseAbiParameters, parseEther, parseGwei, parseTransaction, parseUnits, prepareRequest, recoverAddress, recoverMessageAddress, recoverPublicKey, recoverTypedDataAddress, serializeTransaction, size, slice, sliceBytes, sliceHex, stringToBytes, stringToHex, stringify, toBytes, toHex, toRlp, transactionType, trim, validateTypedData, verifyMessage, verifyTypedData, } from './utils/index.js';
|
11
|
+
export { assertRequest, assertTransactionEIP1559, assertTransactionEIP2930, assertTransactionLegacy, boolToBytes, boolToHex, bytesToBigint, bytesToBool, bytesToHex, bytesToNumber, bytesToString, ccipFetch, concat, concatBytes, concatHex, decodeAbiParameters, decodeErrorResult, decodeEventLog, decodeFunctionData, decodeFunctionResult, defineBlock, defineChain, defineTransaction, defineTransactionReceipt, defineTransactionRequest, encodeAbiParameters, encodeDeployData, encodeErrorResult, encodeEventTopics, encodeFunctionData, encodeFunctionResult, encodePacked, formatBlock, formatEther, formatGwei, formatTransaction, formatTransactionRequest, formatUnits, fromBytes, fromHex, fromRlp, getAbiItem, getAddress, getContractAddress, getContractError, getCreate2Address, getCreateAddress, getEventSelector, getFunctionSelector, getSerializedTransactionType, getTransactionType, hashMessage, hashTypedData, hexToBigInt, hexToBool, hexToBytes, hexToNumber, hexToString, isAddress, isAddressEqual, isBytes, isHash, isHex, keccak256, numberToBytes, numberToHex, offchainLookup, offchainLookupAbiItem, offchainLookupSignature, pad, padBytes, padHex, parseAbi, parseAbiItem, parseAbiParameter, parseAbiParameters, parseEther, parseGwei, parseTransaction, parseUnits, prepareRequest, recoverAddress, recoverMessageAddress, recoverPublicKey, recoverTypedDataAddress, serializeTransaction, size, slice, sliceBytes, sliceHex, stringToBytes, stringToHex, stringify, toBytes, toHex, toRlp, transactionType, trim, validateTypedData, verifyMessage, verifyTypedData, } from './utils/index.js';
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import { type Address } from 'abitype';
|
2
|
+
import type { PublicClient, Transport } from '../clients/index.js';
|
3
|
+
import { type CallParameters } from '../public.js';
|
4
|
+
import type { Chain, Hex } from '../types/index.js';
|
5
|
+
export declare const offchainLookupSignature = "0x556f1830";
|
6
|
+
export declare const offchainLookupAbiItem: {
|
7
|
+
readonly name: "OffchainLookup";
|
8
|
+
readonly type: "error";
|
9
|
+
readonly inputs: readonly [{
|
10
|
+
readonly type: "address";
|
11
|
+
readonly name: "sender";
|
12
|
+
}, {
|
13
|
+
readonly type: "string[]";
|
14
|
+
readonly name: "urls";
|
15
|
+
}, {
|
16
|
+
readonly type: "bytes";
|
17
|
+
readonly name: "callData";
|
18
|
+
}, {
|
19
|
+
readonly type: "bytes4";
|
20
|
+
readonly name: "callbackFunction";
|
21
|
+
}, {
|
22
|
+
readonly type: "bytes";
|
23
|
+
readonly name: "extraData";
|
24
|
+
}];
|
25
|
+
};
|
26
|
+
export declare function offchainLookup<TChain extends Chain | undefined>(client: PublicClient<Transport, TChain>, { blockNumber, blockTag, data, to, }: Pick<CallParameters, 'blockNumber' | 'blockTag'> & {
|
27
|
+
data: Hex;
|
28
|
+
to: Address;
|
29
|
+
}): Promise<Hex>;
|
30
|
+
export declare function ccipFetch({ data, sender, urls, }: {
|
31
|
+
data: Hex;
|
32
|
+
sender: Address;
|
33
|
+
urls: readonly string[];
|
34
|
+
}): Promise<`0x${string}`>;
|
35
|
+
//# sourceMappingURL=ccip.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ccip.d.ts","sourceRoot":"","sources":["../../../src/utils/ccip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,OAAO,EAAE,MAAM,SAAS,CAAA;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAQlE,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,KAAK,EAAE,KAAK,EAAgB,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAMjE,eAAO,MAAM,uBAAuB,eAAe,CAAA;AACnD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;CAEjC,CAAA;AAED,wBAAsB,cAAc,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EACnE,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,EACvC,EACE,WAAW,EACX,QAAQ,EACR,IAAI,EACJ,EAAE,GACH,EAAE,IAAI,CAAC,cAAc,EAAE,aAAa,GAAG,UAAU,CAAC,GAAG;IACpD,IAAI,EAAE,GAAG,CAAA;IACT,EAAE,EAAE,OAAO,CAAA;CACZ,GACA,OAAO,CAAC,GAAG,CAAC,CAwCd;AAED,wBAAsB,SAAS,CAAC,EAC9B,IAAI,EACJ,MAAM,EACN,IAAI,GACL,EAAE;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,0BAyDzD"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getContractError.d.ts","sourceRoot":"","sources":["../../../../src/utils/errors/getContractError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAEL,8BAA8B,
|
1
|
+
{"version":3,"file":"getContractError.d.ts","sourceRoot":"","sources":["../../../../src/utils/errors/getContractError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAEL,8BAA8B,EAE/B,MAAM,uBAAuB,CAAA;AAK9B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAInD,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,SAAS,EACd,EACE,GAAG,EACH,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,MAAM,GACP,EAAE;IACD,GAAG,EAAE,GAAG,CAAA;IACR,IAAI,EAAE,GAAG,CAAA;IACT,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,kCA+BF"}
|
@@ -10,7 +10,7 @@ export declare const transactionType: {
|
|
10
10
|
export declare function formatTransaction(transaction: Partial<RpcTransaction>): Transaction;
|
11
11
|
export declare const defineTransaction: <TFormat extends Formatter<Partial<RpcTransaction>, Partial<Transaction> & {
|
12
12
|
[key: string]: unknown;
|
13
|
-
}>, TExclude extends ("from" | "gas" | "nonce" | "to" | "value" | "type" | "
|
13
|
+
}>, TExclude extends ("from" | "gas" | "nonce" | "to" | "value" | "type" | "gasPrice" | "maxFeePerGas" | "maxPriorityFeePerGas" | "accessList" | "blockNumber" | "blockHash" | "transactionIndex" | "chainId" | "r" | "s" | "v" | "hash" | "input")[] = []>({ exclude, format: formatOverride, }: {
|
14
14
|
exclude?: TExclude | undefined;
|
15
15
|
format?: TFormat | undefined;
|
16
16
|
}) => (data: Partial<RpcTransaction> & {
|
@@ -4,6 +4,7 @@ export { parseAccount, publicKeyToAddress } from './accounts.js';
|
|
4
4
|
export type { GetContractAddressOptions, GetCreate2AddressOptions, GetCreateAddressOptions, } from './address/index.js';
|
5
5
|
export { getAddress, getContractAddress, getCreateAddress, getCreate2Address, isAddress, isAddressEqual, } from './address/index.js';
|
6
6
|
export { buildRequest } from './buildRequest.js';
|
7
|
+
export { ccipFetch, offchainLookup, offchainLookupAbiItem, offchainLookupSignature, } from './ccip.js';
|
7
8
|
export { defineChain, getChainContractAddress } from './chain.js';
|
8
9
|
export { extractFunctionName, extractFunctionParams, extractFunctionType, extractFunctionParts, } from './contract/index.js';
|
9
10
|
export { concat, concatBytes, concatHex, isBytes, isHex, pad, padBytes, padHex, size, slice, sliceBytes, sliceHex, trim, } from './data/index.js';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import type { PublicClient, Transport } from '../../clients/index.js'
|
2
2
|
import { aggregate3Signature, multicall3Abi } from '../../constants/index.js'
|
3
|
-
import type { BaseError } from '../../errors/index.js'
|
4
3
|
import {
|
4
|
+
BaseError,
|
5
5
|
ChainDoesNotSupportContract,
|
6
6
|
ClientChainNotConfiguredError,
|
7
7
|
RawContractError,
|
@@ -30,6 +30,7 @@ import {
|
|
30
30
|
getCallError,
|
31
31
|
getChainContractAddress,
|
32
32
|
numberToHex,
|
33
|
+
offchainLookupSignature,
|
33
34
|
parseAccount,
|
34
35
|
} from '../../utils/index.js'
|
35
36
|
import { createBatchScheduler } from '../../utils/promise/createBatchScheduler.js'
|
@@ -159,6 +160,11 @@ export async function call<TChain extends Chain | undefined>(
|
|
159
160
|
if (response === '0x') return { data: undefined }
|
160
161
|
return { data: response }
|
161
162
|
} catch (err) {
|
163
|
+
const data = getRevertErrorData(err)
|
164
|
+
if (data?.slice(0, 10) === offchainLookupSignature && to) {
|
165
|
+
const { offchainLookup } = await import('../../utils/ccip.js')
|
166
|
+
return { data: await offchainLookup(client, { data, to }) }
|
167
|
+
}
|
162
168
|
throw getCallError(err as BaseError, {
|
163
169
|
...args,
|
164
170
|
account,
|
@@ -272,3 +278,8 @@ async function scheduleMulticall<TChain extends Chain | undefined>(
|
|
272
278
|
if (returnData === '0x') return { data: undefined }
|
273
279
|
return { data: returnData }
|
274
280
|
}
|
281
|
+
|
282
|
+
export function getRevertErrorData(err: unknown) {
|
283
|
+
if (!(err instanceof BaseError)) return undefined
|
284
|
+
return (err.walk() as { data?: Hex })?.data
|
285
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export const zeroAddress = '0x0000000000000000000000000000000000000000' as const
|
package/src/constants/index.ts
CHANGED
package/src/errors/base.ts
CHANGED
@@ -59,4 +59,14 @@ export class BaseError extends Error {
|
|
59
59
|
this.metaMessages = args.metaMessages
|
60
60
|
this.shortMessage = shortMessage
|
61
61
|
}
|
62
|
+
|
63
|
+
walk(fn?: (err: unknown) => boolean) {
|
64
|
+
return this.#walk(this, fn)
|
65
|
+
}
|
66
|
+
|
67
|
+
#walk(err: unknown, fn?: (err: unknown) => boolean): unknown {
|
68
|
+
if (fn?.(err)) return err
|
69
|
+
if ((err as Error).cause) return this.#walk((err as Error).cause, fn)
|
70
|
+
return err
|
71
|
+
}
|
62
72
|
}
|
@@ -0,0 +1,74 @@
|
|
1
|
+
import type { Address } from 'abitype'
|
2
|
+
import { BaseError } from './base.js'
|
3
|
+
import type { Hex } from '../types/index.js'
|
4
|
+
import { getUrl } from './utils.js'
|
5
|
+
|
6
|
+
export class OffchainLookupError extends BaseError {
|
7
|
+
override name = 'OffchainLookupError'
|
8
|
+
constructor({
|
9
|
+
callbackSelector,
|
10
|
+
cause,
|
11
|
+
data,
|
12
|
+
extraData,
|
13
|
+
sender,
|
14
|
+
urls,
|
15
|
+
}: {
|
16
|
+
callbackSelector: Hex
|
17
|
+
cause: BaseError
|
18
|
+
data: Hex
|
19
|
+
extraData: Hex
|
20
|
+
sender: Address
|
21
|
+
urls: readonly string[]
|
22
|
+
}) {
|
23
|
+
super(
|
24
|
+
cause.shortMessage ||
|
25
|
+
'An error occurred while fetching for an offchain result.',
|
26
|
+
{
|
27
|
+
cause,
|
28
|
+
metaMessages: [
|
29
|
+
...(cause.metaMessages || []),
|
30
|
+
cause.metaMessages?.length ? '' : [],
|
31
|
+
'Offchain Gateway Call:',
|
32
|
+
urls && [
|
33
|
+
' Gateway URL(s):',
|
34
|
+
...urls.map((url) => ` ${getUrl(url)}`),
|
35
|
+
],
|
36
|
+
` Sender: ${sender}`,
|
37
|
+
` Data: ${data}`,
|
38
|
+
` Callback selector: ${callbackSelector}`,
|
39
|
+
` Extra data: ${extraData}`,
|
40
|
+
].flat(),
|
41
|
+
},
|
42
|
+
)
|
43
|
+
}
|
44
|
+
}
|
45
|
+
|
46
|
+
export class OffchainLookupResponseMalformedError extends BaseError {
|
47
|
+
override name = 'OffchainLookupResponseMalformedError'
|
48
|
+
constructor({ result, url }: { result: any; url: string }) {
|
49
|
+
super(
|
50
|
+
'Offchain gateway response is malformed. Response data must be a hex value.',
|
51
|
+
{
|
52
|
+
metaMessages: [
|
53
|
+
`Gateway URL: ${getUrl(url)}`,
|
54
|
+
`Response: ${JSON.stringify(result)}`,
|
55
|
+
],
|
56
|
+
},
|
57
|
+
)
|
58
|
+
}
|
59
|
+
}
|
60
|
+
|
61
|
+
export class OffchainLookupSenderMismatchError extends BaseError {
|
62
|
+
override name = 'OffchainLookupSenderMismatchError'
|
63
|
+
constructor({ sender, to }: { sender: Address; to: Address }) {
|
64
|
+
super(
|
65
|
+
'Reverted sender address does not match target contract address (`to`).',
|
66
|
+
{
|
67
|
+
metaMessages: [
|
68
|
+
`Contract address: ${to}`,
|
69
|
+
`OffchainLookup sender address: ${sender}`,
|
70
|
+
],
|
71
|
+
},
|
72
|
+
)
|
73
|
+
}
|
74
|
+
}
|
package/src/errors/index.ts
CHANGED
@@ -41,6 +41,12 @@ export {
|
|
41
41
|
InvalidChainIdError,
|
42
42
|
} from './chain.js'
|
43
43
|
|
44
|
+
export {
|
45
|
+
OffchainLookupError,
|
46
|
+
OffchainLookupResponseMalformedError,
|
47
|
+
OffchainLookupSenderMismatchError,
|
48
|
+
} from './ccip.js'
|
49
|
+
|
44
50
|
export {
|
45
51
|
CallExecutionError,
|
46
52
|
ContractFunctionExecutionError,
|
package/src/errors/request.ts
CHANGED
@@ -5,7 +5,7 @@ import { getUrl } from './utils.js'
|
|
5
5
|
export class HttpRequestError extends BaseError {
|
6
6
|
override name = 'HttpRequestError'
|
7
7
|
|
8
|
-
body
|
8
|
+
body?: { [key: string]: unknown }
|
9
9
|
headers?: Headers
|
10
10
|
status?: number
|
11
11
|
url: string
|
@@ -17,7 +17,7 @@ export class HttpRequestError extends BaseError {
|
|
17
17
|
status,
|
18
18
|
url,
|
19
19
|
}: {
|
20
|
-
body
|
20
|
+
body?: { [key: string]: unknown }
|
21
21
|
details?: string
|
22
22
|
headers?: Headers
|
23
23
|
status?: number
|
@@ -28,7 +28,7 @@ export class HttpRequestError extends BaseError {
|
|
28
28
|
metaMessages: [
|
29
29
|
status && `Status: ${status}`,
|
30
30
|
`URL: ${getUrl(url)}`,
|
31
|
-
`Request body: ${stringify(body)}`,
|
31
|
+
body && `Request body: ${stringify(body)}`,
|
32
32
|
].filter(Boolean) as string[],
|
33
33
|
})
|
34
34
|
this.body = body
|
package/src/errors/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = '0.4.0-main.
|
1
|
+
export const version = '0.4.0-main.20230430T000813'
|
package/src/index.ts
CHANGED
@@ -159,6 +159,7 @@ export {
|
|
159
159
|
etherUnits,
|
160
160
|
gweiUnits,
|
161
161
|
weiUnits,
|
162
|
+
zeroAddress,
|
162
163
|
} from './constants/index.js'
|
163
164
|
|
164
165
|
export {
|
@@ -398,6 +399,7 @@ export {
|
|
398
399
|
bytesToHex,
|
399
400
|
bytesToNumber,
|
400
401
|
bytesToString,
|
402
|
+
ccipFetch,
|
401
403
|
concat,
|
402
404
|
concatBytes,
|
403
405
|
concatHex,
|
@@ -452,6 +454,9 @@ export {
|
|
452
454
|
keccak256,
|
453
455
|
numberToBytes,
|
454
456
|
numberToHex,
|
457
|
+
offchainLookup,
|
458
|
+
offchainLookupAbiItem,
|
459
|
+
offchainLookupSignature,
|
455
460
|
pad,
|
456
461
|
padBytes,
|
457
462
|
padHex,
|
@@ -0,0 +1,136 @@
|
|
1
|
+
import { parseAbiItem, parseAbiParameters, type Address } from 'abitype'
|
2
|
+
import type { PublicClient, Transport } from '../clients/index.js'
|
3
|
+
import {
|
4
|
+
BaseError,
|
5
|
+
HttpRequestError,
|
6
|
+
OffchainLookupError,
|
7
|
+
OffchainLookupResponseMalformedError,
|
8
|
+
OffchainLookupSenderMismatchError,
|
9
|
+
} from '../errors/index.js'
|
10
|
+
import { call, type CallParameters } from '../public.js'
|
11
|
+
import type { Chain, GetErrorArgs, Hex } from '../types/index.js'
|
12
|
+
import { decodeErrorResult, encodeAbiParameters } from './abi/index.js'
|
13
|
+
import { isAddressEqual } from './address/index.js'
|
14
|
+
import { concat, isHex } from './data/index.js'
|
15
|
+
import { stringify } from './stringify.js'
|
16
|
+
|
17
|
+
export const offchainLookupSignature = '0x556f1830'
|
18
|
+
export const offchainLookupAbiItem = parseAbiItem(
|
19
|
+
'error OffchainLookup(address sender, string[] urls, bytes callData, bytes4 callbackFunction, bytes extraData)',
|
20
|
+
)
|
21
|
+
|
22
|
+
export async function offchainLookup<TChain extends Chain | undefined>(
|
23
|
+
client: PublicClient<Transport, TChain>,
|
24
|
+
{
|
25
|
+
blockNumber,
|
26
|
+
blockTag,
|
27
|
+
data,
|
28
|
+
to,
|
29
|
+
}: Pick<CallParameters, 'blockNumber' | 'blockTag'> & {
|
30
|
+
data: Hex
|
31
|
+
to: Address
|
32
|
+
},
|
33
|
+
): Promise<Hex> {
|
34
|
+
const { args } = decodeErrorResult({
|
35
|
+
data,
|
36
|
+
abi: [offchainLookupAbiItem],
|
37
|
+
}) as unknown as GetErrorArgs<
|
38
|
+
[typeof offchainLookupAbiItem],
|
39
|
+
'OffchainLookup'
|
40
|
+
>
|
41
|
+
const [sender, urls, callData, callbackSelector, extraData] = args
|
42
|
+
|
43
|
+
try {
|
44
|
+
if (!isAddressEqual(to, sender))
|
45
|
+
throw new OffchainLookupSenderMismatchError({ sender, to })
|
46
|
+
|
47
|
+
const result = await ccipFetch({ data: callData, sender, urls })
|
48
|
+
|
49
|
+
const { data: data_ } = await call(client, {
|
50
|
+
blockNumber,
|
51
|
+
blockTag,
|
52
|
+
data: concat([
|
53
|
+
callbackSelector,
|
54
|
+
encodeAbiParameters(parseAbiParameters('bytes,bytes'), [
|
55
|
+
result,
|
56
|
+
extraData,
|
57
|
+
]),
|
58
|
+
]),
|
59
|
+
to,
|
60
|
+
} as CallParameters)
|
61
|
+
|
62
|
+
return data_!
|
63
|
+
} catch (err) {
|
64
|
+
throw new OffchainLookupError({
|
65
|
+
callbackSelector,
|
66
|
+
cause: err as BaseError,
|
67
|
+
data,
|
68
|
+
extraData,
|
69
|
+
sender,
|
70
|
+
urls,
|
71
|
+
})
|
72
|
+
}
|
73
|
+
}
|
74
|
+
|
75
|
+
export async function ccipFetch({
|
76
|
+
data,
|
77
|
+
sender,
|
78
|
+
urls,
|
79
|
+
}: { data: Hex; sender: Address; urls: readonly string[] }) {
|
80
|
+
let error = new Error('An unknown error occurred.')
|
81
|
+
|
82
|
+
for (let i = 0; i < urls.length; i++) {
|
83
|
+
const url = urls[i]
|
84
|
+
const method =
|
85
|
+
url.includes('{sender}') || url.includes('{data}') ? 'GET' : 'POST'
|
86
|
+
const body = method === 'POST' ? { data, sender } : undefined
|
87
|
+
|
88
|
+
try {
|
89
|
+
const response = await fetch(
|
90
|
+
url.replace('{sender}', sender).replace('{data}', data),
|
91
|
+
{
|
92
|
+
body: JSON.stringify(body),
|
93
|
+
method,
|
94
|
+
},
|
95
|
+
)
|
96
|
+
|
97
|
+
let result
|
98
|
+
if (
|
99
|
+
response.headers.get('Content-Type')?.startsWith('application/json')
|
100
|
+
) {
|
101
|
+
result = (await response.json()).data
|
102
|
+
} else {
|
103
|
+
result = (await response.text()) as any
|
104
|
+
}
|
105
|
+
|
106
|
+
if (!response.ok) {
|
107
|
+
error = new HttpRequestError({
|
108
|
+
body,
|
109
|
+
details: stringify(result.error) || response.statusText,
|
110
|
+
headers: response.headers,
|
111
|
+
status: response.status,
|
112
|
+
url,
|
113
|
+
})
|
114
|
+
continue
|
115
|
+
}
|
116
|
+
|
117
|
+
if (!isHex(result)) {
|
118
|
+
error = new OffchainLookupResponseMalformedError({
|
119
|
+
result,
|
120
|
+
url,
|
121
|
+
})
|
122
|
+
continue
|
123
|
+
}
|
124
|
+
|
125
|
+
return result
|
126
|
+
} catch (err) {
|
127
|
+
error = new HttpRequestError({
|
128
|
+
body,
|
129
|
+
details: (err as Error).message,
|
130
|
+
url,
|
131
|
+
})
|
132
|
+
}
|
133
|
+
}
|
134
|
+
|
135
|
+
throw error
|
136
|
+
}
|
@@ -3,11 +3,9 @@ import type { BaseError } from '../../errors/index.js'
|
|
3
3
|
import {
|
4
4
|
AbiDecodingZeroDataError,
|
5
5
|
ContractFunctionExecutionError,
|
6
|
-
EstimateGasExecutionError,
|
7
6
|
RawContractError,
|
8
7
|
} from '../../errors/index.js'
|
9
8
|
import {
|
10
|
-
CallExecutionError,
|
11
9
|
ContractFunctionRevertedError,
|
12
10
|
ContractFunctionZeroDataError,
|
13
11
|
} from '../../errors/contract.js'
|
@@ -36,11 +34,7 @@ export function getContractError(
|
|
36
34
|
const { code, data, message, shortMessage } = (
|
37
35
|
err instanceof RawContractError
|
38
36
|
? err
|
39
|
-
:
|
40
|
-
(err instanceof CallExecutionError ||
|
41
|
-
err instanceof EstimateGasExecutionError)
|
42
|
-
? ((err.cause as BaseError)?.cause as BaseError)?.cause || {}
|
43
|
-
: err.cause || {}
|
37
|
+
: err.walk((err) => 'data' in (err as Error))
|
44
38
|
) as RawContractError
|
45
39
|
|
46
40
|
let cause = err
|
@@ -67,7 +67,7 @@ export function getNodeError(
|
|
67
67
|
)
|
68
68
|
return new ExecutionRevertedError({
|
69
69
|
cause: err,
|
70
|
-
message: (err.cause as BaseError).details,
|
70
|
+
message: (err.cause as BaseError).details || err.details,
|
71
71
|
})
|
72
72
|
return new UnknownNodeError({
|
73
73
|
cause: (err.cause as BaseError).cause as BaseError,
|
package/src/utils/index.ts
CHANGED
@@ -60,6 +60,13 @@ export {
|
|
60
60
|
|
61
61
|
export { buildRequest } from './buildRequest.js'
|
62
62
|
|
63
|
+
export {
|
64
|
+
ccipFetch,
|
65
|
+
offchainLookup,
|
66
|
+
offchainLookupAbiItem,
|
67
|
+
offchainLookupSignature,
|
68
|
+
} from './ccip.js'
|
69
|
+
|
63
70
|
export { defineChain, getChainContractAddress } from './chain.js'
|
64
71
|
|
65
72
|
export {
|