UNPKG

viem

Version:

TypeScript Interface for Ethereum

48 lines 1.83 kB
import { stringify } from '../utils/stringify.js'; import { BaseError } from './base.js'; import { getUrl } from './utils.js'; export class OffchainLookupError extends BaseError { constructor({ callbackSelector, cause, data, extraData, sender, urls, }) { super(cause.shortMessage || 'An error occurred while fetching for an offchain result.', { cause, metaMessages: [ ...(cause.metaMessages || []), cause.metaMessages?.length ? '' : [], 'Offchain Gateway Call:', urls && [ ' Gateway URL(s):', ...urls.map((url) => ` ${getUrl(url)}`), ], ` Sender: ${sender}`, ` Data: ${data}`, ` Callback selector: ${callbackSelector}`, ` Extra data: ${extraData}`, ].flat(), name: 'OffchainLookupError', }); } } export class OffchainLookupResponseMalformedError extends BaseError { constructor({ result, url }) { super('Offchain gateway response is malformed. Response data must be a hex value.', { metaMessages: [ `Gateway URL: ${getUrl(url)}`, `Response: ${stringify(result)}`, ], name: 'OffchainLookupResponseMalformedError', }); } } export class OffchainLookupSenderMismatchError extends BaseError { constructor({ sender, to }) { super('Reverted sender address does not match target contract address (`to`).', { metaMessages: [ `Contract address: ${to}`, `OffchainLookup sender address: ${sender}`, ], name: 'OffchainLookupSenderMismatchError', }); } } //# sourceMappingURL=ccip.js.map