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

80
node_modules/viem/_cjs/actions/ens/getEnsAddress.js generated vendored Normal file
View File

@@ -0,0 +1,80 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEnsAddress = getEnsAddress;
const abis_js_1 = require("../../constants/abis.js");
const decodeFunctionResult_js_1 = require("../../utils/abi/decodeFunctionResult.js");
const encodeFunctionData_js_1 = require("../../utils/abi/encodeFunctionData.js");
const getChainContractAddress_js_1 = require("../../utils/chain/getChainContractAddress.js");
const trim_js_1 = require("../../utils/data/trim.js");
const toHex_js_1 = require("../../utils/encoding/toHex.js");
const errors_js_1 = require("../../utils/ens/errors.js");
const localBatchGatewayRequest_js_1 = require("../../utils/ens/localBatchGatewayRequest.js");
const namehash_js_1 = require("../../utils/ens/namehash.js");
const packetToBytes_js_1 = require("../../utils/ens/packetToBytes.js");
const getAction_js_1 = require("../../utils/getAction.js");
const readContract_js_1 = require("../public/readContract.js");
async function getEnsAddress(client, parameters) {
const { blockNumber, blockTag, coinType, name, gatewayUrls, strict } = parameters;
const { chain } = client;
const universalResolverAddress = (() => {
if (parameters.universalResolverAddress)
return parameters.universalResolverAddress;
if (!chain)
throw new Error('client chain not configured. universalResolverAddress is required.');
return (0, getChainContractAddress_js_1.getChainContractAddress)({
blockNumber,
chain,
contract: 'ensUniversalResolver',
});
})();
const tlds = chain?.ensTlds;
if (tlds && !tlds.some((tld) => name.endsWith(tld)))
return null;
const args = (() => {
if (coinType != null)
return [(0, namehash_js_1.namehash)(name), BigInt(coinType)];
return [(0, namehash_js_1.namehash)(name)];
})();
try {
const functionData = (0, encodeFunctionData_js_1.encodeFunctionData)({
abi: abis_js_1.addressResolverAbi,
functionName: 'addr',
args,
});
const readContractParameters = {
address: universalResolverAddress,
abi: abis_js_1.universalResolverResolveAbi,
functionName: 'resolveWithGateways',
args: [
(0, toHex_js_1.toHex)((0, packetToBytes_js_1.packetToBytes)(name)),
functionData,
gatewayUrls ?? [localBatchGatewayRequest_js_1.localBatchGatewayUrl],
],
blockNumber,
blockTag,
};
const readContractAction = (0, getAction_js_1.getAction)(client, readContract_js_1.readContract, 'readContract');
const res = await readContractAction(readContractParameters);
if (res[0] === '0x')
return null;
const address = (0, decodeFunctionResult_js_1.decodeFunctionResult)({
abi: abis_js_1.addressResolverAbi,
args,
functionName: 'addr',
data: res[0],
});
if (address === '0x')
return null;
if ((0, trim_js_1.trim)(address) === '0x00')
return null;
return address;
}
catch (err) {
if (strict)
throw err;
if ((0, errors_js_1.isNullUniversalResolverError)(err))
return null;
throw err;
}
}
//# sourceMappingURL=getEnsAddress.js.map

View File

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

29
node_modules/viem/_cjs/actions/ens/getEnsAvatar.js generated vendored Normal file
View File

@@ -0,0 +1,29 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEnsAvatar = getEnsAvatar;
const parseAvatarRecord_js_1 = require("../../utils/ens/avatar/parseAvatarRecord.js");
const getAction_js_1 = require("../../utils/getAction.js");
const getEnsText_js_1 = require("./getEnsText.js");
async function getEnsAvatar(client, { blockNumber, blockTag, assetGatewayUrls, name, gatewayUrls, strict, universalResolverAddress, }) {
const record = await (0, getAction_js_1.getAction)(client, getEnsText_js_1.getEnsText, 'getEnsText')({
blockNumber,
blockTag,
key: 'avatar',
name,
universalResolverAddress,
gatewayUrls,
strict,
});
if (!record)
return null;
try {
return await (0, parseAvatarRecord_js_1.parseAvatarRecord)(client, {
record,
gatewayUrls: assetGatewayUrls,
});
}
catch {
return null;
}
}
//# sourceMappingURL=getEnsAvatar.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getEnsAvatar.js","sourceRoot":"","sources":["../../../actions/ens/getEnsAvatar.ts"],"names":[],"mappings":";;AA4DA,oCAkCC;AAxFD,sFAGoD;AACpD,2DAAoD;AAEpD,mDAIwB;AA4CjB,KAAK,UAAU,YAAY,CAChC,MAAgC,EAChC,EACE,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,IAAI,EACJ,WAAW,EACX,MAAM,EACN,wBAAwB,GACD;IAEzB,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAS,EAC5B,MAAM,EACN,0BAAU,EACV,YAAY,CACb,CAAC;QACA,WAAW;QACX,QAAQ;QACR,GAAG,EAAE,QAAQ;QACb,IAAI;QACJ,wBAAwB;QACxB,WAAW;QACX,MAAM;KACP,CAAC,CAAA;IACF,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxB,IAAI,CAAC;QACH,OAAO,MAAM,IAAA,wCAAiB,EAAC,MAAM,EAAE;YACrC,MAAM;YACN,WAAW,EAAE,gBAAgB;SAC9B,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}

45
node_modules/viem/_cjs/actions/ens/getEnsName.js generated vendored Normal file
View File

@@ -0,0 +1,45 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEnsName = getEnsName;
const abis_js_1 = require("../../constants/abis.js");
const getChainContractAddress_js_1 = require("../../utils/chain/getChainContractAddress.js");
const errors_js_1 = require("../../utils/ens/errors.js");
const localBatchGatewayRequest_js_1 = require("../../utils/ens/localBatchGatewayRequest.js");
const getAction_js_1 = require("../../utils/getAction.js");
const readContract_js_1 = require("../public/readContract.js");
async function getEnsName(client, parameters) {
const { address, blockNumber, blockTag, coinType = 60n, gatewayUrls, strict, } = parameters;
const { chain } = client;
const universalResolverAddress = (() => {
if (parameters.universalResolverAddress)
return parameters.universalResolverAddress;
if (!chain)
throw new Error('client chain not configured. universalResolverAddress is required.');
return (0, getChainContractAddress_js_1.getChainContractAddress)({
blockNumber,
chain,
contract: 'ensUniversalResolver',
});
})();
try {
const readContractParameters = {
address: universalResolverAddress,
abi: abis_js_1.universalResolverReverseAbi,
args: [address, coinType, gatewayUrls ?? [localBatchGatewayRequest_js_1.localBatchGatewayUrl]],
functionName: 'reverseWithGateways',
blockNumber,
blockTag,
};
const readContractAction = (0, getAction_js_1.getAction)(client, readContract_js_1.readContract, 'readContract');
const [name] = await readContractAction(readContractParameters);
return name || null;
}
catch (err) {
if (strict)
throw err;
if ((0, errors_js_1.isNullUniversalResolverError)(err))
return null;
throw err;
}
}
//# sourceMappingURL=getEnsName.js.map

1
node_modules/viem/_cjs/actions/ens/getEnsName.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"getEnsName.js","sourceRoot":"","sources":["../../../actions/ens/getEnsName.ts"],"names":[],"mappings":";;AA2FA,gCAgDC;AAvID,qDAAqE;AAIrE,6FAGqD;AACrD,yDAAwE;AACxE,6FAAkF;AAElF,2DAAoD;AACpD,+DAIkC;AAuE3B,KAAK,UAAU,UAAU,CAC9B,MAAgC,EAChC,UAAgC;IAEhC,MAAM,EACJ,OAAO,EACP,WAAW,EACX,QAAQ,EACR,QAAQ,GAAG,GAAG,EACd,WAAW,EACX,MAAM,GACP,GAAG,UAAU,CAAA;IACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IAExB,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE;QACrC,IAAI,UAAU,CAAC,wBAAwB;YACrC,OAAO,UAAU,CAAC,wBAAwB,CAAA;QAC5C,IAAI,CAAC,KAAK;YACR,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAA;QACH,OAAO,IAAA,oDAAuB,EAAC;YAC7B,WAAW;YACX,KAAK;YACL,QAAQ,EAAE,sBAAsB;SACjC,CAAC,CAAA;IACJ,CAAC,CAAC,EAAE,CAAA;IAEJ,IAAI,CAAC;QACH,MAAM,sBAAsB,GAAG;YAC7B,OAAO,EAAE,wBAAwB;YACjC,GAAG,EAAE,qCAA2B;YAChC,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,IAAI,CAAC,kDAAoB,CAAC,CAAC;YAChE,YAAY,EAAE,qBAAqB;YACnC,WAAW;YACX,QAAQ;SACA,CAAA;QAEV,MAAM,kBAAkB,GAAG,IAAA,wBAAS,EAAC,MAAM,EAAE,8BAAY,EAAE,cAAc,CAAC,CAAA;QAE1E,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,kBAAkB,CAAC,sBAAsB,CAAC,CAAA;QAE/D,OAAO,IAAI,IAAI,IAAI,CAAA;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,MAAM;YAAE,MAAM,GAAG,CAAA;QACrB,IAAI,IAAA,wCAA4B,EAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAA;QAClD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC"}

48
node_modules/viem/_cjs/actions/ens/getEnsResolver.js generated vendored Normal file
View File

@@ -0,0 +1,48 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEnsResolver = getEnsResolver;
const getChainContractAddress_js_1 = require("../../utils/chain/getChainContractAddress.js");
const toHex_js_1 = require("../../utils/encoding/toHex.js");
const packetToBytes_js_1 = require("../../utils/ens/packetToBytes.js");
const getAction_js_1 = require("../../utils/getAction.js");
const readContract_js_1 = require("../public/readContract.js");
async function getEnsResolver(client, parameters) {
const { blockNumber, blockTag, name } = parameters;
const { chain } = client;
const universalResolverAddress = (() => {
if (parameters.universalResolverAddress)
return parameters.universalResolverAddress;
if (!chain)
throw new Error('client chain not configured. universalResolverAddress is required.');
return (0, getChainContractAddress_js_1.getChainContractAddress)({
blockNumber,
chain,
contract: 'ensUniversalResolver',
});
})();
const tlds = chain?.ensTlds;
if (tlds && !tlds.some((tld) => name.endsWith(tld)))
throw new Error(`${name} is not a valid ENS TLD (${tlds?.join(', ')}) for chain "${chain.name}" (id: ${chain.id}).`);
const [resolverAddress] = await (0, getAction_js_1.getAction)(client, readContract_js_1.readContract, 'readContract')({
address: universalResolverAddress,
abi: [
{
inputs: [{ type: 'bytes' }],
name: 'findResolver',
outputs: [
{ type: 'address' },
{ type: 'bytes32' },
{ type: 'uint256' },
],
stateMutability: 'view',
type: 'function',
},
],
functionName: 'findResolver',
args: [(0, toHex_js_1.toHex)((0, packetToBytes_js_1.packetToBytes)(name))],
blockNumber,
blockTag,
});
return resolverAddress;
}
//# sourceMappingURL=getEnsResolver.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getEnsResolver.js","sourceRoot":"","sources":["../../../actions/ens/getEnsResolver.ts"],"names":[],"mappings":";;AAmEA,wCAoDC;AAhHD,6FAGqD;AACrD,4DAA0E;AAC1E,uEAGyC;AACzC,2DAAoD;AACpD,+DAGkC;AA+C3B,KAAK,UAAU,cAAc,CAClC,MAAgC,EAChC,UAAoC;IAEpC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,UAAU,CAAA;IAClD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IAExB,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE;QACrC,IAAI,UAAU,CAAC,wBAAwB;YACrC,OAAO,UAAU,CAAC,wBAAwB,CAAA;QAC5C,IAAI,CAAC,KAAK;YACR,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAA;QACH,OAAO,IAAA,oDAAuB,EAAC;YAC7B,WAAW;YACX,KAAK;YACL,QAAQ,EAAE,sBAAsB;SACjC,CAAC,CAAA;IACJ,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,IAAI,GAAG,KAAK,EAAE,OAAO,CAAA;IAC3B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,4BAA4B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,EAAE,IAAI,CACpG,CAAA;IAEH,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,IAAA,wBAAS,EACvC,MAAM,EACN,8BAAY,EACZ,cAAc,CACf,CAAC;QACA,OAAO,EAAE,wBAAwB;QACjC,GAAG,EAAE;YACH;gBACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBAC3B,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnB,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnB,EAAE,IAAI,EAAE,SAAS,EAAE;iBACpB;gBACD,eAAe,EAAE,MAAM;gBACvB,IAAI,EAAE,UAAU;aACjB;SACF;QACD,YAAY,EAAE,cAAc;QAC5B,IAAI,EAAE,CAAC,IAAA,gBAAK,EAAC,IAAA,gCAAa,EAAC,IAAI,CAAC,CAAC,CAAC;QAClC,WAAW;QACX,QAAQ;KACT,CAAC,CAAA;IACF,OAAO,eAAe,CAAA;AACxB,CAAC"}

68
node_modules/viem/_cjs/actions/ens/getEnsText.js generated vendored Normal file
View File

@@ -0,0 +1,68 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEnsText = getEnsText;
const abis_js_1 = require("../../constants/abis.js");
const decodeFunctionResult_js_1 = require("../../utils/abi/decodeFunctionResult.js");
const encodeFunctionData_js_1 = require("../../utils/abi/encodeFunctionData.js");
const getChainContractAddress_js_1 = require("../../utils/chain/getChainContractAddress.js");
const toHex_js_1 = require("../../utils/encoding/toHex.js");
const errors_js_1 = require("../../utils/ens/errors.js");
const localBatchGatewayRequest_js_1 = require("../../utils/ens/localBatchGatewayRequest.js");
const namehash_js_1 = require("../../utils/ens/namehash.js");
const packetToBytes_js_1 = require("../../utils/ens/packetToBytes.js");
const getAction_js_1 = require("../../utils/getAction.js");
const readContract_js_1 = require("../public/readContract.js");
async function getEnsText(client, parameters) {
const { blockNumber, blockTag, key, name, gatewayUrls, strict } = parameters;
const { chain } = client;
const universalResolverAddress = (() => {
if (parameters.universalResolverAddress)
return parameters.universalResolverAddress;
if (!chain)
throw new Error('client chain not configured. universalResolverAddress is required.');
return (0, getChainContractAddress_js_1.getChainContractAddress)({
blockNumber,
chain,
contract: 'ensUniversalResolver',
});
})();
const tlds = chain?.ensTlds;
if (tlds && !tlds.some((tld) => name.endsWith(tld)))
return null;
try {
const readContractParameters = {
address: universalResolverAddress,
abi: abis_js_1.universalResolverResolveAbi,
args: [
(0, toHex_js_1.toHex)((0, packetToBytes_js_1.packetToBytes)(name)),
(0, encodeFunctionData_js_1.encodeFunctionData)({
abi: abis_js_1.textResolverAbi,
functionName: 'text',
args: [(0, namehash_js_1.namehash)(name), key],
}),
gatewayUrls ?? [localBatchGatewayRequest_js_1.localBatchGatewayUrl],
],
functionName: 'resolveWithGateways',
blockNumber,
blockTag,
};
const readContractAction = (0, getAction_js_1.getAction)(client, readContract_js_1.readContract, 'readContract');
const res = await readContractAction(readContractParameters);
if (res[0] === '0x')
return null;
const record = (0, decodeFunctionResult_js_1.decodeFunctionResult)({
abi: abis_js_1.textResolverAbi,
functionName: 'text',
data: res[0],
});
return record === '' ? null : record;
}
catch (err) {
if (strict)
throw err;
if ((0, errors_js_1.isNullUniversalResolverError)(err))
return null;
throw err;
}
}
//# sourceMappingURL=getEnsText.js.map

1
node_modules/viem/_cjs/actions/ens/getEnsText.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"getEnsText.js","sourceRoot":"","sources":["../../../actions/ens/getEnsText.ts"],"names":[],"mappings":";;AA4FA,gCA4DC;AApJD,qDAGgC;AAGhC,qFAGgD;AAChD,iFAG8C;AAC9C,6FAGqD;AACrD,4DAA0E;AAC1E,yDAAwE;AACxE,6FAAkF;AAClF,6DAA8E;AAC9E,uEAGyC;AACzC,2DAAoD;AACpD,+DAIkC;AAyD3B,KAAK,UAAU,UAAU,CAC9B,MAAgC,EAChC,UAAgC;IAEhC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IAC5E,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IAExB,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE;QACrC,IAAI,UAAU,CAAC,wBAAwB;YACrC,OAAO,UAAU,CAAC,wBAAwB,CAAA;QAC5C,IAAI,CAAC,KAAK;YACR,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAA;QACH,OAAO,IAAA,oDAAuB,EAAC;YAC7B,WAAW;YACX,KAAK;YACL,QAAQ,EAAE,sBAAsB;SACjC,CAAC,CAAA;IACJ,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,IAAI,GAAG,KAAK,EAAE,OAAO,CAAA;IAC3B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAEhE,IAAI,CAAC;QACH,MAAM,sBAAsB,GAAG;YAC7B,OAAO,EAAE,wBAAwB;YACjC,GAAG,EAAE,qCAA2B;YAChC,IAAI,EAAE;gBACJ,IAAA,gBAAK,EAAC,IAAA,gCAAa,EAAC,IAAI,CAAC,CAAC;gBAC1B,IAAA,0CAAkB,EAAC;oBACjB,GAAG,EAAE,yBAAe;oBACpB,YAAY,EAAE,MAAM;oBACpB,IAAI,EAAE,CAAC,IAAA,sBAAQ,EAAC,IAAI,CAAC,EAAE,GAAG,CAAC;iBAC5B,CAAC;gBACF,WAAW,IAAI,CAAC,kDAAoB,CAAC;aACtC;YACD,YAAY,EAAE,qBAAqB;YACnC,WAAW;YACX,QAAQ;SACA,CAAA;QAEV,MAAM,kBAAkB,GAAG,IAAA,wBAAS,EAAC,MAAM,EAAE,8BAAY,EAAE,cAAc,CAAC,CAAA;QAE1E,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,sBAAsB,CAAC,CAAA;QAE5D,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAEhC,MAAM,MAAM,GAAG,IAAA,8CAAoB,EAAC;YAClC,GAAG,EAAE,yBAAe;YACpB,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;SACb,CAAC,CAAA;QAEF,OAAO,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,MAAM;YAAE,MAAM,GAAG,CAAA;QACrB,IAAI,IAAA,wCAA4B,EAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAA;QAClD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC"}

183
node_modules/viem/_cjs/actions/getContract.js generated vendored Normal file
View File

@@ -0,0 +1,183 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getContract = getContract;
exports.getFunctionParameters = getFunctionParameters;
exports.getEventParameters = getEventParameters;
const getAction_js_1 = require("../utils/getAction.js");
const createContractEventFilter_js_1 = require("./public/createContractEventFilter.js");
const estimateContractGas_js_1 = require("./public/estimateContractGas.js");
const getContractEvents_js_1 = require("./public/getContractEvents.js");
const readContract_js_1 = require("./public/readContract.js");
const simulateContract_js_1 = require("./public/simulateContract.js");
const watchContractEvent_js_1 = require("./public/watchContractEvent.js");
const writeContract_js_1 = require("./wallet/writeContract.js");
function getContract({ abi, address, client: client_, }) {
const client = client_;
const [publicClient, walletClient] = (() => {
if (!client)
return [undefined, undefined];
if ('public' in client && 'wallet' in client)
return [client.public, client.wallet];
if ('public' in client)
return [client.public, undefined];
if ('wallet' in client)
return [undefined, client.wallet];
return [client, client];
})();
const hasPublicClient = publicClient !== undefined && publicClient !== null;
const hasWalletClient = walletClient !== undefined && walletClient !== null;
const contract = {};
let hasReadFunction = false;
let hasWriteFunction = false;
let hasEvent = false;
for (const item of abi) {
if (item.type === 'function')
if (item.stateMutability === 'view' || item.stateMutability === 'pure')
hasReadFunction = true;
else
hasWriteFunction = true;
else if (item.type === 'event')
hasEvent = true;
if (hasReadFunction && hasWriteFunction && hasEvent)
break;
}
if (hasPublicClient) {
if (hasReadFunction)
contract.read = new Proxy({}, {
get(_, functionName) {
return (...parameters) => {
const { args, options } = getFunctionParameters(parameters);
return (0, getAction_js_1.getAction)(publicClient, readContract_js_1.readContract, 'readContract')({
abi,
address,
functionName,
args,
...options,
});
};
},
});
if (hasWriteFunction)
contract.simulate = new Proxy({}, {
get(_, functionName) {
return (...parameters) => {
const { args, options } = getFunctionParameters(parameters);
return (0, getAction_js_1.getAction)(publicClient, simulateContract_js_1.simulateContract, 'simulateContract')({
abi,
address,
functionName,
args,
...options,
});
};
},
});
if (hasEvent) {
contract.createEventFilter = new Proxy({}, {
get(_, eventName) {
return (...parameters) => {
const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);
const { args, options } = getEventParameters(parameters, abiEvent);
return (0, getAction_js_1.getAction)(publicClient, createContractEventFilter_js_1.createContractEventFilter, 'createContractEventFilter')({
abi,
address,
eventName,
args,
...options,
});
};
},
});
contract.getEvents = new Proxy({}, {
get(_, eventName) {
return (...parameters) => {
const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);
const { args, options } = getEventParameters(parameters, abiEvent);
return (0, getAction_js_1.getAction)(publicClient, getContractEvents_js_1.getContractEvents, 'getContractEvents')({
abi,
address,
eventName,
args,
...options,
});
};
},
});
contract.watchEvent = new Proxy({}, {
get(_, eventName) {
return (...parameters) => {
const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName);
const { args, options } = getEventParameters(parameters, abiEvent);
return (0, getAction_js_1.getAction)(publicClient, watchContractEvent_js_1.watchContractEvent, 'watchContractEvent')({
abi,
address,
eventName,
args,
...options,
});
};
},
});
}
}
if (hasWalletClient) {
if (hasWriteFunction)
contract.write = new Proxy({}, {
get(_, functionName) {
return (...parameters) => {
const { args, options } = getFunctionParameters(parameters);
return (0, getAction_js_1.getAction)(walletClient, writeContract_js_1.writeContract, 'writeContract')({
abi,
address,
functionName,
args,
...options,
});
};
},
});
}
if (hasPublicClient || hasWalletClient)
if (hasWriteFunction)
contract.estimateGas = new Proxy({}, {
get(_, functionName) {
return (...parameters) => {
const { args, options } = getFunctionParameters(parameters);
const client = (publicClient ?? walletClient);
return (0, getAction_js_1.getAction)(client, estimateContractGas_js_1.estimateContractGas, 'estimateContractGas')({
abi,
address,
functionName,
args,
...options,
account: options.account ??
walletClient.account,
});
};
},
});
contract.address = address;
contract.abi = abi;
return contract;
}
function getFunctionParameters(values) {
const hasArgs = values.length && Array.isArray(values[0]);
const args = hasArgs ? values[0] : [];
const options = (hasArgs ? values[1] : values[0]) ?? {};
return { args, options };
}
function getEventParameters(values, abiEvent) {
let hasArgs = false;
if (Array.isArray(values[0]))
hasArgs = true;
else if (values.length === 1) {
hasArgs = abiEvent.inputs.some((x) => x.indexed);
}
else if (values.length === 2) {
hasArgs = true;
}
const args = hasArgs ? values[0] : undefined;
const options = (hasArgs ? values[1] : values[0]) ?? {};
return { args, options };
}
//# sourceMappingURL=getContract.js.map

