FRE-600: Fix code review blockers

- Consolidated duplicate UndoManagers to single instance
- Fixed connection promise to only resolve on 'connected' status
- Fixed WebSocketProvider import (WebsocketProvider)
- Added proper doc.destroy() cleanup
- Renamed isPresenceInitialized property to avoid conflict

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-04-25 00:08:01 -04:00
parent 65b552bb08
commit 7c684a42cc
48450 changed files with 5679671 additions and 383 deletions

202
node_modules/viem/_cjs/utils/abi/decodeAbiParameters.js generated vendored Normal file
View File

@@ -0,0 +1,202 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.decodeAbiParameters = decodeAbiParameters;
const abi_js_1 = require("../../errors/abi.js");
const getAddress_js_1 = require("../address/getAddress.js");
const cursor_js_1 = require("../cursor.js");
const size_js_1 = require("../data/size.js");
const slice_js_1 = require("../data/slice.js");
const trim_js_1 = require("../data/trim.js");
const fromBytes_js_1 = require("../encoding/fromBytes.js");
const toBytes_js_1 = require("../encoding/toBytes.js");
const toHex_js_1 = require("../encoding/toHex.js");
const encodeAbiParameters_js_1 = require("./encodeAbiParameters.js");
function decodeAbiParameters(params, data) {
const bytes = typeof data === 'string' ? (0, toBytes_js_1.hexToBytes)(data) : data;
const cursor = (0, cursor_js_1.createCursor)(bytes);
if ((0, size_js_1.size)(bytes) === 0 && params.length > 0)
throw new abi_js_1.AbiDecodingZeroDataError();
if ((0, size_js_1.size)(data) && (0, size_js_1.size)(data) < 32)
throw new abi_js_1.AbiDecodingDataSizeTooSmallError({
data: typeof data === 'string' ? data : (0, toHex_js_1.bytesToHex)(data),
params: params,
size: (0, size_js_1.size)(data),
});
let consumed = 0;
const values = [];
for (let i = 0; i < params.length; ++i) {
const param = params[i];
cursor.setPosition(consumed);
const [data, consumed_] = decodeParameter(cursor, param, {
staticPosition: 0,
});
consumed += consumed_;
values.push(data);
}
return values;
}
function decodeParameter(cursor, param, { staticPosition }) {
const arrayComponents = (0, encodeAbiParameters_js_1.getArrayComponents)(param.type);
if (arrayComponents) {
const [length, type] = arrayComponents;
return decodeArray(cursor, { ...param, type }, { length, staticPosition });
}
if (param.type === 'tuple')
return decodeTuple(cursor, param, { staticPosition });
if (param.type === 'address')
return decodeAddress(cursor);
if (param.type === 'bool')
return decodeBool(cursor);
if (param.type.startsWith('bytes'))
return decodeBytes(cursor, param, { staticPosition });
if (param.type.startsWith('uint') || param.type.startsWith('int'))
return decodeNumber(cursor, param);
if (param.type === 'string')
return decodeString(cursor, { staticPosition });
throw new abi_js_1.InvalidAbiDecodingTypeError(param.type, {
docsPath: '/docs/contract/decodeAbiParameters',
});
}
const sizeOfLength = 32;
const sizeOfOffset = 32;
function decodeAddress(cursor) {
const value = cursor.readBytes(32);
return [(0, getAddress_js_1.checksumAddress)((0, toHex_js_1.bytesToHex)((0, slice_js_1.sliceBytes)(value, -20))), 32];
}
function decodeArray(cursor, param, { length, staticPosition }) {
if (!length) {
const offset = (0, fromBytes_js_1.bytesToNumber)(cursor.readBytes(sizeOfOffset));
const start = staticPosition + offset;
const startOfData = start + sizeOfLength;
cursor.setPosition(start);
const length = (0, fromBytes_js_1.bytesToNumber)(cursor.readBytes(sizeOfLength));
const dynamicChild = hasDynamicChild(param);
let consumed = 0;
const value = [];
for (let i = 0; i < length; ++i) {
cursor.setPosition(startOfData + (dynamicChild ? i * 32 : consumed));
const [data, consumed_] = decodeParameter(cursor, param, {
staticPosition: startOfData,
});
consumed += consumed_;
value.push(data);
}
cursor.setPosition(staticPosition + 32);
return [value, 32];
}
if (hasDynamicChild(param)) {
const offset = (0, fromBytes_js_1.bytesToNumber)(cursor.readBytes(sizeOfOffset));
const start = staticPosition + offset;
const value = [];
for (let i = 0; i < length; ++i) {
cursor.setPosition(start + i * 32);
const [data] = decodeParameter(cursor, param, {
staticPosition: start,
});
value.push(data);
}
cursor.setPosition(staticPosition + 32);
return [value, 32];
}
let consumed = 0;
const value = [];
for (let i = 0; i < length; ++i) {
const [data, consumed_] = decodeParameter(cursor, param, {
staticPosition: staticPosition + consumed,
});
consumed += consumed_;
value.push(data);
}
return [value, consumed];
}
function decodeBool(cursor) {
return [(0, fromBytes_js_1.bytesToBool)(cursor.readBytes(32), { size: 32 }), 32];
}
function decodeBytes(cursor, param, { staticPosition }) {
const [_, size] = param.type.split('bytes');
if (!size) {
const offset = (0, fromBytes_js_1.bytesToNumber)(cursor.readBytes(32));
cursor.setPosition(staticPosition + offset);
const length = (0, fromBytes_js_1.bytesToNumber)(cursor.readBytes(32));
if (length === 0) {
cursor.setPosition(staticPosition + 32);
return ['0x', 32];
}
const data = cursor.readBytes(length);
cursor.setPosition(staticPosition + 32);
return [(0, toHex_js_1.bytesToHex)(data), 32];
}
const value = (0, toHex_js_1.bytesToHex)(cursor.readBytes(Number.parseInt(size, 10), 32));
return [value, 32];
}
function decodeNumber(cursor, param) {
const signed = param.type.startsWith('int');
const size = Number.parseInt(param.type.split('int')[1] || '256', 10);
const value = cursor.readBytes(32);
return [
size > 48
? (0, fromBytes_js_1.bytesToBigInt)(value, { signed })
: (0, fromBytes_js_1.bytesToNumber)(value, { signed }),
32,
];
}
function decodeTuple(cursor, param, { staticPosition }) {
const hasUnnamedChild = param.components.length === 0 || param.components.some(({ name }) => !name);
const value = hasUnnamedChild ? [] : {};
let consumed = 0;
if (hasDynamicChild(param)) {
const offset = (0, fromBytes_js_1.bytesToNumber)(cursor.readBytes(sizeOfOffset));
const start = staticPosition + offset;
for (let i = 0; i < param.components.length; ++i) {
const component = param.components[i];
cursor.setPosition(start + consumed);
const [data, consumed_] = decodeParameter(cursor, component, {
staticPosition: start,
});
consumed += consumed_;
value[hasUnnamedChild ? i : component?.name] = data;
}
cursor.setPosition(staticPosition + 32);
return [value, 32];
}
for (let i = 0; i < param.components.length; ++i) {
const component = param.components[i];
const [data, consumed_] = decodeParameter(cursor, component, {
staticPosition,
});
value[hasUnnamedChild ? i : component?.name] = data;
consumed += consumed_;
}
return [value, consumed];
}
function decodeString(cursor, { staticPosition }) {
const offset = (0, fromBytes_js_1.bytesToNumber)(cursor.readBytes(32));
const start = staticPosition + offset;
cursor.setPosition(start);
const length = (0, fromBytes_js_1.bytesToNumber)(cursor.readBytes(32));
if (length === 0) {
cursor.setPosition(staticPosition + 32);
return ['', 32];
}
const data = cursor.readBytes(length, 32);
const value = (0, fromBytes_js_1.bytesToString)((0, trim_js_1.trim)(data));
cursor.setPosition(staticPosition + 32);
return [value, 32];
}
function hasDynamicChild(param) {
const { type } = param;
if (type === 'string')
return true;
if (type === 'bytes')
return true;
if (type.endsWith('[]'))
return true;
if (type === 'tuple')
return param.components?.some(hasDynamicChild);
const arrayComponents = (0, encodeAbiParameters_js_1.getArrayComponents)(param.type);
if (arrayComponents &&
hasDynamicChild({ ...param, type: arrayComponents[1] }))
return true;
return false;
}
//# sourceMappingURL=decodeAbiParameters.js.map

File diff suppressed because one or more lines are too long

21
node_modules/viem/_cjs/utils/abi/decodeDeployData.js generated vendored Normal file
View File

@@ -0,0 +1,21 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.decodeDeployData = decodeDeployData;
const abi_js_1 = require("../../errors/abi.js");
const decodeAbiParameters_js_1 = require("./decodeAbiParameters.js");
const docsPath = '/docs/contract/decodeDeployData';
function decodeDeployData(parameters) {
const { abi, bytecode, data } = parameters;
if (data === bytecode)
return { bytecode };
const description = abi.find((x) => 'type' in x && x.type === 'constructor');
if (!description)
throw new abi_js_1.AbiConstructorNotFoundError({ docsPath });
if (!('inputs' in description))
throw new abi_js_1.AbiConstructorParamsNotFoundError({ docsPath });
if (!description.inputs || description.inputs.length === 0)
throw new abi_js_1.AbiConstructorParamsNotFoundError({ docsPath });
const args = (0, decodeAbiParameters_js_1.decodeAbiParameters)(description.inputs, `0x${data.replace(bytecode, '')}`);
return { args, bytecode };
}
//# sourceMappingURL=decodeDeployData.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"decodeDeployData.js","sourceRoot":"","sources":["../../../utils/abi/decodeDeployData.ts"],"names":[],"mappings":";;AAyCA,4CAkBC;AAzDD,gDAK4B;AAI5B,qEAGiC;AAEjC,MAAM,QAAQ,GAAG,iCAAiC,CAAA;AAyBlD,SAAgB,gBAAgB,CAC9B,UAA2C;IAE3C,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,UAAwC,CAAA;IACxE,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,QAAQ,EAAqC,CAAA;IAE7E,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAA;IAC5E,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,oCAA2B,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IACrE,IAAI,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC;QAC5B,MAAM,IAAI,0CAAiC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC3D,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QACxD,MAAM,IAAI,0CAAiC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAE3D,MAAM,IAAI,GAAG,IAAA,4CAAmB,EAC9B,WAAW,CAAC,MAAM,EAClB,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAClC,CAAA;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAgD,CAAA;AACzE,CAAC"}

30
node_modules/viem/_cjs/utils/abi/decodeErrorResult.js generated vendored Normal file
View File

@@ -0,0 +1,30 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.decodeErrorResult = decodeErrorResult;
const solidity_js_1 = require("../../constants/solidity.js");
const abi_js_1 = require("../../errors/abi.js");
const slice_js_1 = require("../data/slice.js");
const toFunctionSelector_js_1 = require("../hash/toFunctionSelector.js");
const decodeAbiParameters_js_1 = require("./decodeAbiParameters.js");
const formatAbiItem_js_1 = require("./formatAbiItem.js");
function decodeErrorResult(parameters) {
const { abi, data, cause } = parameters;
const signature = (0, slice_js_1.slice)(data, 0, 4);
if (signature === '0x')
throw new abi_js_1.AbiDecodingZeroDataError({ cause });
const abi_ = [...(abi || []), solidity_js_1.solidityError, solidity_js_1.solidityPanic];
const abiItem = abi_.find((x) => x.type === 'error' && signature === (0, toFunctionSelector_js_1.toFunctionSelector)((0, formatAbiItem_js_1.formatAbiItem)(x)));
if (!abiItem)
throw new abi_js_1.AbiErrorSignatureNotFoundError(signature, {
docsPath: '/docs/contract/decodeErrorResult',
cause,
});
return {
abiItem,
args: 'inputs' in abiItem && abiItem.inputs && abiItem.inputs.length > 0
? (0, decodeAbiParameters_js_1.decodeAbiParameters)(abiItem.inputs, (0, slice_js_1.slice)(data, 4))
: undefined,
errorName: abiItem.name,
};
}
//# sourceMappingURL=decodeErrorResult.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"decodeErrorResult.js","sourceRoot":"","sources":["../../../utils/abi/decodeErrorResult.ts"],"names":[],"mappings":";;AAiEA,8CA0BC;AAzFD,6DAA0E;AAC1E,gDAK4B;AAU5B,+CAAwC;AACxC,yEAGsC;AACtC,qEAGiC;AACjC,yDAA+E;AAsC/E,SAAgB,iBAAiB,CAC/B,UAA4C;IAE5C,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,UAAyC,CAAA;IAEtE,MAAM,SAAS,GAAG,IAAA,gBAAK,EAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACnC,IAAI,SAAS,KAAK,IAAI;QAAE,MAAM,IAAI,iCAAwB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IAErE,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,2BAAa,EAAE,2BAAa,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,SAAS,KAAK,IAAA,0CAAkB,EAAC,IAAA,gCAAa,EAAC,CAAC,CAAC,CAAC,CAC3E,CAAA;IACD,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,uCAA8B,CAAC,SAAS,EAAE;YAClD,QAAQ,EAAE,kCAAkC;YAC5C,KAAK;SACN,CAAC,CAAA;IACJ,OAAO;QACL,OAAO;QACP,IAAI,EACF,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAChE,CAAC,CAAC,IAAA,4CAAmB,EAAC,OAAO,CAAC,MAAM,EAAE,IAAA,gBAAK,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,SAAS;QACf,SAAS,EAAG,OAA4B,CAAC,IAAI;KACV,CAAA;AACvC,CAAC"}

108
node_modules/viem/_cjs/utils/abi/decodeEventLog.js generated vendored Normal file
View File

@@ -0,0 +1,108 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.decodeEventLog = decodeEventLog;
const abi_js_1 = require("../../errors/abi.js");
const cursor_js_1 = require("../../errors/cursor.js");
const size_js_1 = require("../data/size.js");
const toEventSelector_js_1 = require("../hash/toEventSelector.js");
const decodeAbiParameters_js_1 = require("./decodeAbiParameters.js");
const formatAbiItem_js_1 = require("./formatAbiItem.js");
const docsPath = '/docs/contract/decodeEventLog';
function decodeEventLog(parameters) {
const { abi, data, strict: strict_, topics, } = parameters;
const strict = strict_ ?? true;
const [signature, ...argTopics] = topics;
if (!signature)
throw new abi_js_1.AbiEventSignatureEmptyTopicsError({ docsPath });
const abiItem = abi.find((x) => x.type === 'event' &&
signature === (0, toEventSelector_js_1.toEventSelector)((0, formatAbiItem_js_1.formatAbiItem)(x)));
if (!(abiItem && 'name' in abiItem) || abiItem.type !== 'event')
throw new abi_js_1.AbiEventSignatureNotFoundError(signature, { docsPath });
const { name, inputs } = abiItem;
const isUnnamed = inputs?.some((x) => !('name' in x && x.name));
const args = isUnnamed ? [] : {};
const indexedInputs = inputs
.map((x, i) => [x, i])
.filter(([x]) => 'indexed' in x && x.indexed);
const missingIndexedInputs = [];
for (let i = 0; i < indexedInputs.length; i++) {
const [param, argIndex] = indexedInputs[i];
const topic = argTopics[i];
if (!topic) {
if (strict)
throw new abi_js_1.DecodeLogTopicsMismatch({
abiItem,
param: param,
});
missingIndexedInputs.push([param, argIndex]);
continue;
}
args[isUnnamed ? argIndex : param.name || argIndex] = decodeTopic({
param,
value: topic,
});
}
const nonIndexedInputs = inputs.filter((x) => !('indexed' in x && x.indexed));
const inputsToDecode = strict
? nonIndexedInputs
: [...missingIndexedInputs.map(([param]) => param), ...nonIndexedInputs];
if (inputsToDecode.length > 0) {
if (data && data !== '0x') {
try {
const decodedData = (0, decodeAbiParameters_js_1.decodeAbiParameters)(inputsToDecode, data);
if (decodedData) {
let dataIndex = 0;
if (!strict) {
for (const [param, argIndex] of missingIndexedInputs) {
args[isUnnamed ? argIndex : param.name || argIndex] =
decodedData[dataIndex++];
}
}
if (isUnnamed) {
for (let i = 0; i < inputs.length; i++)
if (args[i] === undefined && dataIndex < decodedData.length)
args[i] = decodedData[dataIndex++];
}
else
for (let i = 0; i < nonIndexedInputs.length; i++)
args[nonIndexedInputs[i].name] = decodedData[dataIndex++];
}
}
catch (err) {
if (strict) {
if (err instanceof abi_js_1.AbiDecodingDataSizeTooSmallError ||
err instanceof cursor_js_1.PositionOutOfBoundsError)
throw new abi_js_1.DecodeLogDataMismatch({
abiItem,
data: data,
params: inputsToDecode,
size: (0, size_js_1.size)(data),
});
throw err;
}
}
}
else if (strict) {
throw new abi_js_1.DecodeLogDataMismatch({
abiItem,
data: '0x',
params: inputsToDecode,
size: 0,
});
}
}
return {
eventName: name,
args: Object.values(args).length > 0 ? args : undefined,
};
}
function decodeTopic({ param, value }) {
if (param.type === 'string' ||
param.type === 'bytes' ||
param.type === 'tuple' ||
param.type.match(/^(.*)\[(\d+)?\]$/))
return value;
const decodedArg = (0, decodeAbiParameters_js_1.decodeAbiParameters)([param], value) || [];
return decodedArg[0];
}
//# sourceMappingURL=decodeEventLog.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"decodeEventLog.js","sourceRoot":"","sources":["../../../utils/abi/decodeEventLog.ts"],"names":[],"mappings":"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"}

27
node_modules/viem/_cjs/utils/abi/decodeFunctionData.js generated vendored Normal file
View File

