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

2163
node_modules/viem/_cjs/op-stack/abis.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

1
node_modules/viem/_cjs/op-stack/abis.js.map generated vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,31 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildDepositTransaction = buildDepositTransaction;
const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js");
const prepareTransactionRequest_js_1 = require("../../actions/wallet/prepareTransactionRequest.js");
async function buildDepositTransaction(client, args) {
const { account: account_, chain = client.chain, gas, data, isCreation, mint, to, value, } = args;
const account = account_ ? (0, parseAccount_js_1.parseAccount)(account_) : undefined;
const request = await (0, prepareTransactionRequest_js_1.prepareTransactionRequest)(client, {
account: mint ? undefined : account,
chain,
gas,
data,
parameters: ['gas'],
to,
value,
});
return {
account,
request: {
data: request.data,
gas: request.gas,
mint,
isCreation,
to: request.to,
value: request.value,
},
targetChain: chain,
};
}
//# sourceMappingURL=buildDepositTransaction.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"buildDepositTransaction.js","sourceRoot":"","sources":["../../../op-stack/actions/buildDepositTransaction.ts"],"names":[],"mappings":";;AA0GA,0DAiDC;AA1JD,0EAG6C;AAC7C,oGAI0D;AAiGnD,KAAK,UAAU,uBAAuB,CAM3C,MAAyC,EACzC,IAKC;IAED,MAAM,EACJ,OAAO,EAAE,QAAQ,EACjB,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,EACH,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,EAAE,EACF,KAAK,GACN,GAAG,IAAI,CAAA;IAER,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,8BAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAE7D,MAAM,OAAO,GAAG,MAAM,IAAA,wDAAyB,EAAC,MAAM,EAAE;QACtD,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;QACnC,KAAK;QACL,GAAG;QACH,IAAI;QACJ,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,EAAE;QACF,KAAK;KACiC,CAAC,CAAA;IAEzC,OAAO;QACL,OAAO;QACP,OAAO,EAAE;YACP,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI;YACJ,UAAU;YACV,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB;QACD,WAAW,EAAE,KAAK;KACuD,CAAA;AAC7E,CAAC"}

View File

@@ -0,0 +1,28 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildInitiateWithdrawal = buildInitiateWithdrawal;
const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js");
const prepareTransactionRequest_js_1 = require("../../actions/wallet/prepareTransactionRequest.js");
async function buildInitiateWithdrawal(client, args) {
const { account: account_, chain = client.chain, gas, data, to, value } = args;
const account = account_ ? (0, parseAccount_js_1.parseAccount)(account_) : undefined;
const request = await (0, prepareTransactionRequest_js_1.prepareTransactionRequest)(client, {
account: null,
chain,
gas,
data,
parameters: ['gas'],
to,
value,
});
return {
account,
request: {
data: request.data,
gas: request.gas,
to: request.to,
value: request.value,
},
};
}
//# sourceMappingURL=buildInitiateWithdrawal.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"buildInitiateWithdrawal.js","sourceRoot":"","sources":["../../../op-stack/actions/buildInitiateWithdrawal.ts"],"names":[],"mappings":";;AAgFA,0DAqCC;AApHD,0EAG6C;AAC7C,oGAI0D;AAuEnD,KAAK,UAAU,uBAAuB,CAM3C,MAAyC,EACzC,IAKC;IAED,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;IAE9E,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,8BAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAE7D,MAAM,OAAO,GAAG,MAAM,IAAA,wDAAyB,EAAC,MAAM,EAAE;QACtD,OAAO,EAAE,IAAI;QACb,KAAK;QACL,GAAG;QACH,IAAI;QACJ,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,EAAE;QACF,KAAK;KACiC,CAAC,CAAA;IAEzC,OAAO;QACL,OAAO;QACP,OAAO,EAAE;YACP,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB;KAC6D,CAAA;AAClE,CAAC"}

View File

@@ -0,0 +1,58 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildProveWithdrawal = buildProveWithdrawal;
exports.maybeAddProofNode = maybeAddProofNode;
const getBlock_js_1 = require("../../actions/public/getBlock.js");
const getProof_js_1 = require("../../actions/public/getProof.js");
const fromRlp_js_1 = require("../../utils/encoding/fromRlp.js");
const toRlp_js_1 = require("../../utils/encoding/toRlp.js");
const keccak256_js_1 = require("../../utils/hash/keccak256.js");
const contracts_js_1 = require("../contracts.js");
const getWithdrawalHashStorageSlot_js_1 = require("../utils/getWithdrawalHashStorageSlot.js");
const outputRootProofVersion = '0x0000000000000000000000000000000000000000000000000000000000000000';
async function buildProveWithdrawal(client, args) {
const { account, chain = client.chain, game, output, withdrawal } = args;
const { withdrawalHash } = withdrawal;
const { l2BlockNumber } = game ?? output;
const slot = (0, getWithdrawalHashStorageSlot_js_1.getWithdrawalHashStorageSlot)({ withdrawalHash });
const [proof, block] = await Promise.all([
(0, getProof_js_1.getProof)(client, {
address: contracts_js_1.contracts.l2ToL1MessagePasser.address,
storageKeys: [slot],
blockNumber: l2BlockNumber,
}),
(0, getBlock_js_1.getBlock)(client, {
blockNumber: l2BlockNumber,
}),
]);
return {
account,
l2OutputIndex: game?.index ?? output?.outputIndex,
outputRootProof: {
latestBlockhash: block.hash,
messagePasserStorageRoot: proof.storageHash,
stateRoot: block.stateRoot,
version: outputRootProofVersion,
},
targetChain: chain,
withdrawalProof: maybeAddProofNode((0, keccak256_js_1.keccak256)(slot), proof.storageProof[0].proof),
withdrawal,
};
}
function maybeAddProofNode(key, proof) {
const lastProofRlp = proof[proof.length - 1];
const lastProof = (0, fromRlp_js_1.fromRlp)(lastProofRlp);
if (lastProof.length !== 17)
return proof;
const modifiedProof = [...proof];
for (const item of lastProof) {
if (!Array.isArray(item))
continue;
const suffix = item[0].slice(3);
if (typeof suffix !== 'string' || !key.endsWith(suffix))
continue;
modifiedProof.push((0, toRlp_js_1.toRlp)(item));
}
return modifiedProof;
}
//# sourceMappingURL=buildProveWithdrawal.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"buildProveWithdrawal.js","sourceRoot":"","sources":["../../../op-stack/actions/buildProveWithdrawal.ts"],"names":[],"mappings":";;AAsGA,oDAsDC;AAGD,8CAqBC;AAnLD,kEAGyC;AACzC,kEAGyC;AAgBzC,gEAAyD;AACzD,4DAAqD;AACrD,gEAAyD;AACzD,kDAA2C;AAE3C,8FAGiD;AAKjD,MAAM,sBAAsB,GAC1B,oEAA6E,CAAA;AAgExE,KAAK,UAAU,oBAAoB,CAMxC,MAAyC,EACzC,IAKC;IAID,MAAM,EAAE,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;IAExE,MAAM,EAAE,cAAc,EAAE,GAAG,UAAU,CAAA;IACrC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,IAAI,MAAM,CAAA;IAExC,MAAM,IAAI,GAAG,IAAA,8DAA4B,EAAC,EAAE,cAAc,EAAE,CAAC,CAAA;IAC7D,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvC,IAAA,sBAAQ,EAAC,MAAM,EAAE;YACf,OAAO,EAAE,wBAAS,CAAC,mBAAmB,CAAC,OAAO;YAC9C,WAAW,EAAE,CAAC,IAAI,CAAC;YACnB,WAAW,EAAE,aAAa;SAC3B,CAAC;QACF,IAAA,sBAAQ,EAAC,MAAM,EAAE;YACf,WAAW,EAAE,aAAa;SAC3B,CAAC;KACH,CAAC,CAAA;IAEF,OAAO;QACL,OAAO;QACP,aAAa,EAAE,IAAI,EAAE,KAAK,IAAI,MAAM,EAAE,WAAW;QACjD,eAAe,EAAE;YACf,eAAe,EAAE,KAAK,CAAC,IAAI;YAC3B,wBAAwB,EAAE,KAAK,CAAC,WAAW;YAC3C,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,sBAAsB;SAChC;QACD,WAAW,EAAE,KAAK;QAClB,eAAe,EAAE,iBAAiB,CAChC,IAAA,wBAAS,EAAC,IAAI,CAAC,EACf,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAC5B;QACD,UAAU;KAMX,CAAA;AACH,CAAC;AAGD,SAAgB,iBAAiB,CAAC,GAAW,EAAE,KAAqB;IAClE,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC5C,MAAM,SAAS,GAAG,IAAA,oBAAO,EAAC,YAAY,CAAC,CAAA;IACvC,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,KAAK,CAAA;IAEzC,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;IAChC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAE7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,SAAQ;QAQlC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC/B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAQ;QACjE,aAAa,CAAC,IAAI,CAAC,IAAA,gBAAK,EAAC,IAAI,CAAC,CAAC,CAAA;IACjC,CAAC;IACD,OAAO,aAAa,CAAA;AACtB,CAAC"}

View File

@@ -0,0 +1,36 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.depositTransaction = depositTransaction;
const writeContract_js_1 = require("../../actions/wallet/writeContract.js");
const address_js_1 = require("../../constants/address.js");
const abis_js_1 = require("../abis.js");
async function depositTransaction(client, parameters) {
const { account, chain = client.chain, gas, maxFeePerGas, maxPriorityFeePerGas, nonce, request: { data = '0x', gas: l2Gas, isCreation = false, mint, to = '0x', value, }, targetChain, } = parameters;
const portalAddress = (() => {
if (parameters.portalAddress)
return parameters.portalAddress;
if (chain)
return targetChain.contracts.portal[chain.id].address;
return Object.values(targetChain.contracts.portal)[0].address;
})();
return (0, writeContract_js_1.writeContract)(client, {
account: account,
abi: abis_js_1.portalAbi,
address: portalAddress,
chain,
functionName: 'depositTransaction',
args: [
isCreation ? address_js_1.zeroAddress : to,
value ?? mint ?? 0n,
l2Gas,
isCreation,
data,
],
maxFeePerGas,
maxPriorityFeePerGas,
nonce,
value: mint,
gas: gas ?? undefined,
});
}
//# sourceMappingURL=depositTransaction.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"depositTransaction.js","sourceRoot":"","sources":["../../../op-stack/actions/depositTransaction.ts"],"names":[],"mappings":";;AAiHA,gDAmDC;AAnKD,4EAI8C;AAG9C,2DAAwD;AAWxD,wCAAsC;AA8F/B,KAAK,UAAU,kBAAkB,CAKtC,MAAyC,EACzC,UAAuE;IAEvE,MAAM,EACJ,OAAO,EACP,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,EACH,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,OAAO,EAAE,EACP,IAAI,GAAG,IAAI,EACX,GAAG,EAAE,KAAK,EACV,UAAU,GAAG,KAAK,EAClB,IAAI,EACJ,EAAE,GAAG,IAAI,EACT,KAAK,GACN,EACD,WAAW,GACZ,GAAG,UAAU,CAAA;IAEd,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;QAC1B,IAAI,UAAU,CAAC,aAAa;YAAE,OAAO,UAAU,CAAC,aAAa,CAAA;QAC7D,IAAI,KAAK;YAAE,OAAO,WAAY,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAA;QACjE,OAAO,MAAM,CAAC,MAAM,CAAC,WAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAChE,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,IAAA,gCAAa,EAAC,MAAM,EAAE;QAC3B,OAAO,EAAE,OAAQ;QACjB,GAAG,EAAE,mBAAS;QACd,OAAO,EAAE,aAAa;QACtB,KAAK;QACL,YAAY,EAAE,oBAAoB;QAClC,IAAI,EAAE;YACJ,UAAU,CAAC,CAAC,CAAC,wBAAW,CAAC,CAAC,CAAC,EAAE;YAC7B,KAAK,IAAI,IAAI,IAAI,EAAE;YACnB,KAAK;YACL,UAAU;YACV,IAAI;SACL;QACD,YAAY;QACZ,oBAAoB;QACpB,KAAK;QACL,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,GAAG,IAAI,SAAS;KACmB,CAAC,CAAA;AAC7C,CAAC"}

View File

@@ -0,0 +1,35 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.estimateContractL1Fee = estimateContractL1Fee;
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 estimateL1Fee_js_1 = require("./estimateL1Fee.js");
async function estimateContractL1Fee(client, parameters) {
const { abi, address, args, functionName, ...request } = parameters;
const data = (0, encodeFunctionData_js_1.encodeFunctionData)({
abi,
args,
functionName,
});
try {
const fee = await (0, estimateL1Fee_js_1.estimateL1Fee)(client, {
data,
to: address,
...request,
});
return fee;
}
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/chains/op-stack/estimateContractL1Fee',
functionName,
sender: account?.address,
});
}
}
//# sourceMappingURL=estimateContractL1Fee.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"estimateContractL1Fee.js","sourceRoot":"","sources":["../../../op-stack/actions/estimateContractL1Fee.ts"],"names":[],"mappings":";;AAkGA,sDA2CC;AA1ID,0EAG6C;AAY7C,iFAI8C;AAC9C,gFAG+C;AAC/C,yDAI2B;AAmEpB,KAAK,UAAU,qBAAqB,CAQzC,MAAyC,EACzC,UAOC;IAED,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,GACpD,UAA6C,CAAA;IAC/C,MAAM,IAAI,GAAG,IAAA,0CAAkB,EAAC;QAC9B,GAAG;QACH,IAAI;QACJ,YAAY;KACmB,CAAC,CAAA;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAA,gCAAa,EAAC,MAAM,EAAE;YACtC,IAAI;YACJ,EAAE,EAAE,OAAO;YACX,GAAG,OAAO;SAC2B,CAAC,CAAA;QACxC,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,6CAA6C;YACvD,YAAY;YACZ,MAAM,EAAE,OAAO,EAAE,OAAO;SACzB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}

View File

@@ -0,0 +1,35 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.estimateContractL1Gas = estimateContractL1Gas;
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 estimateL1Gas_js_1 = require("./estimateL1Gas.js");
async function estimateContractL1Gas(client, parameters) {
const { abi, address, args, functionName, ...request } = parameters;
const data = (0, encodeFunctionData_js_1.encodeFunctionData)({
abi,
args,
functionName,
});
try {
const gas = await (0, estimateL1Gas_js_1.estimateL1Gas)(client, {
data,
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/chains/op-stack/estimateContractL1Gas',
functionName,
sender: account?.address,
});
}
}
//# sourceMappingURL=estimateContractL1Gas.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"estimateContractL1Gas.js","sourceRoot":"","sources":["../../../op-stack/actions/estimateContractL1Gas.ts"],"names":[],"mappings":";;AAkGA,sDA2CC;AA1ID,0EAG6C;AAY7C,iFAI8C;AAC9C,gFAG+C;AAC/C,yDAI2B;AAmEpB,KAAK,UAAU,qBAAqB,CAQzC,MAAyC,EACzC,UAOC;IAED,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,GACpD,UAA6C,CAAA;IAC/C,MAAM,IAAI,GAAG,IAAA,0CAAkB,EAAC;QAC9B,GAAG;QACH,IAAI;QACJ,YAAY;KACmB,CAAC,CAAA;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAA,gCAAa,EAAC,MAAM,EAAE;YACtC,IAAI;YACJ,EAAE,EAAE,OAAO;YACX,GAAG,OAAO;SAC2B,CAAC,CAAA;QACxC,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,6CAA6C;YACvD,YAAY;YACZ,MAAM,EAAE,OAAO,EAAE,OAAO;SACzB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}

View File

@@ -0,0 +1,35 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.estimateContractTotalFee = estimateContractTotalFee;
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 estimateTotalFee_js_1 = require("./estimateTotalFee.js");
async function estimateContractTotalFee(client, parameters) {
const { abi, address, args, functionName, ...request } = parameters;
const data = (0, encodeFunctionData_js_1.encodeFunctionData)({
abi,
args,
functionName,
});
try {
const fee = await (0, estimateTotalFee_js_1.estimateTotalFee)(client, {
data,
to: address,
...request,
});
return fee;
}
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/chains/op-stack/estimateTotalFee',
functionName,
sender: account?.address,
});
}
}
//# sourceMappingURL=estimateContractTotalFee.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"estimateContractTotalFee.js","sourceRoot":"","sources":["../../../op-stack/actions/estimateContractTotalFee.ts"],"names":[],"mappings":";;AAoGA,4DA2CC;AA5ID,0EAG6C;AAY7C,iFAI8C;AAC9C,gFAG+C;AAC/C,+DAI8B;AAqEvB,KAAK,UAAU,wBAAwB,CAQ5C,MAAyC,EACzC,UAOC;IAED,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,GACpD,UAAgD,CAAA;IAClD,MAAM,IAAI,GAAG,IAAA,0CAAkB,EAAC;QAC9B,GAAG;QACH,IAAI;QACJ,YAAY;KACmB,CAAC,CAAA;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAA,sCAAgB,EAAC,MAAM,EAAE;YACzC,IAAI;YACJ,EAAE,EAAE,OAAO;YACX,GAAG,OAAO;SAC8B,CAAC,CAAA;QAC3C,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,wCAAwC;YAClD,YAAY;YACZ,MAAM,EAAE,OAAO,EAAE,OAAO;SACzB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}

View File

@@ -0,0 +1,35 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.estimateContractTotalGas = estimateContractTotalGas;
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 estimateTotalGas_js_1 = require("./estimateTotalGas.js");
async function estimateContractTotalGas(client, parameters) {
const { abi, address, args, functionName, ...request } = parameters;
const data = (0, encodeFunctionData_js_1.encodeFunctionData)({
abi,
args,
functionName,
});
try {
const gas = await (0, estimateTotalGas_js_1.estimateTotalGas)(client, {
data,
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/chains/op-stack/estimateTotalGas',
functionName,
sender: account?.address,
});
}
}
//# sourceMappingURL=estimateContractTotalGas.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"estimateContractTotalGas.js","sourceRoot":"","sources":["../../../op-stack/actions/estimateContractTotalGas.ts"],"names":[],"mappings":";;AAoGA,4DA2CC;AA5ID,0EAG6C;AAY7C,iFAI8C;AAC9C,gFAG+C;AAC/C,+DAI8B;AAqEvB,KAAK,UAAU,wBAAwB,CAQ5C,MAAyC,EACzC,UAOC;IAED,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,GACpD,UAAgD,CAAA;IAClD,MAAM,IAAI,GAAG,IAAA,0CAAkB,EAAC;QAC9B,GAAG;QACH,IAAI;QACJ,YAAY;KACmB,CAAC,CAAA;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAA,sCAAgB,EAAC,MAAM,EAAE;YACzC,IAAI;YACJ,EAAE,EAAE,OAAO;YACX,GAAG,OAAO;SAC8B,CAAC,CAAA;QAC3C,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,wCAAwC;YAClD,YAAY;YACZ,MAAM,EAAE,OAAO,EAAE,OAAO;SACzB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}

View File