1
node_modules/viem/_cjs/actions/getContract.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

225
node_modules/viem/_cjs/actions/index.js generated vendored Normal file
View File

@@ -0,0 +1,225 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.watchBlockNumber = exports.waitForTransactionReceipt = exports.verifyTypedData = exports.verifyMessage = exports.verifyHash = exports.uninstallFilter = exports.simulateContract = exports.simulateCalls = exports.simulate = exports.simulateBlocks = exports.readContract = exports.multicall = exports.getTransactionReceipt = exports.getTransactionCount = exports.getTransactionConfirmations = exports.getTransaction = exports.getStorageAt = exports.getProof = exports.getLogs = exports.getGasPrice = exports.getFilterLogs = exports.getFilterChanges = exports.getFeeHistory = exports.getEip712Domain = exports.getDelegation = exports.getContractEvents = exports.getCode = exports.getBytecode = exports.getChainId = exports.getBlockTransactionCount = exports.getBlockNumber = exports.getBlock = exports.getBlobBaseFee = exports.getBalance = exports.fillTransaction = exports.estimateMaxPriorityFeePerGas = exports.estimateGas = exports.estimateFeesPerGas = exports.estimateContractGas = exports.createPendingTransactionFilter = exports.createEventFilter = exports.createContractEventFilter = exports.createBlockFilter = exports.createAccessList = exports.call = exports.getEnsText = exports.getEnsResolver = exports.getEnsName = exports.getEnsAvatar = exports.getEnsAddress = void 0;
exports.sendTransaction = exports.sendRawTransactionSync = exports.sendRawTransaction = exports.sendCallsSync = exports.sendCalls = exports.requestPermissions = exports.requestAddresses = exports.prepareTransactionRequest = exports.defaultPrepareTransactionRequestParameters = exports.prepareAuthorization = exports.getPermissions = exports.getCapabilities = exports.getCallsStatus = exports.getAddresses = exports.deployContract = exports.addChain = exports.stopImpersonatingAccount = exports.snapshot = exports.setStorageAt = exports.setRpcUrl = exports.setNonce = exports.setNextBlockTimestamp = exports.setNextBlockBaseFeePerGas = exports.setMinGasPrice = exports.setLoggingEnabled = exports.setIntervalMining = exports.setCoinbase = exports.setCode = exports.setBlockTimestampInterval = exports.setBlockGasLimit = exports.setBalance = exports.setAutomine = exports.sendUnsignedTransaction = exports.revert = exports.reset = exports.removeBlockTimestampInterval = exports.mine = exports.loadState = exports.inspectTxpool = exports.increaseTime = exports.impersonateAccount = exports.getTxpoolStatus = exports.getTxpoolContent = exports.getAutomine = exports.dumpState = exports.dropTransaction = exports.watchPendingTransactions = exports.watchEvent = exports.watchContractEvent = exports.watchBlocks = void 0;
exports.writeContractSync = exports.writeContract = exports.watchAsset = exports.waitForCallsStatus = exports.switchChain = exports.signTypedData = exports.signTransaction = exports.signMessage = exports.signAuthorization = exports.showCallsStatus = exports.sendTransactionSync = void 0;
var getEnsAddress_js_1 = require("./ens/getEnsAddress.js");
Object.defineProperty(exports, "getEnsAddress", { enumerable: true, get: function () { return getEnsAddress_js_1.getEnsAddress; } });
var getEnsAvatar_js_1 = require("./ens/getEnsAvatar.js");
Object.defineProperty(exports, "getEnsAvatar", { enumerable: true, get: function () { return getEnsAvatar_js_1.getEnsAvatar; } });
var getEnsName_js_1 = require("./ens/getEnsName.js");
Object.defineProperty(exports, "getEnsName", { enumerable: true, get: function () { return getEnsName_js_1.getEnsName; } });
var getEnsResolver_js_1 = require("./ens/getEnsResolver.js");
Object.defineProperty(exports, "getEnsResolver", { enumerable: true, get: function () { return getEnsResolver_js_1.getEnsResolver; } });
var getEnsText_js_1 = require("./ens/getEnsText.js");
Object.defineProperty(exports, "getEnsText", { enumerable: true, get: function () { return getEnsText_js_1.getEnsText; } });
var call_js_1 = require("./public/call.js");
Object.defineProperty(exports, "call", { enumerable: true, get: function () { return call_js_1.call; } });
var createAccessList_js_1 = require("./public/createAccessList.js");
Object.defineProperty(exports, "createAccessList", { enumerable: true, get: function () { return createAccessList_js_1.createAccessList; } });
var createBlockFilter_js_1 = require("./public/createBlockFilter.js");
Object.defineProperty(exports, "createBlockFilter", { enumerable: true, get: function () { return createBlockFilter_js_1.createBlockFilter; } });
var createContractEventFilter_js_1 = require("./public/createContractEventFilter.js");
Object.defineProperty(exports, "createContractEventFilter", { enumerable: true, get: function () { return createContractEventFilter_js_1.createContractEventFilter; } });
var createEventFilter_js_1 = require("./public/createEventFilter.js");
Object.defineProperty(exports, "createEventFilter", { enumerable: true, get: function () { return createEventFilter_js_1.createEventFilter; } });
var createPendingTransactionFilter_js_1 = require("./public/createPendingTransactionFilter.js");
Object.defineProperty(exports, "createPendingTransactionFilter", { enumerable: true, get: function () { return createPendingTransactionFilter_js_1.createPendingTransactionFilter; } });
var estimateContractGas_js_1 = require("./public/estimateContractGas.js");
Object.defineProperty(exports, "estimateContractGas", { enumerable: true, get: function () { return estimateContractGas_js_1.estimateContractGas; } });
var estimateFeesPerGas_js_1 = require("./public/estimateFeesPerGas.js");
Object.defineProperty(exports, "estimateFeesPerGas", { enumerable: true, get: function () { return estimateFeesPerGas_js_1.estimateFeesPerGas; } });
var estimateGas_js_1 = require("./public/estimateGas.js");
Object.defineProperty(exports, "estimateGas", { enumerable: true, get: function () { return estimateGas_js_1.estimateGas; } });
var estimateMaxPriorityFeePerGas_js_1 = require("./public/estimateMaxPriorityFeePerGas.js");
Object.defineProperty(exports, "estimateMaxPriorityFeePerGas", { enumerable: true, get: function () { return estimateMaxPriorityFeePerGas_js_1.estimateMaxPriorityFeePerGas; } });
var fillTransaction_js_1 = require("./public/fillTransaction.js");
Object.defineProperty(exports, "fillTransaction", { enumerable: true, get: function () { return fillTransaction_js_1.fillTransaction; } });
var getBalance_js_1 = require("./public/getBalance.js");
Object.defineProperty(exports, "getBalance", { enumerable: true, get: function () { return getBalance_js_1.getBalance; } });
var getBlobBaseFee_js_1 = require("./public/getBlobBaseFee.js");
Object.defineProperty(exports, "getBlobBaseFee", { enumerable: true, get: function () { return getBlobBaseFee_js_1.getBlobBaseFee; } });
var getBlock_js_1 = require("./public/getBlock.js");
Object.defineProperty(exports, "getBlock", { enumerable: true, get: function () { return getBlock_js_1.getBlock; } });
var getBlockNumber_js_1 = require("./public/getBlockNumber.js");
Object.defineProperty(exports, "getBlockNumber", { enumerable: true, get: function () { return getBlockNumber_js_1.getBlockNumber; } });
var getBlockTransactionCount_js_1 = require("./public/getBlockTransactionCount.js");
Object.defineProperty(exports, "getBlockTransactionCount", { enumerable: true, get: function () { return getBlockTransactionCount_js_1.getBlockTransactionCount; } });
var getChainId_js_1 = require("./public/getChainId.js");
Object.defineProperty(exports, "getChainId", { enumerable: true, get: function () { return getChainId_js_1.getChainId; } });
var getCode_js_1 = require("./public/getCode.js");
Object.defineProperty(exports, "getBytecode", { enumerable: true, get: function () { return getCode_js_1.getCode; } });
Object.defineProperty(exports, "getCode", { enumerable: true, get: function () { return getCode_js_1.getCode; } });
var getContractEvents_js_1 = require("./public/getContractEvents.js");
Object.defineProperty(exports, "getContractEvents", { enumerable: true, get: function () { return getContractEvents_js_1.getContractEvents; } });
var getDelegation_js_1 = require("./public/getDelegation.js");
Object.defineProperty(exports, "getDelegation", { enumerable: true, get: function () { return getDelegation_js_1.getDelegation; } });
var getEip712Domain_js_1 = require("./public/getEip712Domain.js");
Object.defineProperty(exports, "getEip712Domain", { enumerable: true, get: function () { return getEip712Domain_js_1.getEip712Domain; } });
var getFeeHistory_js_1 = require("./public/getFeeHistory.js");
Object.defineProperty(exports, "getFeeHistory", { enumerable: true, get: function () { return getFeeHistory_js_1.getFeeHistory; } });
var getFilterChanges_js_1 = require("./public/getFilterChanges.js");
Object.defineProperty(exports, "getFilterChanges", { enumerable: true, get: function () { return getFilterChanges_js_1.getFilterChanges; } });
var getFilterLogs_js_1 = require("./public/getFilterLogs.js");
Object.defineProperty(exports, "getFilterLogs", { enumerable: true, get: function () { return getFilterLogs_js_1.getFilterLogs; } });
var getGasPrice_js_1 = require("./public/getGasPrice.js");
Object.defineProperty(exports, "getGasPrice", { enumerable: true, get: function () { return getGasPrice_js_1.getGasPrice; } });
var getLogs_js_1 = require("./public/getLogs.js");
Object.defineProperty(exports, "getLogs", { enumerable: true, get: function () { return getLogs_js_1.getLogs; } });
var getProof_js_1 = require("./public/getProof.js");
Object.defineProperty(exports, "getProof", { enumerable: true, get: function () { return getProof_js_1.getProof; } });
var getStorageAt_js_1 = require("./public/getStorageAt.js");
Object.defineProperty(exports, "getStorageAt", { enumerable: true, get: function () { return getStorageAt_js_1.getStorageAt; } });
var getTransaction_js_1 = require("./public/getTransaction.js");
Object.defineProperty(exports, "getTransaction", { enumerable: true, get: function () { return getTransaction_js_1.getTransaction; } });
var getTransactionConfirmations_js_1 = require("./public/getTransactionConfirmations.js");
Object.defineProperty(exports, "getTransactionConfirmations", { enumerable: true, get: function () { return getTransactionConfirmations_js_1.getTransactionConfirmations; } });
var getTransactionCount_js_1 = require("./public/getTransactionCount.js");
Object.defineProperty(exports, "getTransactionCount", { enumerable: true, get: function () { return getTransactionCount_js_1.getTransactionCount; } });
var getTransactionReceipt_js_1 = require("./public/getTransactionReceipt.js");
Object.defineProperty(exports, "getTransactionReceipt", { enumerable: true, get: function () { return getTransactionReceipt_js_1.getTransactionReceipt; } });
var multicall_js_1 = require("./public/multicall.js");
Object.defineProperty(exports, "multicall", { enumerable: true, get: function () { return multicall_js_1.multicall; } });
var readContract_js_1 = require("./public/readContract.js");
Object.defineProperty(exports, "readContract", { enumerable: true, get: function () { return readContract_js_1.readContract; } });
var simulateBlocks_js_1 = require("./public/simulateBlocks.js");
Object.defineProperty(exports, "simulateBlocks", { enumerable: true, get: function () { return simulateBlocks_js_1.simulateBlocks; } });
Object.defineProperty(exports, "simulate", { enumerable: true, get: function () { return simulateBlocks_js_1.simulateBlocks; } });
var simulateCalls_js_1 = require("./public/simulateCalls.js");
Object.defineProperty(exports, "simulateCalls", { enumerable: true, get: function () { return simulateCalls_js_1.simulateCalls; } });
var simulateContract_js_1 = require("./public/simulateContract.js");
Object.defineProperty(exports, "simulateContract", { enumerable: true, get: function () { return simulateContract_js_1.simulateContract; } });
var uninstallFilter_js_1 = require("./public/uninstallFilter.js");
Object.defineProperty(exports, "uninstallFilter", { enumerable: true, get: function () { return uninstallFilter_js_1.uninstallFilter; } });
var verifyHash_js_1 = require("./public/verifyHash.js");
Object.defineProperty(exports, "verifyHash", { enumerable: true, get: function () { return verifyHash_js_1.verifyHash; } });
var verifyMessage_js_1 = require("./public/verifyMessage.js");
Object.defineProperty(exports, "verifyMessage", { enumerable: true, get: function () { return verifyMessage_js_1.verifyMessage; } });
var verifyTypedData_js_1 = require("./public/verifyTypedData.js");
Object.defineProperty(exports, "verifyTypedData", { enumerable: true, get: function () { return verifyTypedData_js_1.verifyTypedData; } });
var waitForTransactionReceipt_js_1 = require("./public/waitForTransactionReceipt.js");
Object.defineProperty(exports, "waitForTransactionReceipt", { enumerable: true, get: function () { return waitForTransactionReceipt_js_1.waitForTransactionReceipt; } });
var watchBlockNumber_js_1 = require("./public/watchBlockNumber.js");
Object.defineProperty(exports, "watchBlockNumber", { enumerable: true, get: function () { return watchBlockNumber_js_1.watchBlockNumber; } });
var watchBlocks_js_1 = require("./public/watchBlocks.js");
Object.defineProperty(exports, "watchBlocks", { enumerable: true, get: function () { return watchBlocks_js_1.watchBlocks; } });
var watchContractEvent_js_1 = require("./public/watchContractEvent.js");
Object.defineProperty(exports, "watchContractEvent", { enumerable: true, get: function () { return watchContractEvent_js_1.watchContractEvent; } });
var watchEvent_js_1 = require("./public/watchEvent.js");
Object.defineProperty(exports, "watchEvent", { enumerable: true, get: function () { return watchEvent_js_1.watchEvent; } });
var watchPendingTransactions_js_1 = require("./public/watchPendingTransactions.js");
Object.defineProperty(exports, "watchPendingTransactions", { enumerable: true, get: function () { return watchPendingTransactions_js_1.watchPendingTransactions; } });
var dropTransaction_js_1 = require("./test/dropTransaction.js");
Object.defineProperty(exports, "dropTransaction", { enumerable: true, get: function () { return dropTransaction_js_1.dropTransaction; } });
var dumpState_js_1 = require("./test/dumpState.js");
Object.defineProperty(exports, "dumpState", { enumerable: true, get: function () { return dumpState_js_1.dumpState; } });
var getAutomine_js_1 = require("./test/getAutomine.js");
Object.defineProperty(exports, "getAutomine", { enumerable: true, get: function () { return getAutomine_js_1.getAutomine; } });
var getTxpoolContent_js_1 = require("./test/getTxpoolContent.js");
Object.defineProperty(exports, "getTxpoolContent", { enumerable: true, get: function () { return getTxpoolContent_js_1.getTxpoolContent; } });
var getTxpoolStatus_js_1 = require("./test/getTxpoolStatus.js");
Object.defineProperty(exports, "getTxpoolStatus", { enumerable: true, get: function () { return getTxpoolStatus_js_1.getTxpoolStatus; } });
var impersonateAccount_js_1 = require("./test/impersonateAccount.js");
Object.defineProperty(exports, "impersonateAccount", { enumerable: true, get: function () { return impersonateAccount_js_1.impersonateAccount; } });
var increaseTime_js_1 = require("./test/increaseTime.js");
Object.defineProperty(exports, "increaseTime", { enumerable: true, get: function () { return increaseTime_js_1.increaseTime; } });
var inspectTxpool_js_1 = require("./test/inspectTxpool.js");
Object.defineProperty(exports, "inspectTxpool", { enumerable: true, get: function () { return inspectTxpool_js_1.inspectTxpool; } });
var loadState_js_1 = require("./test/loadState.js");
Object.defineProperty(exports, "loadState", { enumerable: true, get: function () { return loadState_js_1.loadState; } });
var mine_js_1 = require("./test/mine.js");
Object.defineProperty(exports, "mine", { enumerable: true, get: function () { return mine_js_1.mine; } });
var removeBlockTimestampInterval_js_1 = require("./test/removeBlockTimestampInterval.js");
Object.defineProperty(exports, "removeBlockTimestampInterval", { enumerable: true, get: function () { return removeBlockTimestampInterval_js_1.removeBlockTimestampInterval; } });
var reset_js_1 = require("./test/reset.js");
Object.defineProperty(exports, "reset", { enumerable: true, get: function () { return reset_js_1.reset; } });
var revert_js_1 = require("./test/revert.js");
Object.defineProperty(exports, "revert", { enumerable: true, get: function () { return revert_js_1.revert; } });
var sendUnsignedTransaction_js_1 = require("./test/sendUnsignedTransaction.js");
Object.defineProperty(exports, "sendUnsignedTransaction", { enumerable: true, get: function () { return sendUnsignedTransaction_js_1.sendUnsignedTransaction; } });
var setAutomine_js_1 = require("./test/setAutomine.js");
Object.defineProperty(exports, "setAutomine", { enumerable: true, get: function () { return setAutomine_js_1.setAutomine; } });
var setBalance_js_1 = require("./test/setBalance.js");
Object.defineProperty(exports, "setBalance", { enumerable: true, get: function () { return setBalance_js_1.setBalance; } });
var setBlockGasLimit_js_1 = require("./test/setBlockGasLimit.js");
Object.defineProperty(exports, "setBlockGasLimit", { enumerable: true, get: function () { return setBlockGasLimit_js_1.setBlockGasLimit; } });
var setBlockTimestampInterval_js_1 = require("./test/setBlockTimestampInterval.js");
Object.defineProperty(exports, "setBlockTimestampInterval", { enumerable: true, get: function () { return setBlockTimestampInterval_js_1.setBlockTimestampInterval; } });
var setCode_js_1 = require("./test/setCode.js");
Object.defineProperty(exports, "setCode", { enumerable: true, get: function () { return setCode_js_1.setCode; } });
var setCoinbase_js_1 = require("./test/setCoinbase.js");
Object.defineProperty(exports, "setCoinbase", { enumerable: true, get: function () { return setCoinbase_js_1.setCoinbase; } });
var setIntervalMining_js_1 = require("./test/setIntervalMining.js");
Object.defineProperty(exports, "setIntervalMining", { enumerable: true, get: function () { return setIntervalMining_js_1.setIntervalMining; } });
var setLoggingEnabled_js_1 = require("./test/setLoggingEnabled.js");
Object.defineProperty(exports, "setLoggingEnabled", { enumerable: true, get: function () { return setLoggingEnabled_js_1.setLoggingEnabled; } });
var setMinGasPrice_js_1 = require("./test/setMinGasPrice.js");
Object.defineProperty(exports, "setMinGasPrice", { enumerable: true, get: function () { return setMinGasPrice_js_1.setMinGasPrice; } });
var setNextBlockBaseFeePerGas_js_1 = require("./test/setNextBlockBaseFeePerGas.js");
Object.defineProperty(exports, "setNextBlockBaseFeePerGas", { enumerable: true, get: function () { return setNextBlockBaseFeePerGas_js_1.setNextBlockBaseFeePerGas; } });
var setNextBlockTimestamp_js_1 = require("./test/setNextBlockTimestamp.js");
Object.defineProperty(exports, "setNextBlockTimestamp", { enumerable: true, get: function () { return setNextBlockTimestamp_js_1.setNextBlockTimestamp; } });
var setNonce_js_1 = require("./test/setNonce.js");
Object.defineProperty(exports, "setNonce", { enumerable: true, get: function () { return setNonce_js_1.setNonce; } });
var setRpcUrl_js_1 = require("./test/setRpcUrl.js");
Object.defineProperty(exports, "setRpcUrl", { enumerable: true, get: function () { return setRpcUrl_js_1.setRpcUrl; } });
var setStorageAt_js_1 = require("./test/setStorageAt.js");
Object.defineProperty(exports, "setStorageAt", { enumerable: true, get: function () { return setStorageAt_js_1.setStorageAt; } });
var snapshot_js_1 = require("./test/snapshot.js");
Object.defineProperty(exports, "snapshot", { enumerable: true, get: function () { return snapshot_js_1.snapshot; } });
var stopImpersonatingAccount_js_1 = require("./test/stopImpersonatingAccount.js");
Object.defineProperty(exports, "stopImpersonatingAccount", { enumerable: true, get: function () { return stopImpersonatingAccount_js_1.stopImpersonatingAccount; } });
var addChain_js_1 = require("./wallet/addChain.js");
Object.defineProperty(exports, "addChain", { enumerable: true, get: function () { return addChain_js_1.addChain; } });
var deployContract_js_1 = require("./wallet/deployContract.js");
Object.defineProperty(exports, "deployContract", { enumerable: true, get: function () { return deployContract_js_1.deployContract; } });
var getAddresses_js_1 = require("./wallet/getAddresses.js");
Object.defineProperty(exports, "getAddresses", { enumerable: true, get: function () { return getAddresses_js_1.getAddresses; } });
var getCallsStatus_js_1 = require("./wallet/getCallsStatus.js");
Object.defineProperty(exports, "getCallsStatus", { enumerable: true, get: function () { return getCallsStatus_js_1.getCallsStatus; } });
var getCapabilities_js_1 = require("./wallet/getCapabilities.js");
Object.defineProperty(exports, "getCapabilities", { enumerable: true, get: function () { return getCapabilities_js_1.getCapabilities; } });
var getPermissions_js_1 = require("./wallet/getPermissions.js");
Object.defineProperty(exports, "getPermissions", { enumerable: true, get: function () { return getPermissions_js_1.getPermissions; } });
var prepareAuthorization_js_1 = require("./wallet/prepareAuthorization.js");
Object.defineProperty(exports, "prepareAuthorization", { enumerable: true, get: function () { return prepareAuthorization_js_1.prepareAuthorization; } });
var prepareTransactionRequest_js_1 = require("./wallet/prepareTransactionRequest.js");
Object.defineProperty(exports, "defaultPrepareTransactionRequestParameters", { enumerable: true, get: function () { return prepareTransactionRequest_js_1.defaultParameters; } });
Object.defineProperty(exports, "prepareTransactionRequest", { enumerable: true, get: function () { return prepareTransactionRequest_js_1.prepareTransactionRequest; } });
var requestAddresses_js_1 = require("./wallet/requestAddresses.js");
Object.defineProperty(exports, "requestAddresses", { enumerable: true, get: function () { return requestAddresses_js_1.requestAddresses; } });
var requestPermissions_js_1 = require("./wallet/requestPermissions.js");
Object.defineProperty(exports, "requestPermissions", { enumerable: true, get: function () { return requestPermissions_js_1.requestPermissions; } });
var sendCalls_js_1 = require("./wallet/sendCalls.js");
Object.defineProperty(exports, "sendCalls", { enumerable: true, get: function () { return sendCalls_js_1.sendCalls; } });
var sendCallsSync_js_1 = require("./wallet/sendCallsSync.js");
Object.defineProperty(exports, "sendCallsSync", { enumerable: true, get: function () { return sendCallsSync_js_1.sendCallsSync; } });
var sendRawTransaction_js_1 = require("./wallet/sendRawTransaction.js");
Object.defineProperty(exports, "sendRawTransaction", { enumerable: true, get: function () { return sendRawTransaction_js_1.sendRawTransaction; } });
var sendRawTransactionSync_js_1 = require("./wallet/sendRawTransactionSync.js");
Object.defineProperty(exports, "sendRawTransactionSync", { enumerable: true, get: function () { return sendRawTransactionSync_js_1.sendRawTransactionSync; } });
var sendTransaction_js_1 = require("./wallet/sendTransaction.js");
Object.defineProperty(exports, "sendTransaction", { enumerable: true, get: function () { return sendTransaction_js_1.sendTransaction; } });
var sendTransactionSync_js_1 = require("./wallet/sendTransactionSync.js");
Object.defineProperty(exports, "sendTransactionSync", { enumerable: true, get: function () { return sendTransactionSync_js_1.sendTransactionSync; } });
var showCallsStatus_js_1 = require("./wallet/showCallsStatus.js");
Object.defineProperty(exports, "showCallsStatus", { enumerable: true, get: function () { return showCallsStatus_js_1.showCallsStatus; } });
var signAuthorization_js_1 = require("./wallet/signAuthorization.js");
Object.defineProperty(exports, "signAuthorization", { enumerable: true, get: function () { return signAuthorization_js_1.signAuthorization; } });
var signMessage_js_1 = require("./wallet/signMessage.js");
Object.defineProperty(exports, "signMessage", { enumerable: true, get: function () { return signMessage_js_1.signMessage; } });
var signTransaction_js_1 = require("./wallet/signTransaction.js");
Object.defineProperty(exports, "signTransaction", { enumerable: true, get: function () { return signTransaction_js_1.signTransaction; } });
var signTypedData_js_1 = require("./wallet/signTypedData.js");
Object.defineProperty(exports, "signTypedData", { enumerable: true, get: function () { return signTypedData_js_1.signTypedData; } });
var switchChain_js_1 = require("./wallet/switchChain.js");
Object.defineProperty(exports, "switchChain", { enumerable: true, get: function () { return switchChain_js_1.switchChain; } });
var waitForCallsStatus_js_1 = require("./wallet/waitForCallsStatus.js");
Object.defineProperty(exports, "waitForCallsStatus", { enumerable: true, get: function () { return waitForCallsStatus_js_1.waitForCallsStatus; } });
var watchAsset_js_1 = require("./wallet/watchAsset.js");
Object.defineProperty(exports, "watchAsset", { enumerable: true, get: function () { return watchAsset_js_1.watchAsset; } });
var writeContract_js_1 = require("./wallet/writeContract.js");
Object.defineProperty(exports, "writeContract", { enumerable: true, get: function () { return writeContract_js_1.writeContract; } });
var writeContractSync_js_1 = require("./wallet/writeContractSync.js");
Object.defineProperty(exports, "writeContractSync", { enumerable: true, get: function () { return writeContractSync_js_1.writeContractSync; } });
//# sourceMappingURL=index.js.map