@@ -0,0 +1,27 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.decodeFunctionData = decodeFunctionData;
const abi_js_1 = require("../../errors/abi.js");
const slice_js_1 = require("../data/slice.js");
const toFunctionSelector_js_1 = require("../hash/toFunctionSelector.js");
const decodeAbiParameters_js_1 = require("./decodeAbiParameters.js");
const formatAbiItem_js_1 = require("./formatAbiItem.js");
function decodeFunctionData(parameters) {
const { abi, data } = parameters;
const signature = (0, slice_js_1.slice)(data, 0, 4);
const description = abi.find((x) => x.type === 'function' &&
signature === (0, toFunctionSelector_js_1.toFunctionSelector)((0, formatAbiItem_js_1.formatAbiItem)(x)));
if (!description)
throw new abi_js_1.AbiFunctionSignatureNotFoundError(signature, {
docsPath: '/docs/contract/decodeFunctionData',
});
return {
functionName: description.name,
args: ('inputs' in description &&
description.inputs &&
description.inputs.length > 0
? (0, decodeAbiParameters_js_1.decodeAbiParameters)(description.inputs, (0, slice_js_1.slice)(data, 4))
: undefined),
};
}
//# sourceMappingURL=decodeFunctionData.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"decodeFunctionData.js","sourceRoot":"","sources":["../../../utils/abi/decodeFunctionData.ts"],"names":[],"mappings":";;AAuDA,gDAsBC;AA3ED,gDAAuE;AAQvE,+CAA6D;AAC7D,yEAGsC;AACtC,qEAGiC;AACjC,yDAA+E;AAoC/E,SAAgB,kBAAkB,CAChC,UAA6C;IAE7C,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,UAA0C,CAAA;IAChE,MAAM,SAAS,GAAG,IAAA,gBAAK,EAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACnC,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,UAAU;QACrB,SAAS,KAAK,IAAA,0CAAkB,EAAC,IAAA,gCAAa,EAAC,CAAC,CAAC,CAAC,CACrD,CAAA;IACD,IAAI,CAAC,WAAW;QACd,MAAM,IAAI,0CAAiC,CAAC,SAAS,EAAE;YACrD,QAAQ,EAAE,mCAAmC;SAC9C,CAAC,CAAA;IACJ,OAAO;QACL,YAAY,EAAG,WAAgC,CAAC,IAAI;QACpD,IAAI,EAAE,CAAC,QAAQ,IAAI,WAAW;YAC9B,WAAW,CAAC,MAAM;YAClB,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC3B,CAAC,CAAC,IAAA,4CAAmB,EAAC,WAAW,CAAC,MAAM,EAAE,IAAA,gBAAK,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACzD,CAAC,CAAC,SAAS,CAAmC;KACZ,CAAA;AACxC,CAAC"}

View File

@@ -0,0 +1,28 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.decodeFunctionResult = decodeFunctionResult;
const abi_js_1 = require("../../errors/abi.js");
const decodeAbiParameters_js_1 = require("./decodeAbiParameters.js");
const getAbiItem_js_1 = require("./getAbiItem.js");
const docsPath = '/docs/contract/decodeFunctionResult';
function decodeFunctionResult(parameters) {
const { abi, args, functionName, data } = parameters;
let abiItem = abi[0];
if (functionName) {
const item = (0, getAbiItem_js_1.getAbiItem)({ abi, args, name: functionName });
if (!item)
throw new abi_js_1.AbiFunctionNotFoundError(functionName, { docsPath });
abiItem = item;
}
if (abiItem.type !== 'function')
throw new abi_js_1.AbiFunctionNotFoundError(undefined, { docsPath });
if (!abiItem.outputs)
throw new abi_js_1.AbiFunctionOutputsNotFoundError(abiItem.name, { docsPath });
const values = (0, decodeAbiParameters_js_1.decodeAbiParameters)(abiItem.outputs, data);
if (values && values.length > 1)
return values;
if (values && values.length === 1)
return values[0];
return undefined;
}
//# sourceMappingURL=decodeFunctionResult.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"decodeFunctionResult.js","sourceRoot":"","sources":["../../../utils/abi/decodeFunctionResult.ts"],"names":[],"mappings":";;AA6HA,oDAwCC;AAnKD,gDAK4B;AAU5B,qEAGiC;AACjC,mDAAsE;AAEtE,MAAM,QAAQ,GAAG,qCAAqC,CAAA;AAsGtD,SAAgB,oBAAoB,CAiBlC,UAAmE;IAEnE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,GACrC,UAA4C,CAAA;IAE9C,IAAI,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACpB,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,IAAA,0BAAU,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;QAC1D,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,iCAAwB,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;QACzE,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU;QAC7B,MAAM,IAAI,iCAAwB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC7D,IAAI,CAAC,OAAO,CAAC,OAAO;QAClB,MAAM,IAAI,wCAA+B,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;IAEvE,MAAM,MAAM,GAAG,IAAA,4CAAmB,EAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACzD,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAC7B,OAAO,MAAiE,CAAA;IAC1E,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAC/B,OAAO,MAAM,CAAC,CAAC,CAA4D,CAAA;IAC7E,OAAO,SAAoE,CAAA;AAC7E,CAAC"}

231
node_modules/viem/_cjs/utils/abi/encodeAbiParameters.js generated vendored Normal file
View File

@@ -0,0 +1,231 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.encodeAbiParameters = encodeAbiParameters;
exports.getArrayComponents = getArrayComponents;
const abi_js_1 = require("../../errors/abi.js");
const address_js_1 = require("../../errors/address.js");
const base_js_1 = require("../../errors/base.js");
const encoding_js_1 = require("../../errors/encoding.js");
const isAddress_js_1 = require("../address/isAddress.js");
const concat_js_1 = require("../data/concat.js");
const pad_js_1 = require("../data/pad.js");
const size_js_1 = require("../data/size.js");
const slice_js_1 = require("../data/slice.js");
const toHex_js_1 = require("../encoding/toHex.js");
const regex_js_1 = require("../regex.js");
function encodeAbiParameters(params, values) {
if (params.length !== values.length)
throw new abi_js_1.AbiEncodingLengthMismatchError({
expectedLength: params.length,
givenLength: values.length,
});
const preparedParams = prepareParams({
params: params,
values: values,
});
const data = encodeParams(preparedParams);
if (data.length === 0)
return '0x';
return data;
}
function prepareParams({ params, values, }) {
const preparedParams = [];
for (let i = 0; i < params.length; i++) {
preparedParams.push(prepareParam({ param: params[i], value: values[i] }));
}
return preparedParams;
}
function prepareParam({ param, value, }) {
const arrayComponents = getArrayComponents(param.type);
if (arrayComponents) {
const [length, type] = arrayComponents;
return encodeArray(value, { length, param: { ...param, type } });
}
if (param.type === 'tuple') {
return encodeTuple(value, {
param: param,
});
}
if (param.type === 'address') {
return encodeAddress(value);
}
if (param.type === 'bool') {
return encodeBool(value);
}
if (param.type.startsWith('uint') || param.type.startsWith('int')) {
const signed = param.type.startsWith('int');
const [, , size = '256'] = regex_js_1.integerRegex.exec(param.type) ?? [];
return encodeNumber(value, {
signed,
size: Number(size),
});
}
if (param.type.startsWith('bytes')) {
return encodeBytes(value, { param });
}
if (param.type === 'string') {
return encodeString(value);
}
throw new abi_js_1.InvalidAbiEncodingTypeError(param.type, {
docsPath: '/docs/contract/encodeAbiParameters',
});
}
function encodeParams(preparedParams) {
let staticSize = 0;
for (let i = 0; i < preparedParams.length; i++) {
const { dynamic, encoded } = preparedParams[i];
if (dynamic)
staticSize += 32;
else
staticSize += (0, size_js_1.size)(encoded);
}
const staticParams = [];
const dynamicParams = [];
let dynamicSize = 0;
for (let i = 0; i < preparedParams.length; i++) {
const { dynamic, encoded } = preparedParams[i];
if (dynamic) {
staticParams.push((0, toHex_js_1.numberToHex)(staticSize + dynamicSize, { size: 32 }));
dynamicParams.push(encoded);
dynamicSize += (0, size_js_1.size)(encoded);
}
else {
staticParams.push(encoded);
}
}
return (0, concat_js_1.concat)([...staticParams, ...dynamicParams]);
}
function encodeAddress(value) {
if (!(0, isAddress_js_1.isAddress)(value))
throw new address_js_1.InvalidAddressError({ address: value });
return { dynamic: false, encoded: (0, pad_js_1.padHex)(value.toLowerCase()) };
}
function encodeArray(value, { length, param, }) {
const dynamic = length === null;
if (!Array.isArray(value))
throw new abi_js_1.InvalidArrayError(value);
if (!dynamic && value.length !== length)
throw new abi_js_1.AbiEncodingArrayLengthMismatchError({
expectedLength: length,
givenLength: value.length,
type: `${param.type}[${length}]`,
});
let dynamicChild = false;
const preparedParams = [];
for (let i = 0; i < value.length; i++) {
const preparedParam = prepareParam({ param, value: value[i] });
if (preparedParam.dynamic)
dynamicChild = true;
preparedParams.push(preparedParam);
}
if (dynamic || dynamicChild) {
const data = encodeParams(preparedParams);
if (dynamic) {
const length = (0, toHex_js_1.numberToHex)(preparedParams.length, { size: 32 });
return {
dynamic: true,
encoded: preparedParams.length > 0 ? (0, concat_js_1.concat)([length, data]) : length,
};
}
if (dynamicChild)
return { dynamic: true, encoded: data };
}
return {
dynamic: false,
encoded: (0, concat_js_1.concat)(preparedParams.map(({ encoded }) => encoded)),
};
}
function encodeBytes(value, { param }) {
const [, paramSize] = param.type.split('bytes');
const bytesSize = (0, size_js_1.size)(value);
if (!paramSize) {
let value_ = value;
if (bytesSize % 32 !== 0)
value_ = (0, pad_js_1.padHex)(value_, {
dir: 'right',
size: Math.ceil((value.length - 2) / 2 / 32) * 32,
});
return {
dynamic: true,
encoded: (0, concat_js_1.concat)([(0, pad_js_1.padHex)((0, toHex_js_1.numberToHex)(bytesSize, { size: 32 })), value_]),
};
}
if (bytesSize !== Number.parseInt(paramSize, 10))
throw new abi_js_1.AbiEncodingBytesSizeMismatchError({
expectedSize: Number.parseInt(paramSize, 10),
value,
});
return { dynamic: false, encoded: (0, pad_js_1.padHex)(value, { dir: 'right' }) };
}
function encodeBool(value) {
if (typeof value !== 'boolean')
throw new base_js_1.BaseError(`Invalid boolean value: "${value}" (type: ${typeof value}). Expected: \`true\` or \`false\`.`);
return { dynamic: false, encoded: (0, pad_js_1.padHex)((0, toHex_js_1.boolToHex)(value)) };
}
function encodeNumber(value, { signed, size = 256 }) {
if (typeof size === 'number') {
const max = 2n ** (BigInt(size) - (signed ? 1n : 0n)) - 1n;
const min = signed ? -max - 1n : 0n;
if (value > max || value < min)
throw new encoding_js_1.IntegerOutOfRangeError({
max: max.toString(),
min: min.toString(),
signed,
size: size / 8,
value: value.toString(),
});
}
return {
dynamic: false,
encoded: (0, toHex_js_1.numberToHex)(value, {
size: 32,
signed,
}),
};
}
function encodeString(value) {
const hexValue = (0, toHex_js_1.stringToHex)(value);
const partsLength = Math.ceil((0, size_js_1.size)(hexValue) / 32);
const parts = [];
for (let i = 0; i < partsLength; i++) {
parts.push((0, pad_js_1.padHex)((0, slice_js_1.slice)(hexValue, i * 32, (i + 1) * 32), {
dir: 'right',
}));
}
return {
dynamic: true,
encoded: (0, concat_js_1.concat)([
(0, pad_js_1.padHex)((0, toHex_js_1.numberToHex)((0, size_js_1.size)(hexValue), { size: 32 })),
...parts,
]),
};
}
function encodeTuple(value, { param }) {
let dynamic = false;
const preparedParams = [];
for (let i = 0; i < param.components.length; i++) {
const param_ = param.components[i];
const index = Array.isArray(value) ? i : param_.name;
const preparedParam = prepareParam({
param: param_,
value: value[index],
});
preparedParams.push(preparedParam);
if (preparedParam.dynamic)
dynamic = true;
}
return {
dynamic,
encoded: dynamic
? encodeParams(preparedParams)
: (0, concat_js_1.concat)(preparedParams.map(({ encoded }) => encoded)),
};
}
function getArrayComponents(type) {
const matches = type.match(/^(.*)\[(\d+)?\]$/);
return matches
?
[matches[2] ? Number(matches[2]) : null, matches[1]]
: undefined;
}
//# sourceMappingURL=encodeAbiParameters.js.map

File diff suppressed because one or more lines are too long

22
node_modules/viem/_cjs/utils/abi/encodeDeployData.js generated vendored Normal file
View File

@@ -0,0 +1,22 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.encodeDeployData = encodeDeployData;
const abi_js_1 = require("../../errors/abi.js");
const concat_js_1 = require("../data/concat.js");
const encodeAbiParameters_js_1 = require("./encodeAbiParameters.js");
const docsPath = '/docs/contract/encodeDeployData';
function encodeDeployData(parameters) {
const { abi, args, bytecode } = parameters;
if (!args || args.length === 0)
return bytecode;
const description = abi.find((x) => 'type' in x && x.type === 'constructor');
if (!description)
throw new abi_js_1.AbiConstructorNotFoundError({ docsPath });
if (!('inputs' in description))
throw new abi_js_1.AbiConstructorParamsNotFoundError({ docsPath });
if (!description.inputs || description.inputs.length === 0)
throw new abi_js_1.AbiConstructorParamsNotFoundError({ docsPath });
const data = (0, encodeAbiParameters_js_1.encodeAbiParameters)(description.inputs, args);
return (0, concat_js_1.concatHex)([bytecode, data]);
}
//# sourceMappingURL=encodeDeployData.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"encodeDeployData.js","sourceRoot":"","sources":["../../../utils/abi/encodeDeployData.ts"],"names":[],"mappings":";;AAiDA,4CAeC;AA9DD,gDAI4B;AAK5B,iDAAsE;AACtE,qEAGiC;AAEjC,MAAM,QAAQ,GAAG,iCAAiC,CAAA;AAgClD,SAAgB,gBAAgB,CAC9B,UAA2C;IAE3C,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,UAAwC,CAAA;IACxE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAA;IAE/C,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAA;IAC5E,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,oCAA2B,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IACrE,IAAI,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC;QAC5B,MAAM,IAAI,0CAAiC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC3D,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QACxD,MAAM,IAAI,0CAAiC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAE3D,MAAM,IAAI,GAAG,IAAA,4CAAmB,EAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC1D,OAAO,IAAA,qBAAS,EAAC,CAAC,QAAQ,EAAE,IAAK,CAAC,CAAC,CAAA;AACrC,CAAC"}

32
node_modules/viem/_cjs/utils/abi/encodeErrorResult.js generated vendored Normal file
View File

@@ -0,0 +1,32 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.encodeErrorResult = encodeErrorResult;
const abi_js_1 = require("../../errors/abi.js");
const concat_js_1 = require("../data/concat.js");
const toFunctionSelector_js_1 = require("../hash/toFunctionSelector.js");
const encodeAbiParameters_js_1 = require("./encodeAbiParameters.js");
const formatAbiItem_js_1 = require("./formatAbiItem.js");
const getAbiItem_js_1 = require("./getAbiItem.js");
const docsPath = '/docs/contract/encodeErrorResult';
function encodeErrorResult(parameters) {
const { abi, errorName, args } = parameters;
let abiItem = abi[0];
if (errorName) {
const item = (0, getAbiItem_js_1.getAbiItem)({ abi, args, name: errorName });
if (!item)
throw new abi_js_1.AbiErrorNotFoundError(errorName, { docsPath });
abiItem = item;
}
if (abiItem.type !== 'error')
throw new abi_js_1.AbiErrorNotFoundError(undefined, { docsPath });
const definition = (0, formatAbiItem_js_1.formatAbiItem)(abiItem);
const signature = (0, toFunctionSelector_js_1.toFunctionSelector)(definition);
let data = '0x';
if (args && args.length > 0) {
if (!abiItem.inputs)
throw new abi_js_1.AbiErrorInputsNotFoundError(abiItem.name, { docsPath });
data = (0, encodeAbiParameters_js_1.encodeAbiParameters)(abiItem.inputs, args);
}
return (0, concat_js_1.concatHex)([signature, data]);
}
//# sourceMappingURL=encodeErrorResult.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"encodeErrorResult.js","sourceRoot":"","sources":["../../../utils/abi/encodeErrorResult.ts"],"names":[],"mappings":";;AAmEA,8CA4BC;AA7FD,gDAG4B;AAQ5B,iDAAsE;AACtE,yEAGsC;AACtC,qEAGiC;AACjC,yDAA+E;AAC/E,mDAAsE;AAEtE,MAAM,QAAQ,GAAG,kCAAkC,CAAA;AA0CnD,SAAgB,iBAAiB,CAI/B,UAAuD;IAEvD,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,UAAyC,CAAA;IAE1E,IAAI,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACpB,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,IAAA,0BAAU,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QACvD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,8BAAqB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;QACnE,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;QAC1B,MAAM,IAAI,8BAAqB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;IAE1D,MAAM,UAAU,GAAG,IAAA,gCAAa,EAAC,OAAO,CAAC,CAAA;IACzC,MAAM,SAAS,GAAG,IAAA,0CAAkB,EAAC,UAAU,CAAC,CAAA;IAEhD,IAAI,IAAI,GAAQ,IAAI,CAAA;IACpB,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,MAAM;YACjB,MAAM,IAAI,oCAA2B,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;QACnE,IAAI,GAAG,IAAA,4CAAmB,EAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAClD,CAAC;IACD,OAAO,IAAA,qBAAS,EAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;AACrC,CAAC"}