@@ -0,0 +1,37 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.estimateDepositTransactionGas = estimateDepositTransactionGas;
const estimateContractGas_js_1 = require("../../actions/public/estimateContractGas.js");
const address_js_1 = require("../../constants/address.js");
const abis_js_1 = require("../abis.js");
async function estimateDepositTransactionGas(client, parameters) {
const { account, chain = client.chain, gas, maxFeePerGas, maxPriorityFeePerGas, nonce, request: { data = '0x', gas: l2Gas, isCreation = false, mint, to = '0x', value, }, targetChain, } = parameters;
const portalAddress = (() => {
if (parameters.portalAddress)
return parameters.portalAddress;
if (chain)
return targetChain.contracts.portal[chain.id].address;
return Object.values(targetChain.contracts.portal)[0].address;
})();
const params = {
account,
abi: abis_js_1.portalAbi,
address: portalAddress,
functionName: 'depositTransaction',
args: [
isCreation ? address_js_1.zeroAddress : to,
value ?? mint ?? 0n,
l2Gas,
isCreation,
data,
],
gas,
maxFeePerGas,
maxPriorityFeePerGas,
nonce,
value: mint,
chain,
};
return (0, estimateContractGas_js_1.estimateContractGas)(client, params);
}
//# sourceMappingURL=estimateDepositTransactionGas.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"estimateDepositTransactionGas.js","sourceRoot":"","sources":["../../../op-stack/actions/estimateDepositTransactionGas.ts"],"names":[],"mappings":";;AAsFA,sEA8DC;AAlJD,wFAIoD;AAGpD,2DAAwD;AAUxD,wCAAsC;AAmE/B,KAAK,UAAU,6BAA6B,CAKjD,MAAyC,EACzC,UAIC;IAED,MAAM,EACJ,OAAO,EACP,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,EACH,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,OAAO,EAAE,EACP,IAAI,GAAG,IAAI,EACX,GAAG,EAAE,KAAK,EACV,UAAU,GAAG,KAAK,EAClB,IAAI,EACJ,EAAE,GAAG,IAAI,EACT,KAAK,GACN,EACD,WAAW,GACZ,GAAG,UAAU,CAAA;IAEd,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;QAC1B,IAAI,UAAU,CAAC,aAAa;YAAE,OAAO,UAAU,CAAC,aAAa,CAAA;QAC7D,IAAI,KAAK;YAAE,OAAO,WAAY,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAA;QACjE,OAAO,MAAM,CAAC,MAAM,CAAC,WAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAChE,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,MAAM,GAAG;QACb,OAAO;QACP,GAAG,EAAE,mBAAS;QACd,OAAO,EAAE,aAAa;QACtB,YAAY,EAAE,oBAAoB;QAClC,IAAI,EAAE;YACJ,UAAU,CAAC,CAAC,CAAC,wBAAW,CAAC,CAAC,CAAC,EAAE;YAC7B,KAAK,IAAI,IAAI,IAAI,EAAE;YACnB,KAAK;YACL,UAAU;YACV,IAAI;SACL;QACD,GAAG;QACH,YAAY;QACZ,oBAAoB;QACpB,KAAK;QACL,KAAK,EAAE,IAAI;QAIX,KAAK;KAIN,CAAA;IACD,OAAO,IAAA,4CAAmB,EAAC,MAAM,EAAE,MAAa,CAAC,CAAA;AACnD,CAAC"}

View File

@@ -0,0 +1,36 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.estimateFinalizeWithdrawalGas = estimateFinalizeWithdrawalGas;
const estimateContractGas_js_1 = require("../../actions/public/estimateContractGas.js");
const abis_js_1 = require("../abis.js");
async function estimateFinalizeWithdrawalGas(client, parameters) {
const { account, chain = client.chain, gas, maxFeePerGas, maxPriorityFeePerGas, nonce, proofSubmitter, targetChain, withdrawal, } = parameters;
const portalAddress = (() => {
if (parameters.portalAddress)
return parameters.portalAddress;
if (chain)
return targetChain.contracts.portal[chain.id].address;
return Object.values(targetChain.contracts.portal)[0].address;
})();
const [functionName, args, abi] = proofSubmitter
? [
'finalizeWithdrawalTransactionExternalProof',
[withdrawal, proofSubmitter],
abis_js_1.portal2Abi,
]
: ['finalizeWithdrawalTransaction', [withdrawal], abis_js_1.portalAbi];
const params = {
account,
abi,
address: portalAddress,
functionName,
args,
gas,
maxFeePerGas,
maxPriorityFeePerGas,
nonce,
chain,
};
return (0, estimateContractGas_js_1.estimateContractGas)(client, params);
}
//# sourceMappingURL=estimateFinalizeWithdrawalGas.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"estimateFinalizeWithdrawalGas.js","sourceRoot":"","sources":["../../../op-stack/actions/estimateFinalizeWithdrawalGas.ts"],"names":[],"mappings":";;AAiFA,sEAuDC;AAvID,wFAIoD;AAYpD,wCAAkD;AAgE3C,KAAK,UAAU,6BAA6B,CAKjD,MAAyC,EACzC,UAIC;IAED,MAAM,EACJ,OAAO,EACP,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,EACH,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,cAAc,EACd,WAAW,EACX,UAAU,GACX,GAAG,UAAU,CAAA;IAEd,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;QAC1B,IAAI,UAAU,CAAC,aAAa;YAAE,OAAO,UAAU,CAAC,aAAa,CAAA;QAC7D,IAAI,KAAK;YAAE,OAAO,WAAY,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAA;QACjE,OAAO,MAAM,CAAC,MAAM,CAAC,WAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAChE,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,cAAc;QAC9C,CAAC,CAAC;YACE,4CAA4C;YAC5C,CAAC,UAAU,EAAE,cAAc,CAAC;YAC5B,oBAAU;SACX;QACH,CAAC,CAAC,CAAC,+BAA+B,EAAE,CAAC,UAAU,CAAC,EAAE,mBAAS,CAAC,CAAA;IAE9D,MAAM,MAAM,GAAG;QACb,OAAO;QACP,GAAG;QACH,OAAO,EAAE,aAAa;QACtB,YAAY;QACZ,IAAI;QACJ,GAAG;QACH,YAAY;QACZ,oBAAoB;QACpB,KAAK;QAIL,KAAK;KACkC,CAAA;IAEzC,OAAO,IAAA,4CAAmB,EAAC,MAAM,EAAE,MAAa,CAAC,CAAA;AACnD,CAAC"}

View File

@@ -0,0 +1,24 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.estimateInitiateWithdrawalGas = estimateInitiateWithdrawalGas;
const estimateContractGas_js_1 = require("../../actions/public/estimateContractGas.js");
const abis_js_1 = require("../abis.js");
const contracts_js_1 = require("../contracts.js");
async function estimateInitiateWithdrawalGas(client, parameters) {
const { account, chain = client.chain, gas, maxFeePerGas, maxPriorityFeePerGas, nonce, request: { data = '0x', gas: l1Gas, to, value }, } = parameters;
const params = {
account,
abi: abis_js_1.l2ToL1MessagePasserAbi,
address: contracts_js_1.contracts.l2ToL1MessagePasser.address,
functionName: 'initiateWithdrawal',
args: [to, l1Gas, data],
gas,
maxFeePerGas,
maxPriorityFeePerGas,
nonce,
value,
chain,
};
return (0, estimateContractGas_js_1.estimateContractGas)(client, params);
}
//# sourceMappingURL=estimateInitiateWithdrawalGas.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"estimateInitiateWithdrawalGas.js","sourceRoot":"","sources":["../../../op-stack/actions/estimateInitiateWithdrawalGas.ts"],"names":[],"mappings":";;AAkFA,sEA0CC;AA3HD,wFAIoD;AAYpD,wCAAmD;AACnD,kDAA2C;AAgEpC,KAAK,UAAU,6BAA6B,CAKjD,MAAyC,EACzC,UAIC;IAED,MAAM,EACJ,OAAO,EACP,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,EACH,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,OAAO,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,GAChD,GAAG,UAAU,CAAA;IAEd,MAAM,MAAM,GAAG;QACb,OAAO;QACP,GAAG,EAAE,gCAAsB;QAC3B,OAAO,EAAE,wBAAS,CAAC,mBAAmB,CAAC,OAAO;QAC9C,YAAY,EAAE,oBAAoB;QAClC,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC;QACvB,GAAG;QACH,YAAY;QACZ,oBAAoB;QACpB,KAAK;QACL,KAAK;QAIL,KAAK;KAIN,CAAA;IACD,OAAO,IAAA,4CAAmB,EAAC,MAAM,EAAE,MAAa,CAAC,CAAA;AACnD,CAAC"}

View File

@@ -0,0 +1,38 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.estimateL1Fee = estimateL1Fee;
const readContract_js_1 = require("../../actions/public/readContract.js");
const getChainContractAddress_js_1 = require("../../utils/chain/getChainContractAddress.js");
const serializeTransaction_js_1 = require("../../utils/transaction/serializeTransaction.js");
const parseGwei_js_1 = require("../../utils/unit/parseGwei.js");
const abis_js_1 = require("../abis.js");
const contracts_js_1 = require("../contracts.js");
async function estimateL1Fee(client, args) {
const { chain = client.chain, gasPriceOracleAddress: gasPriceOracleAddress_, } = args;
const gasPriceOracleAddress = (() => {
if (gasPriceOracleAddress_)
return gasPriceOracleAddress_;
if (chain)
return (0, getChainContractAddress_js_1.getChainContractAddress)({
chain,
contract: 'gasPriceOracle',
});
return contracts_js_1.contracts.gasPriceOracle.address;
})();
const transaction = (0, serializeTransaction_js_1.serializeTransaction)({
...args,
chainId: chain?.id ?? 1,
type: 'eip1559',
gas: args.data ? 300000n : 21000n,
maxFeePerGas: (0, parseGwei_js_1.parseGwei)('5'),
maxPriorityFeePerGas: (0, parseGwei_js_1.parseGwei)('1'),
nonce: 1,
});
return (0, readContract_js_1.readContract)(client, {
abi: abis_js_1.gasPriceOracleAbi,
address: gasPriceOracleAddress,
functionName: 'getL1Fee',
args: [transaction],
});
}
//# sourceMappingURL=estimateL1Fee.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"estimateL1Fee.js","sourceRoot":"","sources":["../../../op-stack/actions/estimateL1Fee.ts"],"names":[],"mappings":";;AAoEA,sCA2CC;AA7GD,0EAG6C;AAW7C,6FAAsF;AAEtF,6FAGwD;AACxD,gEAAyD;AACzD,wCAA8C;AAC9C,kDAA2C;AA4CpC,KAAK,UAAU,aAAa,CAKjC,MAA2C,EAC3C,IAA+D;IAE/D,MAAM,EACJ,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,qBAAqB,EAAE,sBAAsB,GAC9C,GAAG,IAAI,CAAA;IAER,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE;QAClC,IAAI,sBAAsB;YAAE,OAAO,sBAAsB,CAAA;QACzD,IAAI,KAAK;YACP,OAAO,IAAA,oDAAuB,EAAC;gBAC7B,KAAK;gBACL,QAAQ,EAAE,gBAAgB;aAC3B,CAAC,CAAA;QACJ,OAAO,wBAAS,CAAC,cAAc,CAAC,OAAO,CAAA;IACzC,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,WAAW,GAAG,IAAA,8CAAoB,EAAC;QACvC,GAAG,IAAI;QACP,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC;QACvB,IAAI,EAAE,SAAS;QAKf,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC,MAAO;QACnC,YAAY,EAAE,IAAA,wBAAS,EAAC,GAAG,CAAC;QAC5B,oBAAoB,EAAE,IAAA,wBAAS,EAAC,GAAG,CAAC;QACpC,KAAK,EAAE,CAAC;KACkB,CAAC,CAAA;IAE7B,OAAO,IAAA,8BAAY,EAAC,MAAM,EAAE;QAC1B,GAAG,EAAE,2BAAiB;QACtB,OAAO,EAAE,qBAAqB;QAC9B,YAAY,EAAE,UAAU;QACxB,IAAI,EAAE,CAAC,WAAkB,CAAC;KAC3B,CAAC,CAAA;AACJ,CAAC"}

View File

@@ -0,0 +1,38 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.estimateL1Gas = estimateL1Gas;
const readContract_js_1 = require("../../actions/public/readContract.js");
const getChainContractAddress_js_1 = require("../../utils/chain/getChainContractAddress.js");
const serializeTransaction_js_1 = require("../../utils/transaction/serializeTransaction.js");
const parseGwei_js_1 = require("../../utils/unit/parseGwei.js");
const abis_js_1 = require("../abis.js");
const contracts_js_1 = require("../contracts.js");
async function estimateL1Gas(client, args) {
const { chain = client.chain, gasPriceOracleAddress: gasPriceOracleAddress_, } = args;
const gasPriceOracleAddress = (() => {
if (gasPriceOracleAddress_)
return gasPriceOracleAddress_;
if (chain)
return (0, getChainContractAddress_js_1.getChainContractAddress)({
chain,
contract: 'gasPriceOracle',
});
return contracts_js_1.contracts.gasPriceOracle.address;
})();
const transaction = (0, serializeTransaction_js_1.serializeTransaction)({
...args,
chainId: chain?.id ?? 1,
type: 'eip1559',
gas: args.data ? 300000n : 21000n,
maxFeePerGas: (0, parseGwei_js_1.parseGwei)('5'),
maxPriorityFeePerGas: (0, parseGwei_js_1.parseGwei)('1'),
nonce: 1,
});
return (0, readContract_js_1.readContract)(client, {
abi: abis_js_1.gasPriceOracleAbi,
address: gasPriceOracleAddress,
functionName: 'getL1GasUsed',
args: [transaction],
});
}
//# sourceMappingURL=estimateL1Gas.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"estimateL1Gas.js","sourceRoot":"","sources":["../../../op-stack/actions/estimateL1Gas.ts"],"names":[],"mappings":";;AAoEA,sCA2CC;AA7GD,0EAG6C;AAW7C,6FAAsF;AAEtF,6FAGwD;AACxD,gEAAyD;AACzD,wCAA8C;AAC9C,kDAA2C;AA4CpC,KAAK,UAAU,aAAa,CAKjC,MAAyC,EACzC,IAA4D;IAE5D,MAAM,EACJ,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,qBAAqB,EAAE,sBAAsB,GAC9C,GAAG,IAAI,CAAA;IAER,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE;QAClC,IAAI,sBAAsB;YAAE,OAAO,sBAAsB,CAAA;QACzD,IAAI,KAAK;YACP,OAAO,IAAA,oDAAuB,EAAC;gBAC7B,KAAK;gBACL,QAAQ,EAAE,gBAAgB;aAC3B,CAAC,CAAA;QACJ,OAAO,wBAAS,CAAC,cAAc,CAAC,OAAO,CAAA;IACzC,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,WAAW,GAAG,IAAA,8CAAoB,EAAC;QACvC,GAAG,IAAI;QACP,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC;QACvB,IAAI,EAAE,SAAS;QAKf,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC,MAAO;QACnC,YAAY,EAAE,IAAA,wBAAS,EAAC,GAAG,CAAC;QAC5B,oBAAoB,EAAE,IAAA,wBAAS,EAAC,GAAG,CAAC;QACpC,KAAK,EAAE,CAAC;KACkB,CAAC,CAAA;IAE7B,OAAO,IAAA,8BAAY,EAAC,MAAM,EAAE;QAC1B,GAAG,EAAE,2BAAiB;QACtB,OAAO,EAAE,qBAAqB;QAC9B,YAAY,EAAE,cAAc;QAC5B,IAAI,EAAE,CAAC,WAAkB,CAAC;KAC3B,CAAC,CAAA;AACJ,CAAC"}

View File

@@ -0,0 +1,42 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.estimateOperatorFee = estimateOperatorFee;
const estimateGas_js_1 = require("../../actions/public/estimateGas.js");
const readContract_js_1 = require("../../actions/public/readContract.js");
const getChainContractAddress_js_1 = require("../../utils/chain/getChainContractAddress.js");
const abis_js_1 = require("../abis.js");
const contracts_js_1 = require("../contracts.js");
async function estimateOperatorFee(client, args) {
const { chain = client.chain, l1BlockAddress: l1BlockAddress_ } = args;
const l1BlockAddress = (() => {
if (l1BlockAddress_)
return l1BlockAddress_;
if (chain?.contracts?.l1Block)
return (0, getChainContractAddress_js_1.getChainContractAddress)({
chain,
contract: 'l1Block',
});
return contracts_js_1.contracts.l1Block.address;
})();
try {
const [operatorFeeScalar, operatorFeeConstant] = await Promise.all([
(0, readContract_js_1.readContract)(client, {
abi: abis_js_1.l1BlockAbi,
address: l1BlockAddress,
functionName: 'operatorFeeScalar',
}),
(0, readContract_js_1.readContract)(client, {
abi: abis_js_1.l1BlockAbi,
address: l1BlockAddress,
functionName: 'operatorFeeConstant',
}),
]);
const gasUsed = await (0, estimateGas_js_1.estimateGas)(client, args);
const scaledFee = (gasUsed * BigInt(operatorFeeScalar)) / 1000000n;
return scaledFee + BigInt(operatorFeeConstant);
}
catch {
return 0n;
}
}
//# sourceMappingURL=estimateOperatorFee.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"estimateOperatorFee.js","sourceRoot":"","sources":["../../../op-stack/actions/estimateOperatorFee.ts"],"names":[],"mappings":";;AAqEA,kDAiDC;AApHD,wEAI4C;AAC5C,0EAG6C;AAQ7C,6FAAsF;AAEtF,wCAAuC;AACvC,kDAA2C;AAgDpC,KAAK,UAAU,mBAAmB,CAKvC,MAA2C,EAC3C,IAAqE;IAErE,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,IAAI,CAAA;IAEtE,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE;QAC3B,IAAI,eAAe;YAAE,OAAO,eAAe,CAAA;QAC3C,IAAI,KAAK,EAAE,SAAS,EAAE,OAAO;YAC3B,OAAO,IAAA,oDAAuB,EAAC;gBAC7B,KAAK;gBACL,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAA;QACJ,OAAO,wBAAS,CAAC,OAAO,CAAC,OAAO,CAAA;IAClC,CAAC,CAAC,EAAE,CAAA;IAIJ,IAAI,CAAC;QAEH,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjE,IAAA,8BAAY,EAAC,MAAM,EAAE;gBACnB,GAAG,EAAE,oBAAU;gBACf,OAAO,EAAE,cAAc;gBACvB,YAAY,EAAE,mBAAmB;aAClC,CAAC;YACF,IAAA,8BAAY,EAAC,MAAM,EAAE;gBACnB,GAAG,EAAE,oBAAU;gBACf,OAAO,EAAE,cAAc;gBACvB,YAAY,EAAE,qBAAqB;aACpC,CAAC;SACH,CAAC,CAAA;QAGF,MAAM,OAAO,GAAG,MAAM,IAAA,4BAAW,EAAC,MAAM,EAAE,IAA6B,CAAC,CAAA;QAIxE,MAAM,SAAS,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,QAAU,CAAA;QACpE,OAAO,SAAS,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAChD,CAAC;IAAC,MAAM,CAAC;QAGP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC"}

View File