1
node_modules/viem/_cjs/actions/index.js.map generated vendored Normal file
View File

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

232
node_modules/viem/_cjs/actions/public/call.js generated vendored Normal file
View File

@@ -0,0 +1,232 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.call = call;
exports.getRevertErrorData = getRevertErrorData;
const abitype_1 = require("abitype");
const BlockOverrides = require("ox/BlockOverrides");
const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js");
const abis_js_1 = require("../../constants/abis.js");
const contract_js_1 = require("../../constants/contract.js");
const contracts_js_1 = require("../../constants/contracts.js");
const base_js_1 = require("../../errors/base.js");
const chain_js_1 = require("../../errors/chain.js");
const contract_js_2 = require("../../errors/contract.js");
const decodeFunctionResult_js_1 = require("../../utils/abi/decodeFunctionResult.js");
const encodeDeployData_js_1 = require("../../utils/abi/encodeDeployData.js");
const encodeFunctionData_js_1 = require("../../utils/abi/encodeFunctionData.js");
const getChainContractAddress_js_1 = require("../../utils/chain/getChainContractAddress.js");
const toHex_js_1 = require("../../utils/encoding/toHex.js");
const getCallError_js_1 = require("../../utils/errors/getCallError.js");
const extract_js_1 = require("../../utils/formatters/extract.js");
const transactionRequest_js_1 = require("../../utils/formatters/transactionRequest.js");
const createBatchScheduler_js_1 = require("../../utils/promise/createBatchScheduler.js");
const stateOverride_js_1 = require("../../utils/stateOverride.js");
const assertRequest_js_1 = require("../../utils/transaction/assertRequest.js");
async function call(client, args) {
const { account: account_ = client.account, authorizationList, batch = Boolean(client.batch?.multicall), blockNumber, blockTag = client.experimental_blockTag ?? 'latest', accessList, blobs, blockOverrides, code, data: data_, factory, factoryData, gas, gasPrice, maxFeePerBlobGas, maxFeePerGas, maxPriorityFeePerGas, nonce, to, value, stateOverride, ...rest } = args;
const account = account_ ? (0, parseAccount_js_1.parseAccount)(account_) : undefined;
if (code && (factory || factoryData))
throw new base_js_1.BaseError('Cannot provide both `code` & `factory`/`factoryData` as parameters.');
if (code && to)
throw new base_js_1.BaseError('Cannot provide both `code` & `to` as parameters.');
const deploylessCallViaBytecode = code && data_;
const deploylessCallViaFactory = factory && factoryData && to && data_;
const deploylessCall = deploylessCallViaBytecode || deploylessCallViaFactory;
const data = (() => {
if (deploylessCallViaBytecode)
return toDeploylessCallViaBytecodeData({
code,
data: data_,
});
if (deploylessCallViaFactory)
return toDeploylessCallViaFactoryData({
data: data_,
factory,
factoryData,
to,
});
return data_;
})();
try {
(0, assertRequest_js_1.assertRequest)(args);
const blockNumberHex = typeof blockNumber === 'bigint' ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;
const block = blockNumberHex || blockTag;
const rpcBlockOverrides = blockOverrides
? BlockOverrides.toRpc(blockOverrides)
: undefined;
const rpcStateOverride = (0, stateOverride_js_1.serializeStateOverride)(stateOverride);
const chainFormat = client.chain?.formatters?.transactionRequest?.format;
const format = chainFormat || transactionRequest_js_1.formatTransactionRequest;
const request = format({
...(0, extract_js_1.extract)(rest, { format: chainFormat }),
accessList,
account,
authorizationList,
blobs,
data,
gas,
gasPrice,
maxFeePerBlobGas,
maxFeePerGas,
maxPriorityFeePerGas,
nonce,
to: deploylessCall ? undefined : to,
value,
}, 'call');
if (batch &&
shouldPerformMulticall({ request }) &&
!rpcStateOverride &&
!rpcBlockOverrides) {
try {
return await scheduleMulticall(client, {
...request,
blockNumber,
blockTag,
});
}
catch (err) {
if (!(err instanceof chain_js_1.ClientChainNotConfiguredError) &&
!(err instanceof chain_js_1.ChainDoesNotSupportContract))
throw err;
}
}
const params = (() => {
const base = [
request,
block,
];
if (rpcStateOverride && rpcBlockOverrides)
return [...base, rpcStateOverride, rpcBlockOverrides];
if (rpcStateOverride)
return [...base, rpcStateOverride];
if (rpcBlockOverrides)
return [...base, {}, rpcBlockOverrides];
return base;
})();
const response = await client.request({
method: 'eth_call',
params,
});
if (response === '0x')
return { data: undefined };
return { data: response };
}
catch (err) {
const data = getRevertErrorData(err);
const { offchainLookup, offchainLookupSignature } = await Promise.resolve().then(() => require('../../utils/ccip.js'));
if (client.ccipRead !== false &&
data?.slice(0, 10) === offchainLookupSignature &&
to)
return { data: await offchainLookup(client, { data, to }) };
if (deploylessCall && data?.slice(0, 10) === '0x101bb98d')
throw new contract_js_2.CounterfactualDeploymentFailedError({ factory });
throw (0, getCallError_js_1.getCallError)(err, {
...args,
account,
chain: client.chain,
});
}
}
function shouldPerformMulticall({ request }) {
const { data, to, ...request_ } = request;
if (!data)
return false;
if (data.startsWith(contract_js_1.aggregate3Signature))
return false;
if (!to)
return false;
if (Object.values(request_).filter((x) => typeof x !== 'undefined').length > 0)
return false;
return true;
}
async function scheduleMulticall(client, args) {
const { batchSize = 1024, deployless = false, wait = 0, } = typeof client.batch?.multicall === 'object' ? client.batch.multicall : {};
const { blockNumber, blockTag = client.experimental_blockTag ?? 'latest', data, to, } = args;
const multicallAddress = (() => {
if (deployless)
return null;
if (args.multicallAddress)
return args.multicallAddress;
if (client.chain) {
return (0, getChainContractAddress_js_1.getChainContractAddress)({
blockNumber,
chain: client.chain,
contract: 'multicall3',
});
}
throw new chain_js_1.ClientChainNotConfiguredError();
})();
const blockNumberHex = typeof blockNumber === 'bigint' ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;
const block = blockNumberHex || blockTag;
const { schedule } = (0, createBatchScheduler_js_1.createBatchScheduler)({
id: `${client.uid}.${block}`,
wait,
shouldSplitBatch(args) {
const size = args.reduce((size, { data }) => size + (data.length - 2), 0);
return size > batchSize * 2;
},
fn: async (requests) => {
const calls = requests.map((request) => ({
allowFailure: true,
callData: request.data,
target: request.to,
}));
const calldata = (0, encodeFunctionData_js_1.encodeFunctionData)({
abi: abis_js_1.multicall3Abi,
args: [calls],
functionName: 'aggregate3',
});
const data = await client.request({
method: 'eth_call',
params: [
{
...(multicallAddress === null
? {
data: toDeploylessCallViaBytecodeData({
code: contracts_js_1.multicall3Bytecode,
data: calldata,
}),
}
: { to: multicallAddress, data: calldata }),
},
block,
],
});
return (0, decodeFunctionResult_js_1.decodeFunctionResult)({
abi: abis_js_1.multicall3Abi,
args: [calls],
functionName: 'aggregate3',
data: data || '0x',
});
},
});
const [{ returnData, success }] = await schedule({ data, to });
if (!success)
throw new contract_js_2.RawContractError({ data: returnData });
if (returnData === '0x')
return { data: undefined };
return { data: returnData };
}
function toDeploylessCallViaBytecodeData(parameters) {
const { code, data } = parameters;
return (0, encodeDeployData_js_1.encodeDeployData)({
abi: (0, abitype_1.parseAbi)(['constructor(bytes, bytes)']),
bytecode: contracts_js_1.deploylessCallViaBytecodeBytecode,
args: [code, data],
});
}
function toDeploylessCallViaFactoryData(parameters) {
const { data, factory, factoryData, to } = parameters;
return (0, encodeDeployData_js_1.encodeDeployData)({
abi: (0, abitype_1.parseAbi)(['constructor(address, bytes, address, bytes)']),
bytecode: contracts_js_1.deploylessCallViaFactoryBytecode,
args: [to, data, factory, factoryData],
});
}
function getRevertErrorData(err) {
if (!(err instanceof base_js_1.BaseError))
return undefined;
const error = err.walk();
return typeof error?.data === 'object' ? error.data?.data : error.data;
}
//# sourceMappingURL=call.js.map

1
node_modules/viem/_cjs/actions/public/call.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,49 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createAccessList = createAccessList;
const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js");
const toHex_js_1 = require("../../utils/encoding/toHex.js");
const getCallError_js_1 = require("../../utils/errors/getCallError.js");
const extract_js_1 = require("../../utils/formatters/extract.js");
const transactionRequest_js_1 = require("../../utils/formatters/transactionRequest.js");
const assertRequest_js_1 = require("../../utils/transaction/assertRequest.js");
async function createAccessList(client, args) {
const { account: account_ = client.account, blockNumber, blockTag = 'latest', blobs, data, gas, gasPrice, maxFeePerBlobGas, maxFeePerGas, maxPriorityFeePerGas, to, value, ...rest } = args;
const account = account_ ? (0, parseAccount_js_1.parseAccount)(account_) : undefined;
try {
(0, assertRequest_js_1.assertRequest)(args);
const blockNumberHex = typeof blockNumber === 'bigint' ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;
const block = blockNumberHex || blockTag;
const chainFormat = client.chain?.formatters?.transactionRequest?.format;
const format = chainFormat || transactionRequest_js_1.formatTransactionRequest;
const request = format({
...(0, extract_js_1.extract)(rest, { format: chainFormat }),
account,
blobs,
data,
gas,
gasPrice,
maxFeePerBlobGas,
maxFeePerGas,
maxPriorityFeePerGas,
to,
value,
}, 'createAccessList');
const response = await client.request({
method: 'eth_createAccessList',
params: [request, block],
});
return {
accessList: response.accessList,
gasUsed: BigInt(response.gasUsed),
};
}
catch (err) {
throw (0, getCallError_js_1.getCallError)(err, {
...args,
account,
chain: client.chain,
});
}
}
//# sourceMappingURL=createAccessList.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"createAccessList.js","sourceRoot":"","sources":["../../../actions/public/createAccessList.ts"],"names":[],"mappings":";;AAkGA,4CAgEC;AA/JD,0EAG6C;AAU7C,4DAGsC;AACtC,wEAG2C;AAC3C,kEAA2D;AAC3D,wFAIqD;AAKrD,+EAAwE;AAgEjE,KAAK,UAAU,gBAAgB,CACpC,MAAgC,EAChC,IAAuC;IAEvC,MAAM,EACJ,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,WAAW,EACX,QAAQ,GAAG,QAAQ,EACnB,KAAK,EACL,IAAI,EACJ,GAAG,EACH,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,EAAE,EACF,KAAK,EACL,GAAG,IAAI,EACR,GAAG,IAAI,CAAA;IACR,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,8BAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAE7D,IAAI,CAAC;QACH,IAAA,gCAAa,EAAC,IAA+B,CAAC,CAAA;QAE9C,MAAM,cAAc,GAClB,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACxE,MAAM,KAAK,GAAG,cAAc,IAAI,QAAQ,CAAA;QAExC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,CAAA;QACxE,MAAM,MAAM,GAAG,WAAW,IAAI,gDAAwB,CAAA;QAEtD,MAAM,OAAO,GAAG,MAAM,CACpB;YAEE,GAAG,IAAA,oBAAO,EAAC,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YACzC,OAAO;YACP,KAAK;YACL,IAAI;YACJ,GAAG;YACH,QAAQ;YACR,gBAAgB;YAChB,YAAY;YACZ,oBAAoB;YACpB,EAAE;YACF,KAAK;SACgB,EACvB,kBAAkB,CACG,CAAA;QAEvB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;YACpC,MAAM,EAAE,sBAAsB;YAC9B,MAAM,EAAE,CAAC,OAA8C,EAAE,KAAK,CAAC;SAChE,CAAC,CAAA;QACF,OAAO;YACL,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;SAClC,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAA,8BAAY,EAAC,GAAgB,EAAE;YACnC,GAAG,IAAI;YACP,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}

View File

@@ -0,0 +1,14 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createBlockFilter = createBlockFilter;
const createFilterRequestScope_js_1 = require("../../utils/filters/createFilterRequestScope.js");
async function createBlockFilter(client) {
const getRequest = (0, createFilterRequestScope_js_1.createFilterRequestScope)(client, {
method: 'eth_newBlockFilter',
});
const id = await client.request({
method: 'eth_newBlockFilter',
});
return { id, request: getRequest(id), type: 'block' };
}
//# sourceMappingURL=createBlockFilter.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"createBlockFilter.js","sourceRoot":"","sources":["../../../actions/public/createBlockFilter.ts"],"names":[],"mappings":";;AAiCA,8CAUC;AArCD,iGAA0F;AA2BnF,KAAK,UAAU,iBAAiB,CACrC,MAAgC;IAEhC,MAAM,UAAU,GAAG,IAAA,sDAAwB,EAAC,MAAM,EAAE;QAClD,MAAM,EAAE,oBAAoB;KAC7B,CAAC,CAAA;IACF,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,EAAE,oBAAoB;KAC7B,CAAC,CAAA;IACF,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AACvD,CAAC"}

View File

@@ -0,0 +1,40 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createContractEventFilter = createContractEventFilter;
const encodeEventTopics_js_1 = require("../../utils/abi/encodeEventTopics.js");
const toHex_js_1 = require("../../utils/encoding/toHex.js");
const createFilterRequestScope_js_1 = require("../../utils/filters/createFilterRequestScope.js");
async function createContractEventFilter(client, parameters) {
const { address, abi, args, eventName, fromBlock, strict, toBlock } = parameters;
const getRequest = (0, createFilterRequestScope_js_1.createFilterRequestScope)(client, {
method: 'eth_newFilter',
});
const topics = eventName
? (0, encodeEventTopics_js_1.encodeEventTopics)({
abi,
args,
eventName,
})
: undefined;
const id = await client.request({
method: 'eth_newFilter',
params: [
{
address,
fromBlock: typeof fromBlock === 'bigint' ? (0, toHex_js_1.numberToHex)(fromBlock) : fromBlock,
toBlock: typeof toBlock === 'bigint' ? (0, toHex_js_1.numberToHex)(toBlock) : toBlock,
topics,
},
],
});
return {
abi,
args,
eventName,
id,
request: getRequest(id),
strict: Boolean(strict),
type: 'event',
};
}
//# sourceMappingURL=createContractEventFilter.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"createContractEventFilter.js","sourceRoot":"","sources":["../../../actions/public/createContractEventFilter.ts"],"names":[],"mappings":";;AAmGA,8DAuEC;AA7JD,+EAI6C;AAE7C,4DAGsC;AACtC,iGAA0F;AA4EnF,KAAK,UAAU,yBAAyB,CAS7C,MAAgC,EAChC,UAOC;IAWD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GACjE,UAAiD,CAAA;IAEnD,MAAM,UAAU,GAAG,IAAA,sDAAwB,EAAC,MAAM,EAAE;QAClD,MAAM,EAAE,eAAe;KACxB,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,SAAS;QACtB,CAAC,CAAC,IAAA,wCAAiB,EAAC;YAChB,GAAG;YACH,IAAI;YACJ,SAAS;SACgC,CAAC;QAC9C,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,EAAE,GAAQ,MAAM,MAAM,CAAC,OAAO,CAAC;QACnC,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE;YACN;gBACE,OAAO;gBACP,SAAS,EACP,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpE,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;gBACrE,MAAM;aACP;SACF;KACF,CAAC,CAAA;IAEF,OAAO;QACL,GAAG;QACH,IAAI;QACJ,SAAS;QACT,EAAE;QACF,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;QACvB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;QACvB,IAAI,EAAE,OAAO;KAQd,CAAA;AACH,CAAC"}