54
node_modules/viem/_cjs/utils/abi/encodeEventTopics.js generated vendored Normal file
View File

@@ -0,0 +1,54 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.encodeEventTopics = encodeEventTopics;
const abi_js_1 = require("../../errors/abi.js");
const log_js_1 = require("../../errors/log.js");
const toBytes_js_1 = require("../encoding/toBytes.js");
const keccak256_js_1 = require("../hash/keccak256.js");
const toEventSelector_js_1 = require("../hash/toEventSelector.js");
const encodeAbiParameters_js_1 = require("./encodeAbiParameters.js");
const formatAbiItem_js_1 = require("./formatAbiItem.js");
const getAbiItem_js_1 = require("./getAbiItem.js");
const docsPath = '/docs/contract/encodeEventTopics';
function encodeEventTopics(parameters) {
const { abi, eventName, args } = parameters;
let abiItem = abi[0];
if (eventName) {
const item = (0, getAbiItem_js_1.getAbiItem)({ abi, name: eventName });
if (!item)
throw new abi_js_1.AbiEventNotFoundError(eventName, { docsPath });
abiItem = item;
}
if (abiItem.type !== 'event')
throw new abi_js_1.AbiEventNotFoundError(undefined, { docsPath });
const definition = (0, formatAbiItem_js_1.formatAbiItem)(abiItem);
const signature = (0, toEventSelector_js_1.toEventSelector)(definition);
let topics = [];
if (args && 'inputs' in abiItem) {
const indexedInputs = abiItem.inputs?.filter((param) => 'indexed' in param && param.indexed);
const args_ = Array.isArray(args)
? args
: Object.values(args).length > 0
? (indexedInputs?.map((x) => args[x.name]) ?? [])
: [];
if (args_.length > 0) {
topics =
indexedInputs?.map((param, i) => {
if (Array.isArray(args_[i]))
return args_[i].map((_, j) => encodeArg({ param, value: args_[i][j] }));
return typeof args_[i] !== 'undefined' && args_[i] !== null
? encodeArg({ param, value: args_[i] })
: null;
}) ?? [];
}
}
return [signature, ...topics];
}
function encodeArg({ param, value, }) {
if (param.type === 'string' || param.type === 'bytes')
return (0, keccak256_js_1.keccak256)((0, toBytes_js_1.toBytes)(value));
if (param.type === 'tuple' || param.type.match(/^(.*)\[(\d+)?\]$/))
throw new log_js_1.FilterTypeNotSupportedError(param.type);
return (0, encodeAbiParameters_js_1.encodeAbiParameters)([param], [value]);
}
//# sourceMappingURL=encodeEventTopics.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"encodeEventTopics.js","sourceRoot":"","sources":["../../../utils/abi/encodeEventTopics.ts"],"names":[],"mappings":"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"}

22
node_modules/viem/_cjs/utils/abi/encodeFunctionData.js generated vendored Normal file
View File

@@ -0,0 +1,22 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.encodeFunctionData = encodeFunctionData;
const concat_js_1 = require("../data/concat.js");
const encodeAbiParameters_js_1 = require("./encodeAbiParameters.js");
const prepareEncodeFunctionData_js_1 = require("./prepareEncodeFunctionData.js");
function encodeFunctionData(parameters) {
const { args } = parameters;
const { abi, functionName } = (() => {
if (parameters.abi.length === 1 &&
parameters.functionName?.startsWith('0x'))
return parameters;
return (0, prepareEncodeFunctionData_js_1.prepareEncodeFunctionData)(parameters);
})();
const abiItem = abi[0];
const signature = functionName;
const data = 'inputs' in abiItem && abiItem.inputs
? (0, encodeAbiParameters_js_1.encodeAbiParameters)(abiItem.inputs, args ?? [])
: undefined;
return (0, concat_js_1.concatHex)([signature, data ?? '0x']);
}
//# sourceMappingURL=encodeFunctionData.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"encodeFunctionData.js","sourceRoot":"","sources":["../../../utils/abi/encodeFunctionData.ts"],"names":[],"mappings":";;AAqEA,gDAyBC;AApFD,iDAAsE;AAEtE,qEAGiC;AAGjC,iFAA0E;AAmD1E,SAAgB,kBAAkB,CAIhC,UAA2D;IAE3D,MAAM,EAAE,IAAI,EAAE,GAAG,UAA0C,CAAA;IAE3D,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,CAAC,GAAG,EAAE;QAClC,IACE,UAAU,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC;YAC3B,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC;YAEzC,OAAO,UAA6C,CAAA;QACtD,OAAO,IAAA,wDAAyB,EAAC,UAAU,CAAC,CAAA;IAC9C,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACtB,MAAM,SAAS,GAAG,YAAY,CAAA;IAE9B,MAAM,IAAI,GACR,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM;QACnC,CAAC,CAAC,IAAA,4CAAmB,EAAC,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QACjD,CAAC,CAAC,SAAS,CAAA;IACf,OAAO,IAAA,qBAAS,EAAC,CAAC,SAAS,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAA;AAC7C,CAAC"}

View File

@@ -0,0 +1,32 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.encodeFunctionResult = encodeFunctionResult;
const abi_js_1 = require("../../errors/abi.js");
const encodeAbiParameters_js_1 = require("./encodeAbiParameters.js");
const getAbiItem_js_1 = require("./getAbiItem.js");
const docsPath = '/docs/contract/encodeFunctionResult';
function encodeFunctionResult(parameters) {
const { abi, functionName, result } = parameters;
let abiItem = abi[0];
if (functionName) {
const item = (0, getAbiItem_js_1.getAbiItem)({ abi, name: functionName });
if (!item)
throw new abi_js_1.AbiFunctionNotFoundError(functionName, { docsPath });
abiItem = item;
}
if (abiItem.type !== 'function')
throw new abi_js_1.AbiFunctionNotFoundError(undefined, { docsPath });
if (!abiItem.outputs)
throw new abi_js_1.AbiFunctionOutputsNotFoundError(abiItem.name, { docsPath });
const values = (() => {
if (abiItem.outputs.length === 0)
return [];
if (abiItem.outputs.length === 1)
return [result];
if (Array.isArray(result))
return result;
throw new abi_js_1.InvalidArrayError(result);
})();
return (0, encodeAbiParameters_js_1.encodeAbiParameters)(abiItem.outputs, values);
}
//# sourceMappingURL=encodeFunctionResult.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"encodeFunctionResult.js","sourceRoot":"","sources":["../../../utils/abi/encodeFunctionResult.ts"],"names":[],"mappings":";;AAkEA,oDA8BC;AA9FD,gDAI4B;AAQ5B,qEAGiC;AACjC,mDAAsE;AAEtE,MAAM,QAAQ,GAAG,qCAAqC,CAAA;AA8CtD,SAAgB,oBAAoB,CAIlC,UAA6D;IAE7D,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,GACjC,UAA4C,CAAA;IAE9C,IAAI,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACpB,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,IAAA,0BAAU,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,iCAAwB,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;QACzE,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU;QAC7B,MAAM,IAAI,iCAAwB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;IAE7D,IAAI,CAAC,OAAO,CAAC,OAAO;QAClB,MAAM,IAAI,wCAA+B,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;IAEvE,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;QACnB,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAC3C,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACjD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAA;QACxC,MAAM,IAAI,0BAAiB,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,IAAA,4CAAmB,EAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;AACrD,CAAC"}

72
node_modules/viem/_cjs/utils/abi/encodePacked.js generated vendored Normal file
View File

@@ -0,0 +1,72 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.encodePacked = encodePacked;
const abi_js_1 = require("../../errors/abi.js");
const address_js_1 = require("../../errors/address.js");
const isAddress_js_1 = require("../address/isAddress.js");
const concat_js_1 = require("../data/concat.js");
const pad_js_1 = require("../data/pad.js");
const toHex_js_1 = require("../encoding/toHex.js");
const regex_js_1 = require("../regex.js");
function encodePacked(types, values) {
if (types.length !== values.length)
throw new abi_js_1.AbiEncodingLengthMismatchError({
expectedLength: types.length,
givenLength: values.length,
});
const data = [];
for (let i = 0; i < types.length; i++) {
const type = types[i];
const value = values[i];
data.push(encode(type, value));
}
return (0, concat_js_1.concatHex)(data);
}
function encode(type, value, isArray = false) {
if (type === 'address') {
const address = value;
if (!(0, isAddress_js_1.isAddress)(address))
throw new address_js_1.InvalidAddressError({ address });
return (0, pad_js_1.pad)(address.toLowerCase(), {
size: isArray ? 32 : null,
});
}
if (type === 'string')
return (0, toHex_js_1.stringToHex)(value);
if (type === 'bytes')
return value;
if (type === 'bool')
return (0, pad_js_1.pad)((0, toHex_js_1.boolToHex)(value), { size: isArray ? 32 : 1 });
const intMatch = type.match(regex_js_1.integerRegex);
if (intMatch) {
const [_type, baseType, bits = '256'] = intMatch;
const size = Number.parseInt(bits, 10) / 8;
return (0, toHex_js_1.numberToHex)(value, {
size: isArray ? 32 : size,
signed: baseType === 'int',
});
}
const bytesMatch = type.match(regex_js_1.bytesRegex);
if (bytesMatch) {
const [_type, size] = bytesMatch;
if (Number.parseInt(size, 10) !== (value.length - 2) / 2)
throw new abi_js_1.BytesSizeMismatchError({
expectedSize: Number.parseInt(size, 10),
givenSize: (value.length - 2) / 2,
});
return (0, pad_js_1.pad)(value, { dir: 'right', size: isArray ? 32 : null });
}
const arrayMatch = type.match(regex_js_1.arrayRegex);
if (arrayMatch && Array.isArray(value)) {
const [_type, childType] = arrayMatch;
const data = [];
for (let i = 0; i < value.length; i++) {
data.push(encode(childType, value[i], true));
}
if (data.length === 0)
return '0x';
return (0, concat_js_1.concatHex)(data);
}
throw new abi_js_1.UnsupportedPackedAbiType(type);
}
//# sourceMappingURL=encodePacked.js.map

1
node_modules/viem/_cjs/utils/abi/encodePacked.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"encodePacked.js","sourceRoot":"","sources":["../../../utils/abi/encodePacked.ts"],"names":[],"mappings":"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"}

26
node_modules/viem/_cjs/utils/abi/formatAbiItem.js generated vendored Normal file
View File

@@ -0,0 +1,26 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatAbiItem = formatAbiItem;
exports.formatAbiParams = formatAbiParams;
const abi_js_1 = require("../../errors/abi.js");
function formatAbiItem(abiItem, { includeName = false } = {}) {
if (abiItem.type !== 'function' &&
abiItem.type !== 'event' &&
abiItem.type !== 'error')
throw new abi_js_1.InvalidDefinitionTypeError(abiItem.type);
return `${abiItem.name}(${formatAbiParams(abiItem.inputs, { includeName })})`;
}
function formatAbiParams(params, { includeName = false } = {}) {
if (!params)
return '';
return params
.map((param) => formatAbiParam(param, { includeName }))
.join(includeName ? ', ' : ',');
}
function formatAbiParam(param, { includeName }) {
if (param.type.startsWith('tuple')) {
return `(${formatAbiParams(param.components, { includeName })})${param.type.slice('tuple'.length)}`;
}
return param.type + (includeName && param.name ? ` ${param.name}` : '');
}
//# sourceMappingURL=formatAbiItem.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"formatAbiItem.js","sourceRoot":"","sources":["../../../utils/abi/formatAbiItem.ts"],"names":[],"mappings":";;AAcA,sCAYC;AAID,0CAQC;AApCD,gDAG4B;AAS5B,SAAgB,aAAa,CAC3B,OAAgB,EAChB,EAAE,WAAW,GAAG,KAAK,KAA4C,EAAE;IAEnE,IACE,OAAO,CAAC,IAAI,KAAK,UAAU;QAC3B,OAAO,CAAC,IAAI,KAAK,OAAO;QACxB,OAAO,CAAC,IAAI,KAAK,OAAO;QAExB,MAAM,IAAI,mCAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAEpD,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,GAAG,CAAA;AAC/E,CAAC;AAID,SAAgB,eAAe,CAC7B,MAA2C,EAC3C,EAAE,WAAW,GAAG,KAAK,KAA4C,EAAE;IAEnE,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IACtB,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;SACtD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AACnC,CAAC;AAID,SAAS,cAAc,CACrB,KAAmB,EACnB,EAAE,WAAW,EAA4B;IAEzC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,eAAe,CACvB,KAAmD,CAAC,UAAU,EAC/D,EAAE,WAAW,EAAE,CAChB,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAA;IACzC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AACzE,CAAC"}

View File

@@ -0,0 +1,16 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatAbiItemWithArgs = formatAbiItemWithArgs;
const stringify_js_1 = require("../stringify.js");
function formatAbiItemWithArgs({ abiItem, args, includeFunctionName = true, includeName = false, }) {
if (!('name' in abiItem))
return;
if (!('inputs' in abiItem))
return;
if (!abiItem.inputs)
return;
return `${includeFunctionName ? abiItem.name : ''}(${abiItem.inputs
.map((input, i) => `${includeName && input.name ? `${input.name}: ` : ''}${typeof args[i] === 'object' ? (0, stringify_js_1.stringify)(args[i]) : args[i]}`)
.join(', ')})`;
}
//# sourceMappingURL=formatAbiItemWithArgs.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"formatAbiItemWithArgs.js","sourceRoot":"","sources":["../../../utils/abi/formatAbiItemWithArgs.ts"],"names":[],"mappings":";;AAQA,sDAsBC;AA1BD,kDAA2C;AAI3C,SAAgB,qBAAqB,CAAC,EACpC,OAAO,EACP,IAAI,EACJ,mBAAmB,GAAG,IAAI,EAC1B,WAAW,GAAG,KAAK,GAMpB;IACC,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC;QAAE,OAAM;IAChC,IAAI,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC;QAAE,OAAM;IAClC,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAM;IAC3B,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,MAAM;SAChE,GAAG,CACF,CAAC,KAAmB,EAAE,CAAS,EAAE,EAAE,CACjC,GAAG,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,GACnD,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,wBAAS,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAC3D,EAAE,CACL;SACA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;AAClB,CAAC"}

127
node_modules/viem/_cjs/utils/abi/getAbiItem.js generated vendored Normal file
View File

@@ -0,0 +1,127 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAbiItem = getAbiItem;
exports.isArgOfType = isArgOfType;
exports.getAmbiguousTypes = getAmbiguousTypes;
const abi_js_1 = require("../../errors/abi.js");
const isHex_js_1 = require("../../utils/data/isHex.js");
const isAddress_js_1 = require("../address/isAddress.js");
const toEventSelector_js_1 = require("../hash/toEventSelector.js");
const toFunctionSelector_js_1 = require("../hash/toFunctionSelector.js");
function getAbiItem(parameters) {
const { abi, args = [], name } = parameters;
const isSelector = (0, isHex_js_1.isHex)(name, { strict: false });
const abiItems = abi.filter((abiItem) => {
if (isSelector) {
if (abiItem.type === 'function')
return (0, toFunctionSelector_js_1.toFunctionSelector)(abiItem) === name;
if (abiItem.type === 'event')
return (0, toEventSelector_js_1.toEventSelector)(abiItem) === name;
return false;
}
return 'name' in abiItem && abiItem.name === name;
});
if (abiItems.length === 0)
return undefined;
if (abiItems.length === 1)
return abiItems[0];
let matchedAbiItem;
for (const abiItem of abiItems) {
if (!('inputs' in abiItem))
continue;
if (!args || args.length === 0) {
if (!abiItem.inputs || abiItem.inputs.length === 0)
return abiItem;
continue;
}
if (!abiItem.inputs)
continue;
if (abiItem.inputs.length === 0)
continue;
if (abiItem.inputs.length !== args.length)
continue;
const matched = args.every((arg, index) => {
const abiParameter = 'inputs' in abiItem && abiItem.inputs[index];
if (!abiParameter)
return false;
return isArgOfType(arg, abiParameter);
});
if (matched) {
if (matchedAbiItem &&
'inputs' in matchedAbiItem &&
matchedAbiItem.inputs) {
const ambiguousTypes = getAmbiguousTypes(abiItem.inputs, matchedAbiItem.inputs, args);
if (ambiguousTypes)
throw new abi_js_1.AbiItemAmbiguityError({
abiItem,
type: ambiguousTypes[0],
}, {
abiItem: matchedAbiItem,
type: ambiguousTypes[1],
});
}
matchedAbiItem = abiItem;
}
}
if (matchedAbiItem)
return matchedAbiItem;
return abiItems[0];
}
function isArgOfType(arg, abiParameter) {
const argType = typeof arg;
const abiParameterType = abiParameter.type;
switch (abiParameterType) {
case 'address':
return (0, isAddress_js_1.isAddress)(arg, { strict: false });
case 'bool':
return argType === 'boolean';
case 'function':
return argType === 'string';
case 'string':
return argType === 'string';
default: {
if (abiParameterType === 'tuple' && 'components' in abiParameter)
return Object.values(abiParameter.components).every((component, index) => {
return (argType === 'object' &&
isArgOfType(Object.values(arg)[index], component));
});
if (/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(abiParameterType))
return argType === 'number' || argType === 'bigint';
if (/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(abiParameterType))
return argType === 'string' || arg instanceof Uint8Array;
if (/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(abiParameterType)) {
return (Array.isArray(arg) &&
arg.every((x) => isArgOfType(x, {
...abiParameter,
type: abiParameterType.replace(/(\[[0-9]{0,}\])$/, ''),
})));
}
return false;
}
}
}
function getAmbiguousTypes(sourceParameters, targetParameters, args) {
for (const parameterIndex in sourceParameters) {
const sourceParameter = sourceParameters[parameterIndex];
const targetParameter = targetParameters[parameterIndex];
if (sourceParameter.type === 'tuple' &&
targetParameter.type === 'tuple' &&
'components' in sourceParameter &&
'components' in targetParameter)
return getAmbiguousTypes(sourceParameter.components, targetParameter.components, args[parameterIndex]);
const types = [sourceParameter.type, targetParameter.type];
const ambiguous = (() => {
if (types.includes('address') && types.includes('bytes20'))
return true;
if (types.includes('address') && types.includes('string'))
return (0, isAddress_js_1.isAddress)(args[parameterIndex], { strict: false });
if (types.includes('address') && types.includes('bytes'))
return (0, isAddress_js_1.isAddress)(args[parameterIndex], { strict: false });
return false;
})();
if (ambiguous)
return types;
}
return;
}
//# sourceMappingURL=getAbiItem.js.map