@@ -0,0 +1,29 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.estimateProveWithdrawalGas = estimateProveWithdrawalGas;
const estimateContractGas_js_1 = require("../../actions/public/estimateContractGas.js");
const abis_js_1 = require("../abis.js");
async function estimateProveWithdrawalGas(client, parameters) {
const { account, chain = client.chain, gas, l2OutputIndex, maxFeePerGas, maxPriorityFeePerGas, nonce, outputRootProof, targetChain, withdrawalProof, withdrawal, } = parameters;
const portalAddress = (() => {
if (parameters.portalAddress)
return parameters.portalAddress;
if (chain)
return targetChain.contracts.portal[chain.id].address;
return Object.values(targetChain.contracts.portal)[0].address;
})();
const params = {
account,
abi: abis_js_1.portalAbi,
address: portalAddress,
functionName: 'proveWithdrawalTransaction',
args: [withdrawal, l2OutputIndex, outputRootProof, withdrawalProof],
gas,
maxFeePerGas,
maxPriorityFeePerGas,
nonce,
chain,
};
return (0, estimateContractGas_js_1.estimateContractGas)(client, params);
}
//# sourceMappingURL=estimateProveWithdrawalGas.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"estimateProveWithdrawalGas.js","sourceRoot":"","sources":["../../../op-stack/actions/estimateProveWithdrawalGas.ts"],"names":[],"mappings":";;AA8FA,gEAmDC;AAhJD,wFAIoD;AAapD,wCAAsC;AA4E/B,KAAK,UAAU,0BAA0B,CAK9C,MAAyC,EACzC,UAIC;IAED,MAAM,EACJ,OAAO,EACP,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,EACH,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,eAAe,EACf,WAAW,EACX,eAAe,EACf,UAAU,GACX,GAAG,UAAU,CAAA;IAEd,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;QAC1B,IAAI,UAAU,CAAC,aAAa;YAAE,OAAO,UAAU,CAAC,aAAa,CAAA;QAC7D,IAAI,KAAK;YAAE,OAAO,WAAY,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAA;QACjE,OAAO,MAAM,CAAC,MAAM,CAAC,WAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAChE,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,MAAM,GAAG;QACb,OAAO;QACP,GAAG,EAAE,mBAAS;QACd,OAAO,EAAE,aAAa;QACtB,YAAY,EAAE,4BAA4B;QAC1C,IAAI,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,CAAC;QACnE,GAAG;QACH,YAAY;QACZ,oBAAoB;QACpB,KAAK;QAIL,KAAK;KAIN,CAAA;IACD,OAAO,IAAA,4CAAmB,EAAC,MAAM,EAAE,MAAa,CAAC,CAAA;AACnD,CAAC"}

View File

@@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.estimateTotalFee = estimateTotalFee;
const estimateGas_js_1 = require("../../actions/public/estimateGas.js");
const getGasPrice_js_1 = require("../../actions/public/getGasPrice.js");
const prepareTransactionRequest_js_1 = require("../../actions/wallet/prepareTransactionRequest.js");
const estimateL1Fee_js_1 = require("./estimateL1Fee.js");
const estimateOperatorFee_js_1 = require("./estimateOperatorFee.js");
async function estimateTotalFee(client, args) {
const request = await (0, prepareTransactionRequest_js_1.prepareTransactionRequest)(client, args);
const [l1Fee, operatorFee, l2Gas, l2GasPrice] = await Promise.all([
(0, estimateL1Fee_js_1.estimateL1Fee)(client, request),
(0, estimateOperatorFee_js_1.estimateOperatorFee)(client, request),
(0, estimateGas_js_1.estimateGas)(client, request),
(0, getGasPrice_js_1.getGasPrice)(client),
]);
return l1Fee + operatorFee + l2Gas * l2GasPrice;
}
//# sourceMappingURL=estimateTotalFee.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"estimateTotalFee.js","sourceRoot":"","sources":["../../../op-stack/actions/estimateTotalFee.ts"],"names":[],"mappings":";;AAuEA,4CAsBC;AA7FD,wEAI4C;AAC5C,wEAG4C;AAC5C,oGAI0D;AAO1D,yDAI2B;AAC3B,qEAIiC;AA0C1B,KAAK,UAAU,gBAAgB,CAKpC,MAAyC,EACzC,IAA+D;IAG/D,MAAM,OAAO,GAAG,MAAM,IAAA,wDAAyB,EAC7C,MAAM,EACN,IAA2C,CAC5C,CAAA;IAED,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChE,IAAA,gCAAa,EAAC,MAAM,EAAE,OAAkC,CAAC;QACzD,IAAA,4CAAmB,EAAC,MAAM,EAAE,OAAwC,CAAC;QACrE,IAAA,4BAAW,EAAC,MAAM,EAAE,OAAgC,CAAC;QACrD,IAAA,4BAAW,EAAC,MAAM,CAAC;KACpB,CAAC,CAAA;IAEF,OAAO,KAAK,GAAG,WAAW,GAAG,KAAK,GAAG,UAAU,CAAA;AACjD,CAAC"}

View File

@@ -0,0 +1,13 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.estimateTotalGas = estimateTotalGas;
const estimateGas_js_1 = require("../../actions/public/estimateGas.js");
const estimateL1Gas_js_1 = require("./estimateL1Gas.js");
async function estimateTotalGas(client, args) {
const [l1Gas, l2Gas] = await Promise.all([
(0, estimateL1Gas_js_1.estimateL1Gas)(client, args),
(0, estimateGas_js_1.estimateGas)(client, args),
]);
return l1Gas + l2Gas;
}
//# sourceMappingURL=estimateTotalGas.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"estimateTotalGas.js","sourceRoot":"","sources":["../../../op-stack/actions/estimateTotalGas.ts"],"names":[],"mappings":";;AAuDA,4CAcC;AArED,wEAI4C;AAQ5C,yDAI2B;AAuCpB,KAAK,UAAU,gBAAgB,CAKpC,MAAyC,EACzC,IAA+D;IAE/D,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvC,IAAA,gCAAa,EAAC,MAAM,EAAE,IAA+B,CAAC;QACtD,IAAA,4BAAW,EAAC,MAAM,EAAE,IAA6B,CAAC;KACnD,CAAC,CAAA;IAEF,OAAO,KAAK,GAAG,KAAK,CAAA;AACtB,CAAC"}

View File

@@ -0,0 +1,35 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.finalizeWithdrawal = finalizeWithdrawal;
const writeContract_js_1 = require("../../actions/wallet/writeContract.js");
const abis_js_1 = require("../abis.js");
async function finalizeWithdrawal(client, parameters) {
const { account, chain = client.chain, gas, maxFeePerGas, maxPriorityFeePerGas, nonce, proofSubmitter, targetChain, withdrawal, } = parameters;
const portalAddress = (() => {
if (parameters.portalAddress)
return parameters.portalAddress;
if (chain)
return targetChain.contracts.portal[chain.id].address;
return Object.values(targetChain.contracts.portal)[0].address;
})();
const [functionName, args, abi] = proofSubmitter
? [
'finalizeWithdrawalTransactionExternalProof',
[withdrawal, proofSubmitter],
abis_js_1.portal2Abi,
]
: ['finalizeWithdrawalTransaction', [withdrawal], abis_js_1.portalAbi];
return (0, writeContract_js_1.writeContract)(client, {
account: account,
abi,
address: portalAddress,
chain,
functionName,
args,
gas: gas ?? undefined,
maxFeePerGas,
maxPriorityFeePerGas,
nonce,
});
}
//# sourceMappingURL=finalizeWithdrawal.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"finalizeWithdrawal.js","sourceRoot":"","sources":["../../../op-stack/actions/finalizeWithdrawal.ts"],"names":[],"mappings":";;AAsFA,gDA8CC;AAnID,4EAI8C;AAa9C,wCAAkD;AAoE3C,KAAK,UAAU,kBAAkB,CAKtC,MAAyC,EACzC,UAAuE;IAEvE,MAAM,EACJ,OAAO,EACP,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,EACH,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,cAAc,EACd,WAAW,EACX,UAAU,GACX,GAAG,UAAU,CAAA;IAEd,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;QAC1B,IAAI,UAAU,CAAC,aAAa;YAAE,OAAO,UAAU,CAAC,aAAa,CAAA;QAC7D,IAAI,KAAK;YAAE,OAAO,WAAY,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAA;QACjE,OAAO,MAAM,CAAC,MAAM,CAAC,WAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAChE,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,cAAc;QAC9C,CAAC,CAAC;YACE,4CAA4C;YAC5C,CAAC,UAAU,EAAE,cAAc,CAAC;YAC5B,oBAAU;SACX;QACH,CAAC,CAAC,CAAC,+BAA+B,EAAE,CAAC,UAAU,CAAC,EAAE,mBAAS,CAAC,CAAA;IAE9D,OAAO,IAAA,gCAAa,EAAC,MAAM,EAAE;QAC3B,OAAO,EAAE,OAAQ;QACjB,GAAG;QACH,OAAO,EAAE,aAAa;QACtB,KAAK;QACL,YAAY;QACZ,IAAI;QACJ,GAAG,EAAE,GAAG,IAAI,SAAS;QACrB,YAAY;QACZ,oBAAoB;QACpB,KAAK;KACmC,CAAC,CAAA;AAC7C,CAAC"}

19
node_modules/viem/_cjs/op-stack/actions/getGame.js generated vendored Normal file
View File

@@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getGame = getGame;
const withdrawal_js_1 = require("../errors/withdrawal.js");
const getGames_js_1 = require("./getGames.js");
async function getGame(client, parameters) {
const { l2BlockNumber, strategy = 'latest' } = parameters;
const latestGames = await (0, getGames_js_1.getGames)(client, parameters);
const games = latestGames.filter((game) => game.l2BlockNumber > l2BlockNumber);
const game = (() => {
if (strategy === 'random')
return games[Math.floor(Math.random() * games.length)];
return games[0];
})();
if (!game)
throw new withdrawal_js_1.GameNotFoundError();
return game;
}
//# sourceMappingURL=getGame.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getGame.js","sourceRoot":"","sources":["../../../op-stack/actions/getGame.ts"],"names":[],"mappings":";;AA4EA,0BAsBC;AAzFD,2DAGgC;AAGhC,+CAAgE;AA6DzD,KAAK,UAAU,OAAO,CAK3B,MAAyC,EACzC,UAAmD;IAEnD,MAAM,EAAE,aAAa,EAAE,QAAQ,GAAG,QAAQ,EAAE,GAAG,UAAU,CAAA;IAEzD,MAAM,WAAW,GAAG,MAAM,IAAA,sBAAQ,EAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAEtD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,CAAA;IAE9E,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE;QACjB,IAAI,QAAQ,KAAK,QAAQ;YACvB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QACxD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,EAAE,CAAA;IAEJ,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,iCAAiB,EAAE,CAAA;IACxC,OAAO,IAAI,CAAA;AACb,CAAC"}

64
node_modules/viem/_cjs/op-stack/actions/getGames.js generated vendored Normal file
View File

@@ -0,0 +1,64 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getGames = getGames;
const multicall_js_1 = require("../../actions/public/multicall.js");
const readContract_js_1 = require("../../actions/public/readContract.js");
const abis_js_1 = require("../abis.js");
async function getGames(client, parameters) {
const { chain = client.chain, l2BlockNumber, limit = 100, targetChain, } = parameters;
const portalAddress = (() => {
if (parameters.portalAddress)
return parameters.portalAddress;
if (chain)
return targetChain.contracts.portal[chain.id].address;
return Object.values(targetChain.contracts.portal)[0].address;
})();
const disputeGameFactoryAddress = (() => {
if (parameters.disputeGameFactoryAddress)
return parameters.disputeGameFactoryAddress;
if (chain)
return targetChain.contracts.disputeGameFactory[chain.id].address;
return Object.values(targetChain.contracts.disputeGameFactory)[0].address;
})();
const [gameCount, gameType] = await Promise.all([
(0, readContract_js_1.readContract)(client, {
abi: abis_js_1.disputeGameFactoryAbi,
functionName: 'gameCount',
args: [],
address: disputeGameFactoryAddress,
}),
(0, readContract_js_1.readContract)(client, {
abi: abis_js_1.portal2Abi,
functionName: 'respectedGameType',
address: portalAddress,
}),
]);
const rawGames = (await (0, readContract_js_1.readContract)(client, {
abi: abis_js_1.disputeGameFactoryAbi,
functionName: 'findLatestGames',
address: disputeGameFactoryAddress,
args: [
gameType,
BigInt(Math.max(0, Number(gameCount - 1n))),
BigInt(Math.min(limit, Number(gameCount))),
],
}));
const l2SequenceNumbers = await (0, multicall_js_1.multicall)(client, {
allowFailure: false,
contracts: rawGames.map((game) => ({
abi: abis_js_1.disputeGameAbi,
address: `0x${game.metadata.slice(26)}`,
functionName: 'l2SequenceNumber',
})),
});
const games = rawGames
.map((game, i) => {
const blockNumber = l2SequenceNumbers[i];
return !l2BlockNumber || blockNumber > l2BlockNumber
? { ...game, l2BlockNumber: blockNumber }
: null;
})
.filter(Boolean);
return games;
}
//# sourceMappingURL=getGames.js.map

View File

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

View File

@@ -0,0 +1,26 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getL1BaseFee = getL1BaseFee;
const readContract_js_1 = require("../../actions/public/readContract.js");
const getChainContractAddress_js_1 = require("../../utils/chain/getChainContractAddress.js");
const abis_js_1 = require("../abis.js");
const contracts_js_1 = require("../contracts.js");
async function getL1BaseFee(client, args) {
const { chain = client.chain, gasPriceOracleAddress: gasPriceOracleAddress_, } = args || {};
const gasPriceOracleAddress = (() => {
if (gasPriceOracleAddress_)
return gasPriceOracleAddress_;
if (chain)
return (0, getChainContractAddress_js_1.getChainContractAddress)({
chain,
contract: 'gasPriceOracle',
});
return contracts_js_1.contracts.gasPriceOracle.address;
})();
return (0, readContract_js_1.readContract)(client, {
abi: abis_js_1.gasPriceOracleAbi,
address: gasPriceOracleAddress,
functionName: 'l1BaseFee',
});
}
//# sourceMappingURL=getL1BaseFee.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getL1BaseFee.js","sourceRoot":"","sources":["../../../op-stack/actions/getL1BaseFee.ts"],"names":[],"mappings":";;AAqDA,oCA2BC;AA9ED,0EAG6C;AAO7C,6FAAsF;AAGtF,wCAA8C;AAC9C,kDAA2C;AAqCpC,KAAK,UAAU,YAAY,CAIhC,MAAgC,EAChC,IAA+D;IAE/D,MAAM,EACJ,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,qBAAqB,EAAE,sBAAsB,GAC9C,GAAG,IAAI,IAAI,EAAE,CAAA;IAEd,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE;QAClC,IAAI,sBAAsB;YAAE,OAAO,sBAAsB,CAAA;QACzD,IAAI,KAAK;YACP,OAAO,IAAA,oDAAuB,EAAC;gBAC7B,KAAK;gBACL,QAAQ,EAAE,gBAAgB;aAC3B,CAAC,CAAA;QACJ,OAAO,wBAAS,CAAC,cAAc,CAAC,OAAO,CAAA;IACzC,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,IAAA,8BAAY,EAAC,MAAM,EAAE;QAC1B,GAAG,EAAE,2BAAiB;QACtB,OAAO,EAAE,qBAAqB;QAC9B,YAAY,EAAE,WAAW;KAC1B,CAAC,CAAA;AACJ,CAAC"}

41
node_modules/viem/_cjs/op-stack/actions/getL2Output.js generated vendored Normal file
View File

@@ -0,0 +1,41 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getL2Output = getL2Output;
const readContract_js_1 = require("../../actions/public/readContract.js");
const abis_js_1 = require("../abis.js");
const getGame_js_1 = require("./getGame.js");
const getPortalVersion_js_1 = require("./getPortalVersion.js");
async function getL2Output(client, parameters) {
const { chain = client.chain, l2BlockNumber, targetChain } = parameters;
const version = await (0, getPortalVersion_js_1.getPortalVersion)(client, parameters);
if (version.major >= 3) {
const game = await (0, getGame_js_1.getGame)(client, parameters);
return {
l2BlockNumber: game.l2BlockNumber,
outputIndex: game.index,
outputRoot: game.rootClaim,
timestamp: game.timestamp,
};
}
const l2OutputOracleAddress = (() => {
if (parameters.l2OutputOracleAddress)
return parameters.l2OutputOracleAddress;
if (chain)
return targetChain.contracts.l2OutputOracle[chain.id].address;
return Object.values(targetChain.contracts.l2OutputOracle)[0].address;
})();
const outputIndex = await (0, readContract_js_1.readContract)(client, {
address: l2OutputOracleAddress,
abi: abis_js_1.l2OutputOracleAbi,
functionName: 'getL2OutputIndexAfter',
args: [l2BlockNumber],
});
const output = await (0, readContract_js_1.readContract)(client, {
address: l2OutputOracleAddress,
abi: abis_js_1.l2OutputOracleAbi,
functionName: 'getL2Output',
args: [outputIndex],
});
return { outputIndex, ...output };
}
//# sourceMappingURL=getL2Output.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getL2Output.js","sourceRoot":"","sources":["../../../op-stack/actions/getL2Output.ts"],"names":[],"mappings":";;AA4EA,kCAqDC;AAjID,0EAG6C;AAY7C,wCAA8C;AAG9C,6CAA8D;AAC9D,+DAG8B;AAsDvB,KAAK,UAAU,WAAW,CAK/B,MAAyC,EACzC,UAAuD;IAEvD,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,UAAU,CAAA;IAEvE,MAAM,OAAO,GAAG,MAAM,IAAA,sCAAgB,EACpC,MAAM,EACN,UAAwC,CACzC,CAAA;IAED,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAO,EAAC,MAAM,EAAE,UAA+B,CAAC,CAAA;QACnE,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,WAAW,EAAE,IAAI,CAAC,KAAK;YACvB,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAA;IACH,CAAC;IAED,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE;QAClC,IAAI,UAAU,CAAC,qBAAqB;YAClC,OAAO,UAAU,CAAC,qBAAqB,CAAA;QACzC,IAAI,KAAK;YACP,OAAQ,WAAuC,CAAC,SAAS,CAAC,cAAc,CACtE,KAAK,CAAC,EAAE,CACT,CAAC,OAAO,CAAA;QACX,OACE,MAAM,CAAC,MAAM,CACV,WAAuC,CAAC,SAAS,CAAC,cAAc,CAEpE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IACd,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,WAAW,GAAG,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;QAC7C,OAAO,EAAE,qBAAqB;QAC9B,GAAG,EAAE,2BAAiB;QACtB,YAAY,EAAE,uBAAuB;QACrC,IAAI,EAAE,CAAC,aAAa,CAAC;KACtB,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;QACxC,OAAO,EAAE,qBAAqB;QAC9B,GAAG,EAAE,2BAAiB;QACtB,YAAY,EAAE,aAAa;QAC3B,IAAI,EAAE,CAAC,WAAW,CAAC;KACpB,CAAC,CAAA;IAEF,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,CAAA;AACnC,CAAC"}

View File