View File

@@ -0,0 +1,46 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createEventFilter = createEventFilter;
const encodeEventTopics_js_1 = require("../../utils/abi/encodeEventTopics.js");
const toHex_js_1 = require("../../utils/encoding/toHex.js");
const createFilterRequestScope_js_1 = require("../../utils/filters/createFilterRequestScope.js");
async function createEventFilter(client, { address, args, event, events: events_, fromBlock, strict, toBlock, } = {}) {
const events = events_ ?? (event ? [event] : undefined);
const getRequest = (0, createFilterRequestScope_js_1.createFilterRequestScope)(client, {
method: 'eth_newFilter',
});
let topics = [];
if (events) {
const encoded = events.flatMap((event) => (0, encodeEventTopics_js_1.encodeEventTopics)({
abi: [event],
eventName: event.name,
args,
}));
topics = [encoded];
if (event)
topics = topics[0];
}
const id = await client.request({
method: 'eth_newFilter',
params: [
{
address,
fromBlock: typeof fromBlock === 'bigint' ? (0, toHex_js_1.numberToHex)(fromBlock) : fromBlock,
toBlock: typeof toBlock === 'bigint' ? (0, toHex_js_1.numberToHex)(toBlock) : toBlock,
...(topics.length ? { topics } : {}),
},
],
});
return {
abi: events,
args,
eventName: event ? event.name : undefined,
fromBlock,
id,
request: getRequest(id),
strict: Boolean(strict),
toBlock,
type: 'event',
};
}
//# sourceMappingURL=createEventFilter.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"createEventFilter.js","sourceRoot":"","sources":["../../../actions/public/createEventFilter.ts"],"names":[],"mappings":";;AA4IA,8CAgGC;AA9ND,+EAI6C;AAE7C,4DAGsC;AACtC,iGAA0F;AAoHnF,KAAK,UAAU,iBAAiB,CAerC,MAAgC,EAChC,EACE,OAAO,EACP,IAAI,EACJ,KAAK,EACL,MAAM,EAAE,OAAO,EACf,SAAS,EACT,MAAM,EACN,OAAO,MASL,EAAS;IAYb,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAEvD,MAAM,UAAU,GAAG,IAAA,sDAAwB,EAAC,MAAM,EAAE;QAClD,MAAM,EAAE,eAAe;KACxB,CAAC,CAAA;IAEF,IAAI,MAAM,GAAe,EAAE,CAAA;IAC3B,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,OAAO,GAAI,MAAqB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvD,IAAA,wCAAiB,EAAC;YAChB,GAAG,EAAE,CAAC,KAAK,CAAC;YACZ,SAAS,EAAG,KAAkB,CAAC,IAAI;YACnC,IAAI;SAC0B,CAAC,CAClC,CAAA;QAED,MAAM,GAAG,CAAC,OAAmB,CAAC,CAAA;QAC9B,IAAI,KAAK;YAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAe,CAAA;IAC7C,CAAC;IAED,MAAM,EAAE,GAAQ,MAAM,MAAM,CAAC,OAAO,CAAC;QACnC,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE;YACN;gBACE,OAAO;gBACP,SAAS,EACP,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpE,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;gBACrE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrC;SACF;KACF,CAAC,CAAA;IAEF,OAAO;QACL,GAAG,EAAE,MAAM;QACX,IAAI;QACJ,SAAS,EAAE,KAAK,CAAC,CAAC,CAAE,KAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACvD,SAAS;QACT,EAAE;QACF,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;QACvB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;QACvB,OAAO;QACP,IAAI,EAAE,OAAO;KASd,CAAA;AACH,CAAC"}

View File

@@ -0,0 +1,14 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createPendingTransactionFilter = createPendingTransactionFilter;
const createFilterRequestScope_js_1 = require("../../utils/filters/createFilterRequestScope.js");
async function createPendingTransactionFilter(client) {
const getRequest = (0, createFilterRequestScope_js_1.createFilterRequestScope)(client, {
method: 'eth_newPendingTransactionFilter',
});
const id = await client.request({
method: 'eth_newPendingTransactionFilter',
});
return { id, request: getRequest(id), type: 'transaction' };
}
//# sourceMappingURL=createPendingTransactionFilter.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"createPendingTransactionFilter.js","sourceRoot":"","sources":["../../../actions/public/createPendingTransactionFilter.ts"],"names":[],"mappings":";;AAmCA,wEAaC;AA1CD,iGAA0F;AA6BnF,KAAK,UAAU,8BAA8B,CAIlD,MAAgC;IAEhC,MAAM,UAAU,GAAG,IAAA,sDAAwB,EAAC,MAAM,EAAE;QAClD,MAAM,EAAE,iCAAiC;KAC1C,CAAC,CAAA;IACF,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,EAAE,iCAAiC;KAC1C,CAAC,CAAA;IACF,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAA;AAC7D,CAAC"}

View File

@@ -0,0 +1,38 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.estimateContractGas = estimateContractGas;
const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js");
const encodeFunctionData_js_1 = require("../../utils/abi/encodeFunctionData.js");
const getContractError_js_1 = require("../../utils/errors/getContractError.js");
const getAction_js_1 = require("../../utils/getAction.js");
const estimateGas_js_1 = require("./estimateGas.js");
async function estimateContractGas(client, parameters) {
const { abi, address, args, functionName, dataSuffix = typeof client.dataSuffix === 'string'
? client.dataSuffix
: client.dataSuffix?.value, ...request } = parameters;
const data = (0, encodeFunctionData_js_1.encodeFunctionData)({
abi,
args,
functionName,
});
try {
const gas = await (0, getAction_js_1.getAction)(client, estimateGas_js_1.estimateGas, 'estimateGas')({
data: `${data}${dataSuffix ? dataSuffix.replace('0x', '') : ''}`,
to: address,
...request,
});
return gas;
}
catch (error) {
const account = request.account ? (0, parseAccount_js_1.parseAccount)(request.account) : undefined;
throw (0, getContractError_js_1.getContractError)(error, {
abi,
address,
args,
docsPath: '/docs/contract/estimateContractGas',
functionName,
sender: account?.address,
});
}
}
//# sourceMappingURL=estimateContractGas.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"estimateContractGas.js","sourceRoot":"","sources":["../../../actions/public/estimateContractGas.ts"],"names":[],"mappings":";;AAkGA,kDAgDC;AA/ID,0EAG6C;AAa7C,iFAI8C;AAC9C,gFAG+C;AAC/C,2DAAoD;AACpD,qDAIyB;AAiElB,KAAK,UAAU,mBAAmB,CAOvC,MAAyC,EACzC,UAAyE;IAEzE,MAAM,EACJ,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,UAAU,GAAG,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QAChD,CAAC,CAAC,MAAM,CAAC,UAAU;QACnB,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAC5B,GAAG,OAAO,EACX,GAAG,UAA2C,CAAA;IAC/C,MAAM,IAAI,GAAG,IAAA,0CAAkB,EAAC;QAC9B,GAAG;QACH,IAAI;QACJ,YAAY;KACmB,CAAC,CAAA;IAElC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAA,wBAAS,EACzB,MAAM,EACN,4BAAW,EACX,aAAa,CACd,CAAC;YACA,IAAI,EAAE,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;YAChE,EAAE,EAAE,OAAO;YACX,GAAG,OAAO;SACyB,CAAC,CAAA;QACtC,OAAO,GAAG,CAAA;IACZ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,8BAAY,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC3E,MAAM,IAAA,sCAAgB,EAAC,KAAkB,EAAE;YACzC,GAAG;YACH,OAAO;YACP,IAAI;YACJ,QAAQ,EAAE,oCAAoC;YAC9C,YAAY;YACZ,MAAM,EAAE,OAAO,EAAE,OAAO;SACzB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}

View File

@@ -0,0 +1,67 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.estimateFeesPerGas = estimateFeesPerGas;
exports.internal_estimateFeesPerGas = internal_estimateFeesPerGas;
const fee_js_1 = require("../../errors/fee.js");
const getAction_js_1 = require("../../utils/getAction.js");
const estimateMaxPriorityFeePerGas_js_1 = require("./estimateMaxPriorityFeePerGas.js");
const getBlock_js_1 = require("./getBlock.js");
const getGasPrice_js_1 = require("./getGasPrice.js");
async function estimateFeesPerGas(client, args) {
return internal_estimateFeesPerGas(client, args);
}
async function internal_estimateFeesPerGas(client, args) {
const { block: block_, chain = client.chain, request, type = 'eip1559', } = args || {};
const baseFeeMultiplier = await (async () => {
if (typeof chain?.fees?.baseFeeMultiplier === 'function')
return chain.fees.baseFeeMultiplier({
block: block_,
client,
request,
});
return chain?.fees?.baseFeeMultiplier ?? 1.2;
})();
if (baseFeeMultiplier < 1)
throw new fee_js_1.BaseFeeScalarError();
const decimals = baseFeeMultiplier.toString().split('.')[1]?.length ?? 0;
const denominator = 10 ** decimals;
const multiply = (base) => (base * BigInt(Math.ceil(baseFeeMultiplier * denominator))) /
BigInt(denominator);
const block = block_
? block_
: await (0, getAction_js_1.getAction)(client, getBlock_js_1.getBlock, 'getBlock')({});
if (typeof chain?.fees?.estimateFeesPerGas === 'function') {
const fees = (await chain.fees.estimateFeesPerGas({
block: block_,
client,
multiply,
request,
type,
}));
if (fees !== null)
return fees;
}
if (type === 'eip1559') {
if (typeof block.baseFeePerGas !== 'bigint')
throw new fee_js_1.Eip1559FeesNotSupportedError();
const maxPriorityFeePerGas = typeof request?.maxPriorityFeePerGas === 'bigint'
? request.maxPriorityFeePerGas
: await (0, estimateMaxPriorityFeePerGas_js_1.internal_estimateMaxPriorityFeePerGas)(client, {
block: block,
chain,
request,
});
const baseFeePerGas = multiply(block.baseFeePerGas);
const maxFeePerGas = request?.maxFeePerGas ?? baseFeePerGas + maxPriorityFeePerGas;
return {
maxFeePerGas,
maxPriorityFeePerGas,
};
}
const gasPrice = request?.gasPrice ??
multiply(await (0, getAction_js_1.getAction)(client, getGasPrice_js_1.getGasPrice, 'getGasPrice')({}));
return {
gasPrice,
};
}
//# sourceMappingURL=estimateFeesPerGas.js.map

View File

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

88
node_modules/viem/_cjs/actions/public/estimateGas.js generated vendored Normal file
View File

@@ -0,0 +1,88 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.estimateGas = estimateGas;
const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js");
const base_js_1 = require("../../errors/base.js");
const recoverAuthorizationAddress_js_1 = require("../../utils/authorization/recoverAuthorizationAddress.js");
const toHex_js_1 = require("../../utils/encoding/toHex.js");
const getEstimateGasError_js_1 = require("../../utils/errors/getEstimateGasError.js");
const extract_js_1 = require("../../utils/formatters/extract.js");
const transactionRequest_js_1 = require("../../utils/formatters/transactionRequest.js");
const stateOverride_js_1 = require("../../utils/stateOverride.js");
const assertRequest_js_1 = require("../../utils/transaction/assertRequest.js");
const prepareTransactionRequest_js_1 = require("../wallet/prepareTransactionRequest.js");
async function estimateGas(client, args) {
const { account: account_ = client.account, prepare = true } = args;
const account = account_ ? (0, parseAccount_js_1.parseAccount)(account_) : undefined;
const parameters = (() => {
if (Array.isArray(prepare))
return prepare;
if (account?.type !== 'local')
return ['blobVersionedHashes'];
return undefined;
})();
try {
const to = await (async () => {
if (args.to)
return args.to;
if (args.authorizationList && args.authorizationList.length > 0)
return await (0, recoverAuthorizationAddress_js_1.recoverAuthorizationAddress)({
authorization: args.authorizationList[0],
}).catch(() => {
throw new base_js_1.BaseError('`to` is required. Could not infer from `authorizationList`');
});
return undefined;
})();
const { accessList, authorizationList, blobs, blobVersionedHashes, blockNumber, blockTag, data, gas, gasPrice, maxFeePerBlobGas, maxFeePerGas, maxPriorityFeePerGas, nonce, value, stateOverride, ...rest } = prepare
? (await (0, prepareTransactionRequest_js_1.prepareTransactionRequest)(client, {
...args,
parameters,
to,
}))
: args;
if (gas && args.gas !== gas)
return gas;
const blockNumberHex = typeof blockNumber === 'bigint' ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;
const block = blockNumberHex || blockTag;
const rpcStateOverride = (0, stateOverride_js_1.serializeStateOverride)(stateOverride);
(0, assertRequest_js_1.assertRequest)(args);
const chainFormat = client.chain?.formatters?.transactionRequest?.format;
const format = chainFormat || transactionRequest_js_1.formatTransactionRequest;
const request = format({
...(0, extract_js_1.extract)(rest, { format: chainFormat }),
account,
accessList,
authorizationList,
blobs,
blobVersionedHashes,
data,
gasPrice,
maxFeePerBlobGas,
maxFeePerGas,
maxPriorityFeePerGas,
nonce,
to,
value,
}, 'estimateGas');
return BigInt(await client.request({
method: 'eth_estimateGas',
params: rpcStateOverride
? [
request,
block ?? client.experimental_blockTag ?? 'latest',
rpcStateOverride,
]
: block
? [request, block]
: [request],
}));
}
catch (err) {
throw (0, getEstimateGasError_js_1.getEstimateGasError)(err, {
...args,
account,
chain: client.chain,
});
}
}
//# sourceMappingURL=estimateGas.js.map

View File

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

View File

@@ -0,0 +1,50 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.estimateMaxPriorityFeePerGas = estimateMaxPriorityFeePerGas;
exports.internal_estimateMaxPriorityFeePerGas = internal_estimateMaxPriorityFeePerGas;
const fee_js_1 = require("../../errors/fee.js");
const fromHex_js_1 = require("../../utils/encoding/fromHex.js");
const getAction_js_1 = require("../../utils/getAction.js");
const getBlock_js_1 = require("./getBlock.js");
const getGasPrice_js_1 = require("./getGasPrice.js");
async function estimateMaxPriorityFeePerGas(client, args) {
return internal_estimateMaxPriorityFeePerGas(client, args);
}
async function internal_estimateMaxPriorityFeePerGas(client, args) {
const { block: block_, chain = client.chain, request } = args || {};
try {
const maxPriorityFeePerGas = chain?.fees?.maxPriorityFeePerGas ?? chain?.fees?.defaultPriorityFee;
if (typeof maxPriorityFeePerGas === 'function') {
const block = block_ || (await (0, getAction_js_1.getAction)(client, getBlock_js_1.getBlock, 'getBlock')({}));
const maxPriorityFeePerGas_ = await maxPriorityFeePerGas({
block,
client,
request,
});
if (maxPriorityFeePerGas_ === null)
throw new Error();
return maxPriorityFeePerGas_;
}
if (typeof maxPriorityFeePerGas !== 'undefined')
return maxPriorityFeePerGas;
const maxPriorityFeePerGasHex = await client.request({
method: 'eth_maxPriorityFeePerGas',
});
return (0, fromHex_js_1.hexToBigInt)(maxPriorityFeePerGasHex);
}
catch {
const [block, gasPrice] = await Promise.all([
block_
? Promise.resolve(block_)
: (0, getAction_js_1.getAction)(client, getBlock_js_1.getBlock, 'getBlock')({}),
(0, getAction_js_1.getAction)(client, getGasPrice_js_1.getGasPrice, 'getGasPrice')({}),
]);
if (typeof block.baseFeePerGas !== 'bigint')
throw new fee_js_1.Eip1559FeesNotSupportedError();
const maxPriorityFeePerGas = gasPrice - block.baseFeePerGas;
if (maxPriorityFeePerGas < 0n)
return 0n;
return maxPriorityFeePerGas;
}
}
//# sourceMappingURL=estimateMaxPriorityFeePerGas.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"estimateMaxPriorityFeePerGas.js","sourceRoot":"","sources":["../../../actions/public/estimateMaxPriorityFeePerGas.ts"],"names":[],"mappings":";;AA8DA,oEAUC;AAED,sFA2DC;AAnID,gDAG4B;AAU5B,gEAGwC;AACxC,2DAAoD;AAEpD,+CAAgE;AAChE,qDAAyE;AAwClE,KAAK,UAAU,4BAA4B,CAIhD,MAAgC,EAChC,IAEa;IAEb,OAAO,qCAAqC,CAAC,MAAM,EAAE,IAAW,CAAC,CAAA;AACnE,CAAC;AAEM,KAAK,UAAU,qCAAqC,CAIzD,MAAgC,EAChC,IASC;IAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;IAEnE,IAAI,CAAC;QACH,MAAM,oBAAoB,GACxB,KAAK,EAAE,IAAI,EAAE,oBAAoB,IAAI,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAA;QAEtE,IAAI,OAAO,oBAAoB,KAAK,UAAU,EAAE,CAAC;YAC/C,MAAM,KAAK,GACT,MAAM,IAAI,CAAC,MAAM,IAAA,wBAAS,EAAC,MAAM,EAAE,sBAAQ,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC/D,MAAM,qBAAqB,GAAG,MAAM,oBAAoB,CAAC;gBACvD,KAAK;gBACL,MAAM;gBACN,OAAO;aACiB,CAAC,CAAA;YAC3B,IAAI,qBAAqB,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,EAAE,CAAA;YACrD,OAAO,qBAAqB,CAAA;QAC9B,CAAC;QAED,IAAI,OAAO,oBAAoB,KAAK,WAAW;YAAE,OAAO,oBAAoB,CAAA;QAE5E,MAAM,uBAAuB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;YACnD,MAAM,EAAE,0BAA0B;SACnC,CAAC,CAAA;QACF,OAAO,IAAA,wBAAW,EAAC,uBAAuB,CAAC,CAAA;IAC7C,CAAC;IAAC,MAAM,CAAC;QAIP,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC1C,MAAM;gBACJ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;gBACzB,CAAC,CAAC,IAAA,wBAAS,EAAC,MAAM,EAAE,sBAAQ,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;YAC/C,IAAA,wBAAS,EAAC,MAAM,EAAE,4BAAW,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC,CAAA;QAEF,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;YACzC,MAAM,IAAI,qCAA4B,EAAE,CAAA;QAE1C,MAAM,oBAAoB,GAAG,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAA;QAE3D,IAAI,oBAAoB,GAAG,EAAE;YAAE,OAAO,EAAE,CAAA;QACxC,OAAO,oBAAoB,CAAA;IAC7B,CAAC;AACH,CAAC"}

View File