1
node_modules/viem/_cjs/utils/abi/getAbiItem.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"getAbiItem.js","sourceRoot":"","sources":["../../../utils/abi/getAbiItem.ts"],"names":[],"mappings":"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"}

123
node_modules/viem/_cjs/utils/abi/parseEventLogs.js generated vendored Normal file
View File

@@ -0,0 +1,123 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseEventLogs = parseEventLogs;
const isAddressEqual_js_1 = require("../address/isAddressEqual.js");
const toBytes_js_1 = require("../encoding/toBytes.js");
const log_js_1 = require("../formatters/log.js");
const keccak256_js_1 = require("../hash/keccak256.js");
const toEventSelector_js_1 = require("../hash/toEventSelector.js");
const decodeEventLog_js_1 = require("./decodeEventLog.js");
function parseEventLogs(parameters) {
const { abi, args, logs, strict = true } = parameters;
const eventName = (() => {
if (!parameters.eventName)
return undefined;
if (Array.isArray(parameters.eventName))
return parameters.eventName;
return [parameters.eventName];
})();
const abiTopics = abi
.filter((abiItem) => abiItem.type === 'event')
.map((abiItem) => ({
abi: abiItem,
selector: (0, toEventSelector_js_1.toEventSelector)(abiItem),
}));
return logs
.map((log) => {
const formattedLog = typeof log.blockNumber === 'string' ? (0, log_js_1.formatLog)(log) : log;
const abiItems = abiTopics.filter((abiTopic) => formattedLog.topics[0] === abiTopic.selector);
if (abiItems.length === 0)
return null;
let event;
let abiItem;
for (const item of abiItems) {
try {
event = (0, decodeEventLog_js_1.decodeEventLog)({
...formattedLog,
abi: [item.abi],
strict: true,
});
abiItem = item;
break;
}
catch {
}
}
if (!event && !strict) {
abiItem = abiItems[0];
try {
event = (0, decodeEventLog_js_1.decodeEventLog)({
data: formattedLog.data,
topics: formattedLog.topics,
abi: [abiItem.abi],
strict: false,
});
}
catch {
const isUnnamed = abiItem.abi.inputs?.some((x) => !('name' in x && x.name));
return {
...formattedLog,
args: isUnnamed ? [] : {},
eventName: abiItem.abi.name,
};
}
}
if (!event || !abiItem)
return null;
if (eventName && !eventName.includes(event.eventName))
return null;
if (!includesArgs({
args: event.args,
inputs: abiItem.abi.inputs,
matchArgs: args,
}))
return null;
return { ...event, ...formattedLog };
})
.filter(Boolean);
}
function includesArgs(parameters) {
const { args, inputs, matchArgs } = parameters;
if (!matchArgs)
return true;
if (!args)
return false;
function isEqual(input, value, arg) {
try {
if (input.type === 'address')
return (0, isAddressEqual_js_1.isAddressEqual)(value, arg);
if (input.type === 'string' || input.type === 'bytes')
return (0, keccak256_js_1.keccak256)((0, toBytes_js_1.toBytes)(value)) === arg;
return value === arg;
}
catch {
return false;
}
}
if (Array.isArray(args) && Array.isArray(matchArgs)) {
return matchArgs.every((value, index) => {
if (value === null || value === undefined)
return true;
const input = inputs[index];
if (!input)
return false;
const value_ = Array.isArray(value) ? value : [value];
return value_.some((value) => isEqual(input, value, args[index]));
});
}
if (typeof args === 'object' &&
!Array.isArray(args) &&
typeof matchArgs === 'object' &&
!Array.isArray(matchArgs))
return Object.entries(matchArgs).every(([key, value]) => {
if (value === null || value === undefined)
return true;
const input = inputs.find((input) => input.name === key);
if (!input)
return false;
const value_ = Array.isArray(value) ? value : [value];
return value_.some((value) => isEqual(input, value, args[key]));
});
return false;
}
//# sourceMappingURL=parseEventLogs.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"parseEventLogs.js","sourceRoot":"","sources":["../../../utils/abi/parseEventLogs.ts"],"names":[],"mappings":";;AA6FA,wCA0GC;AAhMD,oEAA6D;AAC7D,uDAAgD;AAChD,iDAAgD;AAChD,uDAAgD;AAChD,mEAA4D;AAC5D,2DAG4B;AA8E5B,SAAgB,cAAc,CAQ5B,UAA4D;IAE5D,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IAErD,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;QACtB,IAAI,CAAC,UAAU,CAAC,SAAS;YAAE,OAAO,SAAS,CAAA;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,UAAU,CAAC,SAAS,CAAA;QACpE,OAAO,CAAC,UAAU,CAAC,SAAmB,CAAC,CAAA;IACzC,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,SAAS,GAAI,GAAW;SAC3B,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC;SAC7C,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACjB,GAAG,EAAE,OAAO;QACZ,QAAQ,EAAE,IAAA,oCAAe,EAAC,OAAO,CAAC;KACnC,CAAC,CAAC,CAAA;IAEL,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAIX,MAAM,YAAY,GAChB,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,kBAAS,EAAC,GAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QAKtE,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAC/B,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAC3D,CAAA;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAGtC,IAAI,KAAuD,CAAA;QAC3D,IAAI,OAAyD,CAAA;QAE7D,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,KAAK,GAAG,IAAA,kCAAc,EAAC;oBACrB,GAAG,YAAY;oBACf,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;oBACf,MAAM,EAAE,IAAI;iBACb,CAAC,CAAA;gBACF,OAAO,GAAG,IAAI,CAAA;gBACd,MAAK;YACP,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;QACH,CAAC;QAID,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YACrB,IAAI,CAAC;gBACH,KAAK,GAAG,IAAA,kCAAc,EAAC;oBACrB,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,MAAM,EAAE,YAAY,CAAC,MAAM;oBAC3B,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;oBAClB,MAAM,EAAE,KAAK;iBACd,CAAC,CAAA;YACJ,CAAC;YAAC,MAAM,CAAC;gBAEP,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAChC,CAAA;gBACD,OAAO;oBACL,GAAG,YAAY;oBACf,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;oBACzB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;iBAC5B,CAAA;YACH,CAAC;QACH,CAAC;QAGD,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAA;QAGnC,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAA;QAGlE,IACE,CAAC,YAAY,CAAC;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM;YAC1B,SAAS,EAAE,IAAI;SAChB,CAAC;YAEF,OAAO,IAAI,CAAA;QAEb,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,YAAY,EAAE,CAAA;IACtC,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAIhB,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,UAIrB;IACC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAA;IAE9C,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAA;IAC3B,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAA;IAEvB,SAAS,OAAO,CAAC,KAAwB,EAAE,KAAc,EAAE,GAAY;QACrE,IAAI,CAAC;YACH,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;gBAC1B,OAAO,IAAA,kCAAc,EAAC,KAAgB,EAAE,GAAc,CAAC,CAAA;YACzD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;gBACnD,OAAO,IAAA,wBAAS,EAAC,IAAA,oBAAO,EAAC,KAAe,CAAC,CAAC,KAAK,GAAG,CAAA;YACpD,OAAO,KAAK,KAAK,GAAG,CAAA;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACtC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAA;YACtD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YAC3B,IAAI,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAA;YACxB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACrD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACnE,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IACE,OAAO,IAAI,KAAK,QAAQ;QACxB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACpB,OAAO,SAAS,KAAK,QAAQ;QAC7B,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAEzB,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACtD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAA;YACtD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAA;YACxD,IAAI,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAA;YACxB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACrD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC3B,OAAO,CAAC,KAAK,EAAE,KAAK,EAAG,IAAgC,CAAC,GAAG,CAAC,CAAC,CAC9D,CAAA;QACH,CAAC,CAAC,CAAA;IAEJ,OAAO,KAAK,CAAA;AACd,CAAC"}

View File

@@ -0,0 +1,29 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.prepareEncodeFunctionData = prepareEncodeFunctionData;
const abi_js_1 = require("../../errors/abi.js");
const toFunctionSelector_js_1 = require("../hash/toFunctionSelector.js");
const formatAbiItem_js_1 = require("./formatAbiItem.js");
const getAbiItem_js_1 = require("./getAbiItem.js");
const docsPath = '/docs/contract/encodeFunctionData';
function prepareEncodeFunctionData(parameters) {
const { abi, args, functionName } = parameters;
let abiItem = abi[0];
if (functionName) {
const item = (0, getAbiItem_js_1.getAbiItem)({
abi,
args,
name: functionName,
});
if (!item)
throw new abi_js_1.AbiFunctionNotFoundError(functionName, { docsPath });
abiItem = item;
}
if (abiItem.type !== 'function')
throw new abi_js_1.AbiFunctionNotFoundError(undefined, { docsPath });
return {
abi: [abiItem],
functionName: (0, toFunctionSelector_js_1.toFunctionSelector)((0, formatAbiItem_js_1.formatAbiItem)(abiItem)),
};
}
//# sourceMappingURL=prepareEncodeFunctionData.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"prepareEncodeFunctionData.js","sourceRoot":"","sources":["../../../utils/abi/prepareEncodeFunctionData.ts"],"names":[],"mappings":";;AAmFA,8DA2BC;AAvGD,gDAG4B;AAS5B,yEAGsC;AACtC,yDAA+E;AAC/E,mDAAsE;AAEtE,MAAM,QAAQ,GAAG,mCAAmC,CAAA;AAyDpD,SAAgB,yBAAyB,CAIvC,UAAkE;IAElE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,GAC/B,UAAiD,CAAA;IAEnD,IAAI,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACpB,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,IAAA,0BAAU,EAAC;YACtB,GAAG;YACH,IAAI;YACJ,IAAI,EAAE,YAAY;SACnB,CAAC,CAAA;QACF,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,iCAAwB,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;QACzE,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU;QAC7B,MAAM,IAAI,iCAAwB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;IAE7D,OAAO;QACL,GAAG,EAAE,CAAC,OAAO,CAAC;QACd,YAAY,EAAE,IAAA,0CAAkB,EAAC,IAAA,gCAAa,EAAC,OAAO,CAAC,CAAC;KACY,CAAA;AACxE,CAAC"}

36
node_modules/viem/_cjs/utils/address/getAddress.js generated vendored Normal file
View File

@@ -0,0 +1,36 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.checksumAddress = checksumAddress;
exports.getAddress = getAddress;
const address_js_1 = require("../../errors/address.js");
const toBytes_js_1 = require("../encoding/toBytes.js");
const keccak256_js_1 = require("../hash/keccak256.js");
const lru_js_1 = require("../lru.js");
const isAddress_js_1 = require("./isAddress.js");
const checksumAddressCache = new lru_js_1.LruMap(8192);
function checksumAddress(address_, chainId) {
if (checksumAddressCache.has(`${address_}.${chainId}`))
return checksumAddressCache.get(`${address_}.${chainId}`);
const hexAddress = chainId
? `${chainId}${address_.toLowerCase()}`
: address_.substring(2).toLowerCase();
const hash = (0, keccak256_js_1.keccak256)((0, toBytes_js_1.stringToBytes)(hexAddress), 'bytes');
const address = (chainId ? hexAddress.substring(`${chainId}0x`.length) : hexAddress).split('');
for (let i = 0; i < 40; i += 2) {
if (hash[i >> 1] >> 4 >= 8 && address[i]) {
address[i] = address[i].toUpperCase();
}
if ((hash[i >> 1] & 0x0f) >= 8 && address[i + 1]) {
address[i + 1] = address[i + 1].toUpperCase();
}
}
const result = `0x${address.join('')}`;
checksumAddressCache.set(`${address_}.${chainId}`, result);
return result;
}
function getAddress(address, chainId) {
if (!(0, isAddress_js_1.isAddress)(address, { strict: false }))
throw new address_js_1.InvalidAddressError({ address });
return checksumAddress(address, chainId);
}
//# sourceMappingURL=getAddress.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../../utils/address/getAddress.ts"],"names":[],"mappings":";;AAmBA,0CAqCC;AAOD,gCAiBC;AA9ED,wDAA6D;AAE7D,uDAG+B;AAC/B,uDAAyE;AACzE,sCAAkC;AAClC,iDAAmE;AAEnE,MAAM,oBAAoB,GAAiB,IAAI,eAAM,CAAU,IAAI,CAAC,CAAA;AAOpE,SAAgB,eAAe,CAC7B,QAAiB,EAWjB,OAA4B;IAE5B,IAAI,oBAAoB,CAAC,GAAG,CAAC,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAC;QACpD,OAAO,oBAAoB,CAAC,GAAG,CAAC,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAE,CAAA;IAE5D,MAAM,UAAU,GAAG,OAAO;QACxB,CAAC,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE;QACvC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACvC,MAAM,IAAI,GAAG,IAAA,wBAAS,EAAC,IAAA,0BAAa,EAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAA;IAE1D,MAAM,OAAO,GAAG,CACd,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CACnE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QACvC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QAC/C,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAW,CAAA;IAC/C,oBAAoB,CAAC,GAAG,CAAC,GAAG,QAAQ,IAAI,OAAO,EAAE,EAAE,MAAM,CAAC,CAAA;IAC1D,OAAO,MAAM,CAAA;AACf,CAAC;AAOD,SAAgB,UAAU,CACxB,OAAe,EAWf,OAAgB;IAEhB,IAAI,CAAC,IAAA,wBAAS,EAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACxC,MAAM,IAAI,gCAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAC5C,OAAO,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAC1C,CAAC"}

View File

@@ -0,0 +1,41 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getContractAddress = getContractAddress;
exports.getCreateAddress = getCreateAddress;
exports.getCreate2Address = getCreate2Address;
const concat_js_1 = require("../data/concat.js");
const isBytes_js_1 = require("../data/isBytes.js");
const pad_js_1 = require("../data/pad.js");
const slice_js_1 = require("../data/slice.js");
const toBytes_js_1 = require("../encoding/toBytes.js");
const toRlp_js_1 = require("../encoding/toRlp.js");
const keccak256_js_1 = require("../hash/keccak256.js");
const getAddress_js_1 = require("./getAddress.js");
function getContractAddress(opts) {
if (opts.opcode === 'CREATE2')
return getCreate2Address(opts);
return getCreateAddress(opts);
}
function getCreateAddress(opts) {
const from = (0, toBytes_js_1.toBytes)((0, getAddress_js_1.getAddress)(opts.from));
let nonce = (0, toBytes_js_1.toBytes)(opts.nonce);
if (nonce[0] === 0)
nonce = new Uint8Array([]);
return (0, getAddress_js_1.getAddress)(`0x${(0, keccak256_js_1.keccak256)((0, toRlp_js_1.toRlp)([from, nonce], 'bytes')).slice(26)}`);
}
function getCreate2Address(opts) {
const from = (0, toBytes_js_1.toBytes)((0, getAddress_js_1.getAddress)(opts.from));
const salt = (0, pad_js_1.pad)((0, isBytes_js_1.isBytes)(opts.salt) ? opts.salt : (0, toBytes_js_1.toBytes)(opts.salt), {
size: 32,
});
const bytecodeHash = (() => {
if ('bytecodeHash' in opts) {
if ((0, isBytes_js_1.isBytes)(opts.bytecodeHash))
return opts.bytecodeHash;
return (0, toBytes_js_1.toBytes)(opts.bytecodeHash);
}
return (0, keccak256_js_1.keccak256)(opts.bytecode, 'bytes');
})();
return (0, getAddress_js_1.getAddress)((0, slice_js_1.slice)((0, keccak256_js_1.keccak256)((0, concat_js_1.concat)([(0, toBytes_js_1.toBytes)('0xff'), from, salt, bytecodeHash])), 12));
}
//# sourceMappingURL=getContractAddress.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getContractAddress.js","sourceRoot":"","sources":["../../../utils/address/getContractAddress.ts"],"names":[],"mappings":";;AAmCA,gDAGC;AASD,4CASC;AAaD,8CAiBC;AAnFD,iDAAgE;AAChE,mDAAmE;AACnE,2CAAuD;AACvD,+CAA6D;AAC7D,uDAAuE;AACvE,mDAAiE;AACjE,uDAAyE;AACzE,mDAAsE;AAyBtE,SAAgB,kBAAkB,CAAC,IAA+B;IAChE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAC7D,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC;AASD,SAAgB,gBAAgB,CAAC,IAA6B;IAC5D,MAAM,IAAI,GAAG,IAAA,oBAAO,EAAC,IAAA,0BAAU,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAE3C,IAAI,KAAK,GAAG,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/B,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;IAE9C,OAAO,IAAA,0BAAU,EACf,KAAK,IAAA,wBAAS,EAAC,IAAA,gBAAK,EAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAa,CACrE,CAAA;AACH,CAAC;AAaD,SAAgB,iBAAiB,CAAC,IAA8B;IAC9D,MAAM,IAAI,GAAG,IAAA,oBAAO,EAAC,IAAA,0BAAU,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC3C,MAAM,IAAI,GAAG,IAAA,YAAG,EAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACpE,IAAI,EAAE,EAAE;KACT,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;QACzB,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,IAAA,oBAAO,EAAC,IAAI,CAAC,YAAY,CAAC;gBAAE,OAAO,IAAI,CAAC,YAAY,CAAA;YACxD,OAAO,IAAA,oBAAO,EAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACnC,CAAC;QACD,OAAO,IAAA,wBAAS,EAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,IAAA,0BAAU,EACf,IAAA,gBAAK,EAAC,IAAA,wBAAS,EAAC,IAAA,kBAAM,EAAC,CAAC,IAAA,oBAAO,EAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC1E,CAAA;AACH,CAAC"}