@@ -0,0 +1,24 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getPortalVersion = getPortalVersion;
const readContract_js_1 = require("../../actions/public/readContract.js");
const withCache_js_1 = require("../../utils/promise/withCache.js");
const abis_js_1 = require("../abis.js");
async function getPortalVersion(client, parameters) {
const { chain = client.chain, targetChain } = parameters;
const portalAddress = (() => {
if (parameters.portalAddress)
return parameters.portalAddress;
if (chain)
return targetChain.contracts.portal[chain.id].address;
return Object.values(targetChain.contracts.portal)[0].address;
})();
const version = await (0, withCache_js_1.withCache)(() => (0, readContract_js_1.readContract)(client, {
abi: abis_js_1.portal2Abi,
address: portalAddress,
functionName: 'version',
}), { cacheKey: ['portalVersion', portalAddress].join('.'), cacheTime: 300 });
const [major, minor, patch] = version.split('.').map(Number);
return { major, minor, patch };
}
//# sourceMappingURL=getPortalVersion.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getPortalVersion.js","sourceRoot":"","sources":["../../../op-stack/actions/getPortalVersion.ts"],"names":[],"mappings":";;AA0DA,4CA4BC;AAtFD,0EAG6C;AAS7C,mEAA4D;AAC5D,wCAAuC;AA6ChC,KAAK,UAAU,gBAAgB,CAIpC,MAAgC,EAChC,UAA4D;IAE5D,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,UAAU,CAAA;IAExD,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;QAC1B,IAAI,UAAU,CAAC,aAAa;YAAE,OAAO,UAAU,CAAC,aAAa,CAAA;QAC7D,IAAI,KAAK;YAAE,OAAO,WAAY,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAA;QACjE,OAAO,MAAM,CAAC,MAAM,CAAC,WAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAChE,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,OAAO,GAAG,MAAM,IAAA,wBAAS,EAC7B,GAAG,EAAE,CACH,IAAA,8BAAY,EAAC,MAAM,EAAE;QACnB,GAAG,EAAE,oBAAU;QACf,OAAO,EAAE,aAAa;QACtB,YAAY,EAAE,SAAS;KACxB,CAAC,EACJ,EAAE,QAAQ,EAAE,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CACzE,CAAA;IAED,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAE5D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;AAChC,CAAC"}

View File

@@ -0,0 +1,85 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getTimeToFinalize = getTimeToFinalize;
const multicall_js_1 = require("../../actions/public/multicall.js");
const readContract_js_1 = require("../../actions/public/readContract.js");
const base_js_1 = require("../../errors/base.js");
const abis_js_1 = require("../abis.js");
const getPortalVersion_js_1 = require("./getPortalVersion.js");
const buffer = 10;
async function getTimeToFinalize(client, parameters) {
const { chain = client.chain, withdrawalHash, targetChain } = parameters;
const portalAddress = (() => {
if (parameters.portalAddress)
return parameters.portalAddress;
if (chain)
return targetChain.contracts.portal[chain.id].address;
return Object.values(targetChain.contracts.portal)[0].address;
})();
const portalVersion = await (0, getPortalVersion_js_1.getPortalVersion)(client, { portalAddress });
if (portalVersion.major < 3) {
const l2OutputOracleAddress = (() => {
if (parameters.l2OutputOracleAddress)
return parameters.l2OutputOracleAddress;
if (chain)
return targetChain.contracts.l2OutputOracle[chain.id].address;
return Object.values(targetChain.contracts.l2OutputOracle)[0].address;
})();
const [[_outputRoot, proveTimestamp, _l2OutputIndex], period] = await (0, multicall_js_1.multicall)(client, {
allowFailure: false,
contracts: [
{
abi: abis_js_1.portalAbi,
address: portalAddress,
functionName: 'provenWithdrawals',
args: [withdrawalHash],
},
{
abi: abis_js_1.l2OutputOracleAbi,
address: l2OutputOracleAddress,
functionName: 'FINALIZATION_PERIOD_SECONDS',
},
],
});
const secondsSinceProven = Date.now() / 1000 - Number(proveTimestamp);
const secondsToFinalize = Number(period) - secondsSinceProven;
const seconds = Math.floor(secondsToFinalize < 0 ? 0 : secondsToFinalize + buffer);
const timestamp = Date.now() + seconds * 1000;
return { period: Number(period), seconds, timestamp };
}
const numProofSubmitters = await (0, readContract_js_1.readContract)(client, {
abi: abis_js_1.portal2Abi,
address: portalAddress,
functionName: 'numProofSubmitters',
args: [withdrawalHash],
}).catch(() => 1n);
const proofSubmitter = await (0, readContract_js_1.readContract)(client, {
abi: abis_js_1.portal2Abi,
address: portalAddress,
functionName: 'proofSubmitters',
args: [withdrawalHash, numProofSubmitters - 1n],
}).catch(() => undefined);
const [[_disputeGameProxy, proveTimestamp], proofMaturityDelaySeconds] = await Promise.all([
proofSubmitter
? (0, readContract_js_1.readContract)(client, {
abi: abis_js_1.portal2Abi,
address: portalAddress,
functionName: 'provenWithdrawals',
args: [withdrawalHash, proofSubmitter],
})
: Promise.resolve(['0x', 0n]),
(0, readContract_js_1.readContract)(client, {
abi: abis_js_1.portal2Abi,
address: portalAddress,
functionName: 'proofMaturityDelaySeconds',
}),
]);
if (proveTimestamp === 0n)
throw new base_js_1.BaseError('Withdrawal has not been proven on L1.');
const secondsSinceProven = Date.now() / 1000 - Number(proveTimestamp);
const secondsToFinalize = Number(proofMaturityDelaySeconds) - secondsSinceProven;
const seconds = Math.floor(secondsToFinalize < 0n ? 0 : secondsToFinalize + buffer);
const timestamp = Date.now() + seconds * 1000;
return { period: Number(proofMaturityDelaySeconds), seconds, timestamp };
}
//# sourceMappingURL=getTimeToFinalize.js.map

View File

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

View File

@@ -0,0 +1,53 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getTimeToNextGame = getTimeToNextGame;
const getGames_js_1 = require("./getGames.js");
async function getTimeToNextGame(client, parameters) {
const { intervalBuffer = 1.1, l2BlockNumber } = parameters;
const games = await (0, getGames_js_1.getGames)(client, {
...parameters,
l2BlockNumber: undefined,
limit: 10,
});
if (games.length === 0) {
return { interval: 0, seconds: 0, timestamp: undefined };
}
const deltas = games
.map(({ l2BlockNumber, timestamp }, index) => {
return index === games.length - 1
? null
: [
games[index + 1].timestamp - timestamp,
games[index + 1].l2BlockNumber - l2BlockNumber,
];
})
.filter(Boolean);
const interval = deltas.length > 0
? Math.ceil(deltas.reduce((a, [b]) => Number(a) - Number(b), 0) / deltas.length)
: 0;
const blockInterval = deltas.length > 0
? Math.ceil(deltas.reduce((a, [_, b]) => Number(a) - Number(b), 0) / deltas.length)
: 0;
const latestGame = games[0];
const latestGameTimestamp = Number(latestGame.timestamp) * 1000;
const intervalWithBuffer = Math.ceil(interval * intervalBuffer);
const now = Date.now();
const seconds = (() => {
if (now < latestGameTimestamp)
return 0;
if (latestGame.l2BlockNumber > l2BlockNumber)
return 0;
if (intervalWithBuffer === 0)
return 0;
const elapsedBlocks = Number(l2BlockNumber - latestGame.l2BlockNumber);
const elapsed = Math.ceil((now - latestGameTimestamp) / 1000);
const secondsToNextOutput = intervalWithBuffer - (elapsed % intervalWithBuffer);
return elapsedBlocks < blockInterval
? secondsToNextOutput
: Math.floor(elapsedBlocks / Number(blockInterval)) * intervalWithBuffer +
secondsToNextOutput;
})();
const timestamp = seconds > 0 ? now + seconds * 1000 : undefined;
return { interval, seconds, timestamp };
}
//# sourceMappingURL=getTimeToNextGame.js.map

View File

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

View File

@@ -0,0 +1,62 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getTimeToNextL2Output = getTimeToNextL2Output;
const multicall_js_1 = require("../../actions/public/multicall.js");
const readContract_js_1 = require("../../actions/public/readContract.js");
const abis_js_1 = require("../abis.js");
async function getTimeToNextL2Output(client, parameters) {
const { intervalBuffer = 1.1, chain = client.chain, l2BlockNumber, targetChain, } = parameters;
const l2OutputOracleAddress = (() => {
if (parameters.l2OutputOracleAddress)
return parameters.l2OutputOracleAddress;
if (chain)
return targetChain.contracts.l2OutputOracle[chain.id].address;
return Object.values(targetChain.contracts.l2OutputOracle)[0].address;
})();
const [latestOutputIndex, blockTime, blockInterval] = await (0, multicall_js_1.multicall)(client, {
allowFailure: false,
contracts: [
{
abi: abis_js_1.l2OutputOracleAbi,
address: l2OutputOracleAddress,
functionName: 'latestOutputIndex',
},
{
abi: abis_js_1.l2OutputOracleAbi,
address: l2OutputOracleAddress,
functionName: 'L2_BLOCK_TIME',
},
{
abi: abis_js_1.l2OutputOracleAbi,
address: l2OutputOracleAddress,
functionName: 'SUBMISSION_INTERVAL',
},
],
});
const latestOutput = await (0, readContract_js_1.readContract)(client, {
abi: abis_js_1.l2OutputOracleAbi,
address: l2OutputOracleAddress,
functionName: 'getL2Output',
args: [latestOutputIndex],
});
const latestOutputTimestamp = Number(latestOutput.timestamp) * 1000;
const interval = Number(blockInterval * blockTime);
const intervalWithBuffer = Math.ceil(interval * intervalBuffer);
const now = Date.now();
const seconds = (() => {
if (now < latestOutputTimestamp)
return 0;
if (latestOutput.l2BlockNumber > l2BlockNumber)
return 0;
const elapsedBlocks = Number(l2BlockNumber - latestOutput.l2BlockNumber);
const elapsed = Math.ceil((now - latestOutputTimestamp) / 1000);
const secondsToNextOutput = intervalWithBuffer - (elapsed % intervalWithBuffer);
return elapsedBlocks < blockInterval
? secondsToNextOutput
: Math.floor(elapsedBlocks / Number(blockInterval)) * intervalWithBuffer +
secondsToNextOutput;
})();
const timestamp = seconds > 0 ? now + seconds * 1000 : undefined;
return { interval, seconds, timestamp };
}
//# sourceMappingURL=getTimeToNextL2Output.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getTimeToNextL2Output.js","sourceRoot":"","sources":["../../../op-stack/actions/getTimeToNextL2Output.ts"],"names":[],"mappings":";;AAgFA,sDAiFC;AAjKD,oEAG0C;AAC1C,0EAG6C;AAU7C,wCAA8C;AA+DvC,KAAK,UAAU,qBAAqB,CAKzC,MAAyC,EACzC,UAAiE;IAEjE,MAAM,EACJ,cAAc,GAAG,GAAG,EACpB,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,aAAa,EACb,WAAW,GACZ,GAAG,UAAU,CAAA;IAEd,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE;QAClC,IAAI,UAAU,CAAC,qBAAqB;YAClC,OAAO,UAAU,CAAC,qBAAqB,CAAA;QACzC,IAAI,KAAK;YAAE,OAAO,WAAY,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAA;QACzE,OAAO,MAAM,CAAC,MAAM,CAAC,WAAY,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IACxE,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,CAAC,iBAAiB,EAAE,SAAS,EAAE,aAAa,CAAC,GAAG,MAAM,IAAA,wBAAS,EACnE,MAAM,EACN;QACE,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE;YACT;gBACE,GAAG,EAAE,2BAAiB;gBACtB,OAAO,EAAE,qBAAqB;gBAC9B,YAAY,EAAE,mBAAmB;aAClC;YACD;gBACE,GAAG,EAAE,2BAAiB;gBACtB,OAAO,EAAE,qBAAqB;gBAC9B,YAAY,EAAE,eAAe;aAC9B;YACD;gBACE,GAAG,EAAE,2BAAiB;gBACtB,OAAO,EAAE,qBAAqB;gBAC9B,YAAY,EAAE,qBAAqB;aACpC;SACF;KACF,CACF,CAAA;IACD,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;QAC9C,GAAG,EAAE,2BAAiB;QACtB,OAAO,EAAE,qBAAqB;QAC9B,YAAY,EAAE,aAAa;QAC3B,IAAI,EAAE,CAAC,iBAAiB,CAAC;KAC1B,CAAC,CAAA;IACF,MAAM,qBAAqB,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IAEnE,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,GAAG,SAAS,CAAC,CAAA;IAClD,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAA;IAE/D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAEtB,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;QAGpB,IAAI,GAAG,GAAG,qBAAqB;YAAE,OAAO,CAAC,CAAA;QAIzC,IAAI,YAAY,CAAC,aAAa,GAAG,aAAa;YAAE,OAAO,CAAC,CAAA;QAExD,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;QAExE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,qBAAqB,CAAC,GAAG,IAAI,CAAC,CAAA;QAC/D,MAAM,mBAAmB,GACvB,kBAAkB,GAAG,CAAC,OAAO,GAAG,kBAAkB,CAAC,CAAA;QACrD,OAAO,aAAa,GAAG,aAAa;YAClC,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,kBAAkB;gBACpE,mBAAmB,CAAA;IAC3B,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAEhE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;AACzC,CAAC"}

View File

@@ -0,0 +1,20 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getTimeToProve = getTimeToProve;
const getPortalVersion_js_1 = require("./getPortalVersion.js");
const getTimeToNextGame_js_1 = require("./getTimeToNextGame.js");
const getTimeToNextL2Output_js_1 = require("./getTimeToNextL2Output.js");
async function getTimeToProve(client, parameters) {
const { receipt } = parameters;
const portalVersion = await (0, getPortalVersion_js_1.getPortalVersion)(client, parameters);
if (portalVersion.major < 3)
return (0, getTimeToNextL2Output_js_1.getTimeToNextL2Output)(client, {
...parameters,
l2BlockNumber: receipt.blockNumber,
});
return (0, getTimeToNextGame_js_1.getTimeToNextGame)(client, {
...parameters,
l2BlockNumber: receipt.blockNumber,
});
}
//# sourceMappingURL=getTimeToProve.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getTimeToProve.js","sourceRoot":"","sources":["../../../op-stack/actions/getTimeToProve.ts"],"names":[],"mappings":";;AA4FA,wCA0BC;AA1GD,+DAI8B;AAC9B,iEAK+B;AAC/B,yEAKmC;AAgE5B,KAAK,UAAU,cAAc,CAKlC,MAAyC,EACzC,UAA0D;IAE1D,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAE9B,MAAM,aAAa,GAAG,MAAM,IAAA,sCAAgB,EAC1C,MAAM,EACN,UAAwC,CACzC,CAAA;IAGD,IAAI,aAAa,CAAC,KAAK,GAAG,CAAC;QACzB,OAAO,IAAA,gDAAqB,EAAC,MAAM,EAAE;YACnC,GAAG,UAAU;YACb,aAAa,EAAE,OAAO,CAAC,WAAW;SACA,CAAC,CAAA;IAEvC,OAAO,IAAA,wCAAiB,EAAC,MAAM,EAAE;QAC/B,GAAG,UAAU;QACb,aAAa,EAAE,OAAO,CAAC,WAAW;KACJ,CAAC,CAAA;AACnC,CAAC"}

View File