@@ -0,0 +1,123 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.fillTransaction = fillTransaction;
const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js");
const fee_js_1 = require("../../errors/fee.js");
const getTransactionError_js_1 = require("../../utils/errors/getTransactionError.js");
const extract_js_1 = require("../../utils/formatters/extract.js");
const transaction_js_1 = require("../../utils/formatters/transaction.js");
const transactionRequest_js_1 = require("../../utils/formatters/transactionRequest.js");
const getAction_js_1 = require("../../utils/getAction.js");
const assertRequest_js_1 = require("../../utils/transaction/assertRequest.js");
const getBlock_js_1 = require("./getBlock.js");
const getChainId_js_1 = require("./getChainId.js");
async function fillTransaction(client, parameters) {
const { account = client.account, accessList, authorizationList, chain = client.chain, blobVersionedHashes, blobs, data, gas, gasPrice, maxFeePerBlobGas, maxFeePerGas, maxPriorityFeePerGas, nonce: nonce_, nonceManager, to, type, value, ...rest } = parameters;
const nonce = await (async () => {
if (!account)
return nonce_;
if (!nonceManager)
return nonce_;
if (typeof nonce_ !== 'undefined')
return nonce_;
const account_ = (0, parseAccount_js_1.parseAccount)(account);
const chainId = chain
? chain.id
: await (0, getAction_js_1.getAction)(client, getChainId_js_1.getChainId, 'getChainId')({});
return await nonceManager.consume({
address: account_.address,
chainId,
client,
});
})();
(0, assertRequest_js_1.assertRequest)(parameters);
const chainFormat = chain?.formatters?.transactionRequest?.format;
const format = chainFormat || transactionRequest_js_1.formatTransactionRequest;
const request = format({
...(0, extract_js_1.extract)(rest, { format: chainFormat }),
account: account ? (0, parseAccount_js_1.parseAccount)(account) : undefined,
accessList,
authorizationList,
blobs,
blobVersionedHashes,
data,
gas,
gasPrice,
maxFeePerBlobGas,
maxFeePerGas,
maxPriorityFeePerGas,
nonce,
to,
type,
value,
}, 'fillTransaction');
try {
const response = await client.request({
method: 'eth_fillTransaction',
params: [request],
});
const format = chain?.formatters?.transaction?.format || transaction_js_1.formatTransaction;
const transaction = format(response.tx);
delete transaction.blockHash;
delete transaction.blockNumber;
delete transaction.r;
delete transaction.s;
delete transaction.transactionIndex;
delete transaction.v;
delete transaction.yParity;
transaction.data = transaction.input;
if (transaction.gas)
transaction.gas = parameters.gas ?? transaction.gas;
if (transaction.gasPrice)
transaction.gasPrice = parameters.gasPrice ?? transaction.gasPrice;
if (transaction.maxFeePerBlobGas)
transaction.maxFeePerBlobGas =
parameters.maxFeePerBlobGas ?? transaction.maxFeePerBlobGas;
if (transaction.maxFeePerGas)
transaction.maxFeePerGas =
parameters.maxFeePerGas ?? transaction.maxFeePerGas;
if (transaction.maxPriorityFeePerGas)
transaction.maxPriorityFeePerGas =
parameters.maxPriorityFeePerGas ?? transaction.maxPriorityFeePerGas;
if (typeof transaction.nonce !== 'undefined')
transaction.nonce = parameters.nonce ?? transaction.nonce;
const feeMultiplier = await (async () => {
if (typeof chain?.fees?.baseFeeMultiplier === 'function') {
const block = await (0, getAction_js_1.getAction)(client, getBlock_js_1.getBlock, 'getBlock')({});
return chain.fees.baseFeeMultiplier({
block,
client,
request: parameters,
});
}
return chain?.fees?.baseFeeMultiplier ?? 1.2;
})();
if (feeMultiplier < 1)
throw new fee_js_1.BaseFeeScalarError();
const decimals = feeMultiplier.toString().split('.')[1]?.length ?? 0;
const denominator = 10 ** decimals;
const multiplyFee = (base) => (base * BigInt(Math.ceil(feeMultiplier * denominator))) /
BigInt(denominator);
if (!transaction.feePayerSignature) {
if (transaction.maxFeePerGas && !parameters.maxFeePerGas)
transaction.maxFeePerGas = multiplyFee(transaction.maxFeePerGas);
if (transaction.gasPrice && !parameters.gasPrice)
transaction.gasPrice = multiplyFee(transaction.gasPrice);
}
return {
raw: response.raw,
transaction: {
from: request.from,
...transaction,
},
...(response.capabilities ? { capabilities: response.capabilities } : {}),
};
}
catch (err) {
throw (0, getTransactionError_js_1.getTransactionError)(err, {
...parameters,
chain: client.chain,
});
}
}
//# sourceMappingURL=fillTransaction.js.map

View File

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

38
node_modules/viem/_cjs/actions/public/getBalance.js generated vendored Normal file
View File

@@ -0,0 +1,38 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getBalance = getBalance;
const abis_js_1 = require("../../constants/abis.js");
const decodeFunctionResult_js_1 = require("../../utils/abi/decodeFunctionResult.js");
const encodeFunctionData_js_1 = require("../../utils/abi/encodeFunctionData.js");
const toHex_js_1 = require("../../utils/encoding/toHex.js");
const getAction_js_1 = require("../../utils/getAction.js");
const call_js_1 = require("./call.js");
async function getBalance(client, { address, blockNumber, blockTag = client.experimental_blockTag ?? 'latest', }) {
if (client.batch?.multicall && client.chain?.contracts?.multicall3) {
const multicall3Address = client.chain.contracts.multicall3.address;
const calldata = (0, encodeFunctionData_js_1.encodeFunctionData)({
abi: abis_js_1.multicall3Abi,
functionName: 'getEthBalance',
args: [address],
});
const { data } = await (0, getAction_js_1.getAction)(client, call_js_1.call, 'call')({
to: multicall3Address,
data: calldata,
blockNumber,
blockTag,
});
return (0, decodeFunctionResult_js_1.decodeFunctionResult)({
abi: abis_js_1.multicall3Abi,
functionName: 'getEthBalance',
args: [address],
data: data || '0x',
});
}
const blockNumberHex = typeof blockNumber === 'bigint' ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;
const balance = await client.request({
method: 'eth_getBalance',
params: [address, blockNumberHex || blockTag],
});
return BigInt(balance);
}
//# sourceMappingURL=getBalance.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../../actions/public/getBalance.ts"],"names":[],"mappings":";;AA4EA,gCA4CC;AApHD,qDAAuD;AAIvD,qFAA8E;AAC9E,iFAA0E;AAE1E,4DAGsC;AACtC,2DAAoD;AACpD,uCAAqD;AA4D9C,KAAK,UAAU,UAAU,CAC9B,MAAgC,EAChC,EACE,OAAO,EACP,WAAW,EACX,QAAQ,GAAG,MAAM,CAAC,qBAAqB,IAAI,QAAQ,GAC9B;IAEvB,IAAI,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;QACnE,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAA;QAEnE,MAAM,QAAQ,GAAG,IAAA,0CAAkB,EAAC;YAClC,GAAG,EAAE,uBAAa;YAClB,YAAY,EAAE,eAAe;YAC7B,IAAI,EAAE,CAAC,OAAO,CAAC;SAChB,CAAC,CAAA;QAEF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,wBAAS,EAC9B,MAAM,EACN,cAAI,EACJ,MAAM,CACP,CAAC;YACA,EAAE,EAAE,iBAAiB;YACrB,IAAI,EAAE,QAAQ;YACd,WAAW;YACX,QAAQ;SAC2B,CAAC,CAAA;QAEtC,OAAO,IAAA,8CAAoB,EAAC;YAC1B,GAAG,EAAE,uBAAa;YAClB,YAAY,EAAE,eAAe;YAC7B,IAAI,EAAE,CAAC,OAAO,CAAC;YACf,IAAI,EAAE,IAAI,IAAI,IAAI;SACnB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,cAAc,GAClB,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAExE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QACnC,MAAM,EAAE,gBAAgB;QACxB,MAAM,EAAE,CAAC,OAAO,EAAE,cAAc,IAAI,QAAQ,CAAC;KAC9C,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;AACxB,CAAC"}

View File

@@ -0,0 +1,10 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getBlobBaseFee = getBlobBaseFee;
async function getBlobBaseFee(client) {
const baseFee = await client.request({
method: 'eth_blobBaseFee',
});
return BigInt(baseFee);
}
//# sourceMappingURL=getBlobBaseFee.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getBlobBaseFee.js","sourceRoot":"","sources":["../../../actions/public/getBlobBaseFee.ts"],"names":[],"mappings":";;AA+BA,wCAUC;AAVM,KAAK,UAAU,cAAc,CAIlC,MAAyC;IAEzC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QACnC,MAAM,EAAE,iBAAiB;KAC1B,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;AACxB,CAAC"}

28
node_modules/viem/_cjs/actions/public/getBlock.js generated vendored Normal file
View File

@@ -0,0 +1,28 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getBlock = getBlock;
const block_js_1 = require("../../errors/block.js");
const toHex_js_1 = require("../../utils/encoding/toHex.js");
const block_js_2 = require("../../utils/formatters/block.js");
async function getBlock(client, { blockHash, blockNumber, blockTag = client.experimental_blockTag ?? 'latest', includeTransactions: includeTransactions_, } = {}) {
const includeTransactions = includeTransactions_ ?? false;
const blockNumberHex = blockNumber !== undefined ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;
let block = null;
if (blockHash) {
block = await client.request({
method: 'eth_getBlockByHash',
params: [blockHash, includeTransactions],
}, { dedupe: true });
}
else {
block = await client.request({
method: 'eth_getBlockByNumber',
params: [blockNumberHex || blockTag, includeTransactions],
}, { dedupe: Boolean(blockNumberHex) });
}
if (!block)
throw new block_js_1.BlockNotFoundError({ blockHash, blockNumber });
const format = client.chain?.formatters?.block?.format || block_js_2.formatBlock;
return format(block, 'getBlock');
}
//# sourceMappingURL=getBlock.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getBlock.js","sourceRoot":"","sources":["../../../actions/public/getBlock.ts"],"names":[],"mappings":";;AAyFA,4BA0CC;AAhID,oDAG8B;AAQ9B,4DAGsC;AACtC,8DAGwC;AAoEjC,KAAK,UAAU,QAAQ,CAM5B,MAAyC,EACzC,EACE,SAAS,EACT,WAAW,EACX,QAAQ,GAAG,MAAM,CAAC,qBAAqB,IAAI,QAAQ,EACnD,mBAAmB,EAAE,oBAAoB,MACY,EAAE;IAEzD,MAAM,mBAAmB,GAAG,oBAAoB,IAAI,KAAK,CAAA;IAEzD,MAAM,cAAc,GAClB,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAElE,IAAI,KAAK,GAAoB,IAAI,CAAA;IACjC,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAC1B;YACE,MAAM,EAAE,oBAAoB;YAC5B,MAAM,EAAE,CAAC,SAAS,EAAE,mBAAmB,CAAC;SACzC,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAA;IACH,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAC1B;YACE,MAAM,EAAE,sBAAsB;YAC9B,MAAM,EAAE,CAAC,cAAc,IAAI,QAAQ,EAAE,mBAAmB,CAAC;SAC1D,EACD,EAAE,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,CACpC,CAAA;IACH,CAAC;IAED,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,6BAAkB,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAA;IAEpE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,IAAI,sBAAW,CAAA;IACrE,OAAO,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;AAClC,CAAC"}

View File

@@ -0,0 +1,16 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getBlockNumberCache = getBlockNumberCache;
exports.getBlockNumber = getBlockNumber;
const withCache_js_1 = require("../../utils/promise/withCache.js");
const cacheKey = (id) => `blockNumber.${id}`;
function getBlockNumberCache(id) {
return (0, withCache_js_1.getCache)(cacheKey(id));
}
async function getBlockNumber(client, { cacheTime = client.cacheTime } = {}) {
const blockNumberHex = await (0, withCache_js_1.withCache)(() => client.request({
method: 'eth_blockNumber',
}), { cacheKey: cacheKey(client.uid), cacheTime });
return BigInt(blockNumberHex);
}
//# sourceMappingURL=getBlockNumber.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getBlockNumber.js","sourceRoot":"","sources":["../../../actions/public/getBlockNumber.ts"],"names":[],"mappings":";;AA0BA,kDAEC;AAyBD,wCAYC;AA5DD,mEAIyC;AAWzC,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,eAAe,EAAE,EAAE,CAAA;AAMpD,SAAgB,mBAAmB,CAAC,EAAU;IAC5C,OAAO,IAAA,uBAAQ,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;AAC/B,CAAC;AAyBM,KAAK,UAAU,cAAc,CAClC,MAAgC,EAChC,EAAE,SAAS,GAAG,MAAM,CAAC,SAAS,KAA+B,EAAE;IAE/D,MAAM,cAAc,GAAG,MAAM,IAAA,wBAAS,EACpC,GAAG,EAAE,CACH,MAAM,CAAC,OAAO,CAAC;QACb,MAAM,EAAE,iBAAiB;KAC1B,CAAC,EACJ,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAC9C,CAAA;IACD,OAAO,MAAM,CAAC,cAAc,CAAC,CAAA;AAC/B,CAAC"}

View File

@@ -0,0 +1,23 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getBlockTransactionCount = getBlockTransactionCount;
const fromHex_js_1 = require("../../utils/encoding/fromHex.js");
const toHex_js_1 = require("../../utils/encoding/toHex.js");
async function getBlockTransactionCount(client, { blockHash, blockNumber, blockTag = 'latest', } = {}) {
const blockNumberHex = blockNumber !== undefined ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;
let count;
if (blockHash) {
count = await client.request({
method: 'eth_getBlockTransactionCountByHash',
params: [blockHash],
}, { dedupe: true });
}
else {
count = await client.request({
method: 'eth_getBlockTransactionCountByNumber',
params: [blockNumberHex || blockTag],
}, { dedupe: Boolean(blockNumberHex) });
}
return (0, fromHex_js_1.hexToNumber)(count);
}
//# sourceMappingURL=getBlockTransactionCount.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getBlockTransactionCount.js","sourceRoot":"","sources":["../../../actions/public/getBlockTransactionCount.ts"],"names":[],"mappings":";;AAoEA,4DA+BC;AA3FD,gEAGwC;AACxC,4DAGsC;AAqD/B,KAAK,UAAU,wBAAwB,CAC5C,MAAgC,EAChC,EACE,SAAS,EACT,WAAW,EACX,QAAQ,GAAG,QAAQ,MACmB,EAAE;IAE1C,MAAM,cAAc,GAClB,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAElE,IAAI,KAAe,CAAA;IACnB,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAC1B;YACE,MAAM,EAAE,oCAAoC;YAC5C,MAAM,EAAE,CAAC,SAAS,CAAC;SACpB,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAA;IACH,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAC1B;YACE,MAAM,EAAE,sCAAsC;YAC9C,MAAM,EAAE,CAAC,cAAc,IAAI,QAAQ,CAAC;SACrC,EACD,EAAE,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,CACpC,CAAA;IACH,CAAC;IAED,OAAO,IAAA,wBAAW,EAAC,KAAK,CAAC,CAAA;AAC3B,CAAC"}

11
node_modules/viem/_cjs/actions/public/getChainId.js generated vendored Normal file
View File

@@ -0,0 +1,11 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getChainId = getChainId;
const fromHex_js_1 = require("../../utils/encoding/fromHex.js");
async function getChainId(client) {
const chainIdHex = await client.request({
method: 'eth_chainId',
}, { dedupe: true });
return (0, fromHex_js_1.hexToNumber)(chainIdHex);
}
//# sourceMappingURL=getChainId.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getChainId.js","sourceRoot":"","sources":["../../../actions/public/getChainId.ts"],"names":[],"mappings":";;AAuCA,gCAWC;AA5CD,gEAGwC;AA8BjC,KAAK,UAAU,UAAU,CAG9B,MAAyC;IACzC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CACrC;QACE,MAAM,EAAE,aAAa;KACtB,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAA;IACD,OAAO,IAAA,wBAAW,EAAC,UAAU,CAAC,CAAA;AAChC,CAAC"}

15
node_modules/viem/_cjs/actions/public/getCode.js generated vendored Normal file
View File

@@ -0,0 +1,15 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getCode = getCode;
const toHex_js_1 = require("../../utils/encoding/toHex.js");
async function getCode(client, { address, blockNumber, blockTag = 'latest' }) {
const blockNumberHex = blockNumber !== undefined ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;
const hex = await client.request({
method: 'eth_getCode',
params: [address, blockNumberHex || blockTag],
}, { dedupe: Boolean(blockNumberHex) });
if (hex === '0x')
return undefined;
return hex;
}
//# sourceMappingURL=getCode.js.map

1
node_modules/viem/_cjs/actions/public/getCode.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"getCode.js","sourceRoot":"","sources":["../../../actions/public/getCode.ts"],"names":[],"mappings":";;AAyDA,0BAeC;AA/DD,4DAGsC;AA6C/B,KAAK,UAAU,OAAO,CAC3B,MAAgC,EAChC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,GAAG,QAAQ,EAAqB;IAEhE,MAAM,cAAc,GAClB,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAClE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAC9B;QACE,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,CAAC,OAAO,EAAE,cAAc,IAAI,QAAQ,CAAC;KAC9C,EACD,EAAE,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,CACpC,CAAA;IACD,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IAClC,OAAO,GAAG,CAAA;AACZ,CAAC"}

View File

@@ -0,0 +1,26 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getContractEvents = getContractEvents;
const getAbiItem_js_1 = require("../../utils/abi/getAbiItem.js");
const getAction_js_1 = require("../../utils/getAction.js");
const getLogs_js_1 = require("./getLogs.js");
async function getContractEvents(client, parameters) {
const { abi, address, args, blockHash, eventName, fromBlock, toBlock, strict, } = parameters;
const event = eventName
? (0, getAbiItem_js_1.getAbiItem)({ abi, name: eventName })
: undefined;
const events = !event
? abi.filter((x) => x.type === 'event')
: undefined;
return (0, getAction_js_1.getAction)(client, getLogs_js_1.getLogs, 'getLogs')({
address,
args,
blockHash,
event,
events,
fromBlock,
toBlock,
strict,
});
}
//# sourceMappingURL=getContractEvents.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getContractEvents.js","sourceRoot":"","sources":["../../../actions/public/getContractEvents.ts"],"names":[],"mappings":";;AAkHA,8CAuDC;AA5JD,iEAIsC;AACtC,2DAAoD;AACpD,6CAIqB;AA2Fd,KAAK,UAAU,iBAAiB,CAQrC,MAAgC,EAChC,UAMC;IAID,MAAM,EACJ,GAAG,EACH,OAAO,EACP,IAAI,EACJ,SAAS,EACT,SAAS,EACT,SAAS,EACT,OAAO,EACP,MAAM,GACP,GAAG,UAAU,CAAA;IACd,MAAM,KAAK,GAAG,SAAS;QACrB,CAAC,CAAC,IAAA,0BAAU,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAA0B,CAAC;QAC9D,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,MAAM,GAAG,CAAC,KAAK;QACnB,CAAC,CAAE,GAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;QAChD,CAAC,CAAC,SAAS,CAAA;IACb,OAAO,IAAA,wBAAS,EACd,MAAM,EACN,oBAAO,EACP,SAAS,CACV,CAAC;QACA,OAAO;QACP,IAAI;QACJ,SAAS;QACT,KAAK;QACL,MAAM;QACN,SAAS;QACT,OAAO;QACP,MAAM;KACoB,CAM3B,CAAA;AACH,CAAC"}

21
node_modules/viem/_cjs/actions/public/getDelegation.js generated vendored Normal file
View File

@@ -0,0 +1,21 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDelegation = getDelegation;
const getAddress_js_1 = require("../../utils/address/getAddress.js");
const size_js_1 = require("../../utils/data/size.js");
const slice_js_1 = require("../../utils/data/slice.js");
const getCode_js_1 = require("./getCode.js");
async function getDelegation(client, { address, blockNumber, blockTag = 'latest' }) {
const code = await (0, getCode_js_1.getCode)(client, {
address,
...(blockNumber !== undefined ? { blockNumber } : { blockTag }),
});
if (!code)
return undefined;
if ((0, size_js_1.size)(code) !== 23)
return undefined;
if (!code.startsWith('0xef0100'))
return undefined;
return (0, getAddress_js_1.getAddress)((0, slice_js_1.slice)(code, 3, 23));
}
//# sourceMappingURL=getDelegation.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getDelegation.js","sourceRoot":"","sources":["../../../actions/public/getDelegation.ts"],"names":[],"mappings":";;AA4DA,sCAmBC;AAxED,qEAG0C;AAC1C,sDAAmE;AACnE,wDAAsE;AACtE,6CAA6D;AA+CtD,KAAK,UAAU,aAAa,CACjC,MAAgC,EAChC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,GAAG,QAAQ,EAA2B;IAEtE,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAO,EAAC,MAAM,EAAE;QACjC,OAAO;QACP,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;KACrC,CAAC,CAAA;IAE7B,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAA;IAG3B,IAAI,IAAA,cAAI,EAAC,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,SAAS,CAAA;IAGvC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAA;IAGlD,OAAO,IAAA,0BAAU,EAAC,IAAA,gBAAK,EAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AACvC,CAAC"}

View File

@@ -0,0 +1,55 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getEip712Domain = getEip712Domain;
const eip712_js_1 = require("../../errors/eip712.js");
const getAction_js_1 = require("../../utils/getAction.js");
const readContract_js_1 = require("./readContract.js");
async function getEip712Domain(client, parameters) {
const { address, factory, factoryData } = parameters;
try {
const [fields, name, version, chainId, verifyingContract, salt, extensions,] = await (0, getAction_js_1.getAction)(client, readContract_js_1.readContract, 'readContract')({
abi,
address,
functionName: 'eip712Domain',
factory,
factoryData,
});
return {
domain: {
name,
version,
chainId: Number(chainId),
verifyingContract,
salt,
},
extensions,
fields,
};
}
catch (e) {
const error = e;
if (error.name === 'ContractFunctionExecutionError' &&
error.cause.name === 'ContractFunctionZeroDataError') {
throw new eip712_js_1.Eip712DomainNotFoundError({ address });
}
throw error;
}
}
const abi = [
{
inputs: [],
name: 'eip712Domain',
outputs: [
{ name: 'fields', type: 'bytes1' },
{ name: 'name', type: 'string' },
{ name: 'version', type: 'string' },
{ name: 'chainId', type: 'uint256' },
{ name: 'verifyingContract', type: 'address' },
{ name: 'salt', type: 'bytes32' },
{ name: 'extensions', type: 'uint256[]' },
],
stateMutability: 'view',
type: 'function',
},
];
//# sourceMappingURL=getEip712Domain.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getEip712Domain.js","sourceRoot":"","sources":["../../../actions/public/getEip712Domain.ts"],"names":[],"mappings":";;AAmEA,0CAgDC;AAhHD,sDAG+B;AAI/B,2DAAoD;AACpD,uDAI0B;AAoDnB,KAAK,UAAU,eAAe,CACnC,MAAyB,EACzB,UAAqC;IAErC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,CAAA;IAEpD,IAAI,CAAC;QACH,MAAM,CACJ,MAAM,EACN,IAAI,EACJ,OAAO,EACP,OAAO,EACP,iBAAiB,EACjB,IAAI,EACJ,UAAU,EACX,GAAG,MAAM,IAAA,wBAAS,EACjB,MAAM,EACN,8BAAY,EACZ,cAAc,CACf,CAAC;YACA,GAAG;YACH,OAAO;YACP,YAAY,EAAE,cAAc;YAC5B,OAAO;YACP,WAAW;SACZ,CAAC,CAAA;QAEF,OAAO;YACL,MAAM,EAAE;gBACN,IAAI;gBACJ,OAAO;gBACP,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;gBACxB,iBAAiB;gBACjB,IAAI;aACL;YACD,UAAU;YACV,MAAM;SACP,CAAA;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,CAA0B,CAAA;QACxC,IACE,KAAK,CAAC,IAAI,KAAK,gCAAgC;YAC/C,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,+BAA+B,EACpD,CAAC;YACD,MAAM,IAAI,qCAAyB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QAClD,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,GAAG,GAAG;IACV;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;YACnC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9C,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACjC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE;SAC1C;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAA"}