26
node_modules/viem/_cjs/utils/address/isAddress.js generated vendored Normal file
View File

@@ -0,0 +1,26 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isAddressCache = void 0;
exports.isAddress = isAddress;
const lru_js_1 = require("../lru.js");
const getAddress_js_1 = require("./getAddress.js");
const addressRegex = /^0x[a-fA-F0-9]{40}$/;
exports.isAddressCache = new lru_js_1.LruMap(8192);
function isAddress(address, options) {
const { strict = true } = options ?? {};
const cacheKey = `${address}.${strict}`;
if (exports.isAddressCache.has(cacheKey))
return exports.isAddressCache.get(cacheKey);
const result = (() => {
if (!addressRegex.test(address))
return false;
if (address.toLowerCase() === address)
return true;
if (strict)
return (0, getAddress_js_1.checksumAddress)(address) === address;
return true;
})();
exports.isAddressCache.set(cacheKey, result);
return result;
}
//# sourceMappingURL=isAddress.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"isAddress.js","sourceRoot":"","sources":["../../../utils/address/isAddress.ts"],"names":[],"mappings":";;;AAqBA,8BAiBC;AApCD,sCAAkC;AAClC,mDAAiD;AAEjD,MAAM,YAAY,GAAG,qBAAqB,CAAA;AAG7B,QAAA,cAAc,GAAiB,IAAI,eAAM,CAAU,IAAI,CAAC,CAAA;AAarE,SAAgB,SAAS,CACvB,OAAe,EACf,OAAsC;IAEtC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;IACvC,MAAM,QAAQ,GAAG,GAAG,OAAO,IAAI,MAAM,EAAE,CAAA;IAEvC,IAAI,sBAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,sBAAc,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAA;IAEtE,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAA;QAC7C,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO;YAAE,OAAO,IAAI,CAAA;QAClD,IAAI,MAAM;YAAE,OAAO,IAAA,+BAAe,EAAC,OAAkB,CAAC,KAAK,OAAO,CAAA;QAClE,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,EAAE,CAAA;IACJ,sBAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACpC,OAAO,MAAM,CAAA;AACf,CAAC"}

13
node_modules/viem/_cjs/utils/address/isAddressEqual.js generated vendored Normal file
View File

@@ -0,0 +1,13 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isAddressEqual = isAddressEqual;
const address_js_1 = require("../../errors/address.js");
const isAddress_js_1 = require("./isAddress.js");
function isAddressEqual(a, b) {
if (!(0, isAddress_js_1.isAddress)(a, { strict: false }))
throw new address_js_1.InvalidAddressError({ address: a });
if (!(0, isAddress_js_1.isAddress)(b, { strict: false }))
throw new address_js_1.InvalidAddressError({ address: b });
return a.toLowerCase() === b.toLowerCase();
}
//# sourceMappingURL=isAddressEqual.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"isAddressEqual.js","sourceRoot":"","sources":["../../../utils/address/isAddressEqual.ts"],"names":[],"mappings":";;AAYA,wCAMC;AAhBD,wDAGgC;AAEhC,iDAA0C;AAK1C,SAAgB,cAAc,CAAC,CAAU,EAAE,CAAU;IACnD,IAAI,CAAC,IAAA,wBAAS,EAAC,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAClC,MAAM,IAAI,gCAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;IAC/C,IAAI,CAAC,IAAA,wBAAS,EAAC,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAClC,MAAM,IAAI,gCAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;IAC/C,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;AAC5C,CAAC"}

View File

@@ -0,0 +1,24 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.hashAuthorization = hashAuthorization;
const concat_js_1 = require("../data/concat.js");
const toBytes_js_1 = require("../encoding/toBytes.js");
const toHex_js_1 = require("../encoding/toHex.js");
const toRlp_js_1 = require("../encoding/toRlp.js");
const keccak256_js_1 = require("../hash/keccak256.js");
function hashAuthorization(parameters) {
const { chainId, nonce, to } = parameters;
const address = parameters.contractAddress ?? parameters.address;
const hash = (0, keccak256_js_1.keccak256)((0, concat_js_1.concatHex)([
'0x05',
(0, toRlp_js_1.toRlp)([
chainId ? (0, toHex_js_1.numberToHex)(chainId) : '0x',
address,
nonce ? (0, toHex_js_1.numberToHex)(nonce) : '0x',
]),
]));
if (to === 'bytes')
return (0, toBytes_js_1.hexToBytes)(hash);
return hash;
}
//# sourceMappingURL=hashAuthorization.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"hashAuthorization.js","sourceRoot":"","sources":["../../../utils/authorization/hashAuthorization.ts"],"names":[],"mappings":";;AAgCA,8CAiBC;AA9CD,iDAAsE;AACtE,uDAA6E;AAC7E,mDAA6E;AAC7E,mDAAiE;AACjE,uDAAyE;AAyBzE,SAAgB,iBAAiB,CAC/B,UAA2C;IAE3C,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,UAAU,CAAA;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,IAAI,UAAU,CAAC,OAAO,CAAA;IAChE,MAAM,IAAI,GAAG,IAAA,wBAAS,EACpB,IAAA,qBAAS,EAAC;QACR,MAAM;QACN,IAAA,gBAAK,EAAC;YACJ,OAAO,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;YACrC,OAAO;YACP,KAAK,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;SAClC,CAAC;KACH,CAAC,CACH,CAAA;IACD,IAAI,EAAE,KAAK,OAAO;QAAE,OAAO,IAAA,uBAAU,EAAC,IAAI,CAAoC,CAAA;IAC9E,OAAO,IAAuC,CAAA;AAChD,CAAC"}

View File

@@ -0,0 +1,13 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.recoverAuthorizationAddress = recoverAuthorizationAddress;
const recoverAddress_js_1 = require("../signature/recoverAddress.js");
const hashAuthorization_js_1 = require("./hashAuthorization.js");
async function recoverAuthorizationAddress(parameters) {
const { authorization, signature } = parameters;
return (0, recoverAddress_js_1.recoverAddress)({
hash: (0, hashAuthorization_js_1.hashAuthorization)(authorization),
signature: (signature ?? authorization),
});
}
//# sourceMappingURL=recoverAuthorizationAddress.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"recoverAuthorizationAddress.js","sourceRoot":"","sources":["../../../utils/authorization/recoverAuthorizationAddress.ts"],"names":[],"mappings":";;AAoDA,kEAaC;AAvDD,sEAGuC;AACvC,iEAG+B;AAmCxB,KAAK,UAAU,2BAA2B,CAK/C,UAAgE;IAEhE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,UAAU,CAAA;IAE/C,OAAO,IAAA,kCAAc,EAAC;QACpB,IAAI,EAAE,IAAA,wCAAiB,EAAC,aAAqC,CAAC;QAC9D,SAAS,EAAE,CAAC,SAAS,IAAI,aAAa,CAAc;KACrD,CAAC,CAAA;AACJ,CAAC"}

View File

@@ -0,0 +1,22 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.serializeAuthorizationList = serializeAuthorizationList;
const toHex_js_1 = require("../encoding/toHex.js");
const serializeTransaction_js_1 = require("../transaction/serializeTransaction.js");
function serializeAuthorizationList(authorizationList) {
if (!authorizationList || authorizationList.length === 0)
return [];
const serializedAuthorizationList = [];
for (const authorization of authorizationList) {
const { chainId, nonce, ...signature } = authorization;
const contractAddress = authorization.address;
serializedAuthorizationList.push([
chainId ? (0, toHex_js_1.toHex)(chainId) : '0x',
contractAddress,
nonce ? (0, toHex_js_1.toHex)(nonce) : '0x',
...(0, serializeTransaction_js_1.toYParitySignatureArray)({}, signature),
]);
}
return serializedAuthorizationList;
}
//# sourceMappingURL=serializeAuthorizationList.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"serializeAuthorizationList.js","sourceRoot":"","sources":["../../../utils/authorization/serializeAuthorizationList.ts"],"names":[],"mappings":";;AAeA,gEAkBC;AA5BD,mDAA4C;AAC5C,oFAAgF;AAShF,SAAgB,0BAA0B,CACxC,iBAA+D;IAE/D,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEnE,MAAM,2BAA2B,GAAG,EAAE,CAAA;IACtC,KAAK,MAAM,aAAa,IAAI,iBAAiB,EAAE,CAAC;QAC9C,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,GAAG,aAAa,CAAA;QACtD,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,CAAA;QAC7C,2BAA2B,CAAC,IAAI,CAAC;YAC/B,OAAO,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;YAC/B,eAAe;YACf,KAAK,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;YAC3B,GAAG,IAAA,iDAAuB,EAAC,EAAE,EAAE,SAAS,CAAC;SAC1C,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,2BAAyE,CAAA;AAClF,CAAC"}

View File

@@ -0,0 +1,13 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.verifyAuthorization = verifyAuthorization;
const getAddress_js_1 = require("../address/getAddress.js");
const isAddressEqual_js_1 = require("../address/isAddressEqual.js");
const recoverAuthorizationAddress_js_1 = require("./recoverAuthorizationAddress.js");
async function verifyAuthorization({ address, authorization, signature, }) {
return (0, isAddressEqual_js_1.isAddressEqual)((0, getAddress_js_1.getAddress)(address), await (0, recoverAuthorizationAddress_js_1.recoverAuthorizationAddress)({
authorization,
signature,
}));
}
//# sourceMappingURL=verifyAuthorization.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"verifyAuthorization.js","sourceRoot":"","sources":["../../../utils/authorization/verifyAuthorization.ts"],"names":[],"mappings":";;AAoCA,kDAYC;AA7CD,4DAA+E;AAC/E,oEAGqC;AACrC,qFAIyC;AAwBlC,KAAK,UAAU,mBAAmB,CAAC,EACxC,OAAO,EACP,aAAa,EACb,SAAS,GACqB;IAC9B,OAAO,IAAA,kCAAc,EACnB,IAAA,0BAAU,EAAC,OAAO,CAAC,EACnB,MAAM,IAAA,4DAA2B,EAAC;QAChC,aAAa;QACb,SAAS;KACV,CAAC,CACH,CAAA;AACH,CAAC"}

View File

@@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.blobsToCommitments = blobsToCommitments;
const toBytes_js_1 = require("../encoding/toBytes.js");
const toHex_js_1 = require("../encoding/toHex.js");
function blobsToCommitments(parameters) {
const { kzg } = parameters;
const to = parameters.to ?? (typeof parameters.blobs[0] === 'string' ? 'hex' : 'bytes');
const blobs = (typeof parameters.blobs[0] === 'string'
? parameters.blobs.map((x) => (0, toBytes_js_1.hexToBytes)(x))
: parameters.blobs);
const commitments = [];
for (const blob of blobs)
commitments.push(Uint8Array.from(kzg.blobToKzgCommitment(blob)));
return (to === 'bytes'
? commitments
: commitments.map((x) => (0, toHex_js_1.bytesToHex)(x)));
}
//# sourceMappingURL=blobsToCommitments.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"blobsToCommitments.js","sourceRoot":"","sources":["../../../utils/blob/blobsToCommitments.ts"],"names":[],"mappings":";;AA2CA,gDA2BC;AAnED,uDAA6E;AAC7E,mDAA2E;AAuC3E,SAAgB,kBAAkB,CAMhC,UAAmD;IAEnD,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAA;IAE1B,MAAM,EAAE,GACN,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAC9E,MAAM,KAAK,GAAG,CACZ,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;QACrC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAU,EAAC,CAAQ,CAAC,CAAC;QACnD,CAAC,CAAC,UAAU,CAAC,KAAK,CACN,CAAA;IAEhB,MAAM,WAAW,GAAgB,EAAE,CAAA;IACnC,KAAK,MAAM,IAAI,IAAI,KAAK;QACtB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAElE,OAAO,CAAC,EAAE,KAAK,OAAO;QACpB,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpB,IAAA,qBAAU,EAAC,CAAC,CAAC,CACd,CAA2C,CAAA;AAClD,CAAC"}

25
node_modules/viem/_cjs/utils/blob/blobsToProofs.js generated vendored Normal file
View File

@@ -0,0 +1,25 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.blobsToProofs = blobsToProofs;
const toBytes_js_1 = require("../encoding/toBytes.js");
const toHex_js_1 = require("../encoding/toHex.js");
function blobsToProofs(parameters) {
const { kzg } = parameters;
const to = parameters.to ?? (typeof parameters.blobs[0] === 'string' ? 'hex' : 'bytes');
const blobs = (typeof parameters.blobs[0] === 'string'
? parameters.blobs.map((x) => (0, toBytes_js_1.hexToBytes)(x))
: parameters.blobs);
const commitments = (typeof parameters.commitments[0] === 'string'
? parameters.commitments.map((x) => (0, toBytes_js_1.hexToBytes)(x))
: parameters.commitments);
const proofs = [];
for (let i = 0; i < blobs.length; i++) {
const blob = blobs[i];
const commitment = commitments[i];
proofs.push(Uint8Array.from(kzg.computeBlobKzgProof(blob, commitment)));
}
return (to === 'bytes'
? proofs
: proofs.map((x) => (0, toHex_js_1.bytesToHex)(x)));
}
//# sourceMappingURL=blobsToProofs.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"blobsToProofs.js","sourceRoot":"","sources":["../../../utils/blob/blobsToProofs.ts"],"names":[],"mappings":";;AAyDA,sCAmCC;AAzFD,uDAA6E;AAC7E,mDAA2E;AAqD3E,SAAgB,aAAa,CAO3B,UAA2D;IAE3D,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAA;IAE1B,MAAM,EAAE,GACN,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAE9E,MAAM,KAAK,GAAG,CACZ,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;QACrC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAU,EAAC,CAAQ,CAAC,CAAC;QACnD,CAAC,CAAC,UAAU,CAAC,KAAK,CACN,CAAA;IAChB,MAAM,WAAW,GAAG,CAClB,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ;QAC3C,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAU,EAAC,CAAQ,CAAC,CAAC;QACzD,CAAC,CAAC,UAAU,CAAC,WAAW,CACZ,CAAA;IAEhB,MAAM,MAAM,GAAgB,EAAE,CAAA;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,OAAO,CAAC,EAAE,KAAK,OAAO;QACpB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,qBAAU,EAAC,CAAC,CAAC,CAAC,CAAsC,CAAA;AAC5E,CAAC"}

View File

@@ -0,0 +1,13 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.commitmentToVersionedHash = commitmentToVersionedHash;
const toHex_js_1 = require("../encoding/toHex.js");
const sha256_js_1 = require("../hash/sha256.js");
function commitmentToVersionedHash(parameters) {
const { commitment, version = 1 } = parameters;
const to = parameters.to ?? (typeof commitment === 'string' ? 'hex' : 'bytes');
const versionedHash = (0, sha256_js_1.sha256)(commitment, 'bytes');
versionedHash.set([version], 0);
return (to === 'bytes' ? versionedHash : (0, toHex_js_1.bytesToHex)(versionedHash));
}
//# sourceMappingURL=commitmentToVersionedHash.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"commitmentToVersionedHash.js","sourceRoot":"","sources":["../../../utils/blob/commitmentToVersionedHash.ts"],"names":[],"mappings":";;AA6CA,8DAgBC;AA3DD,mDAA2E;AAC3E,iDAAgE;AA0ChE,SAAgB,yBAAyB,CAMvC,UAA+D;IAE/D,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,UAAU,CAAA;IAC9C,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAE9E,MAAM,aAAa,GAAG,IAAA,kBAAM,EAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IACjD,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/B,OAAO,CACL,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAA,qBAAU,EAAC,aAAa,CAAC,CAChB,CAAA;AAC9C,CAAC"}

View File

@@ -0,0 +1,18 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.commitmentsToVersionedHashes = commitmentsToVersionedHashes;
const commitmentToVersionedHash_js_1 = require("./commitmentToVersionedHash.js");
function commitmentsToVersionedHashes(parameters) {
const { commitments, version } = parameters;
const to = parameters.to ?? (typeof commitments[0] === 'string' ? 'hex' : 'bytes');
const hashes = [];
for (const commitment of commitments) {
hashes.push((0, commitmentToVersionedHash_js_1.commitmentToVersionedHash)({
commitment,
to,
version,
}));
}
return hashes;
}
//# sourceMappingURL=commitmentsToVersionedHashes.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"commitmentsToVersionedHashes.js","sourceRoot":"","sources":["../../../utils/blob/commitmentsToVersionedHashes.ts"],"names":[],"mappings":";;AAgDA,oEAwBC;AAtED,iFAGuC;AA2CvC,SAAgB,4BAA4B,CAM1C,UAAmE;IAEnE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAE3C,MAAM,EAAE,GACN,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAEzE,MAAM,MAAM,GAAyB,EAAE,CAAA;IACvC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CACT,IAAA,wDAAyB,EAAC;YACxB,UAAU;YACV,EAAE;YACF,OAAO;SACR,CAAQ,CACV,CAAA;IACH,CAAC;IACD,OAAO,MAAa,CAAA;AACtB,CAAC"}

36
node_modules/viem/_cjs/utils/blob/fromBlobs.js generated vendored Normal file
View File