@@ -0,0 +1,216 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getWithdrawalStatus = getWithdrawalStatus;
const readContract_js_1 = require("../../actions/public/readContract.js");
const contract_js_1 = require("../../errors/contract.js");
const abis_js_1 = require("../abis.js");
const withdrawal_js_1 = require("../errors/withdrawal.js");
const getWithdrawals_js_1 = require("../utils/getWithdrawals.js");
const getGame_js_1 = require("./getGame.js");
const getL2Output_js_1 = require("./getL2Output.js");
const getPortalVersion_js_1 = require("./getPortalVersion.js");
const getTimeToFinalize_js_1 = require("./getTimeToFinalize.js");
async function getWithdrawalStatus(client, parameters) {
const { chain = client.chain, gameLimit = 100, receipt, targetChain: targetChain_, logIndex = 0, } = parameters;
const targetChain = targetChain_;
const portalAddress = (() => {
if (parameters.portalAddress)
return parameters.portalAddress;
if (chain)
return targetChain.contracts.portal[chain.id].address;
return Object.values(targetChain.contracts.portal)[0].address;
})();
const l2BlockNumber = receipt?.blockNumber ?? parameters.l2BlockNumber;
const withdrawal = (() => {
if (receipt) {
const withdrawal = (0, getWithdrawals_js_1.getWithdrawals)({ logs: receipt.logs })[logIndex];
if (!withdrawal)
throw new withdrawal_js_1.ReceiptContainsNoWithdrawalsError({
hash: receipt.transactionHash,
});
return withdrawal;
}
return {
sender: parameters.sender,
withdrawalHash: parameters.withdrawalHash,
};
})();
const portalVersion = await (0, getPortalVersion_js_1.getPortalVersion)(client, parameters);
if (portalVersion.major < 3) {
const [outputResult, proveResult, finalizedResult, timeToFinalizeResult] = await Promise.allSettled([
(0, getL2Output_js_1.getL2Output)(client, {
...parameters,
l2BlockNumber,
}),
(0, readContract_js_1.readContract)(client, {
abi: abis_js_1.portalAbi,
address: portalAddress,
functionName: 'provenWithdrawals',
args: [withdrawal.withdrawalHash],
}),
(0, readContract_js_1.readContract)(client, {
abi: abis_js_1.portalAbi,
address: portalAddress,
functionName: 'finalizedWithdrawals',
args: [withdrawal.withdrawalHash],
}),
(0, getTimeToFinalize_js_1.getTimeToFinalize)(client, {
...parameters,
withdrawalHash: withdrawal.withdrawalHash,
}),
]);
if (outputResult.status === 'rejected') {
const error = outputResult.reason;
if (error.cause instanceof contract_js_1.ContractFunctionRevertedError &&
error.cause.data?.args?.[0] ===
'L2OutputOracle: cannot get output for a block that has not been proposed')
return 'waiting-to-prove';
throw error;
}
if (proveResult.status === 'rejected')
throw proveResult.reason;
if (finalizedResult.status === 'rejected')
throw finalizedResult.reason;
if (timeToFinalizeResult.status === 'rejected')
throw timeToFinalizeResult.reason;
const [_, proveTimestamp] = proveResult.value;
if (!proveTimestamp)
return 'ready-to-prove';
const finalized = finalizedResult.value;
if (finalized)
return 'finalized';
const { seconds } = timeToFinalizeResult.value;
return seconds > 0 ? 'waiting-to-finalize' : 'ready-to-finalize';
}
const numProofSubmitters = await (0, readContract_js_1.readContract)(client, {
abi: abis_js_1.portal2Abi,
address: portalAddress,
functionName: 'numProofSubmitters',
args: [withdrawal.withdrawalHash],
}).catch(() => 1n);
const proofSubmitter = await (0, readContract_js_1.readContract)(client, {
abi: abis_js_1.portal2Abi,
address: portalAddress,
functionName: 'proofSubmitters',
args: [withdrawal.withdrawalHash, numProofSubmitters - 1n],
}).catch(() => withdrawal.sender);
const [disputeGameResult, provenWithdrawalsResult, checkWithdrawalResult, finalizedResult,] = await Promise.allSettled([
(0, getGame_js_1.getGame)(client, {
...parameters,
l2BlockNumber,
limit: gameLimit,
}),
(0, readContract_js_1.readContract)(client, {
abi: abis_js_1.portal2Abi,
address: portalAddress,
functionName: 'provenWithdrawals',
args: [withdrawal.withdrawalHash, proofSubmitter],
}),
(0, readContract_js_1.readContract)(client, {
abi: abis_js_1.portal2Abi,
address: portalAddress,
functionName: 'checkWithdrawal',
args: [withdrawal.withdrawalHash, proofSubmitter],
}),
(0, readContract_js_1.readContract)(client, {
abi: abis_js_1.portal2Abi,
address: portalAddress,
functionName: 'finalizedWithdrawals',
args: [withdrawal.withdrawalHash],
}),
]);
if (finalizedResult.status === 'fulfilled' && finalizedResult.value)
return 'finalized';
if (provenWithdrawalsResult.status === 'rejected')
throw provenWithdrawalsResult.reason;
if (disputeGameResult.status === 'rejected') {
const error = disputeGameResult.reason;
if (error.name === 'GameNotFoundError')
return 'waiting-to-prove';
throw disputeGameResult.reason;
}
if (checkWithdrawalResult.status === 'rejected') {
const error = checkWithdrawalResult.reason;
if (error.cause instanceof contract_js_1.ContractFunctionRevertedError) {
const errorCauses = {
'ready-to-prove': [
'OptimismPortal: invalid game type',
'OptimismPortal: withdrawal has not been proven yet',
'OptimismPortal: withdrawal has not been proven by proof submitter address yet',
'OptimismPortal: dispute game created before respected game type was updated',
'InvalidGameType',
'LegacyGame',
'Unproven',
'OptimismPortal_Unproven',
'OptimismPortal_InvalidProofTimestamp',
],
'waiting-to-finalize': [
'OptimismPortal: proven withdrawal has not matured yet',
'OptimismPortal: output proposal has not been finalized yet',
'OptimismPortal: output proposal in air-gap',
],
};
const errors = [
error.cause.data?.errorName,
error.cause.data?.args?.[0],
];
if (errors.includes('OptimismPortal_InvalidRootClaim') ||
errors.includes('OptimismPortal_ProofNotOldEnough')) {
const disputeGameAddress = provenWithdrawalsResult.value[0];
const anchorStateRegistry = await (0, readContract_js_1.readContract)(client, {
abi: abis_js_1.portal2Abi,
address: portalAddress,
functionName: 'anchorStateRegistry',
});
const [isGameProperResult, isGameRespectedResult, isGameFinalizedResult,] = await Promise.allSettled([
(0, readContract_js_1.readContract)(client, {
abi: abis_js_1.anchorStateRegistryAbi,
address: anchorStateRegistry,
functionName: 'isGameProper',
args: [disputeGameAddress],
}),
(0, readContract_js_1.readContract)(client, {
abi: abis_js_1.anchorStateRegistryAbi,
address: anchorStateRegistry,
functionName: 'isGameRespected',
args: [disputeGameAddress],
}),
(0, readContract_js_1.readContract)(client, {
abi: abis_js_1.anchorStateRegistryAbi,
address: anchorStateRegistry,
functionName: 'isGameFinalized',
args: [disputeGameAddress],
}),
]);
if (isGameProperResult.status === 'rejected')
throw isGameProperResult.reason;
if (isGameRespectedResult.status === 'rejected')
throw isGameRespectedResult.reason;
if (isGameFinalizedResult.status === 'rejected')
throw isGameFinalizedResult.reason;
if (!isGameProperResult.value) {
return 'ready-to-prove';
}
if (!isGameRespectedResult.value) {
return 'ready-to-prove';
}
if (!isGameFinalizedResult.value) {
return 'waiting-to-finalize';
}
if (errors.includes('OptimismPortal_ProofNotOldEnough')) {
return 'waiting-to-finalize';
}
return 'ready-to-prove';
}
if (errorCauses['ready-to-prove'].some((cause) => errors.includes(cause)))
return 'ready-to-prove';
if (errorCauses['waiting-to-finalize'].some((cause) => errors.includes(cause)))
return 'waiting-to-finalize';
}
throw checkWithdrawalResult.reason;
}
if (finalizedResult.status === 'rejected')
throw finalizedResult.reason;
return 'ready-to-finalize';
}
//# sourceMappingURL=getWithdrawalStatus.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,23 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.initiateWithdrawal = initiateWithdrawal;
const writeContract_js_1 = require("../../actions/wallet/writeContract.js");
const abis_js_1 = require("../abis.js");
const contracts_js_1 = require("../contracts.js");
async function initiateWithdrawal(client, parameters) {
const { account, chain = client.chain, gas, maxFeePerGas, maxPriorityFeePerGas, nonce, request: { data = '0x', gas: l1Gas, to, value }, } = parameters;
return (0, writeContract_js_1.writeContract)(client, {
account: account,
abi: abis_js_1.l2ToL1MessagePasserAbi,
address: contracts_js_1.contracts.l2ToL1MessagePasser.address,
chain,
functionName: 'initiateWithdrawal',
args: [to, l1Gas, data],
gas: gas ?? undefined,
maxFeePerGas,
maxPriorityFeePerGas,
nonce,
value,
});
}
//# sourceMappingURL=initiateWithdrawal.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"initiateWithdrawal.js","sourceRoot":"","sources":["../../../op-stack/actions/initiateWithdrawal.ts"],"names":[],"mappings":";;AA6GA,gDA+BC;AA3ID,4EAI8C;AAa9C,wCAAmD;AACnD,kDAA2C;AA0FpC,KAAK,UAAU,kBAAkB,CAKtC,MAAyC,EACzC,UAAuE;IAEvE,MAAM,EACJ,OAAO,EACP,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,EACH,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,OAAO,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,GAChD,GAAG,UAAU,CAAA;IAEd,OAAO,IAAA,gCAAa,EAAC,MAAM,EAAE;QAC3B,OAAO,EAAE,OAAQ;QACjB,GAAG,EAAE,gCAAsB;QAC3B,OAAO,EAAE,wBAAS,CAAC,mBAAmB,CAAC,OAAO;QAC9C,KAAK;QACL,YAAY,EAAE,oBAAoB;QAClC,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC;QACvB,GAAG,EAAE,GAAG,IAAI,SAAS;QACrB,YAAY;QACZ,oBAAoB;QACpB,KAAK;QACL,KAAK;KACmC,CAAC,CAAA;AAC7C,CAAC"}

View File

@@ -0,0 +1,28 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.proveWithdrawal = proveWithdrawal;
const writeContract_js_1 = require("../../actions/wallet/writeContract.js");
const abis_js_1 = require("../abis.js");
async function proveWithdrawal(client, parameters) {
const { account, chain = client.chain, gas, l2OutputIndex, maxFeePerGas, maxPriorityFeePerGas, nonce, outputRootProof, targetChain, withdrawalProof, withdrawal, } = parameters;
const portalAddress = (() => {
if (parameters.portalAddress)
return parameters.portalAddress;
if (chain)
return targetChain.contracts.portal[chain.id].address;
return Object.values(targetChain.contracts.portal)[0].address;
})();
return (0, writeContract_js_1.writeContract)(client, {
account: account,
abi: abis_js_1.portal2Abi,
address: portalAddress,
chain,
functionName: 'proveWithdrawalTransaction',
args: [withdrawal, l2OutputIndex, outputRootProof, withdrawalProof],
gas: gas ?? undefined,
maxFeePerGas,
maxPriorityFeePerGas,
nonce,
});
}
//# sourceMappingURL=proveWithdrawal.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"proveWithdrawal.js","sourceRoot":"","sources":["../../../op-stack/actions/proveWithdrawal.ts"],"names":[],"mappings":";;AAqGA,0CAwCC;AA5ID,4EAI8C;AAa9C,wCAAuC;AAmFhC,KAAK,UAAU,eAAe,CAKnC,MAAyC,EACzC,UAAoE;IAEpE,MAAM,EACJ,OAAO,EACP,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,EACH,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,eAAe,EACf,WAAW,EACX,eAAe,EACf,UAAU,GACX,GAAG,UAAU,CAAA;IAEd,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;QAC1B,IAAI,UAAU,CAAC,aAAa;YAAE,OAAO,UAAU,CAAC,aAAa,CAAA;QAC7D,IAAI,KAAK;YAAE,OAAO,WAAY,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAA;QACjE,OAAO,MAAM,CAAC,MAAM,CAAC,WAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAChE,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,IAAA,gCAAa,EAAC,MAAM,EAAE;QAC3B,OAAO,EAAE,OAAQ;QACjB,GAAG,EAAE,oBAAU;QACf,OAAO,EAAE,aAAa;QACtB,KAAK;QACL,YAAY,EAAE,4BAA4B;QAC1C,IAAI,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,CAAC;QACnE,GAAG,EAAE,GAAG,IAAI,SAAS;QACrB,YAAY;QACZ,oBAAoB;QACpB,KAAK;KACmC,CAAC,CAAA;AAC7C,CAAC"}

View File

@@ -0,0 +1,34 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.waitForNextGame = waitForNextGame;
const poll_js_1 = require("../../utils/poll.js");
const withdrawal_js_1 = require("../errors/withdrawal.js");
const getGame_js_1 = require("./getGame.js");
const getTimeToNextGame_js_1 = require("./getTimeToNextGame.js");
async function waitForNextGame(client, parameters) {
const { pollingInterval = client.pollingInterval } = parameters;
const { seconds } = await (0, getTimeToNextGame_js_1.getTimeToNextGame)(client, parameters);
return new Promise((resolve, reject) => {
(0, poll_js_1.poll)(async ({ unpoll }) => {
try {
const game = await (0, getGame_js_1.getGame)(client, {
...parameters,
strategy: 'random',
});
unpoll();
resolve(game);
}
catch (e) {
const error = e;
if (!(error instanceof withdrawal_js_1.GameNotFoundError)) {
unpoll();
reject(e);
}
}
}, {
interval: pollingInterval,
initialWaitTime: async () => seconds * 1000,
});
});
}
//# sourceMappingURL=waitForNextGame.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"waitForNextGame.js","sourceRoot":"","sources":["../../../op-stack/actions/waitForNextGame.ts"],"names":[],"mappings":";;AAqFA,0CAoCC;AAhHD,iDAA0C;AAC1C,2DAA2D;AAE3D,6CAIqB;AACrB,iEAI+B;AAgExB,KAAK,UAAU,eAAe,CAKnC,MAAyC,EACzC,UAA2D;IAE3D,MAAM,EAAE,eAAe,GAAG,MAAM,CAAC,eAAe,EAAE,GAAG,UAAU,CAAA;IAE/D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,wCAAiB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAE/D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,cAAI,EACF,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACnB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAO,EAAC,MAAM,EAAE;oBACjC,GAAG,UAAU;oBACb,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAA;gBACF,MAAM,EAAE,CAAA;gBACR,OAAO,CAAC,IAAI,CAAC,CAAA;YACf,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,CAAqB,CAAA;gBACnC,IAAI,CAAC,CAAC,KAAK,YAAY,iCAAiB,CAAC,EAAE,CAAC;oBAC1C,MAAM,EAAE,CAAA;oBACR,MAAM,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC;YACH,CAAC;QACH,CAAC,EACD;YACE,QAAQ,EAAE,eAAe;YACzB,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,GAAG,IAAI;SAC5C,CACF,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}

View File

@@ -0,0 +1,31 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.waitForNextL2Output = waitForNextL2Output;
const contract_js_1 = require("../../errors/contract.js");
const poll_js_1 = require("../../utils/poll.js");
const getL2Output_js_1 = require("./getL2Output.js");
const getTimeToNextL2Output_js_1 = require("./getTimeToNextL2Output.js");
async function waitForNextL2Output(client, parameters) {
const { pollingInterval = client.pollingInterval } = parameters;
const { seconds } = await (0, getTimeToNextL2Output_js_1.getTimeToNextL2Output)(client, parameters);
return new Promise((resolve, reject) => {
(0, poll_js_1.poll)(async ({ unpoll }) => {
try {
const output = await (0, getL2Output_js_1.getL2Output)(client, parameters);
unpoll();
resolve(output);
}
catch (e) {
const error = e;
if (!(error.cause instanceof contract_js_1.ContractFunctionRevertedError)) {
unpoll();
reject(e);
}
}
}, {
interval: pollingInterval,
initialWaitTime: async () => seconds * 1000,
});
});
}
//# sourceMappingURL=waitForNextL2Output.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"waitForNextL2Output.js","sourceRoot":"","sources":["../../../op-stack/actions/waitForNextL2Output.ts"],"names":[],"mappings":";;AAgFA,kDAoCC;AAlHD,0DAAwE;AAQxE,iDAA0C;AAE1C,qDAKyB;AACzB,yEAImC;AA0D5B,KAAK,UAAU,mBAAmB,CAKvC,MAAyC,EACzC,UAA+D;IAE/D,MAAM,EAAE,eAAe,GAAG,MAAM,CAAC,eAAe,EAAE,GAAG,UAAU,CAAA;IAE/D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,gDAAqB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAEnE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,cAAI,EACF,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACnB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAW,EAC9B,MAAM,EACN,UAAmC,CACpC,CAAA;gBACD,MAAM,EAAE,CAAA;gBACR,OAAO,CAAC,MAAM,CAAC,CAAA;YACjB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,CAAyB,CAAA;gBACvC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,YAAY,2CAA6B,CAAC,EAAE,CAAC;oBAC5D,MAAM,EAAE,CAAA;oBACR,MAAM,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC;YACH,CAAC;QACH,CAAC,EACD;YACE,QAAQ,EAAE,eAAe;YACzB,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,GAAG,IAAI;SAC5C,CACF,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}

View File

@@ -0,0 +1,10 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.waitToFinalize = waitToFinalize;
const wait_js_1 = require("../../utils/wait.js");
const getTimeToFinalize_js_1 = require("./getTimeToFinalize.js");
async function waitToFinalize(client, parameters) {
const { seconds } = await (0, getTimeToFinalize_js_1.getTimeToFinalize)(client, parameters);
await (0, wait_js_1.wait)(seconds * 1000);
}
//# sourceMappingURL=waitToFinalize.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"waitToFinalize.js","sourceRoot":"","sources":["../../../op-stack/actions/waitToFinalize.ts"],"names":[],"mappings":";;AAqDA,wCAUC;AA1DD,iDAA0C;AAC1C,iEAI+B;AA2CxB,KAAK,UAAU,cAAc,CAKlC,MAAyC,EACzC,UAA0D;IAE1D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,wCAAiB,EAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC/D,MAAM,IAAA,cAAI,EAAC,OAAO,GAAG,IAAI,CAAC,CAAA;AAC5B,CAAC"}

51
node_modules/viem/_cjs/op-stack/actions/waitToProve.js generated vendored Normal file
View File

@@ -0,0 +1,51 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.waitToProve = waitToProve;
const withdrawal_js_1 = require("../errors/withdrawal.js");
const getWithdrawals_js_1 = require("../utils/getWithdrawals.js");
const getPortalVersion_js_1 = require("./getPortalVersion.js");
const waitForNextGame_js_1 = require("./waitForNextGame.js");
const waitForNextL2Output_js_1 = require("./waitForNextL2Output.js");
async function waitToProve(client, parameters) {
const { gameLimit, receipt } = parameters;
const [withdrawal] = (0, getWithdrawals_js_1.getWithdrawals)(receipt);
if (!withdrawal)
throw new withdrawal_js_1.ReceiptContainsNoWithdrawalsError({
hash: receipt.transactionHash,
});
const portalVersion = await (0, getPortalVersion_js_1.getPortalVersion)(client, parameters);
if (portalVersion.major < 3) {
const output = await (0, waitForNextL2Output_js_1.waitForNextL2Output)(client, {
...parameters,
l2BlockNumber: receipt.blockNumber,
});
return {
game: {
extraData: '0x',
index: output.outputIndex,
l2BlockNumber: output.l2BlockNumber,
metadata: '0x',
rootClaim: output.outputRoot,
timestamp: output.timestamp,
},
output,
withdrawal,
};
}
const game = await (0, waitForNextGame_js_1.waitForNextGame)(client, {
...parameters,
limit: gameLimit,
l2BlockNumber: receipt.blockNumber,
});
return {
game,
output: {
l2BlockNumber: game.l2BlockNumber,
outputIndex: game.index,
outputRoot: game.rootClaim,
timestamp: game.timestamp,
},
withdrawal,
};
}
//# sourceMappingURL=waitToProve.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"waitToProve.js","sourceRoot":"","sources":["../../../op-stack/actions/waitToProve.ts"],"names":[],"mappings":";;AAmGA,kCAyDC;AAjJD,2DAA2E;AAG3E,kEAGmC;AACnC,+DAG8B;AAC9B,6DAI6B;AAC7B,qEAKiC;AAmE1B,KAAK,UAAU,WAAW,CAK/B,MAAyC,EACzC,UAAuD;IAEvD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAEzC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAA,kCAAc,EAAC,OAAO,CAAC,CAAA;IAE5C,IAAI,CAAC,UAAU;QACb,MAAM,IAAI,iDAAiC,CAAC;YAC1C,IAAI,EAAE,OAAO,CAAC,eAAe;SAC9B,CAAC,CAAA;IAEJ,MAAM,aAAa,GAAG,MAAM,IAAA,sCAAgB,EAC1C,MAAM,EACN,UAAwC,CACzC,CAAA;IAGD,IAAI,aAAa,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,IAAA,4CAAmB,EAAC,MAAM,EAAE;YAC/C,GAAG,UAAU;YACb,aAAa,EAAE,OAAO,CAAC,WAAW;SACF,CAAC,CAAA;QACnC,OAAO;YACL,IAAI,EAAE;gBACJ,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE,MAAM,CAAC,WAAW;gBACzB,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,MAAM,CAAC,UAAU;gBAC5B,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B;YACD,MAAM;YACN,UAAU;SACX,CAAA;IACH,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,IAAA,oCAAe,EAAC,MAAM,EAAE;QACzC,GAAG,UAAU;QACb,KAAK,EAAE,SAAS;QAChB,aAAa,EAAE,OAAO,CAAC,WAAW;KACN,CAAC,CAAA;IAC/B,OAAO;QACL,IAAI;QACJ,MAAM,EAAE;YACN,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,WAAW,EAAE,IAAI,CAAC,KAAK;YACvB,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B;QACD,UAAU;KACX,CAAA;AACH,CAAC"}

13
node_modules/viem/_cjs/op-stack/chainConfig.js generated vendored Normal file
View File

@@ -0,0 +1,13 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.chainConfig = void 0;
const contracts_js_1 = require("./contracts.js");
const formatters_js_1 = require("./formatters.js");
const serializers_js_1 = require("./serializers.js");
exports.chainConfig = {
blockTime: 2_000,
contracts: contracts_js_1.contracts,
formatters: formatters_js_1.formatters,
serializers: serializers_js_1.serializers,
};
//# sourceMappingURL=chainConfig.js.map

1
node_modules/viem/_cjs/op-stack/chainConfig.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"chainConfig.js","sourceRoot":"","sources":["../../op-stack/chainConfig.ts"],"names":[],"mappings":";;;AAAA,iDAA0C;AAC1C,mDAA4C;AAC5C,qDAA8C;AAEjC,QAAA,WAAW,GAAG;IACzB,SAAS,EAAE,KAAK;IAChB,SAAS,EAAT,wBAAS;IACT,UAAU,EAAV,0BAAU;IACV,WAAW,EAAX,4BAAW;CACH,CAAA"}

58
node_modules/viem/_cjs/op-stack/chains.js generated vendored Normal file
View File