18
node_modules/viem/_cjs/actions/public/getFeeHistory.js generated vendored Normal file
View File

@@ -0,0 +1,18 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getFeeHistory = getFeeHistory;
const toHex_js_1 = require("../../utils/encoding/toHex.js");
const feeHistory_js_1 = require("../../utils/formatters/feeHistory.js");
async function getFeeHistory(client, { blockCount, blockNumber, blockTag = 'latest', rewardPercentiles, }) {
const blockNumberHex = typeof blockNumber === 'bigint' ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;
const feeHistory = await client.request({
method: 'eth_feeHistory',
params: [
(0, toHex_js_1.numberToHex)(blockCount),
blockNumberHex || blockTag,
rewardPercentiles,
],
}, { dedupe: Boolean(blockNumberHex) });
return (0, feeHistory_js_1.formatFeeHistory)(feeHistory);
}
//# sourceMappingURL=getFeeHistory.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getFeeHistory.js","sourceRoot":"","sources":["../../../actions/public/getFeeHistory.ts"],"names":[],"mappings":";;AAsEA,sCAuBC;AAvFD,4DAGsC;AACtC,wEAG6C;AAyDtC,KAAK,UAAU,aAAa,CACjC,MAAgC,EAChC,EACE,UAAU,EACV,WAAW,EACX,QAAQ,GAAG,QAAQ,EACnB,iBAAiB,GACO;IAE1B,MAAM,cAAc,GAClB,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACxE,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CACrC;QACE,MAAM,EAAE,gBAAgB;QACxB,MAAM,EAAE;YACN,IAAA,sBAAW,EAAC,UAAU,CAAC;YACvB,cAAc,IAAI,QAAQ;YAC1B,iBAAiB;SAClB;KACF,EACD,EAAE,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,CACpC,CAAA;IACD,OAAO,IAAA,gCAAgB,EAAC,UAAU,CAAC,CAAA;AACrC,CAAC"}

View File

@@ -0,0 +1,23 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getFilterChanges = getFilterChanges;
const parseEventLogs_js_1 = require("../../utils/abi/parseEventLogs.js");
const log_js_1 = require("../../utils/formatters/log.js");
async function getFilterChanges(_client, { filter, }) {
const strict = 'strict' in filter && filter.strict;
const logs = await filter.request({
method: 'eth_getFilterChanges',
params: [filter.id],
});
if (typeof logs[0] === 'string')
return logs;
const formattedLogs = logs.map((log) => (0, log_js_1.formatLog)(log));
if (!('abi' in filter) || !filter.abi)
return formattedLogs;
return (0, parseEventLogs_js_1.parseEventLogs)({
abi: filter.abi,
logs: formattedLogs,
strict,
});
}
//# sourceMappingURL=getFilterChanges.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getFilterChanges.js","sourceRoot":"","sources":["../../../actions/public/getFilterChanges.ts"],"names":[],"mappings":";;AAyIA,4CAsEC;AAnMD,yEAAkE;AAElE,0DAGsC;AAwH/B,KAAK,UAAU,gBAAgB,CAUpC,OAAiC,EACjC,EACE,MAAM,GAQP;IAWD,MAAM,MAAM,GAAG,QAAQ,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAA;IAElD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAChC,MAAM,EAAE,sBAAsB;QAC9B,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;KACpB,CAAC,CAAA;IAEF,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;QAC7B,OAAO,IAON,CAAA;IAEH,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,kBAAS,EAAC,GAAa,CAAC,CAAC,CAAA;IACjE,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG;QACnC,OAAO,aAON,CAAA;IACH,OAAO,IAAA,kCAAc,EAAC;QACpB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,IAAI,EAAE,aAAa;QACnB,MAAM;KACP,CAOA,CAAA;AACH,CAAC"}

21
node_modules/viem/_cjs/actions/public/getFilterLogs.js generated vendored Normal file
View File

@@ -0,0 +1,21 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getFilterLogs = getFilterLogs;
const parseEventLogs_js_1 = require("../../utils/abi/parseEventLogs.js");
const log_js_1 = require("../../utils/formatters/log.js");
async function getFilterLogs(_client, { filter, }) {
const strict = filter.strict ?? false;
const logs = await filter.request({
method: 'eth_getFilterLogs',
params: [filter.id],
});
const formattedLogs = logs.map((log) => (0, log_js_1.formatLog)(log));
if (!filter.abi)
return formattedLogs;
return (0, parseEventLogs_js_1.parseEventLogs)({
abi: filter.abi,
logs: formattedLogs,
strict,
});
}
//# sourceMappingURL=getFilterLogs.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getFilterLogs.js","sourceRoot":"","sources":["../../../actions/public/getFilterLogs.ts"],"names":[],"mappings":";;AA4EA,sCA0CC;AA3GD,yEAAkE;AAElE,0DAGsC;AA4D/B,KAAK,UAAU,aAAa,CAQjC,OAAiC,EACjC,EACE,MAAM,GAC8D;IAItE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,CAAA;IAErC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAChC,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;KACpB,CAAC,CAAA;IAEF,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,CAAA;IACvD,IAAI,CAAC,MAAM,CAAC,GAAG;QACb,OAAO,aAMN,CAAA;IACH,OAAO,IAAA,kCAAc,EAAC;QACpB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,IAAI,EAAE,aAAa;QACnB,MAAM;KACP,CAMA,CAAA;AACH,CAAC"}

10
node_modules/viem/_cjs/actions/public/getGasPrice.js generated vendored Normal file
View File

@@ -0,0 +1,10 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getGasPrice = getGasPrice;
async function getGasPrice(client) {
const gasPrice = await client.request({
method: 'eth_gasPrice',
});
return BigInt(gasPrice);
}
//# sourceMappingURL=getGasPrice.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getGasPrice.js","sourceRoot":"","sources":["../../../actions/public/getGasPrice.ts"],"names":[],"mappings":";;AA+BA,kCAQC;AARM,KAAK,UAAU,WAAW,CAG/B,MAAyC;IACzC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QACpC,MAAM,EAAE,cAAc;KACvB,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAA;AACzB,CAAC"}

52
node_modules/viem/_cjs/actions/public/getLogs.js generated vendored Normal file
View File

@@ -0,0 +1,52 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getLogs = getLogs;
const encodeEventTopics_js_1 = require("../../utils/abi/encodeEventTopics.js");
const parseEventLogs_js_1 = require("../../utils/abi/parseEventLogs.js");
const toHex_js_1 = require("../../utils/encoding/toHex.js");
const log_js_1 = require("../../utils/formatters/log.js");
async function getLogs(client, { address, blockHash, fromBlock, toBlock, event, events: events_, args, strict: strict_, } = {}) {
const strict = strict_ ?? false;
const events = events_ ?? (event ? [event] : undefined);
let topics = [];
if (events) {
const encoded = events.flatMap((event) => (0, encodeEventTopics_js_1.encodeEventTopics)({
abi: [event],
eventName: event.name,
args: events_ ? undefined : args,
}));
topics = [encoded];
if (event)
topics = topics[0];
}
let logs;
if (blockHash) {
logs = await client.request({
method: 'eth_getLogs',
params: [{ address, topics, blockHash }],
});
}
else {
logs = await client.request({
method: 'eth_getLogs',
params: [
{
address,
topics,
fromBlock: typeof fromBlock === 'bigint' ? (0, toHex_js_1.numberToHex)(fromBlock) : fromBlock,
toBlock: typeof toBlock === 'bigint' ? (0, toHex_js_1.numberToHex)(toBlock) : toBlock,
},
],
});
}
const formattedLogs = logs.map((log) => (0, log_js_1.formatLog)(log));
if (!events)
return formattedLogs;
return (0, parseEventLogs_js_1.parseEventLogs)({
abi: events,
args: args,
logs: formattedLogs,
strict,
});
}
//# sourceMappingURL=getLogs.js.map

1
node_modules/viem/_cjs/actions/public/getLogs.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"getLogs.js","sourceRoot":"","sources":["../../../actions/public/getLogs.ts"],"names":[],"mappings":";;AAuIA,0BAkFC;AA1MD,+EAI6C;AAC7C,yEAAkE;AAElE,4DAGsC;AACtC,0DAGsC;AA0G/B,KAAK,UAAU,OAAO,CAW3B,MAAgC,EAChC,EACE,OAAO,EACP,SAAS,EACT,SAAS,EACT,OAAO,EACP,KAAK,EACL,MAAM,EAAE,OAAO,EACf,IAAI,EACJ,MAAM,EAAE,OAAO,MACuD,EAAE;IAE1E,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,CAAA;IAC/B,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAEvD,IAAI,MAAM,GAAe,EAAE,CAAA;IAC3B,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,OAAO,GAAI,MAAqB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvD,IAAA,wCAAiB,EAAC;YAChB,GAAG,EAAE,CAAC,KAAK,CAAC;YACZ,SAAS,EAAG,KAAkB,CAAC,IAAI;YACnC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;SACF,CAAC,CAClC,CAAA;QAED,MAAM,GAAG,CAAC,OAAmB,CAAC,CAAA;QAC9B,IAAI,KAAK;YAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAe,CAAA;IAC7C,CAAC;IAED,IAAI,IAAc,CAAA;IAClB,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;YAC1B,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;SACzC,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;YAC1B,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE;gBACN;oBACE,OAAO;oBACP,MAAM;oBACN,SAAS,EACP,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;oBACpE,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;iBACtE;aACF;SACF,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC,CAAA;IACvD,IAAI,CAAC,MAAM;QACT,OAAO,aAMN,CAAA;IACH,OAAO,IAAA,kCAAc,EAAC;QACpB,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,IAAW;QACjB,IAAI,EAAE,aAAa;QACnB,MAAM;KACP,CAMA,CAAA;AACH,CAAC"}

15
node_modules/viem/_cjs/actions/public/getProof.js generated vendored Normal file
View File

@@ -0,0 +1,15 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getProof = getProof;
const toHex_js_1 = require("../../utils/encoding/toHex.js");
const proof_js_1 = require("../../utils/formatters/proof.js");
async function getProof(client, { address, blockNumber, blockTag: blockTag_, storageKeys, }) {
const blockTag = blockTag_ ?? 'latest';
const blockNumberHex = blockNumber !== undefined ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;
const proof = await client.request({
method: 'eth_getProof',
params: [address, storageKeys, blockNumberHex || blockTag],
});
return (0, proof_js_1.formatProof)(proof);
}
//# sourceMappingURL=getProof.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getProof.js","sourceRoot":"","sources":["../../../actions/public/getProof.ts"],"names":[],"mappings":";;AAwEA,4BAoBC;AAnFD,4DAGsC;AACtC,8DAGwC;AAwDjC,KAAK,UAAU,QAAQ,CAC5B,MAAgC,EAChC,EACE,OAAO,EACP,WAAW,EACX,QAAQ,EAAE,SAAS,EACnB,WAAW,GACQ;IAErB,MAAM,QAAQ,GAAG,SAAS,IAAI,QAAQ,CAAA;IAEtC,MAAM,cAAc,GAClB,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAElE,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QACjC,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc,IAAI,QAAQ,CAAC;KAC3D,CAAC,CAAA;IAEF,OAAO,IAAA,sBAAW,EAAC,KAAK,CAAC,CAAA;AAC3B,CAAC"}

13
node_modules/viem/_cjs/actions/public/getStorageAt.js generated vendored Normal file
View File

@@ -0,0 +1,13 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getStorageAt = getStorageAt;
const toHex_js_1 = require("../../utils/encoding/toHex.js");
async function getStorageAt(client, { address, blockNumber, blockTag = 'latest', slot }) {
const blockNumberHex = blockNumber !== undefined ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;
const data = await client.request({
method: 'eth_getStorageAt',
params: [address, slot, blockNumberHex || blockTag],
});
return data;
}
//# sourceMappingURL=getStorageAt.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getStorageAt.js","sourceRoot":"","sources":["../../../actions/public/getStorageAt.ts"],"names":[],"mappings":";;AA2DA,oCAWC;AA7DD,4DAGsC;AA+C/B,KAAK,UAAU,YAAY,CAChC,MAAgC,EAChC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAA0B;IAE3E,MAAM,cAAc,GAClB,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAClE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAChC,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,IAAI,QAAQ,CAAC;KACpD,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC"}

View File

@@ -0,0 +1,46 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getTransaction = getTransaction;
const transaction_js_1 = require("../../errors/transaction.js");
const toHex_js_1 = require("../../utils/encoding/toHex.js");
const transaction_js_2 = require("../../utils/formatters/transaction.js");
async function getTransaction(client, { blockHash, blockNumber, blockTag: blockTag_, hash, index, sender, nonce, }) {
const blockTag = blockTag_ || 'latest';
const blockNumberHex = blockNumber !== undefined ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;
let transaction = null;
if (hash) {
transaction = await client.request({
method: 'eth_getTransactionByHash',
params: [hash],
}, { dedupe: true });
}
else if (blockHash) {
transaction = await client.request({
method: 'eth_getTransactionByBlockHashAndIndex',
params: [blockHash, (0, toHex_js_1.numberToHex)(index)],
}, { dedupe: true });
}
else if ((blockNumberHex || blockTag) && typeof index === 'number') {
transaction = await client.request({
method: 'eth_getTransactionByBlockNumberAndIndex',
params: [blockNumberHex || blockTag, (0, toHex_js_1.numberToHex)(index)],
}, { dedupe: Boolean(blockNumberHex) });
}
else if (sender && typeof nonce === 'number') {
transaction = await client.request({
method: 'eth_getTransactionBySenderAndNonce',
params: [sender, (0, toHex_js_1.numberToHex)(nonce)],
}, { dedupe: true });
}
if (!transaction)
throw new transaction_js_1.TransactionNotFoundError({
blockHash,
blockNumber,
blockTag,
hash,
index,
});
const format = client.chain?.formatters?.transaction?.format || transaction_js_2.formatTransaction;
return format(transaction, 'getTransaction');
}
//# sourceMappingURL=getTransaction.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getTransaction.js","sourceRoot":"","sources":["../../../actions/public/getTransaction.ts"],"names":[],"mappings":";;AA+FA,wCAmEC;AA/JD,gEAGoC;AAQpC,4DAGsC;AACtC,0EAG8C;AA0EvC,KAAK,UAAU,cAAc,CAIlC,MAAgC,EAChC,EACE,SAAS,EACT,WAAW,EACX,QAAQ,EAAE,SAAS,EACnB,IAAI,EACJ,KAAK,EACL,MAAM,EACN,KAAK,GAC8B;IAErC,MAAM,QAAQ,GAAG,SAAS,IAAI,QAAQ,CAAA;IAEtC,MAAM,cAAc,GAClB,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAElE,IAAI,WAAW,GAA0B,IAAI,CAAA;IAC7C,IAAI,IAAI,EAAE,CAAC;QACT,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAChC;YACE,MAAM,EAAE,0BAA0B;YAClC,MAAM,EAAE,CAAC,IAAI,CAAC;SACf,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAA;IACH,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACrB,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAChC;YACE,MAAM,EAAE,uCAAuC;YAC/C,MAAM,EAAE,CAAC,SAAS,EAAE,IAAA,sBAAW,EAAC,KAAK,CAAC,CAAC;SACxC,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAA;IACH,CAAC;SAAM,IAAI,CAAC,cAAc,IAAI,QAAQ,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrE,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAChC;YACE,MAAM,EAAE,yCAAyC;YACjD,MAAM,EAAE,CAAC,cAAc,IAAI,QAAQ,EAAE,IAAA,sBAAW,EAAC,KAAK,CAAC,CAAC;SACzD,EACD,EAAE,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,CACpC,CAAA;IACH,CAAC;SAAM,IAAI,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/C,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAChC;YACE,MAAM,EAAE,oCAAoC;YAC5C,MAAM,EAAE,CAAC,MAAM,EAAE,IAAA,sBAAW,EAAC,KAAK,CAAC,CAAC;SACrC,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAA;IACH,CAAC;IAED,IAAI,CAAC,WAAW;QACd,MAAM,IAAI,yCAAwB,CAAC;YACjC,SAAS;YACT,WAAW;YACX,QAAQ;YACR,IAAI;YACJ,KAAK;SACN,CAAC,CAAA;IAEJ,MAAM,MAAM,GACV,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,IAAI,kCAAiB,CAAA;IACpE,OAAO,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAA;AAC9C,CAAC"}

View File

@@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getTransactionConfirmations = getTransactionConfirmations;
const getAction_js_1 = require("../../utils/getAction.js");
const getBlockNumber_js_1 = require("./getBlockNumber.js");
const getTransaction_js_1 = require("./getTransaction.js");
async function getTransactionConfirmations(client, { hash, transactionReceipt }) {
const [blockNumber, transaction] = await Promise.all([
(0, getAction_js_1.getAction)(client, getBlockNumber_js_1.getBlockNumber, 'getBlockNumber')({}),
hash
? (0, getAction_js_1.getAction)(client, getTransaction_js_1.getTransaction, 'getTransaction')({ hash })
: undefined,
]);
const transactionBlockNumber = transactionReceipt?.blockNumber || transaction?.blockNumber;
if (!transactionBlockNumber)
return 0n;
return blockNumber - transactionBlockNumber + 1n;
}
//# sourceMappingURL=getTransactionConfirmations.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getTransactionConfirmations.js","sourceRoot":"","sources":["../../../actions/public/getTransactionConfirmations.ts"],"names":[],"mappings":";;AA8DA,kEAgBC;AAxED,2DAAoD;AAEpD,2DAG4B;AAC5B,2DAG4B;AA+CrB,KAAK,UAAU,2BAA2B,CAG/C,MAAgC,EAChC,EAAE,IAAI,EAAE,kBAAkB,EAAgD;IAE1E,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACnD,IAAA,wBAAS,EAAC,MAAM,EAAE,kCAAc,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;QACvD,IAAI;YACF,CAAC,CAAC,IAAA,wBAAS,EAAC,MAAM,EAAE,kCAAc,EAAE,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YAC/D,CAAC,CAAC,SAAS;KACd,CAAC,CAAA;IACF,MAAM,sBAAsB,GAC1B,kBAAkB,EAAE,WAAW,IAAI,WAAW,EAAE,WAAW,CAAA;IAC7D,IAAI,CAAC,sBAAsB;QAAE,OAAO,EAAE,CAAA;IACtC,OAAO,WAAW,GAAG,sBAAuB,GAAG,EAAE,CAAA;AACnD,CAAC"}

View File

@@ -0,0 +1,18 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getTransactionCount = getTransactionCount;
const fromHex_js_1 = require("../../utils/encoding/fromHex.js");
const toHex_js_1 = require("../../utils/encoding/toHex.js");
async function getTransactionCount(client, { address, blockTag = 'latest', blockNumber }) {
const count = await client.request({
method: 'eth_getTransactionCount',
params: [
address,
typeof blockNumber === 'bigint' ? (0, toHex_js_1.numberToHex)(blockNumber) : blockTag,
],
}, {
dedupe: Boolean(blockNumber),
});
return (0, fromHex_js_1.hexToNumber)(count);
}
//# sourceMappingURL=getTransactionCount.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getTransactionCount.js","sourceRoot":"","sources":["../../../actions/public/getTransactionCount.ts"],"names":[],"mappings":";;AAgEA,kDAoBC;AA3ED,gEAGwC;AACxC,4DAGsC;AAgD/B,KAAK,UAAU,mBAAmB,CAIvC,MAAyC,EACzC,EAAE,OAAO,EAAE,QAAQ,GAAG,QAAQ,EAAE,WAAW,EAAiC;IAE5E,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAChC;QACE,MAAM,EAAE,yBAAyB;QACjC,MAAM,EAAE;YACN,OAAO;YACP,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ;SACtE;KACF,EACD;QACE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC;KAC7B,CACF,CAAA;IACD,OAAO,IAAA,wBAAW,EAAC,KAAK,CAAC,CAAA;AAC3B,CAAC"}

View File