@@ -0,0 +1,36 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromBlobs = fromBlobs;
const cursor_js_1 = require("../cursor.js");
const toBytes_js_1 = require("../encoding/toBytes.js");
const toHex_js_1 = require("../encoding/toHex.js");
function fromBlobs(parameters) {
const to = parameters.to ?? (typeof parameters.blobs[0] === 'string' ? 'hex' : 'bytes');
const blobs = (typeof parameters.blobs[0] === 'string'
? parameters.blobs.map((x) => (0, toBytes_js_1.hexToBytes)(x))
: parameters.blobs);
const length = blobs.reduce((length, blob) => length + blob.length, 0);
const data = (0, cursor_js_1.createCursor)(new Uint8Array(length));
let active = true;
for (const blob of blobs) {
const cursor = (0, cursor_js_1.createCursor)(blob);
while (active && cursor.position < blob.length) {
cursor.incrementPosition(1);
let consume = 31;
if (blob.length - cursor.position < 31)
consume = blob.length - cursor.position;
for (const _ in Array.from({ length: consume })) {
const byte = cursor.readByte();
const isTerminator = byte === 0x80 && !cursor.inspectBytes(cursor.remaining).includes(0x80);
if (isTerminator) {
active = false;
break;
}
data.pushByte(byte);
}
}
}
const trimmedData = data.bytes.slice(0, data.position);
return (to === 'hex' ? (0, toHex_js_1.bytesToHex)(trimmedData) : trimmedData);
}
//# sourceMappingURL=fromBlobs.js.map

1
node_modules/viem/_cjs/utils/blob/fromBlobs.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"fromBlobs.js","sourceRoot":"","sources":["../../../utils/blob/fromBlobs.ts"],"names":[],"mappings":";;AA6BA,8BA6CC;AAxED,4CAAuE;AACvE,uDAA6E;AAC7E,mDAA2E;AAyB3E,SAAgB,SAAS,CAKvB,UAA0C;IAC1C,MAAM,EAAE,GACN,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAC9E,MAAM,KAAK,GAAG,CACZ,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;QACrC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAU,EAAC,CAAQ,CAAC,CAAC;QACnD,CAAC,CAAC,UAAU,CAAC,KAAK,CACN,CAAA;IAEhB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACtE,MAAM,IAAI,GAAG,IAAA,wBAAY,EAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;IACjD,IAAI,MAAM,GAAG,IAAI,CAAA;IAEjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAA;QACjC,OAAO,MAAM,IAAI,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAE/C,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;YAE3B,IAAI,OAAO,GAAG,EAAE,CAAA;YAChB,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,GAAG,EAAE;gBACpC,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAA;YAEzC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;gBAC9B,MAAM,YAAY,GAChB,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBACxE,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,GAAG,KAAK,CAAA;oBACd,MAAK;gBACP,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtD,OAAO,CACL,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,IAAA,qBAAU,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAC1B,CAAA;AAC9B,CAAC"}

View File

@@ -0,0 +1,18 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.sidecarsToVersionedHashes = sidecarsToVersionedHashes;
const commitmentToVersionedHash_js_1 = require("./commitmentToVersionedHash.js");
function sidecarsToVersionedHashes(parameters) {
const { sidecars, version } = parameters;
const to = parameters.to ?? (typeof sidecars[0].blob === 'string' ? 'hex' : 'bytes');
const hashes = [];
for (const { commitment } of sidecars) {
hashes.push((0, commitmentToVersionedHash_js_1.commitmentToVersionedHash)({
commitment,
to,
version,
}));
}
return hashes;
}
//# sourceMappingURL=sidecarsToVersionedHashes.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"sidecarsToVersionedHashes.js","sourceRoot":"","sources":["../../../utils/blob/sidecarsToVersionedHashes.ts"],"names":[],"mappings":";;AAyCA,8DAwBC;AA9DD,iFAGuC;AAmCvC,SAAgB,yBAAyB,CAMvC,UAA6D;IAE7D,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAExC,MAAM,EAAE,GACN,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAE3E,MAAM,MAAM,GAAyB,EAAE,CAAA;IACvC,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CACT,IAAA,wDAAyB,EAAC;YACxB,UAAU;YACV,EAAE;YACF,OAAO;SACR,CAAQ,CACV,CAAA;IACH,CAAC;IACD,OAAO,MAAa,CAAA;AACtB,CAAC"}

21
node_modules/viem/_cjs/utils/blob/toBlobSidecars.js generated vendored Normal file
View File

@@ -0,0 +1,21 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.toBlobSidecars = toBlobSidecars;
const blobsToCommitments_js_1 = require("./blobsToCommitments.js");
const blobsToProofs_js_1 = require("./blobsToProofs.js");
const toBlobs_js_1 = require("./toBlobs.js");
function toBlobSidecars(parameters) {
const { data, kzg, to } = parameters;
const blobs = parameters.blobs ?? (0, toBlobs_js_1.toBlobs)({ data: data, to });
const commitments = parameters.commitments ?? (0, blobsToCommitments_js_1.blobsToCommitments)({ blobs, kzg: kzg, to });
const proofs = parameters.proofs ?? (0, blobsToProofs_js_1.blobsToProofs)({ blobs, commitments, kzg: kzg, to });
const sidecars = [];
for (let i = 0; i < blobs.length; i++)
sidecars.push({
blob: blobs[i],
commitment: commitments[i],
proof: proofs[i],
});
return sidecars;
}
//# sourceMappingURL=toBlobSidecars.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"toBlobSidecars.js","sourceRoot":"","sources":["../../../utils/blob/toBlobSidecars.ts"],"names":[],"mappings":";;AAiFA,wCA8BC;AA1GD,mEAGgC;AAChC,yDAA+E;AAC/E,6CAA6D;AAuE7D,SAAgB,cAAc,CAY5B,UAAqD;IAErD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,UAAU,CAAA;IACpC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,IAAA,oBAAO,EAAC,EAAE,IAAI,EAAE,IAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IAC9D,MAAM,WAAW,GACf,UAAU,CAAC,WAAW,IAAI,IAAA,0CAAkB,EAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACxE,MAAM,MAAM,GACV,UAAU,CAAC,MAAM,IAAI,IAAA,gCAAa,EAAC,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IAE3E,MAAM,QAAQ,GAAiB,EAAE,CAAA;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;QACnC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACd,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;YAC1B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;SACjB,CAAC,CAAA;IAEJ,OAAO,QAAwC,CAAA;AACjD,CAAC"}

47
node_modules/viem/_cjs/utils/blob/toBlobs.js generated vendored Normal file
View File

@@ -0,0 +1,47 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.toBlobs = toBlobs;
const blob_js_1 = require("../../constants/blob.js");
const blob_js_2 = require("../../errors/blob.js");
const cursor_js_1 = require("../cursor.js");
const size_js_1 = require("../data/size.js");
const toBytes_js_1 = require("../encoding/toBytes.js");
const toHex_js_1 = require("../encoding/toHex.js");
function toBlobs(parameters) {
const to = parameters.to ?? (typeof parameters.data === 'string' ? 'hex' : 'bytes');
const data = (typeof parameters.data === 'string'
? (0, toBytes_js_1.hexToBytes)(parameters.data)
: parameters.data);
const size_ = (0, size_js_1.size)(data);
if (!size_)
throw new blob_js_2.EmptyBlobError();
if (size_ > blob_js_1.maxBytesPerTransaction)
throw new blob_js_2.BlobSizeTooLargeError({
maxSize: blob_js_1.maxBytesPerTransaction,
size: size_,
});
const blobs = [];
let active = true;
let position = 0;
while (active) {
const blob = (0, cursor_js_1.createCursor)(new Uint8Array(blob_js_1.bytesPerBlob));
let size = 0;
while (size < blob_js_1.fieldElementsPerBlob) {
const bytes = data.slice(position, position + (blob_js_1.bytesPerFieldElement - 1));
blob.pushByte(0x00);
blob.pushBytes(bytes);
if (bytes.length < 31) {
blob.pushByte(0x80);
active = false;
break;
}
size++;
position += 31;
}
blobs.push(blob);
}
return (to === 'bytes'
? blobs.map((x) => x.bytes)
: blobs.map((x) => (0, toHex_js_1.bytesToHex)(x.bytes)));
}
//# sourceMappingURL=toBlobs.js.map

1
node_modules/viem/_cjs/utils/blob/toBlobs.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"toBlobs.js","sourceRoot":"","sources":["../../../utils/blob/toBlobs.ts"],"names":[],"mappings":";;AAsDA,0BA2DC;AAjHD,qDAKgC;AAChC,kDAK6B;AAG7B,4CAAuE;AACvE,6CAA0D;AAC1D,uDAA6E;AAC7E,mDAA2E;AAqC3E,SAAgB,OAAO,CAKrB,UAAuC;IACvC,MAAM,EAAE,GACN,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAC1E,MAAM,IAAI,GAAG,CACX,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ;QACjC,CAAC,CAAC,IAAA,uBAAU,EAAC,UAAU,CAAC,IAAI,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,IAAI,CACP,CAAA;IAEd,MAAM,KAAK,GAAG,IAAA,cAAI,EAAC,IAAI,CAAC,CAAA;IACxB,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,wBAAc,EAAE,CAAA;IACtC,IAAI,KAAK,GAAG,gCAAsB;QAChC,MAAM,IAAI,+BAAqB,CAAC;YAC9B,OAAO,EAAE,gCAAsB;YAC/B,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;IAEJ,MAAM,KAAK,GAAG,EAAE,CAAA;IAEhB,IAAI,MAAM,GAAG,IAAI,CAAA;IACjB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,OAAO,MAAM,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,IAAA,wBAAY,EAAC,IAAI,UAAU,CAAC,sBAAY,CAAC,CAAC,CAAA;QAEvD,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,OAAO,IAAI,GAAG,8BAAoB,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,8BAAoB,GAAG,CAAC,CAAC,CAAC,CAAA;YAGzE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAGnB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAIrB,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBACnB,MAAM,GAAG,KAAK,CAAA;gBACd,MAAK;YACP,CAAC;YAED,IAAI,EAAE,CAAA;YACN,QAAQ,IAAI,EAAE,CAAA;QAChB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IAED,OAAO,CACL,EAAE,KAAK,OAAO;QACZ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,qBAAU,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CACnC,CAAA;AACV,CAAC"}

159
node_modules/viem/_cjs/utils/buildRequest.js generated vendored Normal file
View File

@@ -0,0 +1,159 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildRequest = buildRequest;
exports.shouldRetry = shouldRetry;
const base_js_1 = require("../errors/base.js");
const request_js_1 = require("../errors/request.js");
const rpc_js_1 = require("../errors/rpc.js");
const withDedupe_js_1 = require("./promise/withDedupe.js");
const withRetry_js_1 = require("./promise/withRetry.js");
const stringify_js_1 = require("./stringify.js");
function buildRequest(request, options = {}) {
return async (args, overrideOptions = {}) => {
const { dedupe = false, methods, retryDelay = 150, retryCount = 3, uid, } = {
...options,
...overrideOptions,
};
const { method } = args;
if (methods?.exclude?.includes(method))
throw new rpc_js_1.MethodNotSupportedRpcError(new Error('method not supported'), {
method,
});
if (methods?.include && !methods.include.includes(method))
throw new rpc_js_1.MethodNotSupportedRpcError(new Error('method not supported'), {
method,
});
const requestId = dedupe
? hashString(`${uid}.${(0, stringify_js_1.stringify)(args)}`)
: undefined;
return (0, withDedupe_js_1.withDedupe)(() => (0, withRetry_js_1.withRetry)(async () => {
try {
return await request(args);
}
catch (err_) {
const err = err_;
switch (err.code) {
case rpc_js_1.ParseRpcError.code:
throw new rpc_js_1.ParseRpcError(err);
case rpc_js_1.InvalidRequestRpcError.code:
throw new rpc_js_1.InvalidRequestRpcError(err);
case rpc_js_1.MethodNotFoundRpcError.code:
throw new rpc_js_1.MethodNotFoundRpcError(err, { method: args.method });
case rpc_js_1.InvalidParamsRpcError.code:
throw new rpc_js_1.InvalidParamsRpcError(err);
case rpc_js_1.InternalRpcError.code:
throw new rpc_js_1.InternalRpcError(err);
case rpc_js_1.InvalidInputRpcError.code:
throw new rpc_js_1.InvalidInputRpcError(err);
case rpc_js_1.ResourceNotFoundRpcError.code:
throw new rpc_js_1.ResourceNotFoundRpcError(err);
case rpc_js_1.ResourceUnavailableRpcError.code:
throw new rpc_js_1.ResourceUnavailableRpcError(err);
case rpc_js_1.TransactionRejectedRpcError.code:
throw new rpc_js_1.TransactionRejectedRpcError(err);
case rpc_js_1.MethodNotSupportedRpcError.code:
throw new rpc_js_1.MethodNotSupportedRpcError(err, {
method: args.method,
});
case rpc_js_1.LimitExceededRpcError.code:
throw new rpc_js_1.LimitExceededRpcError(err);
case rpc_js_1.JsonRpcVersionUnsupportedError.code:
throw new rpc_js_1.JsonRpcVersionUnsupportedError(err);
case rpc_js_1.UserRejectedRequestError.code:
throw new rpc_js_1.UserRejectedRequestError(err);
case rpc_js_1.UnauthorizedProviderError.code:
throw new rpc_js_1.UnauthorizedProviderError(err);
case rpc_js_1.UnsupportedProviderMethodError.code:
throw new rpc_js_1.UnsupportedProviderMethodError(err);
case rpc_js_1.ProviderDisconnectedError.code:
throw new rpc_js_1.ProviderDisconnectedError(err);
case rpc_js_1.ChainDisconnectedError.code:
throw new rpc_js_1.ChainDisconnectedError(err);
case rpc_js_1.SwitchChainError.code:
throw new rpc_js_1.SwitchChainError(err);
case rpc_js_1.UnsupportedNonOptionalCapabilityError.code:
throw new rpc_js_1.UnsupportedNonOptionalCapabilityError(err);
case rpc_js_1.UnsupportedChainIdError.code:
throw new rpc_js_1.UnsupportedChainIdError(err);
case rpc_js_1.DuplicateIdError.code:
throw new rpc_js_1.DuplicateIdError(err);
case rpc_js_1.UnknownBundleIdError.code:
throw new rpc_js_1.UnknownBundleIdError(err);
case rpc_js_1.BundleTooLargeError.code:
throw new rpc_js_1.BundleTooLargeError(err);
case rpc_js_1.AtomicReadyWalletRejectedUpgradeError.code:
throw new rpc_js_1.AtomicReadyWalletRejectedUpgradeError(err);
case rpc_js_1.AtomicityNotSupportedError.code:
throw new rpc_js_1.AtomicityNotSupportedError(err);
case 5000:
throw new rpc_js_1.UserRejectedRequestError(err);
case rpc_js_1.WalletConnectSessionSettlementError.code:
throw new rpc_js_1.WalletConnectSessionSettlementError(err);
default:
if (err_ instanceof base_js_1.BaseError)
throw err_;
throw new rpc_js_1.UnknownRpcError(err);
}
}
}, {
delay: ({ count, error }) => {
if (error && error instanceof request_js_1.HttpRequestError) {
const retryAfter = error?.headers?.get('Retry-After');
if (retryAfter?.match(/\d/))
return Number.parseInt(retryAfter, 10) * 1000;
}
return ~~(1 << count) * retryDelay;
},
retryCount,
shouldRetry: ({ error }) => shouldRetry(error),
}), { enabled: dedupe, id: requestId });
};
}
function shouldRetry(error) {
if ('code' in error && typeof error.code === 'number') {
if (error.code === -1)
return true;
if (error.code === rpc_js_1.LimitExceededRpcError.code)
return true;
if (error.code === rpc_js_1.InternalRpcError.code)
return true;
if (error.code === 429)
return true;
return false;
}
if (error instanceof request_js_1.HttpRequestError && error.status) {
if (error.status === 403)
return true;
if (error.status === 408)
return true;
if (error.status === 413)
return true;
if (error.status === 429)
return true;
if (error.status === 500)
return true;
if (error.status === 502)
return true;
if (error.status === 503)
return true;
if (error.status === 504)
return true;
return false;
}
return true;
}
function hashString(str, seed = 0) {
let h1 = 0xdeadbeef ^ seed;
let h2 = 0x41c6ce57 ^ seed;
for (let i = 0; i < str.length; i++) {
const ch = str.charCodeAt(i);
h1 = Math.imul(h1 ^ ch, 2654435761);
h2 = Math.imul(h2 ^ ch, 1597334677);
}
h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507);
h1 ^= Math.imul(h2 ^ (h2 >>> 16), 3266489909);
h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507);
h2 ^= Math.imul(h1 ^ (h1 >>> 16), 3266489909);
return (4294967296 * (2097151 & h2) + (h1 >>> 0)).toString(36);
}
//# sourceMappingURL=buildRequest.js.map

1
node_modules/viem/_cjs/utils/buildRequest.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

135
node_modules/viem/_cjs/utils/ccip.js generated vendored Normal file
View File

