UNPKG

@a.annzzz/directdeposit-widget

Version:

A plug-and-play React component for connecting a Web3 wallet and displaying deposit schedule information.

1 lines 19 kB
{"version":3,"file":"ccip-Con0QVQ2.cjs","sources":["../node_modules/viem/_esm/utils/abi/decodeFunctionData.js","../node_modules/viem/_esm/errors/ccip.js","../node_modules/viem/_esm/utils/abi/encodeErrorResult.js","../node_modules/viem/_esm/utils/abi/encodeFunctionResult.js","../node_modules/viem/_esm/utils/ens/localBatchGatewayRequest.js","../node_modules/viem/_esm/utils/ccip.js"],"sourcesContent":["import { AbiFunctionSignatureNotFoundError } from '../../errors/abi.js';\nimport { slice } from '../data/slice.js';\nimport { toFunctionSelector, } from '../hash/toFunctionSelector.js';\nimport { decodeAbiParameters, } from './decodeAbiParameters.js';\nimport { formatAbiItem } from './formatAbiItem.js';\nexport function decodeFunctionData(parameters) {\n const { abi, data } = parameters;\n const signature = slice(data, 0, 4);\n const description = abi.find((x) => x.type === 'function' &&\n signature === toFunctionSelector(formatAbiItem(x)));\n if (!description)\n throw new AbiFunctionSignatureNotFoundError(signature, {\n docsPath: '/docs/contract/decodeFunctionData',\n });\n return {\n functionName: description.name,\n args: ('inputs' in description &&\n description.inputs &&\n description.inputs.length > 0\n ? decodeAbiParameters(description.inputs, slice(data, 4))\n : undefined),\n };\n}\n//# sourceMappingURL=decodeFunctionData.js.map","import { stringify } from '../utils/stringify.js';\nimport { BaseError } from './base.js';\nimport { getUrl } from './utils.js';\nexport class OffchainLookupError extends BaseError {\n constructor({ callbackSelector, cause, data, extraData, sender, urls, }) {\n super(cause.shortMessage ||\n 'An error occurred while fetching for an offchain result.', {\n cause,\n metaMessages: [\n ...(cause.metaMessages || []),\n cause.metaMessages?.length ? '' : [],\n 'Offchain Gateway Call:',\n urls && [\n ' Gateway URL(s):',\n ...urls.map((url) => ` ${getUrl(url)}`),\n ],\n ` Sender: ${sender}`,\n ` Data: ${data}`,\n ` Callback selector: ${callbackSelector}`,\n ` Extra data: ${extraData}`,\n ].flat(),\n name: 'OffchainLookupError',\n });\n }\n}\nexport class OffchainLookupResponseMalformedError extends BaseError {\n constructor({ result, url }) {\n super('Offchain gateway response is malformed. Response data must be a hex value.', {\n metaMessages: [\n `Gateway URL: ${getUrl(url)}`,\n `Response: ${stringify(result)}`,\n ],\n name: 'OffchainLookupResponseMalformedError',\n });\n }\n}\nexport class OffchainLookupSenderMismatchError extends BaseError {\n constructor({ sender, to }) {\n super('Reverted sender address does not match target contract address (`to`).', {\n metaMessages: [\n `Contract address: ${to}`,\n `OffchainLookup sender address: ${sender}`,\n ],\n name: 'OffchainLookupSenderMismatchError',\n });\n }\n}\n//# sourceMappingURL=ccip.js.map","import { AbiErrorInputsNotFoundError, AbiErrorNotFoundError, } from '../../errors/abi.js';\nimport { concatHex } from '../data/concat.js';\nimport { toFunctionSelector, } from '../hash/toFunctionSelector.js';\nimport { encodeAbiParameters, } from './encodeAbiParameters.js';\nimport { formatAbiItem } from './formatAbiItem.js';\nimport { getAbiItem } from './getAbiItem.js';\nconst docsPath = '/docs/contract/encodeErrorResult';\nexport function encodeErrorResult(parameters) {\n const { abi, errorName, args } = parameters;\n let abiItem = abi[0];\n if (errorName) {\n const item = getAbiItem({ abi, args, name: errorName });\n if (!item)\n throw new AbiErrorNotFoundError(errorName, { docsPath });\n abiItem = item;\n }\n if (abiItem.type !== 'error')\n throw new AbiErrorNotFoundError(undefined, { docsPath });\n const definition = formatAbiItem(abiItem);\n const signature = toFunctionSelector(definition);\n let data = '0x';\n if (args && args.length > 0) {\n if (!abiItem.inputs)\n throw new AbiErrorInputsNotFoundError(abiItem.name, { docsPath });\n data = encodeAbiParameters(abiItem.inputs, args);\n }\n return concatHex([signature, data]);\n}\n//# sourceMappingURL=encodeErrorResult.js.map","import { AbiFunctionNotFoundError, AbiFunctionOutputsNotFoundError, InvalidArrayError, } from '../../errors/abi.js';\nimport { encodeAbiParameters, } from './encodeAbiParameters.js';\nimport { getAbiItem } from './getAbiItem.js';\nconst docsPath = '/docs/contract/encodeFunctionResult';\nexport function encodeFunctionResult(parameters) {\n const { abi, functionName, result } = parameters;\n let abiItem = abi[0];\n if (functionName) {\n const item = getAbiItem({ abi, name: functionName });\n if (!item)\n throw new AbiFunctionNotFoundError(functionName, { docsPath });\n abiItem = item;\n }\n if (abiItem.type !== 'function')\n throw new AbiFunctionNotFoundError(undefined, { docsPath });\n if (!abiItem.outputs)\n throw new AbiFunctionOutputsNotFoundError(abiItem.name, { docsPath });\n const values = (() => {\n if (abiItem.outputs.length === 0)\n return [];\n if (abiItem.outputs.length === 1)\n return [result];\n if (Array.isArray(result))\n return result;\n throw new InvalidArrayError(result);\n })();\n return encodeAbiParameters(abiItem.outputs, values);\n}\n//# sourceMappingURL=encodeFunctionResult.js.map","import { batchGatewayAbi } from '../../constants/abis.js';\nimport { solidityError } from '../../constants/solidity.js';\nimport { decodeFunctionData } from '../abi/decodeFunctionData.js';\nimport { encodeErrorResult } from '../abi/encodeErrorResult.js';\nimport { encodeFunctionResult } from '../abi/encodeFunctionResult.js';\nexport const localBatchGatewayUrl = 'x-batch-gateway:true';\nexport async function localBatchGatewayRequest(parameters) {\n const { data, ccipRequest } = parameters;\n const { args: [queries], } = decodeFunctionData({ abi: batchGatewayAbi, data });\n const failures = [];\n const responses = [];\n await Promise.all(queries.map(async (query, i) => {\n try {\n responses[i] = query.urls.includes(localBatchGatewayUrl)\n ? await localBatchGatewayRequest({ data: query.data, ccipRequest })\n : await ccipRequest(query);\n failures[i] = false;\n }\n catch (err) {\n failures[i] = true;\n responses[i] = encodeError(err);\n }\n }));\n return encodeFunctionResult({\n abi: batchGatewayAbi,\n functionName: 'query',\n result: [failures, responses],\n });\n}\nfunction encodeError(error) {\n if (error.name === 'HttpRequestError' && error.status)\n return encodeErrorResult({\n abi: batchGatewayAbi,\n errorName: 'HttpError',\n args: [error.status, error.shortMessage],\n });\n return encodeErrorResult({\n abi: [solidityError],\n errorName: 'Error',\n args: ['shortMessage' in error ? error.shortMessage : error.message],\n });\n}\n//# sourceMappingURL=localBatchGatewayRequest.js.map","import { call } from '../actions/public/call.js';\nimport { OffchainLookupError, OffchainLookupResponseMalformedError, OffchainLookupSenderMismatchError, } from '../errors/ccip.js';\nimport { HttpRequestError, } from '../errors/request.js';\nimport { decodeErrorResult } from './abi/decodeErrorResult.js';\nimport { encodeAbiParameters } from './abi/encodeAbiParameters.js';\nimport { isAddressEqual } from './address/isAddressEqual.js';\nimport { concat } from './data/concat.js';\nimport { isHex } from './data/isHex.js';\nimport { localBatchGatewayRequest, localBatchGatewayUrl, } from './ens/localBatchGatewayRequest.js';\nimport { stringify } from './stringify.js';\nexport const offchainLookupSignature = '0x556f1830';\nexport const offchainLookupAbiItem = {\n name: 'OffchainLookup',\n type: 'error',\n inputs: [\n {\n name: 'sender',\n type: 'address',\n },\n {\n name: 'urls',\n type: 'string[]',\n },\n {\n name: 'callData',\n type: 'bytes',\n },\n {\n name: 'callbackFunction',\n type: 'bytes4',\n },\n {\n name: 'extraData',\n type: 'bytes',\n },\n ],\n};\nexport async function offchainLookup(client, { blockNumber, blockTag, data, to, }) {\n const { args } = decodeErrorResult({\n data,\n abi: [offchainLookupAbiItem],\n });\n const [sender, urls, callData, callbackSelector, extraData] = args;\n const { ccipRead } = client;\n const ccipRequest_ = ccipRead && typeof ccipRead?.request === 'function'\n ? ccipRead.request\n : ccipRequest;\n try {\n if (!isAddressEqual(to, sender))\n throw new OffchainLookupSenderMismatchError({ sender, to });\n const result = urls.includes(localBatchGatewayUrl)\n ? await localBatchGatewayRequest({\n data: callData,\n ccipRequest: ccipRequest_,\n })\n : await ccipRequest_({ data: callData, sender, urls });\n const { data: data_ } = await call(client, {\n blockNumber,\n blockTag,\n data: concat([\n callbackSelector,\n encodeAbiParameters([{ type: 'bytes' }, { type: 'bytes' }], [result, extraData]),\n ]),\n to,\n });\n return data_;\n }\n catch (err) {\n throw new OffchainLookupError({\n callbackSelector,\n cause: err,\n data,\n extraData,\n sender,\n urls,\n });\n }\n}\nexport async function ccipRequest({ data, sender, urls, }) {\n let error = new Error('An unknown error occurred.');\n for (let i = 0; i < urls.length; i++) {\n const url = urls[i];\n const method = url.includes('{data}') ? 'GET' : 'POST';\n const body = method === 'POST' ? { data, sender } : undefined;\n const headers = method === 'POST' ? { 'Content-Type': 'application/json' } : {};\n try {\n const response = await fetch(url.replace('{sender}', sender.toLowerCase()).replace('{data}', data), {\n body: JSON.stringify(body),\n headers,\n method,\n });\n let result;\n if (response.headers.get('Content-Type')?.startsWith('application/json')) {\n result = (await response.json()).data;\n }\n else {\n result = (await response.text());\n }\n if (!response.ok) {\n error = new HttpRequestError({\n body,\n details: result?.error\n ? stringify(result.error)\n : response.statusText,\n headers: response.headers,\n status: response.status,\n url,\n });\n continue;\n }\n if (!isHex(result)) {\n error = new OffchainLookupResponseMalformedError({\n result,\n url,\n });\n continue;\n }\n return result;\n }\n catch (err) {\n error = new HttpRequestError({\n body,\n details: err.message,\n url,\n });\n }\n }\n throw error;\n}\n//# sourceMappingURL=ccip.js.map"],"names":["decodeFunctionData","parameters","abi","data","signature","slice","description","x","toFunctionSelector","formatAbiItem","AbiFunctionSignatureNotFoundError","decodeAbiParameters","OffchainLookupError","BaseError","callbackSelector","cause","extraData","sender","urls","_a","url","getUrl","OffchainLookupResponseMalformedError","result","stringify","OffchainLookupSenderMismatchError","to","docsPath","encodeErrorResult","errorName","args","abiItem","item","getAbiItem","AbiErrorNotFoundError","definition","AbiErrorInputsNotFoundError","encodeAbiParameters","concatHex","encodeFunctionResult","functionName","AbiFunctionNotFoundError","AbiFunctionOutputsNotFoundError","values","InvalidArrayError","localBatchGatewayUrl","localBatchGatewayRequest","ccipRequest","queries","batchGatewayAbi","failures","responses","query","err","encodeError","error","solidityError","offchainLookupSignature","offchainLookupAbiItem","offchainLookup","client","blockNumber","blockTag","decodeErrorResult","callData","ccipRead","ccipRequest_","isAddressEqual","data_","call","concat","i","method","body","headers","response","HttpRequestError","isHex"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}