@@ -0,0 +1,58 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.zoraTestnet = exports.zoraSepolia = exports.zora = exports.worldchainSepolia = exports.worldchain = exports.unichainSepolia = exports.unichain = exports.soneiumMinato = exports.soneium = exports.snaxTestnet = exports.snax = exports.shape = exports.pgnTestnet = exports.pgn = exports.optimismSepolia = exports.optimismGoerli = exports.optimism = exports.metalL2 = exports.inkSepolia = exports.fraxtalTestnet = exports.fraxtal = exports.blast = exports.baseSepolia = exports.baseGoerli = exports.base = exports.ancient8Sepolia = exports.ancient8 = void 0;
var ancient8_js_1 = require("../chains/definitions/ancient8.js");
Object.defineProperty(exports, "ancient8", { enumerable: true, get: function () { return ancient8_js_1.ancient8; } });
var ancient8Sepolia_js_1 = require("../chains/definitions/ancient8Sepolia.js");
Object.defineProperty(exports, "ancient8Sepolia", { enumerable: true, get: function () { return ancient8Sepolia_js_1.ancient8Sepolia; } });
var base_js_1 = require("../chains/definitions/base.js");
Object.defineProperty(exports, "base", { enumerable: true, get: function () { return base_js_1.base; } });
var baseGoerli_js_1 = require("../chains/definitions/baseGoerli.js");
Object.defineProperty(exports, "baseGoerli", { enumerable: true, get: function () { return baseGoerli_js_1.baseGoerli; } });
var baseSepolia_js_1 = require("../chains/definitions/baseSepolia.js");
Object.defineProperty(exports, "baseSepolia", { enumerable: true, get: function () { return baseSepolia_js_1.baseSepolia; } });
var blast_js_1 = require("../chains/definitions/blast.js");
Object.defineProperty(exports, "blast", { enumerable: true, get: function () { return blast_js_1.blast; } });
var fraxtal_js_1 = require("../chains/definitions/fraxtal.js");
Object.defineProperty(exports, "fraxtal", { enumerable: true, get: function () { return fraxtal_js_1.fraxtal; } });
var fraxtalTestnet_js_1 = require("../chains/definitions/fraxtalTestnet.js");
Object.defineProperty(exports, "fraxtalTestnet", { enumerable: true, get: function () { return fraxtalTestnet_js_1.fraxtalTestnet; } });
var inkSepolia_js_1 = require("../chains/definitions/inkSepolia.js");
Object.defineProperty(exports, "inkSepolia", { enumerable: true, get: function () { return inkSepolia_js_1.inkSepolia; } });
var metalL2_js_1 = require("../chains/definitions/metalL2.js");
Object.defineProperty(exports, "metalL2", { enumerable: true, get: function () { return metalL2_js_1.metalL2; } });
var optimism_js_1 = require("../chains/definitions/optimism.js");
Object.defineProperty(exports, "optimism", { enumerable: true, get: function () { return optimism_js_1.optimism; } });
var optimismGoerli_js_1 = require("../chains/definitions/optimismGoerli.js");
Object.defineProperty(exports, "optimismGoerli", { enumerable: true, get: function () { return optimismGoerli_js_1.optimismGoerli; } });
var optimismSepolia_js_1 = require("../chains/definitions/optimismSepolia.js");
Object.defineProperty(exports, "optimismSepolia", { enumerable: true, get: function () { return optimismSepolia_js_1.optimismSepolia; } });
var pgn_js_1 = require("../chains/definitions/pgn.js");
Object.defineProperty(exports, "pgn", { enumerable: true, get: function () { return pgn_js_1.pgn; } });
var pgnTestnet_js_1 = require("../chains/definitions/pgnTestnet.js");
Object.defineProperty(exports, "pgnTestnet", { enumerable: true, get: function () { return pgnTestnet_js_1.pgnTestnet; } });
var shape_js_1 = require("../chains/definitions/shape.js");
Object.defineProperty(exports, "shape", { enumerable: true, get: function () { return shape_js_1.shape; } });
var snax_js_1 = require("../chains/definitions/snax.js");
Object.defineProperty(exports, "snax", { enumerable: true, get: function () { return snax_js_1.snax; } });
var snaxTestnet_js_1 = require("../chains/definitions/snaxTestnet.js");
Object.defineProperty(exports, "snaxTestnet", { enumerable: true, get: function () { return snaxTestnet_js_1.snaxTestnet; } });
var soneium_js_1 = require("../chains/definitions/soneium.js");
Object.defineProperty(exports, "soneium", { enumerable: true, get: function () { return soneium_js_1.soneium; } });
var soneiumMinato_js_1 = require("../chains/definitions/soneiumMinato.js");
Object.defineProperty(exports, "soneiumMinato", { enumerable: true, get: function () { return soneiumMinato_js_1.soneiumMinato; } });
var unichain_js_1 = require("../chains/definitions/unichain.js");
Object.defineProperty(exports, "unichain", { enumerable: true, get: function () { return unichain_js_1.unichain; } });
var unichainSepolia_js_1 = require("../chains/definitions/unichainSepolia.js");
Object.defineProperty(exports, "unichainSepolia", { enumerable: true, get: function () { return unichainSepolia_js_1.unichainSepolia; } });
var worldchain_js_1 = require("../chains/definitions/worldchain.js");
Object.defineProperty(exports, "worldchain", { enumerable: true, get: function () { return worldchain_js_1.worldchain; } });
var worldchainSepolia_js_1 = require("../chains/definitions/worldchainSepolia.js");
Object.defineProperty(exports, "worldchainSepolia", { enumerable: true, get: function () { return worldchainSepolia_js_1.worldchainSepolia; } });
var zora_js_1 = require("../chains/definitions/zora.js");
Object.defineProperty(exports, "zora", { enumerable: true, get: function () { return zora_js_1.zora; } });
var zoraSepolia_js_1 = require("../chains/definitions/zoraSepolia.js");
Object.defineProperty(exports, "zoraSepolia", { enumerable: true, get: function () { return zoraSepolia_js_1.zoraSepolia; } });
var zoraTestnet_js_1 = require("../chains/definitions/zoraTestnet.js");
Object.defineProperty(exports, "zoraTestnet", { enumerable: true, get: function () { return zoraTestnet_js_1.zoraTestnet; } });
//# sourceMappingURL=chains.js.map

1
node_modules/viem/_cjs/op-stack/chains.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../op-stack/chains.ts"],"names":[],"mappings":";;;AACA,iEAA4D;AAAnD,uGAAA,QAAQ,OAAA;AACjB,+EAA0E;AAAjE,qHAAA,eAAe,OAAA;AACxB,yDAAoD;AAA3C,+FAAA,IAAI,OAAA;AACb,qEAAgE;AAAvD,2GAAA,UAAU,OAAA;AACnB,uEAAkE;AAAzD,6GAAA,WAAW,OAAA;AACpB,2DAAsD;AAA7C,iGAAA,KAAK,OAAA;AACd,+DAA0D;AAAjD,qGAAA,OAAO,OAAA;AAChB,6EAAwE;AAA/D,mHAAA,cAAc,OAAA;AACvB,qEAAgE;AAAvD,2GAAA,UAAU,OAAA;AACnB,+DAA0D;AAAjD,qGAAA,OAAO,OAAA;AAChB,iEAA4D;AAAnD,uGAAA,QAAQ,OAAA;AACjB,6EAAwE;AAA/D,mHAAA,cAAc,OAAA;AACvB,+EAA0E;AAAjE,qHAAA,eAAe,OAAA;AACxB,uDAAkD;AAAzC,6FAAA,GAAG,OAAA;AACZ,qEAAgE;AAAvD,2GAAA,UAAU,OAAA;AACnB,2DAAsD;AAA7C,iGAAA,KAAK,OAAA;AACd,yDAAoD;AAA3C,+FAAA,IAAI,OAAA;AACb,uEAAkE;AAAzD,6GAAA,WAAW,OAAA;AACpB,+DAA0D;AAAjD,qGAAA,OAAO,OAAA;AAChB,2EAAsE;AAA7D,iHAAA,aAAa,OAAA;AACtB,iEAA4D;AAAnD,uGAAA,QAAQ,OAAA;AACjB,+EAA0E;AAAjE,qHAAA,eAAe,OAAA;AACxB,qEAAgE;AAAvD,2GAAA,UAAU,OAAA;AACnB,mFAA8E;AAArE,yHAAA,iBAAiB,OAAA;AAC1B,yDAAoD;AAA3C,+FAAA,IAAI,OAAA;AACb,uEAAkE;AAAzD,6GAAA,WAAW,OAAA;AACpB,uEAAkE;AAAzD,6GAAA,WAAW,OAAA"}

16
node_modules/viem/_cjs/op-stack/contracts.js generated vendored Normal file
View File

@@ -0,0 +1,16 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.contracts = void 0;
exports.contracts = {
gasPriceOracle: { address: '0x420000000000000000000000000000000000000F' },
l1Block: { address: '0x4200000000000000000000000000000000000015' },
l2CrossDomainMessenger: {
address: '0x4200000000000000000000000000000000000007',
},
l2Erc721Bridge: { address: '0x4200000000000000000000000000000000000014' },
l2StandardBridge: { address: '0x4200000000000000000000000000000000000010' },
l2ToL1MessagePasser: {
address: '0x4200000000000000000000000000000000000016',
},
};
//# sourceMappingURL=contracts.js.map

1
node_modules/viem/_cjs/op-stack/contracts.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../op-stack/contracts.ts"],"names":[],"mappings":";;;AAMa,QAAA,SAAS,GAAG;IACvB,cAAc,EAAE,EAAE,OAAO,EAAE,4CAA4C,EAAE;IACzE,OAAO,EAAE,EAAE,OAAO,EAAE,4CAA4C,EAAE;IAClE,sBAAsB,EAAE;QACtB,OAAO,EAAE,4CAA4C;KACtD;IACD,cAAc,EAAE,EAAE,OAAO,EAAE,4CAA4C,EAAE;IACzE,gBAAgB,EAAE,EAAE,OAAO,EAAE,4CAA4C,EAAE;IAC3E,mBAAmB,EAAE;QACnB,OAAO,EAAE,4CAA4C;KACtD;CACoC,CAAA"}

44
node_modules/viem/_cjs/op-stack/decorators/publicL1.js generated vendored Normal file
View File

@@ -0,0 +1,44 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.publicActionsL1 = publicActionsL1;
const buildInitiateWithdrawal_js_1 = require("../actions/buildInitiateWithdrawal.js");
const estimateDepositTransactionGas_js_1 = require("../actions/estimateDepositTransactionGas.js");
const estimateFinalizeWithdrawalGas_js_1 = require("../actions/estimateFinalizeWithdrawalGas.js");
const estimateProveWithdrawalGas_js_1 = require("../actions/estimateProveWithdrawalGas.js");
const getGame_js_1 = require("../actions/getGame.js");
const getGames_js_1 = require("../actions/getGames.js");
const getL2Output_js_1 = require("../actions/getL2Output.js");
const getPortalVersion_js_1 = require("../actions/getPortalVersion.js");
const getTimeToFinalize_js_1 = require("../actions/getTimeToFinalize.js");
const getTimeToNextGame_js_1 = require("../actions/getTimeToNextGame.js");
const getTimeToNextL2Output_js_1 = require("../actions/getTimeToNextL2Output.js");
const getTimeToProve_js_1 = require("../actions/getTimeToProve.js");
const getWithdrawalStatus_js_1 = require("../actions/getWithdrawalStatus.js");
const waitForNextGame_js_1 = require("../actions/waitForNextGame.js");
const waitForNextL2Output_js_1 = require("../actions/waitForNextL2Output.js");
const waitToFinalize_js_1 = require("../actions/waitToFinalize.js");
const waitToProve_js_1 = require("../actions/waitToProve.js");
function publicActionsL1() {
return (client) => {
return {
buildInitiateWithdrawal: (args) => (0, buildInitiateWithdrawal_js_1.buildInitiateWithdrawal)(client, args),
estimateDepositTransactionGas: (args) => (0, estimateDepositTransactionGas_js_1.estimateDepositTransactionGas)(client, args),
estimateFinalizeWithdrawalGas: (args) => (0, estimateFinalizeWithdrawalGas_js_1.estimateFinalizeWithdrawalGas)(client, args),
estimateProveWithdrawalGas: (args) => (0, estimateProveWithdrawalGas_js_1.estimateProveWithdrawalGas)(client, args),
getGame: (args) => (0, getGame_js_1.getGame)(client, args),
getGames: (args) => (0, getGames_js_1.getGames)(client, args),
getL2Output: (args) => (0, getL2Output_js_1.getL2Output)(client, args),
getPortalVersion: (args) => (0, getPortalVersion_js_1.getPortalVersion)(client, args),
getTimeToFinalize: (args) => (0, getTimeToFinalize_js_1.getTimeToFinalize)(client, args),
getTimeToNextGame: (args) => (0, getTimeToNextGame_js_1.getTimeToNextGame)(client, args),
getTimeToNextL2Output: (args) => (0, getTimeToNextL2Output_js_1.getTimeToNextL2Output)(client, args),
getTimeToProve: (args) => (0, getTimeToProve_js_1.getTimeToProve)(client, args),
getWithdrawalStatus: (args) => (0, getWithdrawalStatus_js_1.getWithdrawalStatus)(client, args),
waitForNextGame: (args) => (0, waitForNextGame_js_1.waitForNextGame)(client, args),
waitForNextL2Output: (args) => (0, waitForNextL2Output_js_1.waitForNextL2Output)(client, args),
waitToFinalize: (args) => (0, waitToFinalize_js_1.waitToFinalize)(client, args),
waitToProve: (args) => (0, waitToProve_js_1.waitToProve)(client, args),
};
};
}
//# sourceMappingURL=publicL1.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"publicL1.js","sourceRoot":"","sources":["../../../op-stack/decorators/publicL1.ts"],"names":[],"mappings":";;AAqpBA,0CA+BC;AA/qBD,sFAI8C;AAC9C,kGAIoD;AACpD,kGAIoD;AACpD,4FAIiD;AACjD,sDAI8B;AAC9B,wDAI+B;AAC/B,8DAIkC;AAClC,wEAIuC;AACvC,0EAIwC;AACxC,0EAIwC;AACxC,kFAI4C;AAC5C,oEAIqC;AACrC,8EAI0C;AAC1C,sEAIsC;AACtC,8EAI0C;AAC1C,oEAIqC;AACrC,8DAIkC;AA4jBlC,SAAgB,eAAe;IAC7B,OAAO,CAKL,MAAyC,EACR,EAAE;QACnC,OAAO;YACL,uBAAuB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,oDAAuB,EAAC,MAAM,EAAE,IAAI,CAAC;YACxE,6BAA6B,EAAE,CAAC,IAAI,EAAE,EAAE,CACtC,IAAA,gEAA6B,EAAC,MAAM,EAAE,IAAI,CAAC;YAC7C,6BAA6B,EAAE,CAAC,IAAI,EAAE,EAAE,CACtC,IAAA,gEAA6B,EAAC,MAAM,EAAE,IAAI,CAAC;YAC7C,0BAA0B,EAAE,CAAC,IAAI,EAAE,EAAE,CACnC,IAAA,0DAA0B,EAAC,MAAM,EAAE,IAAI,CAAC;YAC1C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,oBAAO,EAAC,MAAM,EAAE,IAAI,CAAC;YACxC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,sBAAQ,EAAC,MAAM,EAAE,IAAI,CAAC;YAC1C,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,4BAAW,EAAC,MAAM,EAAE,IAAI,CAAC;YAChD,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,sCAAgB,EAAC,MAAM,EAAE,IAAI,CAAC;YAC1D,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,wCAAiB,EAAC,MAAM,EAAE,IAAI,CAAC;YAC5D,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,wCAAiB,EAAC,MAAM,EAAE,IAAI,CAAC;YAC5D,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,gDAAqB,EAAC,MAAM,EAAE,IAAI,CAAC;YACpE,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,kCAAc,EAAC,MAAM,EAAE,IAAI,CAAC;YACtD,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,4CAAmB,EAAC,MAAM,EAAE,IAAI,CAAC;YAChE,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,oCAAe,EAAC,MAAM,EAAE,IAAI,CAAC;YACxD,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,4CAAmB,EAAC,MAAM,EAAE,IAAI,CAAC;YAChE,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,kCAAc,EAAC,MAAM,EAAE,IAAI,CAAC;YACtD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,4BAAW,EAAC,MAAM,EAAE,IAAI,CAAC;SACjD,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}

36
node_modules/viem/_cjs/op-stack/decorators/publicL2.js generated vendored Normal file
View File

@@ -0,0 +1,36 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.publicActionsL2 = publicActionsL2;
const buildDepositTransaction_js_1 = require("../actions/buildDepositTransaction.js");
const buildProveWithdrawal_js_1 = require("../actions/buildProveWithdrawal.js");
const estimateContractL1Fee_js_1 = require("../actions/estimateContractL1Fee.js");
const estimateContractL1Gas_js_1 = require("../actions/estimateContractL1Gas.js");
const estimateContractTotalFee_js_1 = require("../actions/estimateContractTotalFee.js");
const estimateContractTotalGas_js_1 = require("../actions/estimateContractTotalGas.js");
const estimateInitiateWithdrawalGas_js_1 = require("../actions/estimateInitiateWithdrawalGas.js");
const estimateL1Fee_js_1 = require("../actions/estimateL1Fee.js");
const estimateL1Gas_js_1 = require("../actions/estimateL1Gas.js");
const estimateOperatorFee_js_1 = require("../actions/estimateOperatorFee.js");
const estimateTotalFee_js_1 = require("../actions/estimateTotalFee.js");
const estimateTotalGas_js_1 = require("../actions/estimateTotalGas.js");
const getL1BaseFee_js_1 = require("../actions/getL1BaseFee.js");
function publicActionsL2() {
return (client) => {
return {
buildDepositTransaction: (args) => (0, buildDepositTransaction_js_1.buildDepositTransaction)(client, args),
buildProveWithdrawal: (args) => (0, buildProveWithdrawal_js_1.buildProveWithdrawal)(client, args),
estimateContractL1Fee: (args) => (0, estimateContractL1Fee_js_1.estimateContractL1Fee)(client, args),
estimateContractL1Gas: (args) => (0, estimateContractL1Gas_js_1.estimateContractL1Gas)(client, args),
estimateContractTotalFee: (args) => (0, estimateContractTotalFee_js_1.estimateContractTotalFee)(client, args),
estimateContractTotalGas: (args) => (0, estimateContractTotalGas_js_1.estimateContractTotalGas)(client, args),
estimateInitiateWithdrawalGas: (args) => (0, estimateInitiateWithdrawalGas_js_1.estimateInitiateWithdrawalGas)(client, args),
estimateL1Fee: (args) => (0, estimateL1Fee_js_1.estimateL1Fee)(client, args),
getL1BaseFee: (args) => (0, getL1BaseFee_js_1.getL1BaseFee)(client, args),
estimateL1Gas: (args) => (0, estimateL1Gas_js_1.estimateL1Gas)(client, args),
estimateOperatorFee: (args) => (0, estimateOperatorFee_js_1.estimateOperatorFee)(client, args),
estimateTotalFee: (args) => (0, estimateTotalFee_js_1.estimateTotalFee)(client, args),
estimateTotalGas: (args) => (0, estimateTotalGas_js_1.estimateTotalGas)(client, args),
};
};
}
//# sourceMappingURL=publicL2.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"publicL2.js","sourceRoot":"","sources":["../../../op-stack/decorators/publicL2.ts"],"names":[],"mappings":";;AA0gBA,0CA2BC;AA5hBD,sFAI8C;AAC9C,gFAI2C;AAC3C,kFAI4C;AAC5C,kFAI4C;AAC5C,wFAI+C;AAC/C,wFAI+C;AAC/C,kGAIoD;AACpD,kEAIoC;AACpC,kEAIoC;AACpC,8EAI0C;AAC1C,wEAIuC;AACvC,wEAIuC;AACvC,gEAImC;AAicnC,SAAgB,eAAe;IAC7B,OAAO,CAKL,MAAyC,EACR,EAAE;QACnC,OAAO;YACL,uBAAuB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,oDAAuB,EAAC,MAAM,EAAE,IAAI,CAAC;YACxE,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,8CAAoB,EAAC,MAAM,EAAE,IAAI,CAAC;YAClE,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,gDAAqB,EAAC,MAAM,EAAE,IAAI,CAAC;YACpE,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,gDAAqB,EAAC,MAAM,EAAE,IAAI,CAAC;YACpE,wBAAwB,EAAE,CAAC,IAAI,EAAE,EAAE,CACjC,IAAA,sDAAwB,EAAC,MAAM,EAAE,IAAI,CAAC;YACxC,wBAAwB,EAAE,CAAC,IAAI,EAAE,EAAE,CACjC,IAAA,sDAAwB,EAAC,MAAM,EAAE,IAAI,CAAC;YACxC,6BAA6B,EAAE,CAAC,IAAI,EAAE,EAAE,CACtC,IAAA,gEAA6B,EAAC,MAAM,EAAE,IAAI,CAAC;YAC7C,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,CAAC;YACpD,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,8BAAY,EAAC,MAAM,EAAE,IAAI,CAAC;YAClD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,gCAAa,EAAC,MAAM,EAAE,IAAI,CAAC;YACpD,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,4CAAmB,EAAC,MAAM,EAAE,IAAI,CAAC;YAChE,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,sCAAgB,EAAC,MAAM,EAAE,IAAI,CAAC;YAC1D,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,sCAAgB,EAAC,MAAM,EAAE,IAAI,CAAC;SAC3D,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}