@@ -0,0 +1,135 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.offchainLookupAbiItem = exports.offchainLookupSignature = void 0;
exports.offchainLookup = offchainLookup;
exports.ccipRequest = ccipRequest;
const call_js_1 = require("../actions/public/call.js");
const ccip_js_1 = require("../errors/ccip.js");
const request_js_1 = require("../errors/request.js");
const decodeErrorResult_js_1 = require("./abi/decodeErrorResult.js");
const encodeAbiParameters_js_1 = require("./abi/encodeAbiParameters.js");
const isAddressEqual_js_1 = require("./address/isAddressEqual.js");
const concat_js_1 = require("./data/concat.js");
const isHex_js_1 = require("./data/isHex.js");
const localBatchGatewayRequest_js_1 = require("./ens/localBatchGatewayRequest.js");
const stringify_js_1 = require("./stringify.js");
exports.offchainLookupSignature = '0x556f1830';
exports.offchainLookupAbiItem = {
name: 'OffchainLookup',
type: 'error',
inputs: [
{
name: 'sender',
type: 'address',
},
{
name: 'urls',
type: 'string[]',
},
{
name: 'callData',
type: 'bytes',
},
{
name: 'callbackFunction',
type: 'bytes4',
},
{
name: 'extraData',
type: 'bytes',
},
],
};
async function offchainLookup(client, { blockNumber, blockTag, data, to, }) {
const { args } = (0, decodeErrorResult_js_1.decodeErrorResult)({
data,
abi: [exports.offchainLookupAbiItem],
});
const [sender, urls, callData, callbackSelector, extraData] = args;
const { ccipRead } = client;
const ccipRequest_ = ccipRead && typeof ccipRead?.request === 'function'
? ccipRead.request
: ccipRequest;
try {
if (!(0, isAddressEqual_js_1.isAddressEqual)(to, sender))
throw new ccip_js_1.OffchainLookupSenderMismatchError({ sender, to });
const result = urls.includes(localBatchGatewayRequest_js_1.localBatchGatewayUrl)
? await (0, localBatchGatewayRequest_js_1.localBatchGatewayRequest)({
data: callData,
ccipRequest: ccipRequest_,
})
: await ccipRequest_({ data: callData, sender, urls });
const { data: data_ } = await (0, call_js_1.call)(client, {
blockNumber,
blockTag,
data: (0, concat_js_1.concat)([
callbackSelector,
(0, encodeAbiParameters_js_1.encodeAbiParameters)([{ type: 'bytes' }, { type: 'bytes' }], [result, extraData]),
]),
to,
});
return data_;
}
catch (err) {
throw new ccip_js_1.OffchainLookupError({
callbackSelector,
cause: err,
data,
extraData,
sender,
urls,
});
}
}
async function ccipRequest({ data, sender, urls, }) {
let error = new Error('An unknown error occurred.');
for (let i = 0; i < urls.length; i++) {
const url = urls[i];
const method = url.includes('{data}') ? 'GET' : 'POST';
const body = method === 'POST' ? { data, sender } : undefined;
const headers = method === 'POST' ? { 'Content-Type': 'application/json' } : {};
try {
const response = await fetch(url.replace('{sender}', sender.toLowerCase()).replace('{data}', data), {
body: JSON.stringify(body),
headers,
method,
});
let result;
if (response.headers.get('Content-Type')?.startsWith('application/json')) {
result = (await response.json()).data;
}
else {
result = (await response.text());
}
if (!response.ok) {
error = new request_js_1.HttpRequestError({
body,
details: result?.error
? (0, stringify_js_1.stringify)(result.error)
: response.statusText,
headers: response.headers,
status: response.status,
url,
});
continue;
}
if (!(0, isHex_js_1.isHex)(result)) {
error = new ccip_js_1.OffchainLookupResponseMalformedError({
result,
url,
});
continue;
}
return result;
}
catch (err) {
error = new request_js_1.HttpRequestError({
body,
details: err.message,
url,
});
}
}
throw error;
}
//# sourceMappingURL=ccip.js.map

1
node_modules/viem/_cjs/utils/ccip.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"ccip.js","sourceRoot":"","sources":["../../utils/ccip.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,11 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.assertCurrentChain = assertCurrentChain;
const chain_js_1 = require("../../errors/chain.js");
function assertCurrentChain({ chain, currentChainId, }) {
if (!chain)
throw new chain_js_1.ChainNotFoundError();
if (currentChainId !== chain.id)
throw new chain_js_1.ChainMismatchError({ chain, currentChainId });
}
//# sourceMappingURL=assertCurrentChain.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"assertCurrentChain.js","sourceRoot":"","sources":["../../../utils/chain/assertCurrentChain.ts"],"names":[],"mappings":";;AAmBA,gDAOC;AA1BD,oDAK8B;AAc9B,SAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,cAAc,GACe;IAC7B,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,6BAAkB,EAAE,CAAA;IAC1C,IAAI,cAAc,KAAK,KAAK,CAAC,EAAE;QAC7B,MAAM,IAAI,6BAAkB,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAA;AAC3D,CAAC"}

26
node_modules/viem/_cjs/utils/chain/defineChain.js generated vendored Normal file
View File

@@ -0,0 +1,26 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.defineChain = defineChain;
exports.extendSchema = extendSchema;
function defineChain(chain) {
const chainInstance = {
formatters: undefined,
fees: undefined,
serializers: undefined,
...chain,
};
function extend(base) {
return (fnOrExtended) => {
const properties = (typeof fnOrExtended === 'function' ? fnOrExtended(base) : fnOrExtended);
const combined = { ...base, ...properties };
return Object.assign(combined, { extend: extend(combined) });
};
}
return Object.assign(chainInstance, {
extend: extend(chainInstance),
});
}
function extendSchema() {
return {};
}
//# sourceMappingURL=defineChain.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"defineChain.js","sourceRoot":"","sources":["../../../utils/chain/defineChain.ts"],"names":[],"mappings":";;AAcA,kCAyBC;AAED,oCAEC;AA7BD,SAAgB,WAAW,CAGzB,KAAY;IACZ,MAAM,aAAa,GAAG;QACpB,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,SAAS;QACtB,GAAG,KAAK;KAC0B,CAAA;IAEpC,SAAS,MAAM,CAAC,IAA0B;QAExC,OAAO,CAAC,YAAgD,EAAE,EAAE;YAC1D,MAAM,UAAU,GAAG,CACjB,OAAO,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAC7B,CAAA;YAC3C,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE,CAAA;YAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC9D,CAAC,CAAA;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE;QAClC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC;KAC9B,CAAU,CAAA;AACb,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,EAAY,CAAA;AACrB,CAAC"}

7
node_modules/viem/_cjs/utils/chain/extractChain.js generated vendored Normal file
View File

@@ -0,0 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.extractChain = extractChain;
function extractChain({ chains, id, }) {
return chains.find((chain) => chain.id === id);
}
//# sourceMappingURL=extractChain.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"extractChain.js","sourceRoot":"","sources":["../../../utils/chain/extractChain.ts"],"names":[],"mappings":";;AAkBA,oCAcC;AAdD,SAAgB,YAAY,CAG1B,EACA,MAAM,EACN,EAAE,GACsC;IAIxC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAG5C,CAAA;AACH,CAAC"}

View File

@@ -0,0 +1,25 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getChainContractAddress = getChainContractAddress;
const chain_js_1 = require("../../errors/chain.js");
function getChainContractAddress({ blockNumber, chain, contract: name, }) {
const contract = chain?.contracts?.[name];
if (!contract)
throw new chain_js_1.ChainDoesNotSupportContract({
chain,
contract: { name },
});
if (blockNumber &&
contract.blockCreated &&
contract.blockCreated > blockNumber)
throw new chain_js_1.ChainDoesNotSupportContract({
blockNumber,
chain,
contract: {
name,
blockCreated: contract.blockCreated,
},
});
return contract.address;
}
//# sourceMappingURL=getChainContractAddress.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getChainContractAddress.js","sourceRoot":"","sources":["../../../utils/chain/getChainContractAddress.ts"],"names":[],"mappings":";;AASA,0DA+BC;AAxCD,oDAG8B;AAM9B,SAAgB,uBAAuB,CAAC,EACtC,WAAW,EACX,KAAK,EACL,QAAQ,EAAE,IAAI,GAKf;IACC,MAAM,QAAQ,GAAI,KAAK,EAAE,SAA2C,EAAE,CAAC,IAAI,CAAC,CAAA;IAC5E,IAAI,CAAC,QAAQ;QACX,MAAM,IAAI,sCAA2B,CAAC;YACpC,KAAK;YACL,QAAQ,EAAE,EAAE,IAAI,EAAE;SACnB,CAAC,CAAA;IAEJ,IACE,WAAW;QACX,QAAQ,CAAC,YAAY;QACrB,QAAQ,CAAC,YAAY,GAAG,WAAW;QAEnC,MAAM,IAAI,sCAA2B,CAAC;YACpC,WAAW;YACX,KAAK;YACL,QAAQ,EAAE;gBACR,IAAI;gBACJ,YAAY,EAAE,QAAQ,CAAC,YAAY;aACpC;SACF,CAAC,CAAA;IAEJ,OAAO,QAAQ,CAAC,OAAO,CAAA;AACzB,CAAC"}

173
node_modules/viem/_cjs/utils/cursor.js generated vendored Normal file
View File

@@ -0,0 +1,173 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createCursor = createCursor;
const cursor_js_1 = require("../errors/cursor.js");
const staticCursor = {
bytes: new Uint8Array(),
dataView: new DataView(new ArrayBuffer(0)),
position: 0,
positionReadCount: new Map(),
recursiveReadCount: 0,
recursiveReadLimit: Number.POSITIVE_INFINITY,
assertReadLimit() {
if (this.recursiveReadCount >= this.recursiveReadLimit)
throw new cursor_js_1.RecursiveReadLimitExceededError({
count: this.recursiveReadCount + 1,
limit: this.recursiveReadLimit,
});
},
assertPosition(position) {
if (position < 0 || position > this.bytes.length - 1)
throw new cursor_js_1.PositionOutOfBoundsError({
length: this.bytes.length,
position,
});
},
decrementPosition(offset) {
if (offset < 0)
throw new cursor_js_1.NegativeOffsetError({ offset });
const position = this.position - offset;
this.assertPosition(position);
this.position = position;
},
getReadCount(position) {
return this.positionReadCount.get(position || this.position) || 0;
},
incrementPosition(offset) {
if (offset < 0)
throw new cursor_js_1.NegativeOffsetError({ offset });
const position = this.position + offset;
this.assertPosition(position);
this.position = position;
},
inspectByte(position_) {
const position = position_ ?? this.position;
this.assertPosition(position);
return this.bytes[position];
},
inspectBytes(length, position_) {
const position = position_ ?? this.position;
this.assertPosition(position + length - 1);
return this.bytes.subarray(position, position + length);
},
inspectUint8(position_) {
const position = position_ ?? this.position;
this.assertPosition(position);
return this.bytes[position];
},
inspectUint16(position_) {
const position = position_ ?? this.position;
this.assertPosition(position + 1);
return this.dataView.getUint16(position);
},
inspectUint24(position_) {
const position = position_ ?? this.position;
this.assertPosition(position + 2);
return ((this.dataView.getUint16(position) << 8) +
this.dataView.getUint8(position + 2));
},
inspectUint32(position_) {
const position = position_ ?? this.position;
this.assertPosition(position + 3);
return this.dataView.getUint32(position);
},
pushByte(byte) {
this.assertPosition(this.position);
this.bytes[this.position] = byte;
this.position++;
},
pushBytes(bytes) {
this.assertPosition(this.position + bytes.length - 1);
this.bytes.set(bytes, this.position);
this.position += bytes.length;
},
pushUint8(value) {
this.assertPosition(this.position);
this.bytes[this.position] = value;
this.position++;
},
pushUint16(value) {
this.assertPosition(this.position + 1);
this.dataView.setUint16(this.position, value);
this.position += 2;
},
pushUint24(value) {
this.assertPosition(this.position + 2);
this.dataView.setUint16(this.position, value >> 8);
this.dataView.setUint8(this.position + 2, value & ~4294967040);
this.position += 3;
},
pushUint32(value) {
this.assertPosition(this.position + 3);
this.dataView.setUint32(this.position, value);
this.position += 4;
},
readByte() {
this.assertReadLimit();
this._touch();
const value = this.inspectByte();
this.position++;
return value;
},
readBytes(length, size) {
this.assertReadLimit();
this._touch();
const value = this.inspectBytes(length);
this.position += size ?? length;
return value;
},
readUint8() {
this.assertReadLimit();
this._touch();
const value = this.inspectUint8();
this.position += 1;
return value;
},
readUint16() {
this.assertReadLimit();
this._touch();
const value = this.inspectUint16();
this.position += 2;
return value;
},
readUint24() {
this.assertReadLimit();
this._touch();
const value = this.inspectUint24();
this.position += 3;
return value;
},
readUint32() {
this.assertReadLimit();
this._touch();
const value = this.inspectUint32();
this.position += 4;
return value;
},
get remaining() {
return this.bytes.length - this.position;
},
setPosition(position) {
const oldPosition = this.position;
this.assertPosition(position);
this.position = position;
return () => (this.position = oldPosition);
},
_touch() {
if (this.recursiveReadLimit === Number.POSITIVE_INFINITY)
return;
const count = this.getReadCount();
this.positionReadCount.set(this.position, count + 1);
if (count > 0)
this.recursiveReadCount++;
},
};
function createCursor(bytes, { recursiveReadLimit = 8_192 } = {}) {
const cursor = Object.create(staticCursor);
cursor.bytes = bytes;
cursor.dataView = new DataView(bytes.buffer ?? bytes, bytes.byteOffset, bytes.byteLength);
cursor.positionReadCount = new Map();
cursor.recursiveReadLimit = recursiveReadLimit;
return cursor;
}
//# sourceMappingURL=cursor.js.map

1
node_modules/viem/_cjs/utils/cursor.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

27
node_modules/viem/_cjs/utils/data/concat.js generated vendored Normal file
View File

@@ -0,0 +1,27 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.concat = concat;
exports.concatBytes = concatBytes;
exports.concatHex = concatHex;
function concat(values) {
if (typeof values[0] === 'string')
return concatHex(values);
return concatBytes(values);
}
function concatBytes(values) {
let length = 0;
for (const arr of values) {
length += arr.length;
}
const result = new Uint8Array(length);
let offset = 0;
for (const arr of values) {
result.set(arr, offset);
offset += arr.length;
}
return result;
}
function concatHex(values) {
return `0x${values.reduce((acc, x) => acc + x.replace('0x', ''), '')}`;
}
//# sourceMappingURL=concat.js.map

1
node_modules/viem/_cjs/utils/data/concat.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"concat.js","sourceRoot":"","sources":["../../../utils/data/concat.ts"],"names":[],"mappings":";;AAYA,wBAMC;AAID,kCAYC;AAID,8BAKC;AA/BD,SAAgB,MAAM,CACpB,MAAwB;IAExB,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ;QAC/B,OAAO,SAAS,CAAC,MAAwB,CAA4B,CAAA;IACvE,OAAO,WAAW,CAAC,MAA8B,CAA4B,CAAA;AAC/E,CAAC;AAID,SAAgB,WAAW,CAAC,MAA4B;IACtD,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAA;IACtB,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;IACrC,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACvB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAA;IACtB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAID,SAAgB,SAAS,CAAC,MAAsB;IAC9C,OAAO,KAAM,MAAgB,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EACrC,EAAE,CACH,EAAE,CAAA;AACL,CAAC"}

13
node_modules/viem/_cjs/utils/data/isBytes.js generated vendored Normal file
View File

@@ -0,0 +1,13 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isBytes = isBytes;
function isBytes(value) {
if (!value)
return false;
if (typeof value !== 'object')
return false;
if (!('BYTES_PER_ELEMENT' in value))
return false;
return (value.BYTES_PER_ELEMENT === 1 && value.constructor.name === 'Uint8Array');
}
//# sourceMappingURL=isBytes.js.map

1
node_modules/viem/_cjs/utils/data/isBytes.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"isBytes.js","sourceRoot":"","sources":["../../../utils/data/isBytes.ts"],"names":[],"mappings":";;AAKA,0BAOC;AAPD,SAAgB,OAAO,CAAC,KAAc;IACpC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACxB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,CAAC,CAAC,mBAAmB,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACjD,OAAO,CACL,KAAK,CAAC,iBAAiB,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,YAAY,CACzE,CAAA;AACH,CAAC"}

11
node_modules/viem/_cjs/utils/data/isHex.js generated vendored Normal file
View File

@@ -0,0 +1,11 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isHex = isHex;
function isHex(value, { strict = true } = {}) {
if (!value)
return false;
if (typeof value !== 'string')
return false;
return strict ? /^0x[0-9a-fA-F]*$/.test(value) : value.startsWith('0x');
}
//# sourceMappingURL=isHex.js.map

1
node_modules/viem/_cjs/utils/data/isHex.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"isHex.js","sourceRoot":"","sources":["../../../utils/data/isHex.ts"],"names":[],"mappings":";;AAKA,sBAOC;AAPD,SAAgB,KAAK,CACnB,KAAc,EACd,EAAE,MAAM,GAAG,IAAI,KAAuC,EAAE;IAExD,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACxB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,OAAO,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AACzE,CAAC"}

41
node_modules/viem/_cjs/utils/data/pad.js generated vendored Normal file
View File

@@ -0,0 +1,41 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.pad = pad;
exports.padHex = padHex;
exports.padBytes = padBytes;
const data_js_1 = require("../../errors/data.js");
function pad(hexOrBytes, { dir, size = 32 } = {}) {
if (typeof hexOrBytes === 'string')
return padHex(hexOrBytes, { dir, size });
return padBytes(hexOrBytes, { dir, size });
}
function padHex(hex_, { dir, size = 32 } = {}) {
if (size === null)
return hex_;
const hex = hex_.replace('0x', '');
if (hex.length > size * 2)
throw new data_js_1.SizeExceedsPaddingSizeError({
size: Math.ceil(hex.length / 2),
targetSize: size,
type: 'hex',
});
return `0x${hex[dir === 'right' ? 'padEnd' : 'padStart'](size * 2, '0')}`;
}
function padBytes(bytes, { dir, size = 32 } = {}) {
if (size === null)
return bytes;
if (bytes.length > size)
throw new data_js_1.SizeExceedsPaddingSizeError({
size: bytes.length,
targetSize: size,
type: 'bytes',
});
const paddedBytes = new Uint8Array(size);
for (let i = 0; i < size; i++) {
const padEnd = dir === 'right';
paddedBytes[padEnd ? i : size - i - 1] =
bytes[padEnd ? i : bytes.length - i - 1];
}
return paddedBytes;
}
//# sourceMappingURL=pad.js.map