@@ -0,0 +1,17 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getTransactionReceipt = getTransactionReceipt;
const transaction_js_1 = require("../../errors/transaction.js");
const transactionReceipt_js_1 = require("../../utils/formatters/transactionReceipt.js");
async function getTransactionReceipt(client, { hash }) {
const receipt = await client.request({
method: 'eth_getTransactionReceipt',
params: [hash],
}, { dedupe: true });
if (!receipt)
throw new transaction_js_1.TransactionReceiptNotFoundError({ hash });
const format = client.chain?.formatters?.transactionReceipt?.format ||
transactionReceipt_js_1.formatTransactionReceipt;
return format(receipt, 'getTransactionReceipt');
}
//# sourceMappingURL=getTransactionReceipt.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getTransactionReceipt.js","sourceRoot":"","sources":["../../../actions/public/getTransactionReceipt.ts"],"names":[],"mappings":";;AAqDA,sDAqBC;AAxED,gEAGoC;AAKpC,wFAGqD;AAwC9C,KAAK,UAAU,qBAAqB,CACzC,MAAgC,EAChC,EAAE,IAAI,EAAmC;IAEzC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAClC;QACE,MAAM,EAAE,2BAA2B;QACnC,MAAM,EAAE,CAAC,IAAI,CAAC;KACf,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAA;IAED,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,gDAA+B,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAEjE,MAAM,MAAM,GACV,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM;QACpD,gDAAwB,CAAA;IAC1B,OAAO,MAAM,CACX,OAAO,EACP,uBAAuB,CACkB,CAAA;AAC7C,CAAC"}

143
node_modules/viem/_cjs/actions/public/multicall.js generated vendored Normal file
View File

@@ -0,0 +1,143 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.multicall = multicall;
const abis_js_1 = require("../../constants/abis.js");
const contracts_js_1 = require("../../constants/contracts.js");
const abi_js_1 = require("../../errors/abi.js");
const base_js_1 = require("../../errors/base.js");
const contract_js_1 = require("../../errors/contract.js");
const decodeFunctionResult_js_1 = require("../../utils/abi/decodeFunctionResult.js");
const encodeFunctionData_js_1 = require("../../utils/abi/encodeFunctionData.js");
const getChainContractAddress_js_1 = require("../../utils/chain/getChainContractAddress.js");
const getContractError_js_1 = require("../../utils/errors/getContractError.js");
const getAction_js_1 = require("../../utils/getAction.js");
const readContract_js_1 = require("./readContract.js");
async function multicall(client, parameters) {
const { account, authorizationList, allowFailure = true, blockNumber, blockOverrides, blockTag, stateOverride, } = parameters;
const contracts = parameters.contracts;
const { batchSize = parameters.batchSize ?? 1024, deployless = parameters.deployless ?? false, } = typeof client.batch?.multicall === 'object' ? client.batch.multicall : {};
const multicallAddress = (() => {
if (parameters.multicallAddress)
return parameters.multicallAddress;
if (deployless)
return null;
if (client.chain) {
return (0, getChainContractAddress_js_1.getChainContractAddress)({
blockNumber,
chain: client.chain,
contract: 'multicall3',
});
}
throw new Error('client chain not configured. multicallAddress is required.');
})();
const chunkedCalls = [[]];
let currentChunk = 0;
let currentChunkSize = 0;
for (let i = 0; i < contracts.length; i++) {
const { abi, address, args, functionName } = contracts[i];
try {
const callData = (0, encodeFunctionData_js_1.encodeFunctionData)({ abi, args, functionName });
currentChunkSize += (callData.length - 2) / 2;
if (batchSize > 0 &&
currentChunkSize > batchSize &&
chunkedCalls[currentChunk].length > 0) {
currentChunk++;
currentChunkSize = (callData.length - 2) / 2;
chunkedCalls[currentChunk] = [];
}
chunkedCalls[currentChunk] = [
...chunkedCalls[currentChunk],
{
allowFailure: true,
callData,
target: address,
},
];
}
catch (err) {
const error = (0, getContractError_js_1.getContractError)(err, {
abi,
address,
args,
docsPath: '/docs/contract/multicall',
functionName,
sender: account,
});
if (!allowFailure)
throw error;
chunkedCalls[currentChunk] = [
...chunkedCalls[currentChunk],
{
allowFailure: true,
callData: '0x',
target: address,
},
];
}
}
const aggregate3Results = await Promise.allSettled(chunkedCalls.map((calls) => (0, getAction_js_1.getAction)(client, readContract_js_1.readContract, 'readContract')({
...(multicallAddress === null
? { code: contracts_js_1.multicall3Bytecode }
: { address: multicallAddress }),
abi: abis_js_1.multicall3Abi,
account,
args: [calls],
authorizationList,
blockNumber,
blockOverrides,
blockTag,
functionName: 'aggregate3',
stateOverride,
})));
const results = [];
for (let i = 0; i < aggregate3Results.length; i++) {
const result = aggregate3Results[i];
if (result.status === 'rejected') {
if (!allowFailure)
throw result.reason;
for (let j = 0; j < chunkedCalls[i].length; j++) {
results.push({
status: 'failure',
error: result.reason,
result: undefined,
});
}
continue;
}
const aggregate3Result = result.value;
for (let j = 0; j < aggregate3Result.length; j++) {
const { returnData, success } = aggregate3Result[j];
const { callData } = chunkedCalls[i][j];
const { abi, address, functionName, args } = contracts[results.length];
try {
if (callData === '0x')
throw new abi_js_1.AbiDecodingZeroDataError();
if (!success)
throw new contract_js_1.RawContractError({ data: returnData });
const result = (0, decodeFunctionResult_js_1.decodeFunctionResult)({
abi,
args,
data: returnData,
functionName,
});
results.push(allowFailure ? { result, status: 'success' } : result);
}
catch (err) {
const error = (0, getContractError_js_1.getContractError)(err, {
abi,
address,
args,
docsPath: '/docs/contract/multicall',
functionName,
});
if (!allowFailure)
throw error;
results.push({ error, result: undefined, status: 'failure' });
}
}
}
if (results.length !== contracts.length)
throw new base_js_1.BaseError('multicall results mismatch');
return results;
}
//# sourceMappingURL=multicall.js.map

View File

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

39
node_modules/viem/_cjs/actions/public/readContract.js generated vendored Normal file
View File

@@ -0,0 +1,39 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.readContract = readContract;
const decodeFunctionResult_js_1 = require("../../utils/abi/decodeFunctionResult.js");
const encodeFunctionData_js_1 = require("../../utils/abi/encodeFunctionData.js");
const getContractError_js_1 = require("../../utils/errors/getContractError.js");
const getAction_js_1 = require("../../utils/getAction.js");
const call_js_1 = require("./call.js");
async function readContract(client, parameters) {
const { abi, address, args, functionName, ...rest } = parameters;
const calldata = (0, encodeFunctionData_js_1.encodeFunctionData)({
abi,
args,
functionName,
});
try {
const { data } = await (0, getAction_js_1.getAction)(client, call_js_1.call, 'call')({
...rest,
data: calldata,
to: address,
});
return (0, decodeFunctionResult_js_1.decodeFunctionResult)({
abi,
args,
functionName,
data: data || '0x',
});
}
catch (error) {
throw (0, getContractError_js_1.getContractError)(error, {
abi,
address,
args,
docsPath: '/docs/contract/readContract',
functionName,
});
}
}
//# sourceMappingURL=readContract.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"readContract.js","sourceRoot":"","sources":["../../../actions/public/readContract.ts"],"names":[],"mappings":";;AAwGA,oCAyCC;AApID,qFAGgD;AAChD,iFAI8C;AAC9C,gFAG+C;AAC/C,2DAAoD;AAEpD,uCAAyE;AA4ElE,KAAK,UAAU,YAAY,CAMhC,MAAgC,EAChC,UAA2D;IAE3D,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GACjD,UAAoC,CAAA;IACtC,MAAM,QAAQ,GAAG,IAAA,0CAAkB,EAAC;QAClC,GAAG;QACH,IAAI;QACJ,YAAY;KACmB,CAAC,CAAA;IAClC,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,wBAAS,EAC9B,MAAM,EACN,cAAI,EACJ,MAAM,CACP,CAAC;YACA,GAAI,IAAuB;YAC3B,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,OAAQ;SACb,CAAC,CAAA;QACF,OAAO,IAAA,8CAAoB,EAAC;YAC1B,GAAG;YACH,IAAI;YACJ,YAAY;YACZ,IAAI,EAAE,IAAI,IAAI,IAAI;SACnB,CAA8C,CAAA;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,sCAAgB,EAAC,KAAkB,EAAE;YACzC,GAAG;YACH,OAAO;YACP,IAAI;YACJ,QAAQ,EAAE,6BAA6B;YACvC,YAAY;SACb,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}

117
node_modules/viem/_cjs/actions/public/simulateBlocks.js generated vendored Normal file
View File

@@ -0,0 +1,117 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.simulateBlocks = simulateBlocks;
const BlockOverrides = require("ox/BlockOverrides");
const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js");
const abi_js_1 = require("../../errors/abi.js");
const contract_js_1 = require("../../errors/contract.js");
const node_js_1 = require("../../errors/node.js");
const decodeFunctionResult_js_1 = require("../../utils/abi/decodeFunctionResult.js");
const encodeFunctionData_js_1 = require("../../utils/abi/encodeFunctionData.js");
const concat_js_1 = require("../../utils/data/concat.js");
const toHex_js_1 = require("../../utils/encoding/toHex.js");
const getContractError_js_1 = require("../../utils/errors/getContractError.js");
const getNodeError_js_1 = require("../../utils/errors/getNodeError.js");
const block_js_1 = require("../../utils/formatters/block.js");
const log_js_1 = require("../../utils/formatters/log.js");
const transactionRequest_js_1 = require("../../utils/formatters/transactionRequest.js");
const stateOverride_js_1 = require("../../utils/stateOverride.js");
const assertRequest_js_1 = require("../../utils/transaction/assertRequest.js");
async function simulateBlocks(client, parameters) {
const { blockNumber, blockTag = client.experimental_blockTag ?? 'latest', blocks, returnFullTransactions, traceTransfers, validation, } = parameters;
try {
const blockStateCalls = [];
for (const block of blocks) {
const blockOverrides = block.blockOverrides
? BlockOverrides.toRpc(block.blockOverrides)
: undefined;
const calls = block.calls.map((call_) => {
const call = call_;
const account = call.account ? (0, parseAccount_js_1.parseAccount)(call.account) : undefined;
const data = call.abi ? (0, encodeFunctionData_js_1.encodeFunctionData)(call) : call.data;
const request = {
...call,
account,
data: call.dataSuffix
? (0, concat_js_1.concat)([data || '0x', call.dataSuffix])
: data,
from: call.from ?? account?.address,
};
(0, assertRequest_js_1.assertRequest)(request);
return (0, transactionRequest_js_1.formatTransactionRequest)(request);
});
const stateOverrides = block.stateOverrides
? (0, stateOverride_js_1.serializeStateOverride)(block.stateOverrides)
: undefined;
blockStateCalls.push({
blockOverrides,
calls,
stateOverrides,
});
}
const blockNumberHex = typeof blockNumber === 'bigint' ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined;
const block = blockNumberHex || blockTag;
const result = await client.request({
method: 'eth_simulateV1',
params: [
{ blockStateCalls, returnFullTransactions, traceTransfers, validation },
block,
],
});
return result.map((block, i) => ({
...(0, block_js_1.formatBlock)(block),
calls: block.calls.map((call, j) => {
const { abi, args, functionName, to } = blocks[i].calls[j];
const data = call.error?.data ?? call.returnData;
const gasUsed = BigInt(call.gasUsed);
const logs = call.logs?.map((log) => (0, log_js_1.formatLog)(log));
const status = call.status === '0x1' ? 'success' : 'failure';
const result = abi && status === 'success' && data !== '0x'
? (0, decodeFunctionResult_js_1.decodeFunctionResult)({
abi,
data,
functionName,
})
: null;
const error = (() => {
if (status === 'success')
return undefined;
let error;
if (data === '0x')
error = new abi_js_1.AbiDecodingZeroDataError();
else if (data)
error = new contract_js_1.RawContractError({ data });
if (!error)
return undefined;
return (0, getContractError_js_1.getContractError)(error, {
abi: (abi ?? []),
address: to ?? '0x',
args,
functionName: functionName ?? '<unknown>',
});
})();
return {
data,
gasUsed,
logs,
status,
...(status === 'success'
? {
result,
}
: {
error,
}),
};
}),
}));
}
catch (e) {
const cause = e;
const error = (0, getNodeError_js_1.getNodeError)(cause, {});
if (error instanceof node_js_1.UnknownNodeError)
throw cause;
throw error;
}
}
//# sourceMappingURL=simulateBlocks.js.map

View File

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

212
node_modules/viem/_cjs/actions/public/simulateCalls.js generated vendored Normal file
View File

@@ -0,0 +1,212 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.simulateCalls = simulateCalls;
const AbiConstructor = require("ox/AbiConstructor");
const AbiFunction = require("ox/AbiFunction");
const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js");
const address_js_1 = require("../../constants/address.js");
const contracts_js_1 = require("../../constants/contracts.js");
const base_js_1 = require("../../errors/base.js");
const encodeFunctionData_js_1 = require("../../utils/abi/encodeFunctionData.js");
const index_js_1 = require("../../utils/index.js");
const createAccessList_js_1 = require("./createAccessList.js");
const simulateBlocks_js_1 = require("./simulateBlocks.js");
const getBalanceCode = '0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033';
async function simulateCalls(client, parameters) {
const { blockNumber, blockTag, calls, stateOverrides, traceAssetChanges, traceTransfers, validation, } = parameters;
const account = parameters.account
? (0, parseAccount_js_1.parseAccount)(parameters.account)
: undefined;
if (traceAssetChanges && !account)
throw new base_js_1.BaseError('`account` is required when `traceAssetChanges` is true');
const getBalanceData = account
? AbiConstructor.encode(AbiConstructor.from('constructor(bytes, bytes)'), {
bytecode: contracts_js_1.deploylessCallViaBytecodeBytecode,
args: [
getBalanceCode,
AbiFunction.encodeData(AbiFunction.from('function getBalance(address)'), [account.address]),
],
})
: undefined;
const assetAddresses = traceAssetChanges
? await Promise.all(parameters.calls.map(async (call) => {
if (!call.data && !call.abi)
return;
const { accessList } = await (0, createAccessList_js_1.createAccessList)(client, {
account: account.address,
...call,
data: call.abi ? (0, encodeFunctionData_js_1.encodeFunctionData)(call) : call.data,
});
return accessList.map(({ address, storageKeys }) => storageKeys.length > 0 ? address : null);
})).then((x) => x.flat().filter(Boolean))
: [];
const blocks = await (0, simulateBlocks_js_1.simulateBlocks)(client, {
blockNumber,
blockTag: blockTag,
blocks: [
...(traceAssetChanges
? [
{
calls: [{ data: getBalanceData }],
stateOverrides,
},
{
calls: assetAddresses.map((address, i) => ({
abi: [
AbiFunction.from('function balanceOf(address) returns (uint256)'),
],
functionName: 'balanceOf',
args: [account.address],
to: address,
from: address_js_1.zeroAddress,
nonce: i,
})),
stateOverrides: [
{
address: address_js_1.zeroAddress,
nonce: 0,
},
],
},
]
: []),
{
calls: [...calls, { to: address_js_1.zeroAddress }].map((call) => ({
...call,
from: account?.address,
})),
stateOverrides,
},
...(traceAssetChanges
? [
{
calls: [{ data: getBalanceData }],
},
{
calls: assetAddresses.map((address, i) => ({
abi: [
AbiFunction.from('function balanceOf(address) returns (uint256)'),
],
functionName: 'balanceOf',
args: [account.address],
to: address,
from: address_js_1.zeroAddress,
nonce: i,
})),
stateOverrides: [
{
address: address_js_1.zeroAddress,
nonce: 0,
},
],
},
{
calls: assetAddresses.map((address, i) => ({
to: address,
abi: [
AbiFunction.from('function decimals() returns (uint256)'),
],
functionName: 'decimals',
from: address_js_1.zeroAddress,
nonce: i,
})),
stateOverrides: [
{
address: address_js_1.zeroAddress,
nonce: 0,
},
],
},
{
calls: assetAddresses.map((address, i) => ({
to: address,
abi: [
AbiFunction.from('function tokenURI(uint256) returns (string)'),
],
functionName: 'tokenURI',
args: [0n],
from: address_js_1.zeroAddress,
nonce: i,
})),
stateOverrides: [
{
address: address_js_1.zeroAddress,
nonce: 0,
},
],
},
{
calls: assetAddresses.map((address, i) => ({
to: address,
abi: [AbiFunction.from('function symbol() returns (string)')],
functionName: 'symbol',
from: address_js_1.zeroAddress,
nonce: i,
})),
stateOverrides: [
{
address: address_js_1.zeroAddress,
nonce: 0,
},
],
},
]
: []),
],
traceTransfers,
validation,
});
const block_results = traceAssetChanges ? blocks[2] : blocks[0];
const [block_ethPre, block_assetsPre, , block_ethPost, block_assetsPost, block_decimals, block_tokenURI, block_symbols,] = traceAssetChanges ? blocks : [];
const { calls: block_calls, ...block } = block_results;
const results = block_calls.slice(0, -1) ?? [];
const ethPre = block_ethPre?.calls ?? [];
const assetsPre = block_assetsPre?.calls ?? [];
const balancesPre = [...ethPre, ...assetsPre].map((call) => call.status === 'success' ? (0, index_js_1.hexToBigInt)(call.data) : null);
const ethPost = block_ethPost?.calls ?? [];
const assetsPost = block_assetsPost?.calls ?? [];
const balancesPost = [...ethPost, ...assetsPost].map((call) => call.status === 'success' ? (0, index_js_1.hexToBigInt)(call.data) : null);
const decimals = (block_decimals?.calls ?? []).map((x) => x.status === 'success' ? x.result : null);
const symbols = (block_symbols?.calls ?? []).map((x) => x.status === 'success' ? x.result : null);
const tokenURI = (block_tokenURI?.calls ?? []).map((x) => x.status === 'success' ? x.result : null);
const changes = [];
for (const [i, balancePost] of balancesPost.entries()) {
const balancePre = balancesPre[i];
if (typeof balancePost !== 'bigint')
continue;
if (typeof balancePre !== 'bigint')
continue;
const decimals_ = decimals[i - 1];
const symbol_ = symbols[i - 1];
const tokenURI_ = tokenURI[i - 1];
const token = (() => {
if (i === 0)
return {
address: address_js_1.ethAddress,
decimals: 18,
symbol: 'ETH',
};
return {
address: assetAddresses[i - 1],
decimals: tokenURI_ || decimals_ ? Number(decimals_ ?? 1) : undefined,
symbol: symbol_ ?? undefined,
};
})();
if (changes.some((change) => change.token.address === token.address))
continue;
changes.push({
token,
value: {
pre: balancePre,
post: balancePost,
diff: balancePost - balancePre,
},
});
}
return {
assetChanges: changes,
block,
results,
};
}
//# sourceMappingURL=simulateCalls.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,57 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.simulateContract = simulateContract;
const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js");
const decodeFunctionResult_js_1 = require("../../utils/abi/decodeFunctionResult.js");
const encodeFunctionData_js_1 = require("../../utils/abi/encodeFunctionData.js");
const getContractError_js_1 = require("../../utils/errors/getContractError.js");
const getAction_js_1 = require("../../utils/getAction.js");
const call_js_1 = require("./call.js");
async function simulateContract(client, parameters) {
const { abi, address, args, functionName, dataSuffix = typeof client.dataSuffix === 'string'
? client.dataSuffix
: client.dataSuffix?.value, ...callRequest } = parameters;
const account = callRequest.account
? (0, parseAccount_js_1.parseAccount)(callRequest.account)
: client.account;
const calldata = (0, encodeFunctionData_js_1.encodeFunctionData)({ abi, args, functionName });
try {
const { data } = await (0, getAction_js_1.getAction)(client, call_js_1.call, 'call')({
batch: false,
data: `${calldata}${dataSuffix ? dataSuffix.replace('0x', '') : ''}`,
to: address,
...callRequest,
account,
});
const result = (0, decodeFunctionResult_js_1.decodeFunctionResult)({
abi,
args,
functionName,
data: data || '0x',
});
const minimizedAbi = abi.filter((abiItem) => 'name' in abiItem && abiItem.name === parameters.functionName);
return {
result,
request: {
abi: minimizedAbi,
address,
args,
dataSuffix,
functionName,
...callRequest,
account,
},
};
}
catch (error) {
throw (0, getContractError_js_1.getContractError)(error, {
abi,
address,
args,
docsPath: '/docs/contract/simulateContract',
functionName,
sender: account?.address,
});
}
}
//# sourceMappingURL=simulateContract.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"simulateContract.js","sourceRoot":"","sources":["../../../actions/public/simulateContract.ts"],"names":[],"mappings":";;AA+NA,4CAqGC;AAlUD,0EAG6C;AAuB7C,qFAGgD;AAChD,iFAG8C;AAC9C,gFAG+C;AAC/C,2DAAoD;AAEpD,uCAAyE;AAqLlE,KAAK,UAAU,gBAAgB,CAapC,MAAyC,EACzC,UAOC;IAYD,MAAM,EACJ,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,UAAU,GAAG,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QAChD,CAAC,CAAC,MAAM,CAAC,UAAU;QACnB,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAC5B,GAAG,WAAW,EACf,GAAG,UAAwC,CAAA;IAE5C,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO;QACjC,CAAC,CAAC,IAAA,8BAAY,EAAC,WAAW,CAAC,OAAO,CAAC;QACnC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;IAClB,MAAM,QAAQ,GAAG,IAAA,0CAAkB,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;IAEhE,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,wBAAS,EAC9B,MAAM,EACN,cAAI,EACJ,MAAM,CACP,CAAC;YACA,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;YACpE,EAAE,EAAE,OAAO;YACX,GAAG,WAAW;YACd,OAAO;SACR,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,IAAA,8CAAoB,EAAC;YAClC,GAAG;YACH,IAAI;YACJ,YAAY;YACZ,IAAI,EAAE,IAAI,IAAI,IAAI;SACnB,CAAC,CAAA;QACF,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAC7B,CAAC,OAAO,EAAE,EAAE,CACV,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,YAAY,CAChE,CAAA;QACD,OAAO;YACL,MAAM;YACN,OAAO,EAAE;gBACP,GAAG,EAAE,YAAY;gBACjB,OAAO;gBACP,IAAI;gBACJ,UAAU;gBACV,YAAY;gBACZ,GAAG,WAAW;gBACd,OAAO;aACR;SASF,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAA,sCAAgB,EAAC,KAAkB,EAAE;YACzC,GAAG;YACH,OAAO;YACP,IAAI;YACJ,QAAQ,EAAE,iCAAiC;YAC3C,YAAY;YACZ,MAAM,EAAE,OAAO,EAAE,OAAO;SACzB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}