16
node_modules/viem/_cjs/op-stack/decorators/walletL1.js generated vendored Normal file
View File

@@ -0,0 +1,16 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.walletActionsL1 = walletActionsL1;
const depositTransaction_js_1 = require("../actions/depositTransaction.js");
const finalizeWithdrawal_js_1 = require("../actions/finalizeWithdrawal.js");
const proveWithdrawal_js_1 = require("../actions/proveWithdrawal.js");
function walletActionsL1() {
return (client) => {
return {
depositTransaction: (args) => (0, depositTransaction_js_1.depositTransaction)(client, args),
finalizeWithdrawal: (args) => (0, finalizeWithdrawal_js_1.finalizeWithdrawal)(client, args),
proveWithdrawal: (args) => (0, proveWithdrawal_js_1.proveWithdrawal)(client, args),
};
};
}
//# sourceMappingURL=walletL1.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"walletL1.js","sourceRoot":"","sources":["../../../op-stack/decorators/walletL1.ts"],"names":[],"mappings":";;AA6JA,0CAcC;AAvKD,4EAIyC;AACzC,4EAIyC;AACzC,sEAIsC;AA2ItC,SAAgB,eAAe;IAC7B,OAAO,CAKL,MAAyC,EACR,EAAE;QACnC,OAAO;YACL,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0CAAkB,EAAC,MAAM,EAAE,IAAI,CAAC;YAC9D,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0CAAkB,EAAC,MAAM,EAAE,IAAI,CAAC;YAC9D,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,oCAAe,EAAC,MAAM,EAAE,IAAI,CAAC;SACzD,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}

12
node_modules/viem/_cjs/op-stack/decorators/walletL2.js generated vendored Normal file
View File

@@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.walletActionsL2 = walletActionsL2;
const initiateWithdrawal_js_1 = require("../actions/initiateWithdrawal.js");
function walletActionsL2() {
return (client) => {
return {
initiateWithdrawal: (args) => (0, initiateWithdrawal_js_1.initiateWithdrawal)(client, args),
};
};
}
//# sourceMappingURL=walletL2.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"walletL2.js","sourceRoot":"","sources":["../../../op-stack/decorators/walletL2.ts"],"names":[],"mappings":";;AAwFA,0CAYC;AAhGD,4EAIyC;AAgFzC,SAAgB,eAAe;IAC7B,OAAO,CAKL,MAAyC,EACR,EAAE;QACnC,OAAO;YACL,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0CAAkB,EAAC,MAAM,EAAE,IAAI,CAAC;SAC/D,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}

17
node_modules/viem/_cjs/op-stack/errors/withdrawal.js generated vendored Normal file
View File

@@ -0,0 +1,17 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ReceiptContainsNoWithdrawalsError = exports.GameNotFoundError = void 0;
const base_js_1 = require("../../errors/base.js");
class GameNotFoundError extends base_js_1.BaseError {
constructor() {
super('Dispute game not found.', { name: 'GameNotFoundError' });
}
}
exports.GameNotFoundError = GameNotFoundError;
class ReceiptContainsNoWithdrawalsError extends base_js_1.BaseError {
constructor({ hash }) {
super(`The provided transaction receipt with hash "${hash}" contains no withdrawals.`, { name: 'ReceiptContainsNoWithdrawalsError' });
}
}
exports.ReceiptContainsNoWithdrawalsError = ReceiptContainsNoWithdrawalsError;
//# sourceMappingURL=withdrawal.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"withdrawal.js","sourceRoot":"","sources":["../../../op-stack/errors/withdrawal.ts"],"names":[],"mappings":";;;AAAA,kDAAgD;AAMhD,MAAa,iBAAkB,SAAQ,mBAAS;IAC9C;QACE,KAAK,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAA;IACjE,CAAC;CACF;AAJD,8CAIC;AAMD,MAAa,iCAAkC,SAAQ,mBAAS;IAC9D,YAAY,EAAE,IAAI,EAAiB;QACjC,KAAK,CACH,+CAA+C,IAAI,4BAA4B,EAC/E,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAC9C,CAAA;IACH,CAAC;CACF;AAPD,8EAOC"}

54
node_modules/viem/_cjs/op-stack/formatters.js generated vendored Normal file
View File

@@ -0,0 +1,54 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatters = void 0;
const fromHex_js_1 = require("../utils/encoding/fromHex.js");
const block_js_1 = require("../utils/formatters/block.js");
const transaction_js_1 = require("../utils/formatters/transaction.js");
const transactionReceipt_js_1 = require("../utils/formatters/transactionReceipt.js");
exports.formatters = {
block: (0, block_js_1.defineBlock)({
format(args) {
const transactions = args.transactions?.map((transaction) => {
if (typeof transaction === 'string')
return transaction;
const formatted = (0, transaction_js_1.formatTransaction)(transaction);
if (formatted.typeHex === '0x7e') {
formatted.isSystemTx = transaction.isSystemTx;
formatted.mint = transaction.mint
? (0, fromHex_js_1.hexToBigInt)(transaction.mint)
: undefined;
formatted.sourceHash = transaction.sourceHash;
formatted.type = 'deposit';
}
return formatted;
});
return {
transactions,
stateRoot: args.stateRoot,
};
},
}),
transaction: (0, transaction_js_1.defineTransaction)({
format(args) {
const transaction = {};
if (args.type === '0x7e') {
transaction.isSystemTx = args.isSystemTx;
transaction.mint = args.mint ? (0, fromHex_js_1.hexToBigInt)(args.mint) : undefined;
transaction.sourceHash = args.sourceHash;
transaction.type = 'deposit';
}
return transaction;
},
}),
transactionReceipt: (0, transactionReceipt_js_1.defineTransactionReceipt)({
format(args) {
return {
l1GasPrice: args.l1GasPrice ? (0, fromHex_js_1.hexToBigInt)(args.l1GasPrice) : null,
l1GasUsed: args.l1GasUsed ? (0, fromHex_js_1.hexToBigInt)(args.l1GasUsed) : null,
l1Fee: args.l1Fee ? (0, fromHex_js_1.hexToBigInt)(args.l1Fee) : null,
l1FeeScalar: args.l1FeeScalar ? Number(args.l1FeeScalar) : null,
};
},
}),
};
//# sourceMappingURL=formatters.js.map

1
node_modules/viem/_cjs/op-stack/formatters.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../op-stack/formatters.ts"],"names":[],"mappings":";;;AAEA,6DAA0D;AAC1D,2DAA0D;AAC1D,uEAG2C;AAC3C,qFAAoF;AASvE,QAAA,UAAU,GAAG;IACxB,KAAK,EAAgB,IAAA,sBAAW,EAAC;QAC/B,MAAM,CAAC,IAAqB;YAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;gBAC1D,IAAI,OAAO,WAAW,KAAK,QAAQ;oBAAE,OAAO,WAAW,CAAA;gBACvD,MAAM,SAAS,GAAG,IAAA,kCAAiB,EACjC,WAA6B,CACR,CAAA;gBACvB,IAAI,SAAS,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;oBACjC,SAAS,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAA;oBAC7C,SAAS,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI;wBAC/B,CAAC,CAAC,IAAA,wBAAW,EAAC,WAAW,CAAC,IAAI,CAAC;wBAC/B,CAAC,CAAC,SAAS,CAAA;oBACb,SAAS,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAA;oBAC7C,SAAS,CAAC,IAAI,GAAG,SAAS,CAAA;gBAC5B,CAAC;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC,CAAC,CAAA;YACF,OAAO;gBACL,YAAY;gBACZ,SAAS,EAAE,IAAI,CAAC,SAAS;aACV,CAAA;QACnB,CAAC;KACF,CAAC;IACF,WAAW,EAAgB,IAAA,kCAAiB,EAAC;QAC3C,MAAM,CAAC,IAA2B;YAChC,MAAM,WAAW,GAAG,EAAwB,CAAA;YAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;gBACxC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,wBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBACjE,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;gBACxC,WAAW,CAAC,IAAI,GAAG,SAAS,CAAA;YAC9B,CAAC;YACD,OAAO,WAAW,CAAA;QACpB,CAAC;KACF,CAAC;IACF,kBAAkB,EAAgB,IAAA,gDAAwB,EAAC;QACzD,MAAM,CAAC,IAAkC;YACvC,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,wBAAW,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;gBACjE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,wBAAW,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC9D,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,wBAAW,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;gBAClD,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;aACnC,CAAA;QAChC,CAAC;KACF,CAAC;CACgC,CAAA"}

118
node_modules/viem/_cjs/op-stack/index.js generated vendored Normal file
View File

@@ -0,0 +1,118 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.opaqueDataToDepositData = exports.getWithdrawals = exports.getWithdrawalHashStorageSlot = exports.getSourceHash = exports.getL2TransactionHashes = exports.getL2TransactionHash = exports.extractWithdrawalMessageLogs = exports.extractTransactionDepositedLogs = exports.serializeTransaction = exports.serializers = exports.parseTransaction = exports.walletActionsL2 = exports.walletActionsL1 = exports.publicActionsL2 = exports.publicActionsL1 = exports.chainConfig = exports.waitToProve = exports.waitToFinalize = exports.waitForNextL2Output = exports.waitForNextGame = exports.proveWithdrawal = exports.initiateWithdrawal = exports.getWithdrawalStatus = exports.getTimeToProve = exports.getTimeToNextL2Output = exports.getTimeToNextGame = exports.getTimeToFinalize = exports.getPortalVersion = exports.getL2Output = exports.getL1BaseFee = exports.getGames = exports.getGame = exports.finalizeWithdrawal = exports.estimateTotalGas = exports.estimateTotalFee = exports.estimateProveWithdrawalGas = exports.estimateOperatorFee = exports.estimateL1Gas = exports.estimateL1Fee = exports.estimateInitiateWithdrawalGas = exports.estimateFinalizeWithdrawalGas = exports.estimateDepositTransactionGas = exports.estimateContractTotalGas = exports.estimateContractTotalFee = exports.estimateContractL1Gas = exports.estimateContractL1Fee = exports.depositTransaction = exports.buildProveWithdrawal = exports.buildInitiateWithdrawal = exports.buildDepositTransaction = void 0;
var buildDepositTransaction_js_1 = require("./actions/buildDepositTransaction.js");
Object.defineProperty(exports, "buildDepositTransaction", { enumerable: true, get: function () { return buildDepositTransaction_js_1.buildDepositTransaction; } });
var buildInitiateWithdrawal_js_1 = require("./actions/buildInitiateWithdrawal.js");
Object.defineProperty(exports, "buildInitiateWithdrawal", { enumerable: true, get: function () { return buildInitiateWithdrawal_js_1.buildInitiateWithdrawal; } });
var buildProveWithdrawal_js_1 = require("./actions/buildProveWithdrawal.js");
Object.defineProperty(exports, "buildProveWithdrawal", { enumerable: true, get: function () { return buildProveWithdrawal_js_1.buildProveWithdrawal; } });
var depositTransaction_js_1 = require("./actions/depositTransaction.js");
Object.defineProperty(exports, "depositTransaction", { enumerable: true, get: function () { return depositTransaction_js_1.depositTransaction; } });
var estimateContractL1Fee_js_1 = require("./actions/estimateContractL1Fee.js");
Object.defineProperty(exports, "estimateContractL1Fee", { enumerable: true, get: function () { return estimateContractL1Fee_js_1.estimateContractL1Fee; } });
var estimateContractL1Gas_js_1 = require("./actions/estimateContractL1Gas.js");
Object.defineProperty(exports, "estimateContractL1Gas", { enumerable: true, get: function () { return estimateContractL1Gas_js_1.estimateContractL1Gas; } });
var estimateContractTotalFee_js_1 = require("./actions/estimateContractTotalFee.js");
Object.defineProperty(exports, "estimateContractTotalFee", { enumerable: true, get: function () { return estimateContractTotalFee_js_1.estimateContractTotalFee; } });
var estimateContractTotalGas_js_1 = require("./actions/estimateContractTotalGas.js");
Object.defineProperty(exports, "estimateContractTotalGas", { enumerable: true, get: function () { return estimateContractTotalGas_js_1.estimateContractTotalGas; } });
var estimateDepositTransactionGas_js_1 = require("./actions/estimateDepositTransactionGas.js");
Object.defineProperty(exports, "estimateDepositTransactionGas", { enumerable: true, get: function () { return estimateDepositTransactionGas_js_1.estimateDepositTransactionGas; } });
var estimateFinalizeWithdrawalGas_js_1 = require("./actions/estimateFinalizeWithdrawalGas.js");
Object.defineProperty(exports, "estimateFinalizeWithdrawalGas", { enumerable: true, get: function () { return estimateFinalizeWithdrawalGas_js_1.estimateFinalizeWithdrawalGas; } });
var estimateInitiateWithdrawalGas_js_1 = require("./actions/estimateInitiateWithdrawalGas.js");
Object.defineProperty(exports, "estimateInitiateWithdrawalGas", { enumerable: true, get: function () { return estimateInitiateWithdrawalGas_js_1.estimateInitiateWithdrawalGas; } });
var estimateL1Fee_js_1 = require("./actions/estimateL1Fee.js");
Object.defineProperty(exports, "estimateL1Fee", { enumerable: true, get: function () { return estimateL1Fee_js_1.estimateL1Fee; } });
var estimateL1Gas_js_1 = require("./actions/estimateL1Gas.js");
Object.defineProperty(exports, "estimateL1Gas", { enumerable: true, get: function () { return estimateL1Gas_js_1.estimateL1Gas; } });
var estimateOperatorFee_js_1 = require("./actions/estimateOperatorFee.js");
Object.defineProperty(exports, "estimateOperatorFee", { enumerable: true, get: function () { return estimateOperatorFee_js_1.estimateOperatorFee; } });
var estimateProveWithdrawalGas_js_1 = require("./actions/estimateProveWithdrawalGas.js");
Object.defineProperty(exports, "estimateProveWithdrawalGas", { enumerable: true, get: function () { return estimateProveWithdrawalGas_js_1.estimateProveWithdrawalGas; } });
var estimateTotalFee_js_1 = require("./actions/estimateTotalFee.js");
Object.defineProperty(exports, "estimateTotalFee", { enumerable: true, get: function () { return estimateTotalFee_js_1.estimateTotalFee; } });
var estimateTotalGas_js_1 = require("./actions/estimateTotalGas.js");
Object.defineProperty(exports, "estimateTotalGas", { enumerable: true, get: function () { return estimateTotalGas_js_1.estimateTotalGas; } });
var finalizeWithdrawal_js_1 = require("./actions/finalizeWithdrawal.js");
Object.defineProperty(exports, "finalizeWithdrawal", { enumerable: true, get: function () { return finalizeWithdrawal_js_1.finalizeWithdrawal; } });
var getGame_js_1 = require("./actions/getGame.js");
Object.defineProperty(exports, "getGame", { enumerable: true, get: function () { return getGame_js_1.getGame; } });
var getGames_js_1 = require("./actions/getGames.js");
Object.defineProperty(exports, "getGames", { enumerable: true, get: function () { return getGames_js_1.getGames; } });
var getL1BaseFee_js_1 = require("./actions/getL1BaseFee.js");
Object.defineProperty(exports, "getL1BaseFee", { enumerable: true, get: function () { return getL1BaseFee_js_1.getL1BaseFee; } });
var getL2Output_js_1 = require("./actions/getL2Output.js");
Object.defineProperty(exports, "getL2Output", { enumerable: true, get: function () { return getL2Output_js_1.getL2Output; } });
var getPortalVersion_js_1 = require("./actions/getPortalVersion.js");
Object.defineProperty(exports, "getPortalVersion", { enumerable: true, get: function () { return getPortalVersion_js_1.getPortalVersion; } });
var getTimeToFinalize_js_1 = require("./actions/getTimeToFinalize.js");
Object.defineProperty(exports, "getTimeToFinalize", { enumerable: true, get: function () { return getTimeToFinalize_js_1.getTimeToFinalize; } });
var getTimeToNextGame_js_1 = require("./actions/getTimeToNextGame.js");
Object.defineProperty(exports, "getTimeToNextGame", { enumerable: true, get: function () { return getTimeToNextGame_js_1.getTimeToNextGame; } });
var getTimeToNextL2Output_js_1 = require("./actions/getTimeToNextL2Output.js");
Object.defineProperty(exports, "getTimeToNextL2Output", { enumerable: true, get: function () { return getTimeToNextL2Output_js_1.getTimeToNextL2Output; } });
var getTimeToProve_js_1 = require("./actions/getTimeToProve.js");
Object.defineProperty(exports, "getTimeToProve", { enumerable: true, get: function () { return getTimeToProve_js_1.getTimeToProve; } });
var getWithdrawalStatus_js_1 = require("./actions/getWithdrawalStatus.js");
Object.defineProperty(exports, "getWithdrawalStatus", { enumerable: true, get: function () { return getWithdrawalStatus_js_1.getWithdrawalStatus; } });
var initiateWithdrawal_js_1 = require("./actions/initiateWithdrawal.js");
Object.defineProperty(exports, "initiateWithdrawal", { enumerable: true, get: function () { return initiateWithdrawal_js_1.initiateWithdrawal; } });
var proveWithdrawal_js_1 = require("./actions/proveWithdrawal.js");
Object.defineProperty(exports, "proveWithdrawal", { enumerable: true, get: function () { return proveWithdrawal_js_1.proveWithdrawal; } });
var waitForNextGame_js_1 = require("./actions/waitForNextGame.js");
Object.defineProperty(exports, "waitForNextGame", { enumerable: true, get: function () { return waitForNextGame_js_1.waitForNextGame; } });
var waitForNextL2Output_js_1 = require("./actions/waitForNextL2Output.js");
Object.defineProperty(exports, "waitForNextL2Output", { enumerable: true, get: function () { return waitForNextL2Output_js_1.waitForNextL2Output; } });
var waitToFinalize_js_1 = require("./actions/waitToFinalize.js");
Object.defineProperty(exports, "waitToFinalize", { enumerable: true, get: function () { return waitToFinalize_js_1.waitToFinalize; } });
var waitToProve_js_1 = require("./actions/waitToProve.js");
Object.defineProperty(exports, "waitToProve", { enumerable: true, get: function () { return waitToProve_js_1.waitToProve; } });
var chainConfig_js_1 = require("./chainConfig.js");
Object.defineProperty(exports, "chainConfig", { enumerable: true, get: function () { return chainConfig_js_1.chainConfig; } });
__exportStar(require("./chains.js"), exports);
var publicL1_js_1 = require("./decorators/publicL1.js");
Object.defineProperty(exports, "publicActionsL1", { enumerable: true, get: function () { return publicL1_js_1.publicActionsL1; } });
var publicL2_js_1 = require("./decorators/publicL2.js");
Object.defineProperty(exports, "publicActionsL2", { enumerable: true, get: function () { return publicL2_js_1.publicActionsL2; } });
var walletL1_js_1 = require("./decorators/walletL1.js");
Object.defineProperty(exports, "walletActionsL1", { enumerable: true, get: function () { return walletL1_js_1.walletActionsL1; } });
var walletL2_js_1 = require("./decorators/walletL2.js");
Object.defineProperty(exports, "walletActionsL2", { enumerable: true, get: function () { return walletL2_js_1.walletActionsL2; } });
var parsers_js_1 = require("./parsers.js");
Object.defineProperty(exports, "parseTransaction", { enumerable: true, get: function () { return parsers_js_1.parseTransaction; } });
var serializers_js_1 = require("./serializers.js");
Object.defineProperty(exports, "serializers", { enumerable: true, get: function () { return serializers_js_1.serializers; } });
Object.defineProperty(exports, "serializeTransaction", { enumerable: true, get: function () { return serializers_js_1.serializeTransaction; } });
var extractTransactionDepositedLogs_js_1 = require("./utils/extractTransactionDepositedLogs.js");
Object.defineProperty(exports, "extractTransactionDepositedLogs", { enumerable: true, get: function () { return extractTransactionDepositedLogs_js_1.extractTransactionDepositedLogs; } });
var extractWithdrawalMessageLogs_js_1 = require("./utils/extractWithdrawalMessageLogs.js");
Object.defineProperty(exports, "extractWithdrawalMessageLogs", { enumerable: true, get: function () { return extractWithdrawalMessageLogs_js_1.extractWithdrawalMessageLogs; } });
var getL2TransactionHash_js_1 = require("./utils/getL2TransactionHash.js");
Object.defineProperty(exports, "getL2TransactionHash", { enumerable: true, get: function () { return getL2TransactionHash_js_1.getL2TransactionHash; } });
var getL2TransactionHashes_js_1 = require("./utils/getL2TransactionHashes.js");
Object.defineProperty(exports, "getL2TransactionHashes", { enumerable: true, get: function () { return getL2TransactionHashes_js_1.getL2TransactionHashes; } });
var getSourceHash_js_1 = require("./utils/getSourceHash.js");
Object.defineProperty(exports, "getSourceHash", { enumerable: true, get: function () { return getSourceHash_js_1.getSourceHash; } });
var getWithdrawalHashStorageSlot_js_1 = require("./utils/getWithdrawalHashStorageSlot.js");
Object.defineProperty(exports, "getWithdrawalHashStorageSlot", { enumerable: true, get: function () { return getWithdrawalHashStorageSlot_js_1.getWithdrawalHashStorageSlot; } });
var getWithdrawals_js_1 = require("./utils/getWithdrawals.js");
Object.defineProperty(exports, "getWithdrawals", { enumerable: true, get: function () { return getWithdrawals_js_1.getWithdrawals; } });
var opaqueDataToDepositData_js_1 = require("./utils/opaqueDataToDepositData.js");
Object.defineProperty(exports, "opaqueDataToDepositData", { enumerable: true, get: function () { return opaqueDataToDepositData_js_1.opaqueDataToDepositData; } });
//# sourceMappingURL=index.js.map