1
node_modules/viem/_cjs/utils/data/pad.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"pad.js","sourceRoot":"","sources":["../../../utils/data/pad.ts"],"names":[],"mappings":";;AAiBA,kBAOC;AAID,wBAcC;AAID,4BAkBC;AAhED,kDAG6B;AAc7B,SAAgB,GAAG,CACjB,UAAiB,EACjB,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,KAAiB,EAAE;IAEnC,IAAI,OAAO,UAAU,KAAK,QAAQ;QAChC,OAAO,MAAM,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAyB,CAAA;IAClE,OAAO,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAyB,CAAA;AACpE,CAAC;AAID,SAAgB,MAAM,CAAC,IAAS,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,KAAiB,EAAE;IACnE,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAClC,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC;QACvB,MAAM,IAAI,qCAA2B,CAAC;YACpC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/B,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;IAEJ,OAAO,KAAK,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CACtD,IAAI,GAAG,CAAC,EACR,GAAG,CACJ,EAAS,CAAA;AACZ,CAAC;AAID,SAAgB,QAAQ,CACtB,KAAgB,EAChB,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,KAAiB,EAAE;IAEnC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI;QACrB,MAAM,IAAI,qCAA2B,CAAC;YACpC,IAAI,EAAE,KAAK,CAAC,MAAM;YAClB,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,OAAO;SACd,CAAC,CAAA;IACJ,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,GAAG,KAAK,OAAO,CAAA;QAC9B,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YACpC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IAC5C,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC"}

10
node_modules/viem/_cjs/utils/data/size.js generated vendored Normal file
View File

@@ -0,0 +1,10 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.size = size;
const isHex_js_1 = require("./isHex.js");
function size(value) {
if ((0, isHex_js_1.isHex)(value, { strict: false }))
return Math.ceil((value.length - 2) / 2);
return value.length;
}
//# sourceMappingURL=size.js.map

1
node_modules/viem/_cjs/utils/data/size.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"size.js","sourceRoot":"","sources":["../../../utils/data/size.ts"],"names":[],"mappings":";;AAaA,oBAGC;AAbD,yCAAuD;AAUvD,SAAgB,IAAI,CAAC,KAAsB;IACzC,IAAI,IAAA,gBAAK,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAC7E,OAAO,KAAK,CAAC,MAAM,CAAA;AACrB,CAAC"}

53
node_modules/viem/_cjs/utils/data/slice.js generated vendored Normal file
View File

@@ -0,0 +1,53 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.slice = slice;
exports.sliceBytes = sliceBytes;
exports.sliceHex = sliceHex;
const data_js_1 = require("../../errors/data.js");
const isHex_js_1 = require("./isHex.js");
const size_js_1 = require("./size.js");
function slice(value, start, end, { strict } = {}) {
if ((0, isHex_js_1.isHex)(value, { strict: false }))
return sliceHex(value, start, end, {
strict,
});
return sliceBytes(value, start, end, {
strict,
});
}
function assertStartOffset(value, start) {
if (typeof start === 'number' && start > 0 && start > (0, size_js_1.size)(value) - 1)
throw new data_js_1.SliceOffsetOutOfBoundsError({
offset: start,
position: 'start',
size: (0, size_js_1.size)(value),
});
}
function assertEndOffset(value, start, end) {
if (typeof start === 'number' &&
typeof end === 'number' &&
(0, size_js_1.size)(value) !== end - start) {
throw new data_js_1.SliceOffsetOutOfBoundsError({
offset: end,
position: 'end',
size: (0, size_js_1.size)(value),
});
}
}
function sliceBytes(value_, start, end, { strict } = {}) {
assertStartOffset(value_, start);
const value = value_.slice(start, end);
if (strict)
assertEndOffset(value, start, end);
return value;
}
function sliceHex(value_, start, end, { strict } = {}) {
assertStartOffset(value_, start);
const value = `0x${value_
.replace('0x', '')
.slice((start ?? 0) * 2, (end ?? value_.length) * 2)}`;
if (strict)
assertEndOffset(value, start, end);
return value;
}
//# sourceMappingURL=slice.js.map

1
node_modules/viem/_cjs/utils/data/slice.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"slice.js","sourceRoot":"","sources":["../../../utils/data/slice.ts"],"names":[],"mappings":";;AA2BA,sBAaC;AAmDD,gCAUC;AAcD,4BAYC;AA/HD,kDAG6B;AAI7B,yCAAuD;AACvD,uCAAoD;AAmBpD,SAAgB,KAAK,CACnB,KAAY,EACZ,KAA0B,EAC1B,GAAwB,EACxB,EAAE,MAAM,KAAuC,EAAE;IAEjD,IAAI,IAAA,gBAAK,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC,KAAY,EAAE,KAAK,EAAE,GAAG,EAAE;YACxC,MAAM;SACP,CAA2B,CAAA;IAC9B,OAAO,UAAU,CAAC,KAAkB,EAAE,KAAK,EAAE,GAAG,EAAE;QAChD,MAAM;KACP,CAA2B,CAAA;AAC9B,CAAC;AAOD,SAAS,iBAAiB,CAAC,KAAsB,EAAE,KAA0B;IAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,IAAA,cAAI,EAAC,KAAK,CAAC,GAAG,CAAC;QACnE,MAAM,IAAI,qCAA2B,CAAC;YACpC,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,IAAA,cAAI,EAAC,KAAK,CAAC;SAClB,CAAC,CAAA;AACN,CAAC;AAOD,SAAS,eAAe,CACtB,KAAsB,EACtB,KAA0B,EAC1B,GAAwB;IAExB,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,GAAG,KAAK,QAAQ;QACvB,IAAA,cAAI,EAAC,KAAK,CAAC,KAAK,GAAG,GAAG,KAAK,EAC3B,CAAC;QACD,MAAM,IAAI,qCAA2B,CAAC;YACpC,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,IAAA,cAAI,EAAC,KAAK,CAAC;SAClB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAcD,SAAgB,UAAU,CACxB,MAAiB,EACjB,KAA0B,EAC1B,GAAwB,EACxB,EAAE,MAAM,KAAuC,EAAE;IAEjD,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IACtC,IAAI,MAAM;QAAE,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;IAC9C,OAAO,KAAK,CAAA;AACd,CAAC;AAcD,SAAgB,QAAQ,CACtB,MAAW,EACX,KAA0B,EAC1B,GAAwB,EACxB,EAAE,MAAM,KAAuC,EAAE;IAEjD,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAChC,MAAM,KAAK,GAAG,KAAK,MAAM;SACtB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACjB,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAW,CAAA;IACjE,IAAI,MAAM;QAAE,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;IAC9C,OAAO,KAAK,CAAA;AACd,CAAC"}

24
node_modules/viem/_cjs/utils/data/trim.js generated vendored Normal file
View File

@@ -0,0 +1,24 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.trim = trim;
function trim(hexOrBytes, { dir = 'left' } = {}) {
let data = typeof hexOrBytes === 'string' ? hexOrBytes.replace('0x', '') : hexOrBytes;
let sliceLength = 0;
for (let i = 0; i < data.length - 1; i++) {
if (data[dir === 'left' ? i : data.length - i - 1].toString() === '0')
sliceLength++;
else
break;
}
data =
dir === 'left'
? data.slice(sliceLength)
: data.slice(0, data.length - sliceLength);
if (typeof hexOrBytes === 'string') {
if (data.length === 1 && dir === 'right')
data = `${data}0`;
return `0x${data.length % 2 === 1 ? `0${data}` : data}`;
}
return data;
}
//# sourceMappingURL=trim.js.map

1
node_modules/viem/_cjs/utils/data/trim.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"trim.js","sourceRoot":"","sources":["../../../utils/data/trim.ts"],"names":[],"mappings":";;AAYA,oBAyBC;AAzBD,SAAgB,IAAI,CAClB,UAAiB,EACjB,EAAE,GAAG,GAAG,MAAM,KAAkB,EAAE;IAElC,IAAI,IAAI,GACN,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;IAE5E,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,GAAG;YACnE,WAAW,EAAE,CAAA;;YACV,MAAK;IACZ,CAAC;IACD,IAAI;QACF,GAAG,KAAK,MAAM;YACZ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,CAAA;IAE9C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,KAAK,OAAO;YAAE,IAAI,GAAG,GAAG,IAAI,GAAG,CAAA;QAC3D,OAAO,KACL,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IACvC,EAA2B,CAAA;IAC7B,CAAC;IACD,OAAO,IAA6B,CAAA;AACtC,CAAC"}

55
node_modules/viem/_cjs/utils/encoding/fromBytes.js generated vendored Normal file
View File

@@ -0,0 +1,55 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromBytes = fromBytes;
exports.bytesToBigInt = bytesToBigInt;
exports.bytesToBool = bytesToBool;
exports.bytesToNumber = bytesToNumber;
exports.bytesToString = bytesToString;
const encoding_js_1 = require("../../errors/encoding.js");
const trim_js_1 = require("../data/trim.js");
const fromHex_js_1 = require("./fromHex.js");
const toHex_js_1 = require("./toHex.js");
function fromBytes(bytes, toOrOpts) {
const opts = typeof toOrOpts === 'string' ? { to: toOrOpts } : toOrOpts;
const to = opts.to;
if (to === 'number')
return bytesToNumber(bytes, opts);
if (to === 'bigint')
return bytesToBigInt(bytes, opts);
if (to === 'boolean')
return bytesToBool(bytes, opts);
if (to === 'string')
return bytesToString(bytes, opts);
return (0, toHex_js_1.bytesToHex)(bytes, opts);
}
function bytesToBigInt(bytes, opts = {}) {
if (typeof opts.size !== 'undefined')
(0, fromHex_js_1.assertSize)(bytes, { size: opts.size });
const hex = (0, toHex_js_1.bytesToHex)(bytes, opts);
return (0, fromHex_js_1.hexToBigInt)(hex, opts);
}
function bytesToBool(bytes_, opts = {}) {
let bytes = bytes_;
if (typeof opts.size !== 'undefined') {
(0, fromHex_js_1.assertSize)(bytes, { size: opts.size });
bytes = (0, trim_js_1.trim)(bytes);
}
if (bytes.length > 1 || bytes[0] > 1)
throw new encoding_js_1.InvalidBytesBooleanError(bytes);
return Boolean(bytes[0]);
}
function bytesToNumber(bytes, opts = {}) {
if (typeof opts.size !== 'undefined')
(0, fromHex_js_1.assertSize)(bytes, { size: opts.size });
const hex = (0, toHex_js_1.bytesToHex)(bytes, opts);
return (0, fromHex_js_1.hexToNumber)(hex, opts);
}
function bytesToString(bytes_, opts = {}) {
let bytes = bytes_;
if (typeof opts.size !== 'undefined') {
(0, fromHex_js_1.assertSize)(bytes, { size: opts.size });
bytes = (0, trim_js_1.trim)(bytes, { dir: 'right' });
}
return new TextDecoder().decode(bytes);
}
//# sourceMappingURL=fromBytes.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"fromBytes.js","sourceRoot":"","sources":["../../../utils/encoding/fromBytes.ts"],"names":[],"mappings":"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"}

79
node_modules/viem/_cjs/utils/encoding/fromHex.js generated vendored Normal file
View File

@@ -0,0 +1,79 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.assertSize = assertSize;
exports.fromHex = fromHex;
exports.hexToBigInt = hexToBigInt;
exports.hexToBool = hexToBool;
exports.hexToNumber = hexToNumber;
exports.hexToString = hexToString;
const encoding_js_1 = require("../../errors/encoding.js");
const size_js_1 = require("../data/size.js");
const trim_js_1 = require("../data/trim.js");
const toBytes_js_1 = require("./toBytes.js");
function assertSize(hexOrBytes, { size }) {
if ((0, size_js_1.size)(hexOrBytes) > size)
throw new encoding_js_1.SizeOverflowError({
givenSize: (0, size_js_1.size)(hexOrBytes),
maxSize: size,
});
}
function fromHex(hex, toOrOpts) {
const opts = typeof toOrOpts === 'string' ? { to: toOrOpts } : toOrOpts;
const to = opts.to;
if (to === 'number')
return hexToNumber(hex, opts);
if (to === 'bigint')
return hexToBigInt(hex, opts);
if (to === 'string')
return hexToString(hex, opts);
if (to === 'boolean')
return hexToBool(hex, opts);
return (0, toBytes_js_1.hexToBytes)(hex, opts);
}
function hexToBigInt(hex, opts = {}) {
const { signed } = opts;
if (opts.size)
assertSize(hex, { size: opts.size });
const value = BigInt(hex);
if (!signed)
return value;
const size = (hex.length - 2) / 2;
const max = (1n << (BigInt(size) * 8n - 1n)) - 1n;
if (value <= max)
return value;
return value - BigInt(`0x${'f'.padStart(size * 2, 'f')}`) - 1n;
}
function hexToBool(hex_, opts = {}) {
let hex = hex_;
if (opts.size) {
assertSize(hex, { size: opts.size });
hex = (0, trim_js_1.trim)(hex);
}
if ((0, trim_js_1.trim)(hex) === '0x00')
return false;
if ((0, trim_js_1.trim)(hex) === '0x01')
return true;
throw new encoding_js_1.InvalidHexBooleanError(hex);
}
function hexToNumber(hex, opts = {}) {
const value = hexToBigInt(hex, opts);
const number = Number(value);
if (!Number.isSafeInteger(number))
throw new encoding_js_1.IntegerOutOfRangeError({
max: `${Number.MAX_SAFE_INTEGER}`,
min: `${Number.MIN_SAFE_INTEGER}`,
signed: opts.signed,
size: opts.size,
value: `${value}n`,
});
return number;
}
function hexToString(hex, opts = {}) {
let bytes = (0, toBytes_js_1.hexToBytes)(hex);
if (opts.size) {
assertSize(bytes, { size: opts.size });
bytes = (0, trim_js_1.trim)(bytes, { dir: 'right' });
}
return new TextDecoder().decode(bytes);
}
//# sourceMappingURL=fromHex.js.map

1
node_modules/viem/_cjs/utils/encoding/fromHex.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"fromHex.js","sourceRoot":"","sources":["../../../utils/encoding/fromHex.ts"],"names":[],"mappings":";;AAoBA,gCASC;AA6DD,0BAWC;AA8BD,kCAaC;AAgCD,8BASC;AA4BD,kCAYC;AAkCD,kCAOC;AA1QD,0DAOiC;AAGjC,6CAAmE;AACnE,6CAA0D;AAE1D,6CAAmE;AAOnE,SAAgB,UAAU,CACxB,UAA2B,EAC3B,EAAE,IAAI,EAAoB;IAE1B,IAAI,IAAA,cAAK,EAAC,UAAU,CAAC,GAAG,IAAI;QAC1B,MAAM,IAAI,+BAAiB,CAAC;YAC1B,SAAS,EAAE,IAAA,cAAK,EAAC,UAAU,CAAC;YAC5B,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;AACN,CAAC;AA6DD,SAAgB,OAAO,CAErB,GAAQ,EAAE,QAA+B;IACzC,MAAM,IAAI,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;IACvE,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA;IAElB,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,GAAG,EAAE,IAAI,CAA0B,CAAA;IAC3E,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,GAAG,EAAE,IAAI,CAA0B,CAAA;IAC3E,IAAI,EAAE,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,GAAG,EAAE,IAAI,CAA0B,CAAA;IAC3E,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC,GAAG,EAAE,IAAI,CAA0B,CAAA;IAC1E,OAAO,IAAA,uBAAU,EAAC,GAAG,EAAE,IAAI,CAA0B,CAAA;AACvD,CAAC;AA8BD,SAAgB,WAAW,CAAC,GAAQ,EAAE,OAAwB,EAAE;IAC9D,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAEvB,IAAI,IAAI,CAAC,IAAI;QAAE,UAAU,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IAEnD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IACzB,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAEzB,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;IACjD,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,KAAK,CAAA;IAE9B,OAAO,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA;AAChE,CAAC;AAgCD,SAAgB,SAAS,CAAC,IAAS,EAAE,OAAsB,EAAE;IAC3D,IAAI,GAAG,GAAG,IAAI,CAAA;IACd,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,UAAU,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACpC,GAAG,GAAG,IAAA,cAAI,EAAC,GAAG,CAAC,CAAA;IACjB,CAAC;IACD,IAAI,IAAA,cAAI,EAAC,GAAG,CAAC,KAAK,MAAM;QAAE,OAAO,KAAK,CAAA;IACtC,IAAI,IAAA,cAAI,EAAC,GAAG,CAAC,KAAK,MAAM;QAAE,OAAO,IAAI,CAAA;IACrC,MAAM,IAAI,oCAAsB,CAAC,GAAG,CAAC,CAAA;AACvC,CAAC;AA4BD,SAAgB,WAAW,CAAC,GAAQ,EAAE,OAAwB,EAAE;IAC9D,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;QAC/B,MAAM,IAAI,oCAAsB,CAAC;YAC/B,GAAG,EAAE,GAAG,MAAM,CAAC,gBAAgB,EAAE;YACjC,GAAG,EAAE,GAAG,MAAM,CAAC,gBAAgB,EAAE;YACjC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,GAAG,KAAK,GAAG;SACnB,CAAC,CAAA;IACJ,OAAO,MAAM,CAAA;AACf,CAAC;AAkCD,SAAgB,WAAW,CAAC,GAAQ,EAAE,OAAwB,EAAE;IAC9D,IAAI,KAAK,GAAG,IAAA,uBAAU,EAAC,GAAG,CAAC,CAAA;IAC3B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACtC,KAAK,GAAG,IAAA,cAAI,EAAC,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;IACvC,CAAC;IACD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACxC,CAAC"}

Some files were not shown because too many files have changed in this diff Show More