View File

@@ -0,0 +1,10 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.uninstallFilter = uninstallFilter;
async function uninstallFilter(_client, { filter }) {
return filter.request({
method: 'eth_uninstallFilter',
params: [filter.id],
});
}
//# sourceMappingURL=uninstallFilter.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"uninstallFilter.js","sourceRoot":"","sources":["../../../actions/public/uninstallFilter.ts"],"names":[],"mappings":";;AAsCA,0CAWC;AAXM,KAAK,UAAU,eAAe,CAInC,OAAiC,EACjC,EAAE,MAAM,EAA6B;IAErC,OAAO,MAAM,CAAC,OAAO,CAAC;QACpB,MAAM,EAAE,qBAAqB;QAC7B,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;KACpB,CAAC,CAAA;AACJ,CAAC"}

203
node_modules/viem/_cjs/actions/public/verifyHash.js generated vendored Normal file
View File

@@ -0,0 +1,203 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.verifyHash = verifyHash;
exports.verifyErc8010 = verifyErc8010;
exports.verifyErc1271 = verifyErc1271;
const erc6492_1 = require("ox/erc6492");
const erc8010_1 = require("ox/erc8010");
const abis_js_1 = require("../../constants/abis.js");
const contracts_js_1 = require("../../constants/contracts.js");
const contract_js_1 = require("../../errors/contract.js");
const encodeDeployData_js_1 = require("../../utils/abi/encodeDeployData.js");
const encodeFunctionData_js_1 = require("../../utils/abi/encodeFunctionData.js");
const getAddress_js_1 = require("../../utils/address/getAddress.js");
const isAddressEqual_js_1 = require("../../utils/address/isAddressEqual.js");
const verifyAuthorization_js_1 = require("../../utils/authorization/verifyAuthorization.js");
const concat_js_1 = require("../../utils/data/concat.js");
const isHex_js_1 = require("../../utils/data/isHex.js");
const fromHex_js_1 = require("../../utils/encoding/fromHex.js");
const toHex_js_1 = require("../../utils/encoding/toHex.js");
const getAction_js_1 = require("../../utils/getAction.js");
const recoverAddress_js_1 = require("../../utils/signature/recoverAddress.js");
const serializeSignature_js_1 = require("../../utils/signature/serializeSignature.js");
const call_js_1 = require("./call.js");
const getCode_js_1 = require("./getCode.js");
const readContract_js_1 = require("./readContract.js");
async function verifyHash(client, parameters) {
const { address, chain = client.chain, hash, erc6492VerifierAddress: verifierAddress = parameters.universalSignatureVerifierAddress ??
chain?.contracts?.erc6492Verifier?.address, multicallAddress = parameters.multicallAddress ??
chain?.contracts?.multicall3?.address, mode = 'auto', } = parameters;
if (chain?.verifyHash)
return await chain.verifyHash(client, parameters);
const signature = (() => {
const signature = parameters.signature;
if ((0, isHex_js_1.isHex)(signature))
return signature;
if (typeof signature === 'object' && 'r' in signature && 's' in signature)
return (0, serializeSignature_js_1.serializeSignature)(signature);
return (0, toHex_js_1.bytesToHex)(signature);
})();
try {
if (mode === 'eoa') {
try {
const verified = (0, isAddressEqual_js_1.isAddressEqual)((0, getAddress_js_1.getAddress)(address), await (0, recoverAddress_js_1.recoverAddress)({ hash, signature }));
if (verified)
return true;
}
catch { }
}
if (erc8010_1.SignatureErc8010.validate(signature))
return await verifyErc8010(client, {
...parameters,
multicallAddress,
signature,
});
return await verifyErc6492(client, {
...parameters,
verifierAddress,
signature,
});
}
catch (error) {
if (mode !== 'eoa') {
try {
const verified = (0, isAddressEqual_js_1.isAddressEqual)((0, getAddress_js_1.getAddress)(address), await (0, recoverAddress_js_1.recoverAddress)({ hash, signature }));
if (verified)
return true;
}
catch { }
}
if (error instanceof VerificationError) {
return false;
}
throw error;
}
}
async function verifyErc8010(client, parameters) {
const { address, blockNumber, blockTag, hash, multicallAddress } = parameters;
const { authorization: authorization_ox, data: initData, signature, to, } = erc8010_1.SignatureErc8010.unwrap(parameters.signature);
const code = await (0, getCode_js_1.getCode)(client, {
address,
blockNumber,
blockTag,
});
if (code === (0, concat_js_1.concatHex)(['0xef0100', authorization_ox.address]))
return await verifyErc1271(client, {
address,
blockNumber,
blockTag,
hash,
signature,
});
const authorization = {
address: authorization_ox.address,
chainId: Number(authorization_ox.chainId),
nonce: Number(authorization_ox.nonce),
r: (0, toHex_js_1.numberToHex)(authorization_ox.r, { size: 32 }),
s: (0, toHex_js_1.numberToHex)(authorization_ox.s, { size: 32 }),
yParity: authorization_ox.yParity,
};
const valid = await (0, verifyAuthorization_js_1.verifyAuthorization)({
address,
authorization,
});
if (!valid)
throw new VerificationError();
const results = await (0, getAction_js_1.getAction)(client, readContract_js_1.readContract, 'readContract')({
...(multicallAddress
? { address: multicallAddress }
: { code: contracts_js_1.multicall3Bytecode }),
authorizationList: [authorization],
abi: abis_js_1.multicall3Abi,
blockNumber,
blockTag: 'pending',
functionName: 'aggregate3',
args: [
[
...(initData
? [
{
allowFailure: true,
target: to ?? address,
callData: initData,
},
]
: []),
{
allowFailure: true,
target: address,
callData: (0, encodeFunctionData_js_1.encodeFunctionData)({
abi: abis_js_1.erc1271Abi,
functionName: 'isValidSignature',
args: [hash, signature],
}),
},
],
],
});
const data = results[results.length - 1]?.returnData;
if (data?.startsWith('0x1626ba7e'))
return true;
throw new VerificationError();
}
async function verifyErc6492(client, parameters) {
const { address, factory, factoryData, hash, signature, verifierAddress, ...rest } = parameters;
const wrappedSignature = await (async () => {
if (!factory && !factoryData)
return signature;
if (erc6492_1.SignatureErc6492.validate(signature))
return signature;
return erc6492_1.SignatureErc6492.wrap({
data: factoryData,
signature,
to: factory,
});
})();
const args = verifierAddress
? {
to: verifierAddress,
data: (0, encodeFunctionData_js_1.encodeFunctionData)({
abi: abis_js_1.erc6492SignatureValidatorAbi,
functionName: 'isValidSig',
args: [address, hash, wrappedSignature],
}),
...rest,
}
: {
data: (0, encodeDeployData_js_1.encodeDeployData)({
abi: abis_js_1.erc6492SignatureValidatorAbi,
args: [address, hash, wrappedSignature],
bytecode: contracts_js_1.erc6492SignatureValidatorByteCode,
}),
...rest,
};
const { data } = await (0, getAction_js_1.getAction)(client, call_js_1.call, 'call')(args).catch((error) => {
if (error instanceof contract_js_1.CallExecutionError)
throw new VerificationError();
throw error;
});
if ((0, fromHex_js_1.hexToBool)(data ?? '0x0'))
return true;
throw new VerificationError();
}
async function verifyErc1271(client, parameters) {
const { address, blockNumber, blockTag, hash, signature } = parameters;
const result = await (0, getAction_js_1.getAction)(client, readContract_js_1.readContract, 'readContract')({
address,
abi: abis_js_1.erc1271Abi,
args: [hash, signature],
blockNumber,
blockTag,
functionName: 'isValidSignature',
}).catch((error) => {
if (error instanceof contract_js_1.ContractFunctionExecutionError)
throw new VerificationError();
throw error;
});
if (result.startsWith('0x1626ba7e'))
return true;
throw new VerificationError();
}
class VerificationError extends Error {
}
//# sourceMappingURL=verifyHash.js.map

File diff suppressed because one or more lines are too long

18
node_modules/viem/_cjs/actions/public/verifyMessage.js generated vendored Normal file
View File

@@ -0,0 +1,18 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.verifyMessage = verifyMessage;
const getAction_js_1 = require("../../utils/getAction.js");
const hashMessage_js_1 = require("../../utils/signature/hashMessage.js");
const verifyHash_js_1 = require("./verifyHash.js");
async function verifyMessage(client, { address, message, factory, factoryData, signature, ...callRequest }) {
const hash = (0, hashMessage_js_1.hashMessage)(message);
return (0, getAction_js_1.getAction)(client, verifyHash_js_1.verifyHash, 'verifyHash')({
address,
factory: factory,
factoryData: factoryData,
hash,
signature,
...callRequest,
});
}
//# sourceMappingURL=verifyMessage.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"verifyMessage.js","sourceRoot":"","sources":["../../../actions/public/verifyMessage.ts"],"names":[],"mappings":";;AAmDA,sCAwBC;AA9DD,2DAAoD;AAEpD,yEAAkE;AAClE,mDAIwB;AA+BjB,KAAK,UAAU,aAAa,CACjC,MAAgC,EAChC,EACE,OAAO,EACP,OAAO,EACP,OAAO,EACP,WAAW,EACX,SAAS,EACT,GAAG,WAAW,EACU;IAE1B,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAC,OAAO,CAAC,CAAA;IACjC,OAAO,IAAA,wBAAS,EACd,MAAM,EACN,0BAAU,EACV,YAAY,CACb,CAAC;QACA,OAAO;QACP,OAAO,EAAE,OAAQ;QACjB,WAAW,EAAE,WAAY;QACzB,IAAI;QACJ,SAAS;QACT,GAAG,WAAW;KACf,CAAC,CAAA;AACJ,CAAC"}

View File

@@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.verifyTypedData = verifyTypedData;
const getAction_js_1 = require("../../utils/getAction.js");
const hashTypedData_js_1 = require("../../utils/signature/hashTypedData.js");
const verifyHash_js_1 = require("./verifyHash.js");
async function verifyTypedData(client, parameters) {
const { address, factory, factoryData, signature, message, primaryType, types, domain, ...callRequest } = parameters;
const hash = (0, hashTypedData_js_1.hashTypedData)({ message, primaryType, types, domain });
return (0, getAction_js_1.getAction)(client, verifyHash_js_1.verifyHash, 'verifyHash')({
address,
factory: factory,
factoryData: factoryData,
hash,
signature,
...callRequest,
});
}
//# sourceMappingURL=verifyTypedData.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"verifyTypedData.js","sourceRoot":"","sources":["../../../actions/public/verifyTypedData.ts"],"names":[],"mappings":";;AA8CA,0CAgCC;AAtED,2DAAoD;AACpD,6EAG+C;AAC/C,mDAIwB;AA6BjB,KAAK,UAAU,eAAe,CAKnC,MAAgC,EAChC,UAA6D;IAE7D,MAAM,EACJ,OAAO,EACP,OAAO,EACP,WAAW,EACX,SAAS,EACT,OAAO,EACP,WAAW,EACX,KAAK,EACL,MAAM,EACN,GAAG,WAAW,EACf,GAAG,UAAuC,CAAA;IAC3C,MAAM,IAAI,GAAG,IAAA,gCAAa,EAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IACnE,OAAO,IAAA,wBAAS,EACd,MAAM,EACN,0BAAU,EACV,YAAY,CACb,CAAC;QACA,OAAO;QACP,OAAO,EAAE,OAAQ;QACjB,WAAW,EAAE,WAAY;QACzB,IAAI;QACJ,SAAS;QACT,GAAG,WAAW;KACf,CAAC,CAAA;AACJ,CAAC"}

View File

@@ -0,0 +1,153 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.waitForTransactionReceipt = waitForTransactionReceipt;
const block_js_1 = require("../../errors/block.js");
const transaction_js_1 = require("../../errors/transaction.js");
const getAction_js_1 = require("../../utils/getAction.js");
const observe_js_1 = require("../../utils/observe.js");
const withResolvers_js_1 = require("../../utils/promise/withResolvers.js");
const withRetry_js_1 = require("../../utils/promise/withRetry.js");
const stringify_js_1 = require("../../utils/stringify.js");
const getBlock_js_1 = require("./getBlock.js");
const getTransaction_js_1 = require("./getTransaction.js");
const getTransactionReceipt_js_1 = require("./getTransactionReceipt.js");
const watchBlockNumber_js_1 = require("./watchBlockNumber.js");
async function waitForTransactionReceipt(client, parameters) {
const { checkReplacement = true, confirmations = 1, hash, onReplaced, retryCount = 6, retryDelay = ({ count }) => ~~(1 << count) * 200, timeout = 180_000, } = parameters;
const observerId = (0, stringify_js_1.stringify)(['waitForTransactionReceipt', client.uid, hash]);
const pollingInterval = (() => {
if (parameters.pollingInterval)
return parameters.pollingInterval;
if (client.chain?.experimental_preconfirmationTime)
return client.chain.experimental_preconfirmationTime;
return client.pollingInterval;
})();
let transaction;
let replacedTransaction;
let receipt;
let retrying = false;
let _unobserve;
let _unwatch;
const { promise, resolve, reject } = (0, withResolvers_js_1.withResolvers)();
const timer = timeout
? setTimeout(() => {
_unwatch?.();
_unobserve?.();
reject(new transaction_js_1.WaitForTransactionReceiptTimeoutError({ hash }));
}, timeout)
: undefined;
_unobserve = (0, observe_js_1.observe)(observerId, { onReplaced, resolve, reject }, async (emit) => {
receipt = await (0, getAction_js_1.getAction)(client, getTransactionReceipt_js_1.getTransactionReceipt, 'getTransactionReceipt')({ hash }).catch(() => undefined);
if (receipt && confirmations <= 1) {
clearTimeout(timer);
emit.resolve(receipt);
_unobserve?.();
return;
}
_unwatch = (0, getAction_js_1.getAction)(client, watchBlockNumber_js_1.watchBlockNumber, 'watchBlockNumber')({
emitMissed: true,
emitOnBegin: true,
poll: true,
pollingInterval,
async onBlockNumber(blockNumber_) {
const done = (fn) => {
clearTimeout(timer);
_unwatch?.();
fn();
_unobserve?.();
};
let blockNumber = blockNumber_;
if (retrying)
return;
try {
if (receipt) {
if (confirmations > 1 &&
(!receipt.blockNumber ||
blockNumber - receipt.blockNumber + 1n < confirmations))
return;
done(() => emit.resolve(receipt));
return;
}
if (checkReplacement && !transaction) {
retrying = true;
await (0, withRetry_js_1.withRetry)(async () => {
transaction = (await (0, getAction_js_1.getAction)(client, getTransaction_js_1.getTransaction, 'getTransaction')({ hash }));
if (transaction.blockNumber)
blockNumber = transaction.blockNumber;
}, {
delay: retryDelay,
retryCount,
});
retrying = false;
}
receipt = await (0, getAction_js_1.getAction)(client, getTransactionReceipt_js_1.getTransactionReceipt, 'getTransactionReceipt')({ hash });
if (confirmations > 1 &&
(!receipt.blockNumber ||
blockNumber - receipt.blockNumber + 1n < confirmations))
return;
done(() => emit.resolve(receipt));
}
catch (err) {
if (err instanceof transaction_js_1.TransactionNotFoundError ||
err instanceof transaction_js_1.TransactionReceiptNotFoundError) {
if (!transaction) {
retrying = false;
return;
}
try {
replacedTransaction = transaction;
retrying = true;
const block = await (0, withRetry_js_1.withRetry)(() => (0, getAction_js_1.getAction)(client, getBlock_js_1.getBlock, 'getBlock')({
blockNumber,
includeTransactions: true,
}), {
delay: retryDelay,
retryCount,
shouldRetry: ({ error }) => error instanceof block_js_1.BlockNotFoundError,
});
retrying = false;
const replacementTransaction = block.transactions.find(({ from, nonce }) => from === replacedTransaction.from &&
nonce === replacedTransaction.nonce);
if (!replacementTransaction)
return;
receipt = await (0, getAction_js_1.getAction)(client, getTransactionReceipt_js_1.getTransactionReceipt, 'getTransactionReceipt')({
hash: replacementTransaction.hash,
});
if (confirmations > 1 &&
(!receipt.blockNumber ||
blockNumber - receipt.blockNumber + 1n < confirmations))
return;
let reason = 'replaced';
if (replacementTransaction.to === replacedTransaction.to &&
replacementTransaction.value === replacedTransaction.value &&
replacementTransaction.input === replacedTransaction.input) {
reason = 'repriced';
}
else if (replacementTransaction.from === replacementTransaction.to &&
replacementTransaction.value === 0n) {
reason = 'cancelled';
}
done(() => {
emit.onReplaced?.({
reason,
replacedTransaction: replacedTransaction,
transaction: replacementTransaction,
transactionReceipt: receipt,
});
emit.resolve(receipt);
});
}
catch (err_) {
done(() => emit.reject(err_));
}
}
else {
done(() => emit.reject(err));
}
}
},
});
});
return promise;
}
//# sourceMappingURL=waitForTransactionReceipt.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,107 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.watchBlockNumber = watchBlockNumber;
const fromHex_js_1 = require("../../utils/encoding/fromHex.js");
const getAction_js_1 = require("../../utils/getAction.js");
const observe_js_1 = require("../../utils/observe.js");
const poll_js_1 = require("../../utils/poll.js");
const stringify_js_1 = require("../../utils/stringify.js");
const getBlockNumber_js_1 = require("./getBlockNumber.js");
function watchBlockNumber(client, { emitOnBegin = false, emitMissed = false, onBlockNumber, onError, poll: poll_, pollingInterval = client.pollingInterval, }) {
const enablePolling = (() => {
if (typeof poll_ !== 'undefined')
return poll_;
if (client.transport.type === 'webSocket' ||
client.transport.type === 'ipc')
return false;
if (client.transport.type === 'fallback' &&
(client.transport.transports[0].config.type === 'webSocket' ||
client.transport.transports[0].config.type === 'ipc'))
return false;
return true;
})();
let prevBlockNumber;
const pollBlockNumber = () => {
const observerId = (0, stringify_js_1.stringify)([
'watchBlockNumber',
client.uid,
emitOnBegin,
emitMissed,
pollingInterval,
]);
return (0, observe_js_1.observe)(observerId, { onBlockNumber, onError }, (emit) => (0, poll_js_1.poll)(async () => {
try {
const blockNumber = await (0, getAction_js_1.getAction)(client, getBlockNumber_js_1.getBlockNumber, 'getBlockNumber')({ cacheTime: 0 });
if (prevBlockNumber !== undefined) {
if (blockNumber === prevBlockNumber)
return;
if (blockNumber - prevBlockNumber > 1 && emitMissed) {
for (let i = prevBlockNumber + 1n; i < blockNumber; i++) {
emit.onBlockNumber(i, prevBlockNumber);
prevBlockNumber = i;
}
}
}
if (prevBlockNumber === undefined ||
blockNumber > prevBlockNumber) {
emit.onBlockNumber(blockNumber, prevBlockNumber);
prevBlockNumber = blockNumber;
}
}
catch (err) {
emit.onError?.(err);
}
}, {
emitOnBegin,
interval: pollingInterval,
}));
};
const subscribeBlockNumber = () => {
const observerId = (0, stringify_js_1.stringify)([
'watchBlockNumber',
client.uid,
emitOnBegin,
emitMissed,
]);
return (0, observe_js_1.observe)(observerId, { onBlockNumber, onError }, (emit) => {
let active = true;
let unsubscribe = () => (active = false);
(async () => {
try {
const transport = (() => {
if (client.transport.type === 'fallback') {
const transport = client.transport.transports.find((transport) => transport.config.type === 'webSocket' ||
transport.config.type === 'ipc');
if (!transport)
return client.transport;
return transport.value;
}
return client.transport;
})();
const { unsubscribe: unsubscribe_ } = await transport.subscribe({
params: ['newHeads'],
onData(data) {
if (!active)
return;
const blockNumber = (0, fromHex_js_1.hexToBigInt)(data.result?.number);
emit.onBlockNumber(blockNumber, prevBlockNumber);
prevBlockNumber = blockNumber;
},
onError(error) {
emit.onError?.(error);
},
});
unsubscribe = unsubscribe_;
if (!active)
unsubscribe();
}
catch (err) {
onError?.(err);
}
})();
return () => unsubscribe();
});
};
return enablePolling ? pollBlockNumber() : subscribeBlockNumber();
}
//# sourceMappingURL=watchBlockNumber.js.map

View File

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

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