1
node_modules/viem/_cjs/op-stack/index.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../op-stack/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,mFAK6C;AAD3C,qIAAA,uBAAuB,OAAA;AAEzB,mFAK6C;AAD3C,qIAAA,uBAAuB,OAAA;AAEzB,6EAK0C;AADxC,+HAAA,oBAAoB,OAAA;AAEtB,yEAKwC;AADtC,2HAAA,kBAAkB,OAAA;AAEpB,+EAK2C;AADzC,iIAAA,qBAAqB,OAAA;AAEvB,+EAK2C;AADzC,iIAAA,qBAAqB,OAAA;AAEvB,qFAK8C;AAD5C,uIAAA,wBAAwB,OAAA;AAE1B,qFAK8C;AAD5C,uIAAA,wBAAwB,OAAA;AAE1B,+FAKmD;AADjD,iJAAA,6BAA6B,OAAA;AAE/B,+FAKmD;AADjD,iJAAA,6BAA6B,OAAA;AAE/B,+FAKmD;AADjD,iJAAA,6BAA6B,OAAA;AAE/B,+DAKmC;AADjC,iHAAA,aAAa,OAAA;AAEf,+DAKmC;AADjC,iHAAA,aAAa,OAAA;AAEf,2EAKyC;AADvC,6HAAA,mBAAmB,OAAA;AAErB,yFAKgD;AAD9C,2IAAA,0BAA0B,OAAA;AAE5B,qEAKsC;AADpC,uHAAA,gBAAgB,OAAA;AAElB,qEAKsC;AADpC,uHAAA,gBAAgB,OAAA;AAElB,yEAKwC;AADtC,2HAAA,kBAAkB,OAAA;AAEpB,mDAK6B;AAD3B,qGAAA,OAAO,OAAA;AAET,qDAK8B;AAD5B,uGAAA,QAAQ,OAAA;AAEV,6DAKkC;AADhC,+GAAA,YAAY,OAAA;AAEd,2DAKiC;AAD/B,6GAAA,WAAW,OAAA;AAEb,qEAKsC;AADpC,uHAAA,gBAAgB,OAAA;AAElB,uEAKuC;AADrC,yHAAA,iBAAiB,OAAA;AAEnB,uEAKuC;AADrC,yHAAA,iBAAiB,OAAA;AAEnB,+EAK2C;AADzC,iIAAA,qBAAqB,OAAA;AAEvB,iEAKoC;AADlC,mHAAA,cAAc,OAAA;AAEhB,2EAKyC;AADvC,6HAAA,mBAAmB,OAAA;AAErB,yEAKwC;AADtC,2HAAA,kBAAkB,OAAA;AAEpB,mEAKqC;AADnC,qHAAA,eAAe,OAAA;AAEjB,mEAKqC;AADnC,qHAAA,eAAe,OAAA;AAEjB,2EAKyC;AADvC,6HAAA,mBAAmB,OAAA;AAErB,iEAKoC;AADlC,mHAAA,cAAc,OAAA;AAEhB,2DAKiC;AAD/B,6GAAA,WAAW,OAAA;AAGb,mDAA8C;AAArC,6GAAA,WAAW,OAAA;AAEpB,8CAA2B;AAE3B,wDAGiC;AAD/B,8GAAA,eAAe,OAAA;AAEjB,wDAGiC;AAD/B,8GAAA,eAAe,OAAA;AAEjB,wDAGiC;AAD/B,8GAAA,eAAe,OAAA;AAEjB,wDAGiC;AAD/B,8GAAA,eAAe,OAAA;AAGjB,2CAIqB;AADnB,8GAAA,gBAAgB,OAAA;AAGlB,mDAKyB;AAFvB,6GAAA,WAAW,OAAA;AACX,sHAAA,oBAAoB,OAAA;AAmBtB,iGAKmD;AADjD,qJAAA,+BAA+B,OAAA;AAEjC,2FAKgD;AAD9C,+IAAA,4BAA4B,OAAA;AAE9B,2EAKwC;AADtC,+HAAA,oBAAoB,OAAA;AAEtB,+EAK0C;AADxC,mIAAA,sBAAsB,OAAA;AAExB,6DAKiC;AAD/B,iHAAA,aAAa,OAAA;AAEf,2FAKgD;AAD9C,+IAAA,4BAA4B,OAAA;AAE9B,+DAKkC;AADhC,mHAAA,cAAc,OAAA;AAEhB,iFAK2C;AADzC,qIAAA,uBAAuB,OAAA"}

54
node_modules/viem/_cjs/op-stack/parsers.js generated vendored Normal file
View File

@@ -0,0 +1,54 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseTransaction = parseTransaction;
const transaction_js_1 = require("../errors/transaction.js");
const isHex_js_1 = require("../utils/data/isHex.js");
const slice_js_1 = require("../utils/data/slice.js");
const fromHex_js_1 = require("../utils/encoding/fromHex.js");
const parseTransaction_js_1 = require("../utils/transaction/parseTransaction.js");
const serializers_js_1 = require("./serializers.js");
function parseTransaction(serializedTransaction) {
const serializedType = (0, slice_js_1.sliceHex)(serializedTransaction, 0, 1);
if (serializedType === '0x7e')
return parseTransactionDeposit(serializedTransaction);
return (0, parseTransaction_js_1.parseTransaction)(serializedTransaction);
}
function parseTransactionDeposit(serializedTransaction) {
const transactionArray = (0, parseTransaction_js_1.toTransactionArray)(serializedTransaction);
const [sourceHash, from, to, mint, value, gas, isSystemTx, data] = transactionArray;
if (transactionArray.length !== 8 || !(0, isHex_js_1.isHex)(sourceHash) || !(0, isHex_js_1.isHex)(from))
throw new transaction_js_1.InvalidSerializedTransactionError({
attributes: {
sourceHash,
from,
gas,
to,
mint,
value,
isSystemTx,
data,
},
serializedTransaction,
type: 'deposit',
});
const transaction = {
sourceHash,
from,
type: 'deposit',
};
if ((0, isHex_js_1.isHex)(gas) && gas !== '0x')
transaction.gas = (0, fromHex_js_1.hexToBigInt)(gas);
if ((0, isHex_js_1.isHex)(to) && to !== '0x')
transaction.to = to;
if ((0, isHex_js_1.isHex)(mint) && mint !== '0x')
transaction.mint = (0, fromHex_js_1.hexToBigInt)(mint);
if ((0, isHex_js_1.isHex)(value) && value !== '0x')
transaction.value = (0, fromHex_js_1.hexToBigInt)(value);
if ((0, isHex_js_1.isHex)(isSystemTx) && isSystemTx !== '0x')
transaction.isSystemTx = (0, fromHex_js_1.hexToBool)(isSystemTx);
if ((0, isHex_js_1.isHex)(data) && data !== '0x')
transaction.data = data;
(0, serializers_js_1.assertTransactionDeposit)(transaction);
return transaction;
}
//# sourceMappingURL=parsers.js.map

1
node_modules/viem/_cjs/op-stack/parsers.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../op-stack/parsers.ts"],"names":[],"mappings":";;AA+BA,4CAaC;AA5CD,6DAA4E;AAE5E,qDAA8C;AAC9C,qDAAiD;AACjD,6DAAqE;AAErE,kFAKiD;AACjD,qDAA2D;AAmB3D,SAAgB,gBAAgB,CAE9B,qBAAiC;IACjC,MAAM,cAAc,GAAG,IAAA,mBAAQ,EAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAE5D,IAAI,cAAc,KAAK,MAAM;QAC3B,OAAO,uBAAuB,CAC5B,qBAAqD,CACZ,CAAA;IAE7C,OAAO,IAAA,sCAAiB,EACtB,qBAAqB,CACoB,CAAA;AAC7C,CAAC;AAED,SAAS,uBAAuB,CAC9B,qBAAmD;IAEnD,MAAM,gBAAgB,GAAG,IAAA,wCAAkB,EAAC,qBAAqB,CAAC,CAAA;IAElE,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,GAC9D,gBAAgB,CAAA;IAElB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAA,gBAAK,EAAC,UAAU,CAAC,IAAI,CAAC,IAAA,gBAAK,EAAC,IAAI,CAAC;QACrE,MAAM,IAAI,kDAAiC,CAAC;YAC1C,UAAU,EAAE;gBACV,UAAU;gBACV,IAAI;gBACJ,GAAG;gBACH,EAAE;gBACF,IAAI;gBACJ,KAAK;gBACL,UAAU;gBACV,IAAI;aACL;YACD,qBAAqB;YACrB,IAAI,EAAE,SAAS;SAChB,CAAC,CAAA;IAEJ,MAAM,WAAW,GAAmC;QAClD,UAAU;QACV,IAAI;QACJ,IAAI,EAAE,SAAS;KAChB,CAAA;IAED,IAAI,IAAA,gBAAK,EAAC,GAAG,CAAC,IAAI,GAAG,KAAK,IAAI;QAAE,WAAW,CAAC,GAAG,GAAG,IAAA,wBAAW,EAAC,GAAG,CAAC,CAAA;IAClE,IAAI,IAAA,gBAAK,EAAC,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI;QAAE,WAAW,CAAC,EAAE,GAAG,EAAE,CAAA;IACjD,IAAI,IAAA,gBAAK,EAAC,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI;QAAE,WAAW,CAAC,IAAI,GAAG,IAAA,wBAAW,EAAC,IAAI,CAAC,CAAA;IACtE,IAAI,IAAA,gBAAK,EAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI;QAAE,WAAW,CAAC,KAAK,GAAG,IAAA,wBAAW,EAAC,KAAK,CAAC,CAAA;IAC1E,IAAI,IAAA,gBAAK,EAAC,UAAU,CAAC,IAAI,UAAU,KAAK,IAAI;QAC1C,WAAW,CAAC,UAAU,GAAG,IAAA,sBAAS,EAAC,UAAU,CAAC,CAAA;IAChD,IAAI,IAAA,gBAAK,EAAC,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI;QAAE,WAAW,CAAC,IAAI,GAAG,IAAI,CAAA;IAEzD,IAAA,yCAAwB,EAAC,WAAW,CAAC,CAAA;IAErC,OAAO,WAAW,CAAA;AACpB,CAAC"}

52
node_modules/viem/_cjs/op-stack/serializers.js generated vendored Normal file
View File

@@ -0,0 +1,52 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.serializers = void 0;
exports.serializeTransaction = serializeTransaction;
exports.assertTransactionDeposit = assertTransactionDeposit;
const address_js_1 = require("../errors/address.js");
const isAddress_js_1 = require("../utils/address/isAddress.js");
const concat_js_1 = require("../utils/data/concat.js");
const toHex_js_1 = require("../utils/encoding/toHex.js");
const toRlp_js_1 = require("../utils/encoding/toRlp.js");
const serializeTransaction_js_1 = require("../utils/transaction/serializeTransaction.js");
function serializeTransaction(transaction, signature) {
if (isDeposit(transaction))
return serializeTransactionDeposit(transaction);
return (0, serializeTransaction_js_1.serializeTransaction)(transaction, signature);
}
exports.serializers = {
transaction: serializeTransaction,
};
function serializeTransactionDeposit(transaction) {
assertTransactionDeposit(transaction);
const { sourceHash, data, from, gas, isSystemTx, mint, to, value } = transaction;
const serializedTransaction = [
sourceHash,
from,
to ?? '0x',
mint ? (0, toHex_js_1.toHex)(mint) : '0x',
value ? (0, toHex_js_1.toHex)(value) : '0x',
gas ? (0, toHex_js_1.toHex)(gas) : '0x',
isSystemTx ? '0x1' : '0x',
data ?? '0x',
];
return (0, concat_js_1.concatHex)([
'0x7e',
(0, toRlp_js_1.toRlp)(serializedTransaction),
]);
}
function isDeposit(transaction) {
if (transaction.type === 'deposit')
return true;
if (typeof transaction.sourceHash !== 'undefined')
return true;
return false;
}
function assertTransactionDeposit(transaction) {
const { from, to } = transaction;
if (from && !(0, isAddress_js_1.isAddress)(from))
throw new address_js_1.InvalidAddressError({ address: from });
if (to && !(0, isAddress_js_1.isAddress)(to))
throw new address_js_1.InvalidAddressError({ address: to });
}
//# sourceMappingURL=serializers.js.map

1
node_modules/viem/_cjs/op-stack/serializers.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"serializers.js","sourceRoot":"","sources":["../../op-stack/serializers.ts"],"names":[],"mappings":";;;AA4BA,oDASC;AA4CD,4DAMC;AAvFD,qDAA0D;AAM1D,gEAAyD;AACzD,uDAAmD;AACnD,yDAAkD;AAClD,yDAAkD;AAClD,0FAGqD;AAerD,SAAgB,oBAAoB,CAClC,WAA2C,EAC3C,SAAqB;IAErB,IAAI,SAAS,CAAC,WAAW,CAAC;QAAE,OAAO,2BAA2B,CAAC,WAAW,CAAC,CAAA;IAC3E,OAAO,IAAA,8CAAqB,EAC1B,WAAsC,EACtC,SAAS,CACV,CAAA;AACH,CAAC;AAEY,QAAA,WAAW,GAAG;IACzB,WAAW,EAAE,oBAAoB;CACE,CAAA;AAOrC,SAAS,2BAA2B,CAClC,WAA2C;IAE3C,wBAAwB,CAAC,WAAW,CAAC,CAAA;IAErC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAChE,WAAW,CAAA;IAEb,MAAM,qBAAqB,GAAU;QACnC,UAAU;QACV,IAAI;QACJ,EAAE,IAAI,IAAI;QACV,IAAI,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QACzB,KAAK,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3B,GAAG,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;QACvB,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACzB,IAAI,IAAI,IAAI;KACb,CAAA;IAED,OAAO,IAAA,qBAAS,EAAC;QACf,MAAM;QACN,IAAA,gBAAK,EAAC,qBAAqB,CAAC;KAC7B,CAA0C,CAAA;AAC7C,CAAC;AAED,SAAS,SAAS,CAChB,WAA2C;IAE3C,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IAC/C,IAAI,OAAO,WAAW,CAAC,UAAU,KAAK,WAAW;QAAE,OAAO,IAAI,CAAA;IAC9D,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAgB,wBAAwB,CACtC,WAA2C;IAE3C,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,WAAW,CAAA;IAChC,IAAI,IAAI,IAAI,CAAC,IAAA,wBAAS,EAAC,IAAI,CAAC;QAAE,MAAM,IAAI,gCAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9E,IAAI,EAAE,IAAI,CAAC,IAAA,wBAAS,EAAC,EAAE,CAAC;QAAE,MAAM,IAAI,gCAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;AAC1E,CAAC"}

3
node_modules/viem/_cjs/op-stack/types/block.js generated vendored Normal file
View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=block.js.map

1
node_modules/viem/_cjs/op-stack/types/block.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"block.js","sourceRoot":"","sources":["../../../op-stack/types/block.ts"],"names":[],"mappings":""}

3
node_modules/viem/_cjs/op-stack/types/chain.js generated vendored Normal file
View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=chain.js.map

1
node_modules/viem/_cjs/op-stack/types/chain.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../op-stack/types/chain.ts"],"names":[],"mappings":""}

3
node_modules/viem/_cjs/op-stack/types/contract.js generated vendored Normal file
View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=contract.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../op-stack/types/contract.ts"],"names":[],"mappings":""}

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