diff --git a/node_modules/viem/_cjs/nonce/index.js.map b/node_modules/viem/_cjs/nonce/index.js.map new file mode 100644 index 0000000000000000000000000000000000000000..4cfb0185361fb31663d8e27ffd9d744b31578162 --- /dev/null +++ b/node_modules/viem/_cjs/nonce/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../nonce/index.ts"],"names":[],"mappings":";;;AACA,4DAOiC;AAL/B,qHAAA,kBAAkB,OAAA;AAClB,0GAAA,OAAO,OAAA;AAGP,+GAAA,YAAY,OAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/abis.js b/node_modules/viem/_cjs/op-stack/abis.js new file mode 100644 index 0000000000000000000000000000000000000000..84bbf010a014d37bc906ad1403065c79d2f19845 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/abis.js @@ -0,0 +1,2177 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.anchorStateRegistryAbi = exports.portalAbi = exports.portal2Abi = exports.disputeGameFactoryAbi = exports.disputeGameAbi = exports.l2ToL1MessagePasserAbi = exports.l2OutputOracleAbi = exports.l1BlockAbi = exports.gasPriceOracleAbi = void 0; +exports.gasPriceOracleAbi = [ + { inputs: [], stateMutability: 'nonpayable', type: 'constructor' }, + { + inputs: [], + name: 'DECIMALS', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'baseFee', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'decimals', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'pure', + type: 'function', + }, + { + inputs: [], + name: 'gasPrice', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ internalType: 'bytes', name: '_data', type: 'bytes' }], + name: 'getL1Fee', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ internalType: 'bytes', name: '_data', type: 'bytes' }], + name: 'getL1GasUsed', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ internalType: 'uint256', name: '_gasUsed', type: 'uint256' }], + name: 'getOperatorFee', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'isJovian', + outputs: [{ internalType: 'bool', name: '', type: 'bool' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'l1BaseFee', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'overhead', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'scalar', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'version', + outputs: [{ internalType: 'string', name: '', type: 'string' }], + stateMutability: 'view', + type: 'function', + }, +]; +exports.l1BlockAbi = [ + { + inputs: [], + name: 'operatorFeeScalar', + outputs: [{ internalType: 'uint32', name: '', type: 'uint32' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'operatorFeeConstant', + outputs: [{ internalType: 'uint64', name: '', type: 'uint64' }], + stateMutability: 'view', + type: 'function', + }, +]; +exports.l2OutputOracleAbi = [ + { + inputs: [ + { internalType: 'uint256', name: '_submissionInterval', type: 'uint256' }, + { internalType: 'uint256', name: '_l2BlockTime', type: 'uint256' }, + { + internalType: 'uint256', + name: '_startingBlockNumber', + type: 'uint256', + }, + { internalType: 'uint256', name: '_startingTimestamp', type: 'uint256' }, + { internalType: 'address', name: '_proposer', type: 'address' }, + { internalType: 'address', name: '_challenger', type: 'address' }, + { + internalType: 'uint256', + name: '_finalizationPeriodSeconds', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + anonymous: false, + inputs: [ + { indexed: false, internalType: 'uint8', name: 'version', type: 'uint8' }, + ], + name: 'Initialized', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'outputRoot', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'uint256', + name: 'l2OutputIndex', + type: 'uint256', + }, + { + indexed: true, + internalType: 'uint256', + name: 'l2BlockNumber', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'l1Timestamp', + type: 'uint256', + }, + ], + name: 'OutputProposed', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'prevNextOutputIndex', + type: 'uint256', + }, + { + indexed: true, + internalType: 'uint256', + name: 'newNextOutputIndex', + type: 'uint256', + }, + ], + name: 'OutputsDeleted', + type: 'event', + }, + { + inputs: [], + name: 'CHALLENGER', + outputs: [{ internalType: 'address', name: '', type: 'address' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'FINALIZATION_PERIOD_SECONDS', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'L2_BLOCK_TIME', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'PROPOSER', + outputs: [{ internalType: 'address', name: '', type: 'address' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'SUBMISSION_INTERVAL', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { internalType: 'uint256', name: '_l2BlockNumber', type: 'uint256' }, + ], + name: 'computeL2Timestamp', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { internalType: 'uint256', name: '_l2OutputIndex', type: 'uint256' }, + ], + name: 'deleteL2Outputs', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { internalType: 'uint256', name: '_l2OutputIndex', type: 'uint256' }, + ], + name: 'getL2Output', + outputs: [ + { + components: [ + { internalType: 'bytes32', name: 'outputRoot', type: 'bytes32' }, + { internalType: 'uint128', name: 'timestamp', type: 'uint128' }, + { internalType: 'uint128', name: 'l2BlockNumber', type: 'uint128' }, + ], + internalType: 'struct Types.OutputProposal', + name: '', + type: 'tuple', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { internalType: 'uint256', name: '_l2BlockNumber', type: 'uint256' }, + ], + name: 'getL2OutputAfter', + outputs: [ + { + components: [ + { internalType: 'bytes32', name: 'outputRoot', type: 'bytes32' }, + { internalType: 'uint128', name: 'timestamp', type: 'uint128' }, + { internalType: 'uint128', name: 'l2BlockNumber', type: 'uint128' }, + ], + internalType: 'struct Types.OutputProposal', + name: '', + type: 'tuple', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { internalType: 'uint256', name: '_l2BlockNumber', type: 'uint256' }, + ], + name: 'getL2OutputIndexAfter', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_startingBlockNumber', + type: 'uint256', + }, + { internalType: 'uint256', name: '_startingTimestamp', type: 'uint256' }, + ], + name: 'initialize', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'latestBlockNumber', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'latestOutputIndex', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'nextBlockNumber', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'nextOutputIndex', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { internalType: 'bytes32', name: '_outputRoot', type: 'bytes32' }, + { internalType: 'uint256', name: '_l2BlockNumber', type: 'uint256' }, + { internalType: 'bytes32', name: '_l1BlockHash', type: 'bytes32' }, + { internalType: 'uint256', name: '_l1BlockNumber', type: 'uint256' }, + ], + name: 'proposeL2Output', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [], + name: 'startingBlockNumber', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'startingTimestamp', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'version', + outputs: [{ internalType: 'string', name: '', type: 'string' }], + stateMutability: 'view', + type: 'function', + }, +]; +exports.l2ToL1MessagePasserAbi = [ + { inputs: [], stateMutability: 'nonpayable', type: 'constructor' }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'nonce', + type: 'uint256', + }, + { + indexed: true, + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'target', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'value', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'gasLimit', + type: 'uint256', + }, + { indexed: false, internalType: 'bytes', name: 'data', type: 'bytes' }, + { + indexed: false, + internalType: 'bytes32', + name: 'withdrawalHash', + type: 'bytes32', + }, + ], + name: 'MessagePassed', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'WithdrawerBalanceBurnt', + type: 'event', + }, + { + inputs: [], + name: 'MESSAGE_VERSION', + outputs: [{ internalType: 'uint16', name: '', type: 'uint16' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'burn', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: '_target', type: 'address' }, + { internalType: 'uint256', name: '_gasLimit', type: 'uint256' }, + { internalType: 'bytes', name: '_data', type: 'bytes' }, + ], + name: 'initiateWithdrawal', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [], + name: 'messageNonce', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }], + name: 'sentMessages', + outputs: [{ internalType: 'bool', name: '', type: 'bool' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'version', + outputs: [{ internalType: 'string', name: '', type: 'string' }], + stateMutability: 'view', + type: 'function', + }, + { stateMutability: 'payable', type: 'receive' }, +]; +exports.disputeGameAbi = [ + { + type: 'function', + name: 'l2SequenceNumber', + inputs: [], + outputs: [ + { + name: 'l2SequenceNumber_', + type: 'uint256', + internalType: 'uint256', + }, + ], + stateMutability: 'pure', + }, +]; +exports.disputeGameFactoryAbi = [ + { + type: 'constructor', + inputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'create', + inputs: [ + { + name: '_gameType', + type: 'uint32', + internalType: 'GameType', + }, + { + name: '_rootClaim', + type: 'bytes32', + internalType: 'Claim', + }, + { + name: '_extraData', + type: 'bytes', + internalType: 'bytes', + }, + ], + outputs: [ + { + name: 'proxy_', + type: 'address', + internalType: 'contract IDisputeGame', + }, + ], + stateMutability: 'payable', + }, + { + type: 'function', + name: 'findLatestGames', + inputs: [ + { + name: '_gameType', + type: 'uint32', + internalType: 'GameType', + }, + { + name: '_start', + type: 'uint256', + internalType: 'uint256', + }, + { + name: '_n', + type: 'uint256', + internalType: 'uint256', + }, + ], + outputs: [ + { + name: 'games_', + type: 'tuple[]', + internalType: 'struct IDisputeGameFactory.GameSearchResult[]', + components: [ + { + name: 'index', + type: 'uint256', + internalType: 'uint256', + }, + { + name: 'metadata', + type: 'bytes32', + internalType: 'GameId', + }, + { + name: 'timestamp', + type: 'uint64', + internalType: 'Timestamp', + }, + { + name: 'rootClaim', + type: 'bytes32', + internalType: 'Claim', + }, + { + name: 'extraData', + type: 'bytes', + internalType: 'bytes', + }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'gameAtIndex', + inputs: [ + { + name: '_index', + type: 'uint256', + internalType: 'uint256', + }, + ], + outputs: [ + { + name: 'gameType_', + type: 'uint32', + internalType: 'GameType', + }, + { + name: 'timestamp_', + type: 'uint64', + internalType: 'Timestamp', + }, + { + name: 'proxy_', + type: 'address', + internalType: 'contract IDisputeGame', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'gameCount', + inputs: [], + outputs: [ + { + name: 'gameCount_', + type: 'uint256', + internalType: 'uint256', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'gameImpls', + inputs: [ + { + name: '', + type: 'uint32', + internalType: 'GameType', + }, + ], + outputs: [ + { + name: '', + type: 'address', + internalType: 'contract IDisputeGame', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'games', + inputs: [ + { + name: '_gameType', + type: 'uint32', + internalType: 'GameType', + }, + { + name: '_rootClaim', + type: 'bytes32', + internalType: 'Claim', + }, + { + name: '_extraData', + type: 'bytes', + internalType: 'bytes', + }, + ], + outputs: [ + { + name: 'proxy_', + type: 'address', + internalType: 'contract IDisputeGame', + }, + { + name: 'timestamp_', + type: 'uint64', + internalType: 'Timestamp', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'getGameUUID', + inputs: [ + { + name: '_gameType', + type: 'uint32', + internalType: 'GameType', + }, + { + name: '_rootClaim', + type: 'bytes32', + internalType: 'Claim', + }, + { + name: '_extraData', + type: 'bytes', + internalType: 'bytes', + }, + ], + outputs: [ + { + name: 'uuid_', + type: 'bytes32', + internalType: 'Hash', + }, + ], + stateMutability: 'pure', + }, + { + type: 'function', + name: 'initBonds', + inputs: [ + { + name: '', + type: 'uint32', + internalType: 'GameType', + }, + ], + outputs: [ + { + name: '', + type: 'uint256', + internalType: 'uint256', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'initialize', + inputs: [ + { + name: '_owner', + type: 'address', + internalType: 'address', + }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'owner', + inputs: [], + outputs: [ + { + name: '', + type: 'address', + internalType: 'address', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'renounceOwnership', + inputs: [], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'setImplementation', + inputs: [ + { + name: '_gameType', + type: 'uint32', + internalType: 'GameType', + }, + { + name: '_impl', + type: 'address', + internalType: 'contract IDisputeGame', + }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'setInitBond', + inputs: [ + { + name: '_gameType', + type: 'uint32', + internalType: 'GameType', + }, + { + name: '_initBond', + type: 'uint256', + internalType: 'uint256', + }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'transferOwnership', + inputs: [ + { + name: 'newOwner', + type: 'address', + internalType: 'address', + }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'version', + inputs: [], + outputs: [ + { + name: '', + type: 'string', + internalType: 'string', + }, + ], + stateMutability: 'view', + }, + { + type: 'event', + name: 'DisputeGameCreated', + inputs: [ + { + name: 'disputeProxy', + type: 'address', + indexed: true, + internalType: 'address', + }, + { + name: 'gameType', + type: 'uint32', + indexed: true, + internalType: 'GameType', + }, + { + name: 'rootClaim', + type: 'bytes32', + indexed: true, + internalType: 'Claim', + }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'ImplementationSet', + inputs: [ + { + name: 'impl', + type: 'address', + indexed: true, + internalType: 'address', + }, + { + name: 'gameType', + type: 'uint32', + indexed: true, + internalType: 'GameType', + }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'InitBondUpdated', + inputs: [ + { + name: 'gameType', + type: 'uint32', + indexed: true, + internalType: 'GameType', + }, + { + name: 'newBond', + type: 'uint256', + indexed: true, + internalType: 'uint256', + }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'Initialized', + inputs: [ + { + name: 'version', + type: 'uint8', + indexed: false, + internalType: 'uint8', + }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'OwnershipTransferred', + inputs: [ + { + name: 'previousOwner', + type: 'address', + indexed: true, + internalType: 'address', + }, + { + name: 'newOwner', + type: 'address', + indexed: true, + internalType: 'address', + }, + ], + anonymous: false, + }, + { + type: 'error', + name: 'GameAlreadyExists', + inputs: [ + { + name: 'uuid', + type: 'bytes32', + internalType: 'Hash', + }, + ], + }, + { + type: 'error', + name: 'InsufficientBond', + inputs: [], + }, + { + type: 'error', + name: 'NoImplementation', + inputs: [ + { + name: 'gameType', + type: 'uint32', + internalType: 'GameType', + }, + ], + }, +]; +exports.portal2Abi = [ + { + inputs: [ + { + internalType: 'uint256', + name: '_proofMaturityDelaySeconds', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_disputeGameFinalityDelaySeconds', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + stateMutability: 'payable', + type: 'receive', + }, + { + inputs: [ + { + internalType: 'contract IDisputeGame', + name: '_disputeGame', + type: 'address', + }, + ], + name: 'blacklistDisputeGame', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: '_withdrawalHash', + type: 'bytes32', + }, + { + internalType: 'address', + name: '_proofSubmitter', + type: 'address', + }, + ], + name: 'checkWithdrawal', + outputs: [], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_to', + type: 'address', + }, + { + internalType: 'uint256', + name: '_value', + type: 'uint256', + }, + { + internalType: 'uint64', + name: '_gasLimit', + type: 'uint64', + }, + { + internalType: 'bool', + name: '_isCreation', + type: 'bool', + }, + { + internalType: 'bytes', + name: '_data', + type: 'bytes', + }, + ], + name: 'depositTransaction', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'contract IDisputeGame', + name: '', + type: 'address', + }, + ], + name: 'disputeGameBlacklist', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'disputeGameFactory', + outputs: [ + { + internalType: 'contract IDisputeGameFactory', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'disputeGameFinalityDelaySeconds', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'donateETH', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + internalType: 'uint256', + name: 'nonce', + type: 'uint256', + }, + { + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + internalType: 'address', + name: 'target', + type: 'address', + }, + { + internalType: 'uint256', + name: 'value', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'gasLimit', + type: 'uint256', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + internalType: 'struct Types.WithdrawalTransaction', + name: '_tx', + type: 'tuple', + }, + ], + name: 'finalizeWithdrawalTransaction', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + internalType: 'uint256', + name: 'nonce', + type: 'uint256', + }, + { + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + internalType: 'address', + name: 'target', + type: 'address', + }, + { + internalType: 'uint256', + name: 'value', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'gasLimit', + type: 'uint256', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + internalType: 'struct Types.WithdrawalTransaction', + name: '_tx', + type: 'tuple', + }, + { + internalType: 'address', + name: '_proofSubmitter', + type: 'address', + }, + ], + name: 'finalizeWithdrawalTransactionExternalProof', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: '', + type: 'bytes32', + }, + ], + name: 'finalizedWithdrawals', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'guardian', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'contract IDisputeGameFactory', + name: '_disputeGameFactory', + type: 'address', + }, + { + internalType: 'contract ISystemConfig', + name: '_systemConfig', + type: 'address', + }, + { + internalType: 'contract ISuperchainConfig', + name: '_superchainConfig', + type: 'address', + }, + { + internalType: 'GameType', + name: '_initialRespectedGameType', + type: 'uint32', + }, + ], + name: 'initialize', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'l2Sender', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint64', + name: '_byteCount', + type: 'uint64', + }, + ], + name: 'minimumGasLimit', + outputs: [ + { + internalType: 'uint64', + name: '', + type: 'uint64', + }, + ], + stateMutability: 'pure', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: '_withdrawalHash', + type: 'bytes32', + }, + ], + name: 'numProofSubmitters', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'params', + outputs: [ + { + internalType: 'uint128', + name: 'prevBaseFee', + type: 'uint128', + }, + { + internalType: 'uint64', + name: 'prevBoughtGas', + type: 'uint64', + }, + { + internalType: 'uint64', + name: 'prevBlockNum', + type: 'uint64', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'paused', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'proofMaturityDelaySeconds', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: '', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'proofSubmitters', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + internalType: 'uint256', + name: 'nonce', + type: 'uint256', + }, + { + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + internalType: 'address', + name: 'target', + type: 'address', + }, + { + internalType: 'uint256', + name: 'value', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'gasLimit', + type: 'uint256', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + internalType: 'struct Types.WithdrawalTransaction', + name: '_tx', + type: 'tuple', + }, + { + internalType: 'uint256', + name: '_disputeGameIndex', + type: 'uint256', + }, + { + components: [ + { + internalType: 'bytes32', + name: 'version', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 'stateRoot', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 'messagePasserStorageRoot', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 'latestBlockhash', + type: 'bytes32', + }, + ], + internalType: 'struct Types.OutputRootProof', + name: '_outputRootProof', + type: 'tuple', + }, + { + internalType: 'bytes[]', + name: '_withdrawalProof', + type: 'bytes[]', + }, + ], + name: 'proveWithdrawalTransaction', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: '', + type: 'bytes32', + }, + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + name: 'provenWithdrawals', + outputs: [ + { + internalType: 'contract IDisputeGame', + name: 'disputeGameProxy', + type: 'address', + }, + { + internalType: 'uint64', + name: 'timestamp', + type: 'uint64', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'respectedGameType', + outputs: [ + { + internalType: 'GameType', + name: '', + type: 'uint32', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'respectedGameTypeUpdatedAt', + outputs: [ + { + internalType: 'uint64', + name: '', + type: 'uint64', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'GameType', + name: '_gameType', + type: 'uint32', + }, + ], + name: 'setRespectedGameType', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'superchainConfig', + outputs: [ + { + internalType: 'contract ISuperchainConfig', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'systemConfig', + outputs: [ + { + internalType: 'contract ISystemConfig', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'anchorStateRegistry', + outputs: [ + { + internalType: 'contract IAnchorStateRegistry', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'version', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'pure', + type: 'function', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'contract IDisputeGame', + name: 'disputeGame', + type: 'address', + }, + ], + name: 'DisputeGameBlacklisted', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint8', + name: 'version', + type: 'uint8', + }, + ], + name: 'Initialized', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'GameType', + name: 'newGameType', + type: 'uint32', + }, + { + indexed: true, + internalType: 'Timestamp', + name: 'updatedAt', + type: 'uint64', + }, + ], + name: 'RespectedGameTypeSet', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'from', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'to', + type: 'address', + }, + { + indexed: true, + internalType: 'uint256', + name: 'version', + type: 'uint256', + }, + { + indexed: false, + internalType: 'bytes', + name: 'opaqueData', + type: 'bytes', + }, + ], + name: 'TransactionDeposited', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'withdrawalHash', + type: 'bytes32', + }, + { + indexed: false, + internalType: 'bool', + name: 'success', + type: 'bool', + }, + ], + name: 'WithdrawalFinalized', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'withdrawalHash', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'address', + name: 'from', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'to', + type: 'address', + }, + ], + name: 'WithdrawalProven', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'withdrawalHash', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'address', + name: 'proofSubmitter', + type: 'address', + }, + ], + name: 'WithdrawalProvenExtension1', + type: 'event', + }, + { + inputs: [], + name: 'AlreadyFinalized', + type: 'error', + }, + { + inputs: [], + name: 'BadTarget', + type: 'error', + }, + { + inputs: [], + name: 'Blacklisted', + type: 'error', + }, + { + inputs: [], + name: 'CallPaused', + type: 'error', + }, + { + inputs: [], + name: 'ContentLengthMismatch', + type: 'error', + }, + { + inputs: [], + name: 'EmptyItem', + type: 'error', + }, + { + inputs: [], + name: 'GasEstimation', + type: 'error', + }, + { + inputs: [], + name: 'InvalidDataRemainder', + type: 'error', + }, + { + inputs: [], + name: 'InvalidDisputeGame', + type: 'error', + }, + { + inputs: [], + name: 'InvalidGameType', + type: 'error', + }, + { + inputs: [], + name: 'InvalidHeader', + type: 'error', + }, + { + inputs: [], + name: 'InvalidMerkleProof', + type: 'error', + }, + { + inputs: [], + name: 'InvalidProof', + type: 'error', + }, + { + inputs: [], + name: 'LargeCalldata', + type: 'error', + }, + { + inputs: [], + name: 'LegacyGame', + type: 'error', + }, + { + inputs: [], + name: 'NonReentrant', + type: 'error', + }, + { + inputs: [], + name: 'OutOfGas', + type: 'error', + }, + { + inputs: [], + name: 'ProposalNotValidated', + type: 'error', + }, + { + inputs: [], + name: 'SmallGasLimit', + type: 'error', + }, + { + inputs: [], + name: 'Unauthorized', + type: 'error', + }, + { + inputs: [], + name: 'UnexpectedList', + type: 'error', + }, + { + inputs: [], + name: 'UnexpectedString', + type: 'error', + }, + { + inputs: [], + name: 'Unproven', + type: 'error', + }, + { + inputs: [], + name: 'OptimismPortal_AlreadyFinalized', + type: 'error', + }, + { + inputs: [], + name: 'OptimismPortal_Unproven', + type: 'error', + }, + { + inputs: [], + name: 'OptimismPortal_InvalidProofTimestamp', + type: 'error', + }, + { + inputs: [], + name: 'OptimismPortal_ProofNotOldEnough', + type: 'error', + }, + { + inputs: [], + name: 'OptimismPortal_InvalidRootClaim', + type: 'error', + }, +]; +exports.portalAbi = [ + { stateMutability: 'nonpayable', type: 'constructor', inputs: [] }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'version', internalType: 'uint8', type: 'uint8', indexed: false }, + ], + name: 'Initialized', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'account', + internalType: 'address', + type: 'address', + indexed: false, + }, + ], + name: 'Paused', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { + name: 'version', + internalType: 'uint256', + type: 'uint256', + indexed: true, + }, + { + name: 'opaqueData', + internalType: 'bytes', + type: 'bytes', + indexed: false, + }, + ], + name: 'TransactionDeposited', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'account', + internalType: 'address', + type: 'address', + indexed: false, + }, + ], + name: 'Unpaused', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'withdrawalHash', + internalType: 'bytes32', + type: 'bytes32', + indexed: true, + }, + { name: 'success', internalType: 'bool', type: 'bool', indexed: false }, + ], + name: 'WithdrawalFinalized', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'withdrawalHash', + internalType: 'bytes32', + type: 'bytes32', + indexed: true, + }, + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + ], + name: 'WithdrawalProven', + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'GUARDIAN', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'L2_ORACLE', + outputs: [ + { name: '', internalType: 'contract L2OutputOracle', type: 'address' }, + ], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'SYSTEM_CONFIG', + outputs: [ + { name: '', internalType: 'contract SystemConfig', type: 'address' }, + ], + }, + { + stateMutability: 'payable', + type: 'function', + inputs: [ + { name: '_to', internalType: 'address', type: 'address' }, + { name: '_value', internalType: 'uint256', type: 'uint256' }, + { name: '_gasLimit', internalType: 'uint64', type: 'uint64' }, + { name: '_isCreation', internalType: 'bool', type: 'bool' }, + { name: '_data', internalType: 'bytes', type: 'bytes' }, + ], + name: 'depositTransaction', + outputs: [], + }, + { + stateMutability: 'payable', + type: 'function', + inputs: [], + name: 'donateETH', + outputs: [], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: '_tx', + internalType: 'struct Types.WithdrawalTransaction', + type: 'tuple', + components: [ + { name: 'nonce', internalType: 'uint256', type: 'uint256' }, + { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'target', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, + ], + }, + ], + name: 'finalizeWithdrawalTransaction', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + name: 'finalizedWithdrawals', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'guardian', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: '_l2Oracle', + internalType: 'contract L2OutputOracle', + type: 'address', + }, + { name: '_guardian', internalType: 'address', type: 'address' }, + { + name: '_systemConfig', + internalType: 'contract SystemConfig', + type: 'address', + }, + { name: '_paused', internalType: 'bool', type: 'bool' }, + ], + name: 'initialize', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [ + { name: '_l2OutputIndex', internalType: 'uint256', type: 'uint256' }, + ], + name: 'isOutputFinalized', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'l2Oracle', + outputs: [ + { name: '', internalType: 'contract L2OutputOracle', type: 'address' }, + ], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'l2Sender', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + }, + { + stateMutability: 'pure', + type: 'function', + inputs: [{ name: '_byteCount', internalType: 'uint64', type: 'uint64' }], + name: 'minimumGasLimit', + outputs: [{ name: '', internalType: 'uint64', type: 'uint64' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'params', + outputs: [ + { name: 'prevBaseFee', internalType: 'uint128', type: 'uint128' }, + { name: 'prevBoughtGas', internalType: 'uint64', type: 'uint64' }, + { name: 'prevBlockNum', internalType: 'uint64', type: 'uint64' }, + ], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [], + name: 'pause', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'paused', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [ + { + name: '_tx', + internalType: 'struct Types.WithdrawalTransaction', + type: 'tuple', + components: [ + { name: 'nonce', internalType: 'uint256', type: 'uint256' }, + { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'target', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + { name: 'gasLimit', internalType: 'uint256', type: 'uint256' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, + ], + }, + { name: '_l2OutputIndex', internalType: 'uint256', type: 'uint256' }, + { + name: '_outputRootProof', + internalType: 'struct Types.OutputRootProof', + type: 'tuple', + components: [ + { name: 'version', internalType: 'bytes32', type: 'bytes32' }, + { name: 'stateRoot', internalType: 'bytes32', type: 'bytes32' }, + { + name: 'messagePasserStorageRoot', + internalType: 'bytes32', + type: 'bytes32', + }, + { name: 'latestBlockhash', internalType: 'bytes32', type: 'bytes32' }, + ], + }, + { name: '_withdrawalProof', internalType: 'bytes[]', type: 'bytes[]' }, + ], + name: 'proveWithdrawalTransaction', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: '', internalType: 'bytes32', type: 'bytes32' }], + name: 'provenWithdrawals', + outputs: [ + { name: 'outputRoot', internalType: 'bytes32', type: 'bytes32' }, + { name: 'timestamp', internalType: 'uint128', type: 'uint128' }, + { name: 'l2OutputIndex', internalType: 'uint128', type: 'uint128' }, + ], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'systemConfig', + outputs: [ + { name: '', internalType: 'contract SystemConfig', type: 'address' }, + ], + }, + { + stateMutability: 'nonpayable', + type: 'function', + inputs: [], + name: 'unpause', + outputs: [], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [], + name: 'version', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + }, + { stateMutability: 'payable', type: 'receive' }, +]; +exports.anchorStateRegistryAbi = [ + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: '_game', internalType: 'address', type: 'address' }], + name: 'isGameProper', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: '_game', internalType: 'address', type: 'address' }], + name: 'isGameRespected', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, + { + stateMutability: 'view', + type: 'function', + inputs: [{ name: '_game', internalType: 'address', type: 'address' }], + name: 'isGameFinalized', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + }, +]; +//# sourceMappingURL=abis.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/abis.js.map b/node_modules/viem/_cjs/op-stack/abis.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c8f25b95ef4b5bc0ee68375140080f0d5fc1ca8a --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/abis.js.map @@ -0,0 +1 @@ +{"version":3,"file":"abis.js","sourceRoot":"","sources":["../../op-stack/abis.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/buildDepositTransaction.js b/node_modules/viem/_cjs/op-stack/actions/buildDepositTransaction.js new file mode 100644 index 0000000000000000000000000000000000000000..8aa76a67794b15a539491f00dcaab38f2df86253 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/buildDepositTransaction.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/buildDepositTransaction.js.map b/node_modules/viem/_cjs/op-stack/actions/buildDepositTransaction.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5743ab7da62c2989d6f56d15b2bdbc5a7b7992cb --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/buildDepositTransaction.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/buildInitiateWithdrawal.js b/node_modules/viem/_cjs/op-stack/actions/buildInitiateWithdrawal.js new file mode 100644 index 0000000000000000000000000000000000000000..fba3c79b9e26e06a9c57b7f888f45bccaa4c422e --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/buildInitiateWithdrawal.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/buildInitiateWithdrawal.js.map b/node_modules/viem/_cjs/op-stack/actions/buildInitiateWithdrawal.js.map new file mode 100644 index 0000000000000000000000000000000000000000..40e0a4df6ae51e0314eae0c08807e0606f72195a --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/buildInitiateWithdrawal.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/buildProveWithdrawal.js b/node_modules/viem/_cjs/op-stack/actions/buildProveWithdrawal.js new file mode 100644 index 0000000000000000000000000000000000000000..57b68c810712260d8fc71db899ff76f02ffaf578 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/buildProveWithdrawal.js @@ -0,0 +1,66 @@ +"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 getL2BlockNumberAtTimestamp_js_1 = require("../utils/getL2BlockNumberAtTimestamp.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 blockNumber = game?.usesSuperRoots + ? await (0, getL2BlockNumberAtTimestamp_js_1.getL2BlockNumberAtTimestamp)(client, { + timestamp: game.l2BlockNumber, + }) + : l2BlockNumber; + 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, + }), + (0, getBlock_js_1.getBlock)(client, { + blockNumber, + }), + ]); + if (game?.usesSuperRoots && block.timestamp !== game.l2BlockNumber) + throw new Error(`L2 block timestamp ${block.timestamp} does not match dispute game timestamp ${game.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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/buildProveWithdrawal.js.map b/node_modules/viem/_cjs/op-stack/actions/buildProveWithdrawal.js.map new file mode 100644 index 0000000000000000000000000000000000000000..55dd77eb61d344f2c266d496c1c453d75f8c0be9 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/buildProveWithdrawal.js.map @@ -0,0 +1 @@ +{"version":3,"file":"buildProveWithdrawal.js","sourceRoot":"","sources":["../../../op-stack/actions/buildProveWithdrawal.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/depositTransaction.js b/node_modules/viem/_cjs/op-stack/actions/depositTransaction.js new file mode 100644 index 0000000000000000000000000000000000000000..1196c573021baf0c3a061322d88b96cf956e1158 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/depositTransaction.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/depositTransaction.js.map b/node_modules/viem/_cjs/op-stack/actions/depositTransaction.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ac3dcc200a1de6cb0d6dcb7f750772032ca06112 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/depositTransaction.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateContractL1Fee.js b/node_modules/viem/_cjs/op-stack/actions/estimateContractL1Fee.js new file mode 100644 index 0000000000000000000000000000000000000000..c7f3c10e27570b1854f3bd46e537eb79029c06da --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateContractL1Fee.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateContractL1Fee.js.map b/node_modules/viem/_cjs/op-stack/actions/estimateContractL1Fee.js.map new file mode 100644 index 0000000000000000000000000000000000000000..48191b9f01b872d377a7a575f37f27612240b622 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateContractL1Fee.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateContractL1Gas.js b/node_modules/viem/_cjs/op-stack/actions/estimateContractL1Gas.js new file mode 100644 index 0000000000000000000000000000000000000000..530c8f81ad72280cc0c511631106b9c78e7120fc --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateContractL1Gas.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateContractL1Gas.js.map b/node_modules/viem/_cjs/op-stack/actions/estimateContractL1Gas.js.map new file mode 100644 index 0000000000000000000000000000000000000000..82a9c55d5bc5c9cbc00db3010ee987a5e3727787 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateContractL1Gas.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateContractTotalFee.js b/node_modules/viem/_cjs/op-stack/actions/estimateContractTotalFee.js new file mode 100644 index 0000000000000000000000000000000000000000..e0c0e94b2355ff75ba88c6b71f66fa882918ca71 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateContractTotalFee.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateContractTotalFee.js.map b/node_modules/viem/_cjs/op-stack/actions/estimateContractTotalFee.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8d460a17250ba568085a57452d32e29c09afc8b9 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateContractTotalFee.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateContractTotalGas.js b/node_modules/viem/_cjs/op-stack/actions/estimateContractTotalGas.js new file mode 100644 index 0000000000000000000000000000000000000000..baa368b2c04dfe380a8411e4e3aec4194508d103 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateContractTotalGas.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateContractTotalGas.js.map b/node_modules/viem/_cjs/op-stack/actions/estimateContractTotalGas.js.map new file mode 100644 index 0000000000000000000000000000000000000000..13dbc86478131a429bdf03389da5e05b1d80c6f9 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateContractTotalGas.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateDepositTransactionGas.js b/node_modules/viem/_cjs/op-stack/actions/estimateDepositTransactionGas.js new file mode 100644 index 0000000000000000000000000000000000000000..4cb0d978648224e3df827ad42032558292f4be5f --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateDepositTransactionGas.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateDepositTransactionGas.js.map b/node_modules/viem/_cjs/op-stack/actions/estimateDepositTransactionGas.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d364ac9b3ab9762738e27c8ee6a378cebf680323 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateDepositTransactionGas.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateFinalizeWithdrawalGas.js b/node_modules/viem/_cjs/op-stack/actions/estimateFinalizeWithdrawalGas.js new file mode 100644 index 0000000000000000000000000000000000000000..9e1de17803f5134ca7afb838481b0ba3ac9f5055 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateFinalizeWithdrawalGas.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateFinalizeWithdrawalGas.js.map b/node_modules/viem/_cjs/op-stack/actions/estimateFinalizeWithdrawalGas.js.map new file mode 100644 index 0000000000000000000000000000000000000000..367f91d4da22685096670c2e04140632fb1fa34d --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateFinalizeWithdrawalGas.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateInitiateWithdrawalGas.js b/node_modules/viem/_cjs/op-stack/actions/estimateInitiateWithdrawalGas.js new file mode 100644 index 0000000000000000000000000000000000000000..72288637b543cdc835d98b18ef2be91d5f787bf4 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateInitiateWithdrawalGas.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateInitiateWithdrawalGas.js.map b/node_modules/viem/_cjs/op-stack/actions/estimateInitiateWithdrawalGas.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f0c58ad434ac7edcbaccad87a336599d873f9fa2 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateInitiateWithdrawalGas.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateL1Fee.js b/node_modules/viem/_cjs/op-stack/actions/estimateL1Fee.js new file mode 100644 index 0000000000000000000000000000000000000000..9df527679a498484679704f9a9f99e64b4e4d382 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateL1Fee.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateL1Fee.js.map b/node_modules/viem/_cjs/op-stack/actions/estimateL1Fee.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ab34109b52c40818b8095c9bb3556d643af00f59 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateL1Fee.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateL1Gas.js b/node_modules/viem/_cjs/op-stack/actions/estimateL1Gas.js new file mode 100644 index 0000000000000000000000000000000000000000..43ca92f940240b0d77ffb433f37390cd1acaee9e --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateL1Gas.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateL1Gas.js.map b/node_modules/viem/_cjs/op-stack/actions/estimateL1Gas.js.map new file mode 100644 index 0000000000000000000000000000000000000000..64a7bee868b6eb95358d6519a321de9cd75d6438 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateL1Gas.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateOperatorFee.js b/node_modules/viem/_cjs/op-stack/actions/estimateOperatorFee.js new file mode 100644 index 0000000000000000000000000000000000000000..fbb1dc0983b57dab8d66025d59d4df0f2898d41d --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateOperatorFee.js @@ -0,0 +1,53 @@ +"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, gasPriceOracleAddress: gasPriceOracleAddress_, l1BlockAddress, } = 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 gasUsed = await (0, estimateGas_js_1.estimateGas)(client, args); + if (l1BlockAddress) { + const [operatorFeeScalar, operatorFeeConstant, isJovian] = 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', + }), + (0, readContract_js_1.readContract)(client, { + abi: abis_js_1.gasPriceOracleAbi, + address: gasPriceOracleAddress, + functionName: 'isJovian', + }).catch(() => false), + ]); + const scalar = BigInt(operatorFeeScalar); + const constant = BigInt(operatorFeeConstant); + if (isJovian) + return gasUsed * scalar * 100n + constant; + return (gasUsed * scalar) / 1000000n + constant; + } + return (0, readContract_js_1.readContract)(client, { + abi: abis_js_1.gasPriceOracleAbi, + address: gasPriceOracleAddress, + functionName: 'getOperatorFee', + args: [gasUsed], + }); +} +//# sourceMappingURL=estimateOperatorFee.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateOperatorFee.js.map b/node_modules/viem/_cjs/op-stack/actions/estimateOperatorFee.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7a1a37d1d78afdfd0acc8bdf3dbf67344481b507 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateOperatorFee.js.map @@ -0,0 +1 @@ +{"version":3,"file":"estimateOperatorFee.js","sourceRoot":"","sources":["../../../op-stack/actions/estimateOperatorFee.ts"],"names":[],"mappings":";;AAyEA,kDA2DC;AAlID,wEAI4C;AAC5C,0EAG6C;AAQ7C,6FAAsF;AAEtF,wCAA0D;AAC1D,kDAA2C;AAoDpC,KAAK,UAAU,mBAAmB,CAKvC,MAA2C,EAC3C,IAAqE;IAErE,MAAM,EACJ,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,qBAAqB,EAAE,sBAAsB,EAC7C,cAAc,GACf,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,EAAa,CAAA;IAEf,MAAM,OAAO,GAAG,MAAM,IAAA,4BAAW,EAAC,MAAM,EAAE,IAA6B,CAAC,CAAA;IAExE,IAAI,cAAc,EAAE,CAAC;QAEnB,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,QAAQ,CAAC,GACtD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,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;YACF,IAAA,8BAAY,EAAC,MAAM,EAAE;gBACnB,GAAG,EAAE,2BAAiB;gBACtB,OAAO,EAAE,qBAAqB;gBAC9B,YAAY,EAAE,UAAU;aACzB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;SACtB,CAAC,CAAA;QAEJ,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;QACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;QAC5C,IAAI,QAAQ;YAAE,OAAO,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAA;QACvD,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,QAAU,GAAG,QAAQ,CAAA;IACnD,CAAC;IAED,OAAO,IAAA,8BAAY,EAAC,MAAM,EAAE;QAC1B,GAAG,EAAE,2BAAiB;QACtB,OAAO,EAAE,qBAAqB;QAC9B,YAAY,EAAE,gBAAgB;QAC9B,IAAI,EAAE,CAAC,OAAO,CAAC;KAChB,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateProveWithdrawalGas.js b/node_modules/viem/_cjs/op-stack/actions/estimateProveWithdrawalGas.js new file mode 100644 index 0000000000000000000000000000000000000000..bfd0924487f7514802c0474e17ac6be571458d9a --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateProveWithdrawalGas.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateProveWithdrawalGas.js.map b/node_modules/viem/_cjs/op-stack/actions/estimateProveWithdrawalGas.js.map new file mode 100644 index 0000000000000000000000000000000000000000..86e227e9355af1baf327f52071560808fd04c3e5 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateProveWithdrawalGas.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateTotalFee.js b/node_modules/viem/_cjs/op-stack/actions/estimateTotalFee.js new file mode 100644 index 0000000000000000000000000000000000000000..802674490d9800d930f4088b478415f6a2358fb5 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateTotalFee.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateTotalFee.js.map b/node_modules/viem/_cjs/op-stack/actions/estimateTotalFee.js.map new file mode 100644 index 0000000000000000000000000000000000000000..1cba44e0e1a5494b3e29ec881e24697cbf4070e5 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateTotalFee.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateTotalGas.js b/node_modules/viem/_cjs/op-stack/actions/estimateTotalGas.js new file mode 100644 index 0000000000000000000000000000000000000000..091f0d71e718c6b5c71d1216d9c37baa6173aa05 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateTotalGas.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/estimateTotalGas.js.map b/node_modules/viem/_cjs/op-stack/actions/estimateTotalGas.js.map new file mode 100644 index 0000000000000000000000000000000000000000..031017e42f9e4507ea3498a49701dd1f090e91a4 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/estimateTotalGas.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/finalizeWithdrawal.js b/node_modules/viem/_cjs/op-stack/actions/finalizeWithdrawal.js new file mode 100644 index 0000000000000000000000000000000000000000..141a2d850529485366313a5d78c501f4e41f4d92 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/finalizeWithdrawal.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/finalizeWithdrawal.js.map b/node_modules/viem/_cjs/op-stack/actions/finalizeWithdrawal.js.map new file mode 100644 index 0000000000000000000000000000000000000000..4ba43760872caa5eb47661e23701cbc4d807f0a2 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/finalizeWithdrawal.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/getGame.js b/node_modules/viem/_cjs/op-stack/actions/getGame.js new file mode 100644 index 0000000000000000000000000000000000000000..c1c55af7bb539c4e41a46263612374960bade454 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/getGame.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/getGame.js.map b/node_modules/viem/_cjs/op-stack/actions/getGame.js.map new file mode 100644 index 0000000000000000000000000000000000000000..186deae9384cf0a17c8d2a9535a2e25488cd5493 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/getGame.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getGame.js","sourceRoot":"","sources":["../../../op-stack/actions/getGame.ts"],"names":[],"mappings":";;AAmFA,0BAsBC;AAhGD,2DAGgC;AAGhC,+CAAgE;AAoEzD,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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/getGames.js b/node_modules/viem/_cjs/op-stack/actions/getGames.js new file mode 100644 index 0000000000000000000000000000000000000000..6ff18d028cbffaac726f7d1c862df5cdb893174a --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/getGames.js @@ -0,0 +1,66 @@ +"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"); +const gameTypes_js_1 = require("../gameTypes.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 usesSuperRoots = (0, gameTypes_js_1.isSuperGameType)(gameType); + const games = rawGames + .map((game, i) => { + const blockNumber = l2SequenceNumbers[i]; + return !l2BlockNumber || blockNumber > l2BlockNumber + ? { ...game, l2BlockNumber: blockNumber, usesSuperRoots } + : null; + }) + .filter(Boolean); + return games; +} +//# sourceMappingURL=getGames.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/getGames.js.map b/node_modules/viem/_cjs/op-stack/actions/getGames.js.map new file mode 100644 index 0000000000000000000000000000000000000000..248126c3627526bca955806c719a95b6555fb2d1 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/getGames.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getGames.js","sourceRoot":"","sources":["../../../op-stack/actions/getGames.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/getL1BaseFee.js b/node_modules/viem/_cjs/op-stack/actions/getL1BaseFee.js new file mode 100644 index 0000000000000000000000000000000000000000..8cfdb9283b0f851e4036c38a1012c66be0cda216 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/getL1BaseFee.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/getL1BaseFee.js.map b/node_modules/viem/_cjs/op-stack/actions/getL1BaseFee.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e5a6a5e6ffa4c4176a59f771ad452416df6f16d1 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/getL1BaseFee.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/getL2Output.js b/node_modules/viem/_cjs/op-stack/actions/getL2Output.js new file mode 100644 index 0000000000000000000000000000000000000000..585677e599e17bff8a3ef58bfffa206ece088c13 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/getL2Output.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/getL2Output.js.map b/node_modules/viem/_cjs/op-stack/actions/getL2Output.js.map new file mode 100644 index 0000000000000000000000000000000000000000..2329e6979d6a6548052c8a2ebad1b2dd45de1a5d --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/getL2Output.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/getPortalVersion.js b/node_modules/viem/_cjs/op-stack/actions/getPortalVersion.js new file mode 100644 index 0000000000000000000000000000000000000000..4386f7c88c7dac70f8db6e8fca871ccca485c7b6 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/getPortalVersion.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/getPortalVersion.js.map b/node_modules/viem/_cjs/op-stack/actions/getPortalVersion.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e5b2190c7362c472908940b3e0bda582ee128aef --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/getPortalVersion.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/getTimeToFinalize.js b/node_modules/viem/_cjs/op-stack/actions/getTimeToFinalize.js new file mode 100644 index 0000000000000000000000000000000000000000..f53aeab11dd111e2a085f669ac13e680485f3762 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/getTimeToFinalize.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/getTimeToFinalize.js.map b/node_modules/viem/_cjs/op-stack/actions/getTimeToFinalize.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6146e361fb612dc135c0cae6e46cda635fde61ea --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/getTimeToFinalize.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getTimeToFinalize.js","sourceRoot":"","sources":["../../../op-stack/actions/getTimeToFinalize.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/getTimeToNextGame.js b/node_modules/viem/_cjs/op-stack/actions/getTimeToNextGame.js new file mode 100644 index 0000000000000000000000000000000000000000..d4aab97695f93f10df42dbd8416ec0cef20e68ce --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/getTimeToNextGame.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/getTimeToNextGame.js.map b/node_modules/viem/_cjs/op-stack/actions/getTimeToNextGame.js.map new file mode 100644 index 0000000000000000000000000000000000000000..541bb7282f0dcea52d6643dff52bcd962fa4c4f7 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/getTimeToNextGame.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getTimeToNextGame.js","sourceRoot":"","sources":["../../../op-stack/actions/getTimeToNextGame.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/getTimeToNextL2Output.js b/node_modules/viem/_cjs/op-stack/actions/getTimeToNextL2Output.js new file mode 100644 index 0000000000000000000000000000000000000000..8b274f8ee72beddeaf250dd0dd3814724a5e8f9f --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/getTimeToNextL2Output.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/getTimeToNextL2Output.js.map b/node_modules/viem/_cjs/op-stack/actions/getTimeToNextL2Output.js.map new file mode 100644 index 0000000000000000000000000000000000000000..01fc8eb465bcd2d9e7709f8398bdf784a7766645 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/getTimeToNextL2Output.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/getTimeToProve.js b/node_modules/viem/_cjs/op-stack/actions/getTimeToProve.js new file mode 100644 index 0000000000000000000000000000000000000000..b4297081ba3478972222f84398fc665c015b574e --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/getTimeToProve.js @@ -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 { l2Timestamp, 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: l2Timestamp ?? receipt.blockNumber, + }); + return (0, getTimeToNextGame_js_1.getTimeToNextGame)(client, { + ...parameters, + l2BlockNumber: l2Timestamp ?? receipt.blockNumber, + }); +} +//# sourceMappingURL=getTimeToProve.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/getTimeToProve.js.map b/node_modules/viem/_cjs/op-stack/actions/getTimeToProve.js.map new file mode 100644 index 0000000000000000000000000000000000000000..df56bcc07f519d82e638a9a033cd7188d865716e --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/getTimeToProve.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getTimeToProve.js","sourceRoot":"","sources":["../../../op-stack/actions/getTimeToProve.ts"],"names":[],"mappings":";;AAgGA,wCA0BC;AA9GD,+DAI8B;AAC9B,iEAK+B;AAC/B,yEAKmC;AAoE5B,KAAK,UAAU,cAAc,CAKlC,MAAyC,EACzC,UAA0D;IAE1D,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAE3C,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,WAAW,IAAI,OAAO,CAAC,WAAW;SACf,CAAC,CAAA;IAEvC,OAAO,IAAA,wCAAiB,EAAC,MAAM,EAAE;QAC/B,GAAG,UAAU;QACb,aAAa,EAAE,WAAW,IAAI,OAAO,CAAC,WAAW;KACnB,CAAC,CAAA;AACnC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/getWithdrawalStatus.js b/node_modules/viem/_cjs/op-stack/actions/getWithdrawalStatus.js new file mode 100644 index 0000000000000000000000000000000000000000..c5abb410465149f6ff77849b272696eb5b62200e --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/getWithdrawalStatus.js @@ -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 = parameters.l2Timestamp ?? 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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/getWithdrawalStatus.js.map b/node_modules/viem/_cjs/op-stack/actions/getWithdrawalStatus.js.map new file mode 100644 index 0000000000000000000000000000000000000000..0f8035dc24a81dd504a1bd436d3edb6342892d28 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/getWithdrawalStatus.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getWithdrawalStatus.js","sourceRoot":"","sources":["../../../op-stack/actions/getWithdrawalStatus.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/initiateWithdrawal.js b/node_modules/viem/_cjs/op-stack/actions/initiateWithdrawal.js new file mode 100644 index 0000000000000000000000000000000000000000..60c394cc88ab4ef85adb08ad9f7bcbd8238e578a --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/initiateWithdrawal.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/initiateWithdrawal.js.map b/node_modules/viem/_cjs/op-stack/actions/initiateWithdrawal.js.map new file mode 100644 index 0000000000000000000000000000000000000000..166ce92308e00c520b8a043aefc74b979f08b6bb --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/initiateWithdrawal.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/proveWithdrawal.js b/node_modules/viem/_cjs/op-stack/actions/proveWithdrawal.js new file mode 100644 index 0000000000000000000000000000000000000000..df508534b6faf7358e6bf59beaa45fa7c378c854 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/proveWithdrawal.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/proveWithdrawal.js.map b/node_modules/viem/_cjs/op-stack/actions/proveWithdrawal.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d3901f693230badf952a4e5300403a6ce77b0a8a --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/proveWithdrawal.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/waitForNextGame.js b/node_modules/viem/_cjs/op-stack/actions/waitForNextGame.js new file mode 100644 index 0000000000000000000000000000000000000000..551d26b3a982f834a838b15a341ff51d39e2dbfe --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/waitForNextGame.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/waitForNextGame.js.map b/node_modules/viem/_cjs/op-stack/actions/waitForNextGame.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5abb76123d39d003b238b393606b507635d8dd27 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/waitForNextGame.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/waitForNextL2Output.js b/node_modules/viem/_cjs/op-stack/actions/waitForNextL2Output.js new file mode 100644 index 0000000000000000000000000000000000000000..6cea8bb77af83ee822b7a9b519ae3713445bd70e --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/waitForNextL2Output.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/waitForNextL2Output.js.map b/node_modules/viem/_cjs/op-stack/actions/waitForNextL2Output.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a3ce92e8cd675b0b895127b93c2da78d33024179 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/waitForNextL2Output.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/waitToFinalize.js b/node_modules/viem/_cjs/op-stack/actions/waitToFinalize.js new file mode 100644 index 0000000000000000000000000000000000000000..6a0bdd4f690a22ba55aa8868dfbea569fa747327 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/waitToFinalize.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/waitToFinalize.js.map b/node_modules/viem/_cjs/op-stack/actions/waitToFinalize.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6dd67c21ed6ba835124348675fe338181b085454 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/waitToFinalize.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/waitToProve.js b/node_modules/viem/_cjs/op-stack/actions/waitToProve.js new file mode 100644 index 0000000000000000000000000000000000000000..c3d3f32e38b5b543496a7be7c4fbd7c065af8c32 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/waitToProve.js @@ -0,0 +1,52 @@ +"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, l2Timestamp, 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: l2Timestamp ?? receipt.blockNumber, + }); + return { + game: { + extraData: '0x', + index: output.outputIndex, + l2BlockNumber: output.l2BlockNumber, + metadata: '0x', + rootClaim: output.outputRoot, + timestamp: output.timestamp, + usesSuperRoots: false, + }, + output, + withdrawal, + }; + } + const game = await (0, waitForNextGame_js_1.waitForNextGame)(client, { + ...parameters, + limit: gameLimit, + l2BlockNumber: l2Timestamp ?? receipt.blockNumber, + }); + return { + game, + output: { + l2BlockNumber: game.l2BlockNumber, + outputIndex: game.index, + outputRoot: game.rootClaim, + timestamp: game.timestamp, + }, + withdrawal, + }; +} +//# sourceMappingURL=waitToProve.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/actions/waitToProve.js.map b/node_modules/viem/_cjs/op-stack/actions/waitToProve.js.map new file mode 100644 index 0000000000000000000000000000000000000000..2bb6da5d9fcf59ffa487513a3f6a56b5a88fd362 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/actions/waitToProve.js.map @@ -0,0 +1 @@ +{"version":3,"file":"waitToProve.js","sourceRoot":"","sources":["../../../op-stack/actions/waitToProve.ts"],"names":[],"mappings":";;AAuGA,kCA0DC;AAtJD,2DAA2E;AAG3E,kEAGmC;AACnC,+DAG8B;AAC9B,6DAI6B;AAC7B,qEAKiC;AAuE1B,KAAK,UAAU,WAAW,CAK/B,MAAyC,EACzC,UAAuD;IAEvD,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAEtD,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,WAAW,IAAI,OAAO,CAAC,WAAW;SACjB,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;gBAC3B,cAAc,EAAE,KAAK;aACtB;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,WAAW,IAAI,OAAO,CAAC,WAAW;KACrB,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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/chainConfig.js b/node_modules/viem/_cjs/op-stack/chainConfig.js new file mode 100644 index 0000000000000000000000000000000000000000..cc88b87f1bd393e3c7839f6c59d18f839fe169fa --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/chainConfig.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/chainConfig.js.map b/node_modules/viem/_cjs/op-stack/chainConfig.js.map new file mode 100644 index 0000000000000000000000000000000000000000..dc2fa918b0502fecb012a03a684cd12091ef3edb --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/chainConfig.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/chains.js b/node_modules/viem/_cjs/op-stack/chains.js new file mode 100644 index 0000000000000000000000000000000000000000..6eff7ca1306780535b0bb16818cf1a723d9992c1 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/chains.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/chains.js.map b/node_modules/viem/_cjs/op-stack/chains.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5a35993b72fc2b63e80fcc06aa632b2c4acf8f5f --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/chains.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/contracts.js b/node_modules/viem/_cjs/op-stack/contracts.js new file mode 100644 index 0000000000000000000000000000000000000000..fc49c1cc3002c5387ead8bda31657d0eda8c98e5 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/contracts.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/contracts.js.map b/node_modules/viem/_cjs/op-stack/contracts.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9d755c01319b976f0ecf6edffadf021dc26d28a8 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/contracts.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/decorators/publicL1.js b/node_modules/viem/_cjs/op-stack/decorators/publicL1.js new file mode 100644 index 0000000000000000000000000000000000000000..2e8db5ec25bd8eeb7f6ec3305e9fd9a1c5ee405d --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/decorators/publicL1.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/decorators/publicL1.js.map b/node_modules/viem/_cjs/op-stack/decorators/publicL1.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9ea56a5217e4a8dc5e58aacd0294b3375b134dd6 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/decorators/publicL1.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/decorators/publicL2.js b/node_modules/viem/_cjs/op-stack/decorators/publicL2.js new file mode 100644 index 0000000000000000000000000000000000000000..c0b2053bf063540de98e44b219e8d22e6cbf3656 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/decorators/publicL2.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/decorators/publicL2.js.map b/node_modules/viem/_cjs/op-stack/decorators/publicL2.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a5b05c4a98e57b401a0c82db3bbe424bcb5a8903 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/decorators/publicL2.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/decorators/walletL1.js b/node_modules/viem/_cjs/op-stack/decorators/walletL1.js new file mode 100644 index 0000000000000000000000000000000000000000..719db18a9bc520a5841a3807b27e3ae14ba042b3 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/decorators/walletL1.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/decorators/walletL1.js.map b/node_modules/viem/_cjs/op-stack/decorators/walletL1.js.map new file mode 100644 index 0000000000000000000000000000000000000000..28da892bcaf6cc453d7d3d15db759817ce0e6b6e --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/decorators/walletL1.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/decorators/walletL2.js b/node_modules/viem/_cjs/op-stack/decorators/walletL2.js new file mode 100644 index 0000000000000000000000000000000000000000..107dc0e8f5b73a77c424f8cb4d9b194af1cd90b2 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/decorators/walletL2.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/decorators/walletL2.js.map b/node_modules/viem/_cjs/op-stack/decorators/walletL2.js.map new file mode 100644 index 0000000000000000000000000000000000000000..63f70c8abfb1905d4e59e989b05287ad3afe6b87 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/decorators/walletL2.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/errors/withdrawal.js b/node_modules/viem/_cjs/op-stack/errors/withdrawal.js new file mode 100644 index 0000000000000000000000000000000000000000..96d2f8f467f5098e00e657f267e9664b86702ce2 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/errors/withdrawal.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/errors/withdrawal.js.map b/node_modules/viem/_cjs/op-stack/errors/withdrawal.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7c58100862d0dfa773cc5643faebb8d6594441c0 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/errors/withdrawal.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/formatters.js b/node_modules/viem/_cjs/op-stack/formatters.js new file mode 100644 index 0000000000000000000000000000000000000000..d9157f604102c9191a4b3042bec65c96a6fd583a --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/formatters.js @@ -0,0 +1,60 @@ +"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 { + ...(args.depositNonce + ? { depositNonce: (0, fromHex_js_1.hexToBigInt)(args.depositNonce) } + : {}), + ...(args.depositReceiptVersion + ? { depositReceiptVersion: (0, fromHex_js_1.hexToNumber)(args.depositReceiptVersion) } + : {}), + 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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/formatters.js.map b/node_modules/viem/_cjs/op-stack/formatters.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e923c48e19909ee856b0ce9aa031f410bdafcba4 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/formatters.js.map @@ -0,0 +1 @@ +{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../op-stack/formatters.ts"],"names":[],"mappings":";;;AAEA,6DAAuE;AACvE,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,GAAG,CAAC,IAAI,CAAC,YAAY;oBACnB,CAAC,CAAC,EAAE,YAAY,EAAE,IAAA,wBAAW,EAAC,IAAI,CAAC,YAAY,CAAC,EAAE;oBAClD,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,IAAI,CAAC,qBAAqB;oBAC5B,CAAC,CAAC,EAAE,qBAAqB,EAAE,IAAA,wBAAW,EAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE;oBACpE,CAAC,CAAC,EAAE,CAAC;gBACP,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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/gameTypes.js b/node_modules/viem/_cjs/op-stack/gameTypes.js new file mode 100644 index 0000000000000000000000000000000000000000..6e50b8e64e598b90eb250d0b144f2c9666e3b311 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/gameTypes.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.superGameTypes = void 0; +exports.isSuperGameType = isSuperGameType; +exports.superGameTypes = new Set([4, 5, 7, 9]); +function isSuperGameType(gameType) { + return exports.superGameTypes.has(gameType); +} +//# sourceMappingURL=gameTypes.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/gameTypes.js.map b/node_modules/viem/_cjs/op-stack/gameTypes.js.map new file mode 100644 index 0000000000000000000000000000000000000000..4c8a2f470170a471ba4e04192b5b3d2520d823c7 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/gameTypes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"gameTypes.js","sourceRoot":"","sources":["../../op-stack/gameTypes.ts"],"names":[],"mappings":";;;AAMA,0CAEC;AAJY,QAAA,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAwB,CAAA;AAE1E,SAAgB,eAAe,CAAC,QAAgB;IAC9C,OAAO,sBAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AACrC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/index.js b/node_modules/viem/_cjs/op-stack/index.js new file mode 100644 index 0000000000000000000000000000000000000000..1e988376a3a7adb860e1ec66acfc2b1fe4342c95 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/index.js @@ -0,0 +1,124 @@ +"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.getSourceHash = exports.getL2TransactionHashes = exports.getL2TransactionHash = exports.getL2BlockNumberAtTimestamp = exports.extractWithdrawalMessageLogs = exports.extractTransactionDepositedLogs = exports.serializeTransaction = exports.serializers = exports.parseTransaction = exports.superGameTypes = exports.isSuperGameType = 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; +exports.opaqueDataToDepositData = exports.getWithdrawals = exports.getWithdrawalHashStorageSlot = 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 gameTypes_js_1 = require("./gameTypes.js"); +Object.defineProperty(exports, "isSuperGameType", { enumerable: true, get: function () { return gameTypes_js_1.isSuperGameType; } }); +Object.defineProperty(exports, "superGameTypes", { enumerable: true, get: function () { return gameTypes_js_1.superGameTypes; } }); +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 getL2BlockNumberAtTimestamp_js_1 = require("./utils/getL2BlockNumberAtTimestamp.js"); +Object.defineProperty(exports, "getL2BlockNumberAtTimestamp", { enumerable: true, get: function () { return getL2BlockNumberAtTimestamp_js_1.getL2BlockNumberAtTimestamp; } }); +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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/index.js.map b/node_modules/viem/_cjs/op-stack/index.js.map new file mode 100644 index 0000000000000000000000000000000000000000..69af1e639f50281ea0550d2d9d260a07ce3ff188 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/index.js.map @@ -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;AAC3B,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;AAEjB,+CAAgE;AAAvD,+GAAA,eAAe,OAAA;AAAE,8GAAA,cAAc,OAAA;AAExC,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,yFAK+C;AAD7C,6IAAA,2BAA2B,OAAA;AAE7B,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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/parsers.js b/node_modules/viem/_cjs/op-stack/parsers.js new file mode 100644 index 0000000000000000000000000000000000000000..51b6abadb92f289fde0b82e7618da42aa48c6a16 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/parsers.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/parsers.js.map b/node_modules/viem/_cjs/op-stack/parsers.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d3b0a77d5c1894e3e82676839a29ba805489f0cb --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/parsers.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/serializers.js b/node_modules/viem/_cjs/op-stack/serializers.js new file mode 100644 index 0000000000000000000000000000000000000000..9077b9f8b7455640a331a59d7ceb8b18d075bf8e --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/serializers.js @@ -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 \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/serializers.js.map b/node_modules/viem/_cjs/op-stack/serializers.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8800fea5f85aed24ce91ea52bb32f9e59165feb6 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/serializers.js.map @@ -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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/types/block.js b/node_modules/viem/_cjs/op-stack/types/block.js new file mode 100644 index 0000000000000000000000000000000000000000..e50e90b18a71a08b6c9e31cc41fe8fb6a7260666 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/types/block.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=block.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/types/block.js.map b/node_modules/viem/_cjs/op-stack/types/block.js.map new file mode 100644 index 0000000000000000000000000000000000000000..046e53b33cd227a5cd8e08cf480d28f1656632e0 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/types/block.js.map @@ -0,0 +1 @@ +{"version":3,"file":"block.js","sourceRoot":"","sources":["../../../op-stack/types/block.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/types/chain.js b/node_modules/viem/_cjs/op-stack/types/chain.js new file mode 100644 index 0000000000000000000000000000000000000000..87269576c1d94d0f96eb2c56bb953bb75f12aadf --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/types/chain.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=chain.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/types/chain.js.map b/node_modules/viem/_cjs/op-stack/types/chain.js.map new file mode 100644 index 0000000000000000000000000000000000000000..697962a823c7b7178c6b87b079d356f3284f7ae5 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/types/chain.js.map @@ -0,0 +1 @@ +{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../op-stack/types/chain.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/types/contract.js b/node_modules/viem/_cjs/op-stack/types/contract.js new file mode 100644 index 0000000000000000000000000000000000000000..b47942b128834276404d00755c404e5821d35fa4 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/types/contract.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=contract.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/types/contract.js.map b/node_modules/viem/_cjs/op-stack/types/contract.js.map new file mode 100644 index 0000000000000000000000000000000000000000..09383def9a6244ef25c0a3e99294bd8a52c7dbae --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/types/contract.js.map @@ -0,0 +1 @@ +{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../op-stack/types/contract.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/types/deposit.js b/node_modules/viem/_cjs/op-stack/types/deposit.js new file mode 100644 index 0000000000000000000000000000000000000000..7ed2c845e33ba577deda570a1c7ba7fb889f9ed9 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/types/deposit.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=deposit.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/types/deposit.js.map b/node_modules/viem/_cjs/op-stack/types/deposit.js.map new file mode 100644 index 0000000000000000000000000000000000000000..2c6a7fde72a3f416bd872f44030c1adcecf04c29 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/types/deposit.js.map @@ -0,0 +1 @@ +{"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../op-stack/types/deposit.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/types/transaction.js b/node_modules/viem/_cjs/op-stack/types/transaction.js new file mode 100644 index 0000000000000000000000000000000000000000..28e14033822825832b8a433ad3aa6e02e114479f --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/types/transaction.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=transaction.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/types/transaction.js.map b/node_modules/viem/_cjs/op-stack/types/transaction.js.map new file mode 100644 index 0000000000000000000000000000000000000000..89ce9836a46cde495b1a0cd3160a445b3b92e3ab --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/types/transaction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../op-stack/types/transaction.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/types/withdrawal.js b/node_modules/viem/_cjs/op-stack/types/withdrawal.js new file mode 100644 index 0000000000000000000000000000000000000000..8b336f8b5f593ae5fca9c608a0d469be5358d826 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/types/withdrawal.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=withdrawal.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/types/withdrawal.js.map b/node_modules/viem/_cjs/op-stack/types/withdrawal.js.map new file mode 100644 index 0000000000000000000000000000000000000000..aaf4c78562c78289197ddbcb254e0672b31a39a8 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/types/withdrawal.js.map @@ -0,0 +1 @@ +{"version":3,"file":"withdrawal.js","sourceRoot":"","sources":["../../../op-stack/types/withdrawal.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/utils/extractTransactionDepositedLogs.js b/node_modules/viem/_cjs/op-stack/utils/extractTransactionDepositedLogs.js new file mode 100644 index 0000000000000000000000000000000000000000..f049e0c912c14f84c0060d80d514bc4bbf7d4a60 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/utils/extractTransactionDepositedLogs.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractTransactionDepositedLogs = extractTransactionDepositedLogs; +const parseEventLogs_js_1 = require("../../utils/abi/parseEventLogs.js"); +const abis_js_1 = require("../abis.js"); +function extractTransactionDepositedLogs({ logs, }) { + return (0, parseEventLogs_js_1.parseEventLogs)({ + abi: abis_js_1.portalAbi, + eventName: 'TransactionDeposited', + logs, + }); +} +//# sourceMappingURL=extractTransactionDepositedLogs.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/utils/extractTransactionDepositedLogs.js.map b/node_modules/viem/_cjs/op-stack/utils/extractTransactionDepositedLogs.js.map new file mode 100644 index 0000000000000000000000000000000000000000..bffc4344eb28476fa4f3c507e743968c23b79631 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/utils/extractTransactionDepositedLogs.js.map @@ -0,0 +1 @@ +{"version":3,"file":"extractTransactionDepositedLogs.js","sourceRoot":"","sources":["../../../op-stack/utils/extractTransactionDepositedLogs.ts"],"names":[],"mappings":";;AA2BA,0EAQC;AAjCD,yEAG0C;AAC1C,wCAAsC;AAqBtC,SAAgB,+BAA+B,CAAC,EAC9C,IAAI,GACsC;IAC1C,OAAO,IAAA,kCAAc,EAAC;QACpB,GAAG,EAAE,mBAAS;QACd,SAAS,EAAE,sBAAsB;QACjC,IAAI;KACL,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/utils/extractWithdrawalMessageLogs.js b/node_modules/viem/_cjs/op-stack/utils/extractWithdrawalMessageLogs.js new file mode 100644 index 0000000000000000000000000000000000000000..40c6b965c7d1c2db30cff31ea994cf52eb58428d --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/utils/extractWithdrawalMessageLogs.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractWithdrawalMessageLogs = extractWithdrawalMessageLogs; +const parseEventLogs_js_1 = require("../../utils/abi/parseEventLogs.js"); +const abis_js_1 = require("../abis.js"); +function extractWithdrawalMessageLogs({ logs, }) { + return (0, parseEventLogs_js_1.parseEventLogs)({ + abi: abis_js_1.l2ToL1MessagePasserAbi, + eventName: 'MessagePassed', + logs, + }); +} +//# sourceMappingURL=extractWithdrawalMessageLogs.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/utils/extractWithdrawalMessageLogs.js.map b/node_modules/viem/_cjs/op-stack/utils/extractWithdrawalMessageLogs.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9ef0e08a583e2cb00dd15e105d763885bb98eeea --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/utils/extractWithdrawalMessageLogs.js.map @@ -0,0 +1 @@ +{"version":3,"file":"extractWithdrawalMessageLogs.js","sourceRoot":"","sources":["../../../op-stack/utils/extractWithdrawalMessageLogs.ts"],"names":[],"mappings":";;AA2BA,oEAQC;AAjCD,yEAG0C;AAC1C,wCAAmD;AAqBnD,SAAgB,4BAA4B,CAAC,EAC3C,IAAI,GACmC;IACvC,OAAO,IAAA,kCAAc,EAAC;QACpB,GAAG,EAAE,gCAAsB;QAC3B,SAAS,EAAE,eAAe;QAC1B,IAAI;KACL,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/utils/getL2BlockNumberAtTimestamp.js b/node_modules/viem/_cjs/op-stack/utils/getL2BlockNumberAtTimestamp.js new file mode 100644 index 0000000000000000000000000000000000000000..a12a5997354dd7b4dc93f94807c1d2fc8b6efd31 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/utils/getL2BlockNumberAtTimestamp.js @@ -0,0 +1,29 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getL2BlockNumberAtTimestamp = getL2BlockNumberAtTimestamp; +const getBlock_js_1 = require("../../actions/public/getBlock.js"); +async function getL2BlockNumberAtTimestamp(client, parameters) { + const latest = await (0, getBlock_js_1.getBlock)(client); + if (latest.number === null) + throw new Error('Latest L2 block number is unavailable.'); + if (latest.timestamp === undefined) + throw new Error('Latest L2 block timestamp is unavailable.'); + if (latest.number === 0n) + throw new Error('Cannot derive L2 block time from genesis block.'); + const parent = await (0, getBlock_js_1.getBlock)(client, { blockNumber: latest.number - 1n }); + if (parent.timestamp === undefined) + throw new Error('Parent L2 block timestamp is unavailable.'); + const blockTime = latest.timestamp - parent.timestamp; + if (blockTime === 0n) + throw new Error('L2 block time is zero.'); + const timeDiff = latest.timestamp - parameters.timestamp; + if (timeDiff < 0n) + throw new Error('Timestamp is in the future relative to L2 head.'); + if (timeDiff % blockTime !== 0n) + throw new Error('Timestamp does not align with the L2 block time.'); + const blocksToLookBack = timeDiff / blockTime; + if (blocksToLookBack > latest.number) + throw new Error('Timestamp predates L2 genesis.'); + return latest.number - blocksToLookBack; +} +//# sourceMappingURL=getL2BlockNumberAtTimestamp.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/utils/getL2BlockNumberAtTimestamp.js.map b/node_modules/viem/_cjs/op-stack/utils/getL2BlockNumberAtTimestamp.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d50950f28febebad0df9d12c7a55270f11062aaa --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/utils/getL2BlockNumberAtTimestamp.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getL2BlockNumberAtTimestamp.js","sourceRoot":"","sources":["../../../op-stack/utils/getL2BlockNumberAtTimestamp.ts"],"names":[],"mappings":";;AA0BA,kEA8BC;AAxDD,kEAGyC;AAuBlC,KAAK,UAAU,2BAA2B,CAC/C,MAAiE,EACjE,UAAiD;IAEjD,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAQ,EAAC,MAAM,CAAC,CAAA;IACrC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;QACxB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAC3D,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;QAChC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;IAEpE,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAQ,EAAC,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,CAAA;IAC1E,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;QAChC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAE9D,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IACrD,IAAI,SAAS,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAE/D,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;IACxD,IAAI,QAAQ,GAAG,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;IACpE,IAAI,QAAQ,GAAG,SAAS,KAAK,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IAErE,MAAM,gBAAgB,GAAG,QAAQ,GAAG,SAAS,CAAA;IAC7C,IAAI,gBAAgB,GAAG,MAAM,CAAC,MAAM;QAClC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IAEnD,OAAO,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAA;AACzC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/utils/getL2TransactionHash.js b/node_modules/viem/_cjs/op-stack/utils/getL2TransactionHash.js new file mode 100644 index 0000000000000000000000000000000000000000..dbf91a67542461d148f156fb539f2566284df1c1 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/utils/getL2TransactionHash.js @@ -0,0 +1,27 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getL2TransactionHash = getL2TransactionHash; +const keccak256_js_1 = require("../../utils/hash/keccak256.js"); +const serializers_js_1 = require("../serializers.js"); +const getSourceHash_js_1 = require("./getSourceHash.js"); +const opaqueDataToDepositData_js_1 = require("./opaqueDataToDepositData.js"); +function getL2TransactionHash({ log }) { + const sourceHash = (0, getSourceHash_js_1.getSourceHash)({ + domain: 'userDeposit', + l1BlockHash: log.blockHash, + l1LogIndex: log.logIndex, + }); + const { data, gas, isCreation, mint, value } = (0, opaqueDataToDepositData_js_1.opaqueDataToDepositData)(log.args.opaqueData); + return (0, keccak256_js_1.keccak256)((0, serializers_js_1.serializeTransaction)({ + from: log.args.from, + to: isCreation ? undefined : log.args.to, + sourceHash, + data, + gas, + isSystemTx: false, + mint, + type: 'deposit', + value, + })); +} +//# sourceMappingURL=getL2TransactionHash.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/utils/getL2TransactionHash.js.map b/node_modules/viem/_cjs/op-stack/utils/getL2TransactionHash.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b074a5b679b517b5a0dfb749139b093f42aa8fd1 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/utils/getL2TransactionHash.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getL2TransactionHash.js","sourceRoot":"","sources":["../../../op-stack/utils/getL2TransactionHash.ts"],"names":[],"mappings":";;AA4BA,oDAuBC;AA9CD,gEAAyD;AAEzD,sDAAwD;AACxD,yDAAkD;AAClD,6EAAsE;AAmBtE,SAAgB,oBAAoB,CAAC,EAAE,GAAG,EAAkC;IAC1E,MAAM,UAAU,GAAG,IAAA,gCAAa,EAAC;QAC/B,MAAM,EAAE,aAAa;QACrB,WAAW,EAAE,GAAG,CAAC,SAAS;QAC1B,UAAU,EAAE,GAAG,CAAC,QAAQ;KACzB,CAAC,CAAA;IACF,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAA,oDAAuB,EACpE,GAAG,CAAC,IAAI,CAAC,UAAU,CACpB,CAAA;IAED,OAAO,IAAA,wBAAS,EACd,IAAA,qCAAoB,EAAC;QACnB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;QACnB,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACxC,UAAU;QACV,IAAI;QACJ,GAAG;QACH,UAAU,EAAE,KAAK;QACjB,IAAI;QACJ,IAAI,EAAE,SAAS;QACf,KAAK;KACN,CAAC,CACH,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/utils/getL2TransactionHashes.js b/node_modules/viem/_cjs/op-stack/utils/getL2TransactionHashes.js new file mode 100644 index 0000000000000000000000000000000000000000..f25963295f3cda231569ccde6f6954c042e0fa5f --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/utils/getL2TransactionHashes.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getL2TransactionHashes = getL2TransactionHashes; +const extractTransactionDepositedLogs_js_1 = require("./extractTransactionDepositedLogs.js"); +const getL2TransactionHash_js_1 = require("./getL2TransactionHash.js"); +function getL2TransactionHashes({ logs, }) { + const extractedLogs = (0, extractTransactionDepositedLogs_js_1.extractTransactionDepositedLogs)({ logs }); + return extractedLogs.map((log) => (0, getL2TransactionHash_js_1.getL2TransactionHash)({ log })); +} +//# sourceMappingURL=getL2TransactionHashes.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/utils/getL2TransactionHashes.js.map b/node_modules/viem/_cjs/op-stack/utils/getL2TransactionHashes.js.map new file mode 100644 index 0000000000000000000000000000000000000000..20ae54eb1421d2e0fc546d8ea0736e2678522174 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/utils/getL2TransactionHashes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getL2TransactionHashes.js","sourceRoot":"","sources":["../../../op-stack/utils/getL2TransactionHashes.ts"],"names":[],"mappings":";;AAeA,wDAKC;AAjBD,6FAAsF;AACtF,uEAAgE;AAWhE,SAAgB,sBAAsB,CAAC,EACrC,IAAI,GAC6B;IACjC,MAAM,aAAa,GAAG,IAAA,oEAA+B,EAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/D,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,8CAAoB,EAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;AAClE,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/utils/getSourceHash.js b/node_modules/viem/_cjs/op-stack/utils/getSourceHash.js new file mode 100644 index 0000000000000000000000000000000000000000..fc3e0a233730b400fa7b3d87ce3a9105d6ab6103 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/utils/getSourceHash.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getSourceHash = getSourceHash; +const concat_js_1 = require("../../utils/data/concat.js"); +const pad_js_1 = require("../../utils/data/pad.js"); +const toHex_js_1 = require("../../utils/encoding/toHex.js"); +const keccak256_js_1 = require("../../utils/hash/keccak256.js"); +const sourceHashDomainMap = { + userDeposit: 0, + l1InfoDeposit: 1, +}; +function getSourceHash({ domain, l1LogIndex, l1BlockHash, sequenceNumber, }) { + const marker = (0, toHex_js_1.toHex)(l1LogIndex ?? sequenceNumber); + const input = (0, concat_js_1.concat)([l1BlockHash, (0, pad_js_1.pad)(marker, { size: 32 })]); + const depositIdHash = (0, keccak256_js_1.keccak256)(input); + const domainHex = (0, toHex_js_1.toHex)(sourceHashDomainMap[domain]); + const domainInput = (0, concat_js_1.concat)([(0, pad_js_1.pad)(domainHex, { size: 32 }), depositIdHash]); + return (0, keccak256_js_1.keccak256)(domainInput); +} +//# sourceMappingURL=getSourceHash.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/utils/getSourceHash.js.map b/node_modules/viem/_cjs/op-stack/utils/getSourceHash.js.map new file mode 100644 index 0000000000000000000000000000000000000000..41a3feead6f55d81867c4f05b962a837dce814ec --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/utils/getSourceHash.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getSourceHash.js","sourceRoot":"","sources":["../../../op-stack/utils/getSourceHash.ts"],"names":[],"mappings":";;AAgDA,sCAYC;AAxDD,0DAAyE;AACzE,oDAAgE;AAChE,4DAA0E;AAC1E,gEAGsC;AAiCtC,MAAM,mBAAmB,GAAG;IAC1B,WAAW,EAAE,CAAC;IACd,aAAa,EAAE,CAAC;CACR,CAAA;AAEV,SAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,UAAU,EACV,WAAW,EACX,cAAc,GACU;IACxB,MAAM,MAAM,GAAG,IAAA,gBAAK,EAAC,UAAW,IAAI,cAAe,CAAC,CAAA;IACpD,MAAM,KAAK,GAAG,IAAA,kBAAM,EAAC,CAAC,WAAW,EAAE,IAAA,YAAG,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9D,MAAM,aAAa,GAAG,IAAA,wBAAS,EAAC,KAAK,CAAC,CAAA;IACtC,MAAM,SAAS,GAAG,IAAA,gBAAK,EAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAA;IACpD,MAAM,WAAW,GAAG,IAAA,kBAAM,EAAC,CAAC,IAAA,YAAG,EAAC,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,CAAA;IACzE,OAAO,IAAA,wBAAS,EAAC,WAAW,CAAC,CAAA;AAC/B,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/utils/getWithdrawalHashStorageSlot.js b/node_modules/viem/_cjs/op-stack/utils/getWithdrawalHashStorageSlot.js new file mode 100644 index 0000000000000000000000000000000000000000..65bad4b58bc5f1f31e73b0b1be20e252bea23e06 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/utils/getWithdrawalHashStorageSlot.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getWithdrawalHashStorageSlot = getWithdrawalHashStorageSlot; +const encodeAbiParameters_js_1 = require("../../utils/abi/encodeAbiParameters.js"); +const keccak256_js_1 = require("../../utils/hash/keccak256.js"); +function getWithdrawalHashStorageSlot({ withdrawalHash, }) { + const data = (0, encodeAbiParameters_js_1.encodeAbiParameters)([{ type: 'bytes32' }, { type: 'uint256' }], [withdrawalHash, 0n]); + return (0, keccak256_js_1.keccak256)(data); +} +//# sourceMappingURL=getWithdrawalHashStorageSlot.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/utils/getWithdrawalHashStorageSlot.js.map b/node_modules/viem/_cjs/op-stack/utils/getWithdrawalHashStorageSlot.js.map new file mode 100644 index 0000000000000000000000000000000000000000..07e535a3f537ffdf13b0001175ef14503b268543 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/utils/getWithdrawalHashStorageSlot.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getWithdrawalHashStorageSlot.js","sourceRoot":"","sources":["../../../op-stack/utils/getWithdrawalHashStorageSlot.ts"],"names":[],"mappings":";;AAoBA,oEAQC;AA1BD,mFAG+C;AAC/C,gEAGsC;AAWtC,SAAgB,4BAA4B,CAAC,EAC3C,cAAc,GACyB;IACvC,MAAM,IAAI,GAAG,IAAA,4CAAmB,EAC9B,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC1C,CAAC,cAAc,EAAE,EAAE,CAAC,CACrB,CAAA;IACD,OAAO,IAAA,wBAAS,EAAC,IAAI,CAAC,CAAA;AACxB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/utils/getWithdrawals.js b/node_modules/viem/_cjs/op-stack/utils/getWithdrawals.js new file mode 100644 index 0000000000000000000000000000000000000000..4fe16786a764d02975127c0102fe1a03e9d9b0b8 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/utils/getWithdrawals.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getWithdrawals = getWithdrawals; +const extractWithdrawalMessageLogs_js_1 = require("./extractWithdrawalMessageLogs.js"); +function getWithdrawals({ logs, }) { + const extractedLogs = (0, extractWithdrawalMessageLogs_js_1.extractWithdrawalMessageLogs)({ logs }); + return extractedLogs.map((log) => log.args); +} +//# sourceMappingURL=getWithdrawals.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/utils/getWithdrawals.js.map b/node_modules/viem/_cjs/op-stack/utils/getWithdrawals.js.map new file mode 100644 index 0000000000000000000000000000000000000000..0644f3bcc5f6ed3321b3db2a3bf09fc8467a79ad --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/utils/getWithdrawals.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getWithdrawals.js","sourceRoot":"","sources":["../../../op-stack/utils/getWithdrawals.ts"],"names":[],"mappings":";;AAmBA,wCAKC;AArBD,uFAG0C;AAa1C,SAAgB,cAAc,CAAC,EAC7B,IAAI,GACqB;IACzB,MAAM,aAAa,GAAG,IAAA,8DAA4B,EAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5D,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AAC7C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/utils/opaqueDataToDepositData.js b/node_modules/viem/_cjs/op-stack/utils/opaqueDataToDepositData.js new file mode 100644 index 0000000000000000000000000000000000000000..e0cfbe81e868e8ea79fdbd94e324260f7f94ee7a --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/utils/opaqueDataToDepositData.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.opaqueDataToDepositData = opaqueDataToDepositData; +const size_js_1 = require("../../utils/data/size.js"); +const slice_js_1 = require("../../utils/data/slice.js"); +const fromHex_js_1 = require("../../utils/encoding/fromHex.js"); +function opaqueDataToDepositData(opaqueData) { + let offset = 0; + const mint = (0, slice_js_1.slice)(opaqueData, offset, offset + 32); + offset += 32; + const value = (0, slice_js_1.slice)(opaqueData, offset, offset + 32); + offset += 32; + const gas = (0, slice_js_1.slice)(opaqueData, offset, offset + 8); + offset += 8; + const isCreation = BigInt((0, slice_js_1.slice)(opaqueData, offset, offset + 1)) === 1n; + offset += 1; + const data = offset > (0, size_js_1.size)(opaqueData) - 1 + ? '0x' + : (0, slice_js_1.slice)(opaqueData, offset, opaqueData.length); + return { + mint: (0, fromHex_js_1.hexToBigInt)(mint), + value: (0, fromHex_js_1.hexToBigInt)(value), + gas: (0, fromHex_js_1.hexToBigInt)(gas), + isCreation, + data, + }; +} +//# sourceMappingURL=opaqueDataToDepositData.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/op-stack/utils/opaqueDataToDepositData.js.map b/node_modules/viem/_cjs/op-stack/utils/opaqueDataToDepositData.js.map new file mode 100644 index 0000000000000000000000000000000000000000..872733afa81fcde10656e565d4b6a775f085b313 --- /dev/null +++ b/node_modules/viem/_cjs/op-stack/utils/opaqueDataToDepositData.js.map @@ -0,0 +1 @@ +{"version":3,"file":"opaqueDataToDepositData.js","sourceRoot":"","sources":["../../../op-stack/utils/opaqueDataToDepositData.ts"],"names":[],"mappings":";;AAqBA,0DAuBC;AA1CD,sDAAmE;AACnE,wDAAsE;AACtE,gEAA6D;AAiB7D,SAAgB,uBAAuB,CACrC,UAAe;IAEf,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,MAAM,IAAI,GAAG,IAAA,gBAAK,EAAC,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,EAAE,CAAC,CAAA;IACnD,MAAM,IAAI,EAAE,CAAA;IACZ,MAAM,KAAK,GAAG,IAAA,gBAAK,EAAC,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,EAAE,CAAC,CAAA;IACpD,MAAM,IAAI,EAAE,CAAA;IACZ,MAAM,GAAG,GAAG,IAAA,gBAAK,EAAC,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;IACjD,MAAM,IAAI,CAAC,CAAA;IACX,MAAM,UAAU,GAAG,MAAM,CAAC,IAAA,gBAAK,EAAC,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;IACvE,MAAM,IAAI,CAAC,CAAA;IACX,MAAM,IAAI,GACR,MAAM,GAAG,IAAA,cAAI,EAAC,UAAU,CAAC,GAAG,CAAC;QAC3B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAA,gBAAK,EAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;IAClD,OAAO;QACL,IAAI,EAAE,IAAA,wBAAW,EAAC,IAAI,CAAC;QACvB,KAAK,EAAE,IAAA,wBAAW,EAAC,KAAK,CAAC;QACzB,GAAG,EAAE,IAAA,wBAAW,EAAC,GAAG,CAAC;QACrB,UAAU;QACV,IAAI;KACL,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/package.json b/node_modules/viem/_cjs/package.json new file mode 100644 index 0000000000000000000000000000000000000000..0292b9956f2e40d6eb3d0f3998e710d973113aaa --- /dev/null +++ b/node_modules/viem/_cjs/package.json @@ -0,0 +1 @@ +{"type":"commonjs"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/siwe/index.js b/node_modules/viem/_cjs/siwe/index.js new file mode 100644 index 0000000000000000000000000000000000000000..c04915320ca83d7c781656a3624d968e89dec812 --- /dev/null +++ b/node_modules/viem/_cjs/siwe/index.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.validateSiweMessage = exports.parseSiweMessage = exports.generateSiweNonce = exports.createSiweMessage = exports.SiweInvalidMessageFieldError = exports.verifySiweMessage = void 0; +var verifySiweMessage_js_1 = require("../actions/siwe/verifySiweMessage.js"); +Object.defineProperty(exports, "verifySiweMessage", { enumerable: true, get: function () { return verifySiweMessage_js_1.verifySiweMessage; } }); +var siwe_js_1 = require("../errors/siwe.js"); +Object.defineProperty(exports, "SiweInvalidMessageFieldError", { enumerable: true, get: function () { return siwe_js_1.SiweInvalidMessageFieldError; } }); +var createSiweMessage_js_1 = require("../utils/siwe/createSiweMessage.js"); +Object.defineProperty(exports, "createSiweMessage", { enumerable: true, get: function () { return createSiweMessage_js_1.createSiweMessage; } }); +var generateSiweNonce_js_1 = require("../utils/siwe/generateSiweNonce.js"); +Object.defineProperty(exports, "generateSiweNonce", { enumerable: true, get: function () { return generateSiweNonce_js_1.generateSiweNonce; } }); +var parseSiweMessage_js_1 = require("../utils/siwe/parseSiweMessage.js"); +Object.defineProperty(exports, "parseSiweMessage", { enumerable: true, get: function () { return parseSiweMessage_js_1.parseSiweMessage; } }); +var validateSiweMessage_js_1 = require("../utils/siwe/validateSiweMessage.js"); +Object.defineProperty(exports, "validateSiweMessage", { enumerable: true, get: function () { return validateSiweMessage_js_1.validateSiweMessage; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/siwe/index.js.map b/node_modules/viem/_cjs/siwe/index.js.map new file mode 100644 index 0000000000000000000000000000000000000000..efc9347693d2f95d444dc43a817b84a74ef2a00e --- /dev/null +++ b/node_modules/viem/_cjs/siwe/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../siwe/index.ts"],"names":[],"mappings":";;;AACA,6EAK6C;AAD3C,yHAAA,iBAAiB,OAAA;AAEnB,6CAG0B;AAFxB,uHAAA,4BAA4B,OAAA;AAG9B,2EAK2C;AADzC,yHAAA,iBAAiB,OAAA;AAEnB,2EAAsE;AAA7D,yHAAA,iBAAiB,OAAA;AAC1B,yEAAoE;AAA3D,uHAAA,gBAAgB,OAAA;AAGzB,+EAI6C;AAD3C,6HAAA,mBAAmB,OAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Abis.js b/node_modules/viem/_cjs/tempo/Abis.js new file mode 100644 index 0000000000000000000000000000000000000000..b71de2a4854dd3bd212dafefa569df755734aae4 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Abis.js @@ -0,0 +1,8324 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.all = exports.zone = exports.earn = exports.core = exports.zoneVerifier = exports.zoneMessenger = exports.zoneOutbox = exports.earnRouterCallbackData = exports.vedaEngine = exports.erc4626EngineFactory = exports.erc4626Engine = exports.earnVault = exports.earnRouter = exports.earnMerkleRewardDistributor = exports.earnFees = exports.earnFactory = exports.earnEngineInKindDeposit = exports.earnEngineAsyncRedeem = exports.earnEngine = exports.earnContributionController = exports.zonePortal = exports.zoneFactory = exports.validatorConfig = exports.validatorConfigV2 = exports.tip403Registry = exports.tip20 = exports.tip20Factory = exports.tip20ChannelReserve = exports.feeAmm = exports.feeManager = exports.storageCredits = exports.stablecoinDex = exports.signatureVerifier = exports.receivePolicyGuard = exports.nonce = exports.currentCommittee = exports.nativeMultisig = exports.addressRegistry = exports.accountKeychain = void 0; +exports.accountKeychain = [ + { + name: 'authorizeKey', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'keyId' }, + { type: 'uint8', name: 'signatureType' }, + { type: 'uint64', name: 'expiry' }, + { type: 'bool', name: 'enforceLimits' }, + { + type: 'tuple[]', + name: 'limits', + components: [ + { type: 'address', name: 'token' }, + { type: 'uint256', name: 'amount' }, + ], + }, + ], + outputs: [], + }, + { + name: 'authorizeKey', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'keyId' }, + { type: 'uint8', name: 'signatureType' }, + { + type: 'tuple', + name: 'config', + components: [ + { type: 'uint64', name: 'expiry' }, + { type: 'bool', name: 'enforceLimits' }, + { + type: 'tuple[]', + name: 'limits', + components: [ + { type: 'address', name: 'token' }, + { type: 'uint256', name: 'amount' }, + { type: 'uint64', name: 'period' }, + ], + }, + { type: 'bool', name: 'allowAnyCalls' }, + { + type: 'tuple[]', + name: 'allowedCalls', + components: [ + { type: 'address', name: 'target' }, + { + type: 'tuple[]', + name: 'selectorRules', + components: [ + { type: 'bytes4', name: 'selector' }, + { type: 'address[]', name: 'recipients' }, + ], + }, + ], + }, + ], + }, + ], + outputs: [], + }, + { + name: 'authorizeKey', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'keyId' }, + { type: 'uint8', name: 'signatureType' }, + { + type: 'tuple', + name: 'config', + components: [ + { type: 'uint64', name: 'expiry' }, + { type: 'bool', name: 'enforceLimits' }, + { + type: 'tuple[]', + name: 'limits', + components: [ + { type: 'address', name: 'token' }, + { type: 'uint256', name: 'amount' }, + { type: 'uint64', name: 'period' }, + ], + }, + { type: 'bool', name: 'allowAnyCalls' }, + { + type: 'tuple[]', + name: 'allowedCalls', + components: [ + { type: 'address', name: 'target' }, + { + type: 'tuple[]', + name: 'selectorRules', + components: [ + { type: 'bytes4', name: 'selector' }, + { type: 'address[]', name: 'recipients' }, + ], + }, + ], + }, + ], + }, + { type: 'bytes32', name: 'witness' }, + ], + outputs: [], + }, + { + name: 'authorizeAdminKey', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'keyId' }, + { type: 'uint8', name: 'signatureType' }, + { type: 'bytes32', name: 'witness' }, + ], + outputs: [], + }, + { + name: 'burnKeyAuthorizationWitness', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'bytes32', name: 'witness' }], + outputs: [], + }, + { + name: 'revokeKey', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'address', name: 'keyId' }], + outputs: [], + }, + { + name: 'updateSpendingLimit', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'keyId' }, + { type: 'address', name: 'token' }, + { type: 'uint256', name: 'newLimit' }, + ], + outputs: [], + }, + { + name: 'setAllowedCalls', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'keyId' }, + { + type: 'tuple[]', + name: 'scopes', + components: [ + { type: 'address', name: 'target' }, + { + type: 'tuple[]', + name: 'selectorRules', + components: [ + { type: 'bytes4', name: 'selector' }, + { type: 'address[]', name: 'recipients' }, + ], + }, + ], + }, + ], + outputs: [], + }, + { + name: 'removeAllowedCalls', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'keyId' }, + { type: 'address', name: 'target' }, + ], + outputs: [], + }, + { + name: 'getKey', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'account' }, + { type: 'address', name: 'keyId' }, + ], + outputs: [ + { + type: 'tuple', + components: [ + { type: 'uint8', name: 'signatureType' }, + { type: 'address', name: 'keyId' }, + { type: 'uint64', name: 'expiry' }, + { type: 'bool', name: 'enforceLimits' }, + { type: 'bool', name: 'isRevoked' }, + ], + }, + ], + }, + { + name: 'getRemainingLimit', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'account' }, + { type: 'address', name: 'keyId' }, + { type: 'address', name: 'token' }, + ], + outputs: [{ type: 'uint256', name: 'remaining' }], + }, + { + name: 'getRemainingLimitWithPeriod', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'account' }, + { type: 'address', name: 'keyId' }, + { type: 'address', name: 'token' }, + ], + outputs: [ + { type: 'uint256', name: 'remaining' }, + { type: 'uint64', name: 'periodEnd' }, + ], + }, + { + name: 'getAllowedCalls', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'account' }, + { type: 'address', name: 'keyId' }, + ], + outputs: [ + { type: 'bool', name: 'isScoped' }, + { + type: 'tuple[]', + name: 'scopes', + components: [ + { type: 'address', name: 'target' }, + { + type: 'tuple[]', + name: 'selectorRules', + components: [ + { type: 'bytes4', name: 'selector' }, + { type: 'address[]', name: 'recipients' }, + ], + }, + ], + }, + ], + }, + { + name: 'isKeyAuthorizationWitnessBurned', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'account' }, + { type: 'bytes32', name: 'witness' }, + ], + outputs: [{ type: 'bool' }], + }, + { + name: 'isAdminKey', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'account' }, + { type: 'address', name: 'keyId' }, + ], + outputs: [{ type: 'bool' }], + }, + { + name: 'getTransactionKey', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'address' }], + }, + { + name: 'KeyAuthorized', + type: 'event', + inputs: [ + { type: 'address', name: 'account', indexed: true }, + { type: 'address', name: 'publicKey', indexed: true }, + { type: 'uint8', name: 'signatureType' }, + { type: 'uint64', name: 'expiry' }, + ], + }, + { + name: 'AdminKeyAuthorized', + type: 'event', + inputs: [ + { type: 'address', name: 'account', indexed: true }, + { type: 'address', name: 'publicKey', indexed: true }, + ], + }, + { + name: 'KeyRevoked', + type: 'event', + inputs: [ + { type: 'address', name: 'account', indexed: true }, + { type: 'address', name: 'publicKey', indexed: true }, + ], + }, + { + name: 'SpendingLimitUpdated', + type: 'event', + inputs: [ + { type: 'address', name: 'account', indexed: true }, + { type: 'address', name: 'publicKey', indexed: true }, + { type: 'address', name: 'token', indexed: true }, + { type: 'uint256', name: 'newLimit' }, + ], + }, + { + name: 'AccessKeySpend', + type: 'event', + inputs: [ + { type: 'address', name: 'account', indexed: true }, + { type: 'address', name: 'publicKey', indexed: true }, + { type: 'address', name: 'token', indexed: true }, + { type: 'uint256', name: 'amount' }, + { type: 'uint256', name: 'remainingLimit' }, + ], + }, + { + name: 'KeyAuthorizationWitness', + type: 'event', + inputs: [ + { type: 'address', name: 'account', indexed: true }, + { type: 'bytes32', name: 'witness', indexed: true }, + ], + }, + { + name: 'KeyAuthorizationWitnessBurned', + type: 'event', + inputs: [ + { type: 'address', name: 'account', indexed: true }, + { type: 'bytes32', name: 'witness', indexed: true }, + ], + }, + { name: 'UnauthorizedCaller', type: 'error', inputs: [] }, + { name: 'KeyAlreadyExists', type: 'error', inputs: [] }, + { name: 'KeyNotFound', type: 'error', inputs: [] }, + { name: 'KeyExpired', type: 'error', inputs: [] }, + { name: 'SpendingLimitExceeded', type: 'error', inputs: [] }, + { name: 'InvalidSpendingLimit', type: 'error', inputs: [] }, + { name: 'InvalidSignatureType', type: 'error', inputs: [] }, + { name: 'ZeroPublicKey', type: 'error', inputs: [] }, + { name: 'ExpiryInPast', type: 'error', inputs: [] }, + { name: 'KeyAlreadyRevoked', type: 'error', inputs: [] }, + { + name: 'SignatureTypeMismatch', + type: 'error', + inputs: [ + { type: 'uint8', name: 'expected' }, + { type: 'uint8', name: 'actual' }, + ], + }, + { name: 'CallNotAllowed', type: 'error', inputs: [] }, + { name: 'InvalidCallScope', type: 'error', inputs: [] }, + { name: 'InvalidKeyId', type: 'error', inputs: [] }, + { name: 'InvalidKeyAuthorizationWitness', type: 'error', inputs: [] }, + { name: 'KeyAuthorizationWitnessAlreadyBurned', type: 'error', inputs: [] }, + { + name: 'LegacyAuthorizeKeySelectorChanged', + type: 'error', + inputs: [{ type: 'bytes4', name: 'newSelector' }], + }, +]; +exports.addressRegistry = [ + { + name: 'registerVirtualMaster', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'bytes32', name: 'salt' }], + outputs: [{ type: 'bytes4', name: 'masterId' }], + }, + { + name: 'getMaster', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'bytes4', name: 'masterId' }], + outputs: [{ type: 'address' }], + }, + { + name: 'resolveRecipient', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'to' }], + outputs: [{ type: 'address', name: 'effectiveRecipient' }], + }, + { + name: 'resolveVirtualAddress', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'virtualAddr' }], + outputs: [{ type: 'address', name: 'master' }], + }, + { + name: 'isVirtualAddress', + type: 'function', + stateMutability: 'pure', + inputs: [{ type: 'address', name: 'addr' }], + outputs: [{ type: 'bool' }], + }, + { + name: 'decodeVirtualAddress', + type: 'function', + stateMutability: 'pure', + inputs: [{ type: 'address', name: 'addr' }], + outputs: [ + { type: 'bool', name: 'isVirtual' }, + { type: 'bytes4', name: 'masterId' }, + { type: 'bytes6', name: 'userTag' }, + ], + }, + { + name: 'isImplicitlyApproved', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'addr' }], + outputs: [{ type: 'bool' }], + }, + { + name: 'MasterRegistered', + type: 'event', + inputs: [ + { type: 'bytes4', name: 'masterId', indexed: true }, + { type: 'address', name: 'masterAddress', indexed: true }, + ], + }, + { + name: 'MasterIdCollision', + type: 'error', + inputs: [{ type: 'address', name: 'master' }], + }, + { name: 'InvalidMasterAddress', type: 'error', inputs: [] }, + { name: 'ProofOfWorkFailed', type: 'error', inputs: [] }, + { name: 'VirtualAddressUnregistered', type: 'error', inputs: [] }, +]; +exports.nativeMultisig = [ + { + name: 'deriveAccount', + type: 'function', + stateMutability: 'pure', + inputs: [ + { type: 'bytes32', name: 'salt' }, + { type: 'uint8', name: 'threshold' }, + { + type: 'tuple[]', + name: 'owners', + components: [ + { type: 'address', name: 'owner' }, + { type: 'uint8', name: 'weight' }, + ], + }, + ], + outputs: [{ type: 'address', name: 'account' }], + }, + { + name: 'getConfigCommitment', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'account' }], + outputs: [{ type: 'bytes32', name: 'commitment' }], + }, + { + name: 'updateConfig', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { + type: 'tuple', + name: 'current', + components: [ + { type: 'bytes32', name: 'salt' }, + { type: 'uint64', name: 'version' }, + { type: 'uint8', name: 'threshold' }, + { + type: 'tuple[]', + name: 'owners', + components: [ + { type: 'address', name: 'owner' }, + { type: 'uint8', name: 'weight' }, + ], + }, + ], + }, + { type: 'uint8', name: 'threshold' }, + { + type: 'tuple[]', + name: 'owners', + components: [ + { type: 'address', name: 'owner' }, + { type: 'uint8', name: 'weight' }, + ], + }, + ], + outputs: [], + }, + { + name: 'MultisigConfigUpdated', + type: 'event', + inputs: [ + { type: 'address', name: 'account', indexed: true }, + { type: 'bytes32', name: 'salt' }, + { type: 'uint64', name: 'version' }, + { type: 'uint8', name: 'threshold' }, + { + type: 'tuple[]', + name: 'owners', + components: [ + { type: 'address', name: 'owner' }, + { type: 'uint8', name: 'weight' }, + ], + }, + ], + }, + { name: 'InvalidAccount', type: 'error', inputs: [] }, + { name: 'InvalidConfig', type: 'error', inputs: [] }, + { name: 'InvalidThreshold', type: 'error', inputs: [] }, + { name: 'InvalidMultisigOwner', type: 'error', inputs: [] }, + { name: 'InvalidWeight', type: 'error', inputs: [] }, + { name: 'TooManyOwners', type: 'error', inputs: [] }, + { name: 'DuplicateOwner', type: 'error', inputs: [] }, + { name: 'InvalidOwnerOrder', type: 'error', inputs: [] }, + { name: 'UnauthorizedMultisigCaller', type: 'error', inputs: [] }, +]; +exports.currentCommittee = [ + { + name: 'getCommitteeMembers', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [ + { type: 'uint64', name: 'epoch' }, + { type: 'bytes32[]', name: 'publicKeys' }, + ], + }, + { + name: 'setCommitteeMembers', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'uint64', name: 'epoch' }, + { type: 'bytes32[]', name: 'publicKeys' }, + ], + outputs: [], + }, + { name: 'Unauthorized', type: 'error', inputs: [] }, +]; +exports.nonce = [ + { + name: 'getNonce', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'account' }, + { type: 'uint256', name: 'nonceKey' }, + ], + outputs: [{ type: 'uint64', name: 'nonce' }], + }, + { + name: 'NonceIncremented', + type: 'event', + inputs: [ + { type: 'address', name: 'account', indexed: true }, + { type: 'uint256', name: 'nonceKey', indexed: true }, + { type: 'uint64', name: 'newNonce' }, + ], + }, + { name: 'ProtocolNonceNotSupported', type: 'error', inputs: [] }, + { name: 'InvalidNonceKey', type: 'error', inputs: [] }, + { name: 'NonceOverflow', type: 'error', inputs: [] }, + { name: 'ExpiringNonceReplay', type: 'error', inputs: [] }, + { name: 'ExpiringNonceSetFull', type: 'error', inputs: [] }, + { name: 'InvalidExpiringNonceExpiry', type: 'error', inputs: [] }, +]; +exports.receivePolicyGuard = [ + { + name: 'balanceOf', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'bytes', name: 'receipt' }], + outputs: [{ type: 'uint256', name: 'amount' }], + }, + { + name: 'claim', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'to' }, + { type: 'bytes', name: 'receipt' }, + ], + outputs: [], + }, + { + name: 'burnBlockedReceipt', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'bytes', name: 'receipt' }], + outputs: [], + }, + { + name: 'TransferBlocked', + type: 'event', + inputs: [ + { type: 'address', name: 'token', indexed: true }, + { type: 'address', name: 'receiver', indexed: true }, + { type: 'uint64', name: 'blockedNonce', indexed: true }, + { type: 'uint256', name: 'amount' }, + { type: 'uint8', name: 'receiptVersion' }, + { type: 'bytes', name: 'receipt' }, + ], + }, + { + name: 'ReceiptClaimed', + type: 'event', + inputs: [ + { type: 'address', name: 'token', indexed: true }, + { type: 'address', name: 'receiver', indexed: true }, + { type: 'uint64', name: 'blockedNonce', indexed: true }, + { type: 'uint64', name: 'blockedAt' }, + { type: 'uint8', name: 'receiptVersion' }, + { type: 'address', name: 'originator' }, + { type: 'address', name: 'recipient' }, + { type: 'address', name: 'recoveryAuthority' }, + { type: 'address', name: 'caller' }, + { type: 'address', name: 'to' }, + { type: 'uint256', name: 'amount' }, + ], + }, + { + name: 'ReceiptBurned', + type: 'event', + inputs: [ + { type: 'address', name: 'token', indexed: true }, + { type: 'address', name: 'receiver', indexed: true }, + { type: 'uint64', name: 'blockedNonce', indexed: true }, + { type: 'uint64', name: 'blockedAt' }, + { type: 'uint8', name: 'receiptVersion' }, + { type: 'address', name: 'originator' }, + { type: 'address', name: 'recipient' }, + { type: 'address', name: 'recoveryAuthority' }, + { type: 'address', name: 'caller' }, + { type: 'uint256', name: 'amount' }, + ], + }, + { name: 'InvalidReceipt', type: 'error', inputs: [] }, + { name: 'InvalidClaimAddress', type: 'error', inputs: [] }, + { name: 'UnauthorizedClaimer', type: 'error', inputs: [] }, + { name: 'AddressReserved', type: 'error', inputs: [] }, +]; +exports.signatureVerifier = [ + { + name: 'recover', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'bytes32', name: 'hash' }, + { type: 'bytes', name: 'signature' }, + ], + outputs: [{ type: 'address', name: 'signer' }], + }, + { + name: 'verify', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'signer' }, + { type: 'bytes32', name: 'hash' }, + { type: 'bytes', name: 'signature' }, + ], + outputs: [{ type: 'bool' }], + }, + { + name: 'verifyKeychain', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'account' }, + { type: 'bytes32', name: 'hash' }, + { type: 'bytes', name: 'signature' }, + ], + outputs: [{ type: 'bool' }], + }, + { + name: 'verifyKeychainAdmin', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'account' }, + { type: 'bytes32', name: 'hash' }, + { type: 'bytes', name: 'signature' }, + ], + outputs: [{ type: 'bool' }], + }, + { name: 'InvalidFormat', type: 'error', inputs: [] }, + { name: 'InvalidSignature', type: 'error', inputs: [] }, +]; +exports.stablecoinDex = [ + { + name: 'createPair', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'address', name: 'base' }], + outputs: [{ type: 'bytes32', name: 'key' }], + }, + { + name: 'place', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'token' }, + { type: 'uint128', name: 'amount' }, + { type: 'bool', name: 'isBid' }, + { type: 'int16', name: 'tick' }, + ], + outputs: [{ type: 'uint128', name: 'orderId' }], + }, + { + name: 'placeFlip', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'token' }, + { type: 'uint128', name: 'amount' }, + { type: 'bool', name: 'isBid' }, + { type: 'int16', name: 'tick' }, + { type: 'int16', name: 'flipTick' }, + ], + outputs: [{ type: 'uint128', name: 'orderId' }], + }, + { + name: 'cancel', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'uint128', name: 'orderId' }], + outputs: [], + }, + { + name: 'cancelStaleOrder', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'uint128', name: 'orderId' }], + outputs: [], + }, + { + name: 'swapExactAmountIn', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'tokenIn' }, + { type: 'address', name: 'tokenOut' }, + { type: 'uint128', name: 'amountIn' }, + { type: 'uint128', name: 'minAmountOut' }, + ], + outputs: [{ type: 'uint128', name: 'amountOut' }], + }, + { + name: 'swapExactAmountOut', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'tokenIn' }, + { type: 'address', name: 'tokenOut' }, + { type: 'uint128', name: 'amountOut' }, + { type: 'uint128', name: 'maxAmountIn' }, + ], + outputs: [{ type: 'uint128', name: 'amountIn' }], + }, + { + name: 'quoteSwapExactAmountIn', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'tokenIn' }, + { type: 'address', name: 'tokenOut' }, + { type: 'uint128', name: 'amountIn' }, + ], + outputs: [{ type: 'uint128', name: 'amountOut' }], + }, + { + name: 'quoteSwapExactAmountOut', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'tokenIn' }, + { type: 'address', name: 'tokenOut' }, + { type: 'uint128', name: 'amountOut' }, + ], + outputs: [{ type: 'uint128', name: 'amountIn' }], + }, + { + name: 'balanceOf', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'user' }, + { type: 'address', name: 'token' }, + ], + outputs: [{ type: 'uint128' }], + }, + { + name: 'withdraw', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'token' }, + { type: 'uint128', name: 'amount' }, + ], + outputs: [], + }, + { + name: 'getOrder', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'uint128', name: 'orderId' }], + outputs: [ + { + type: 'tuple', + components: [ + { type: 'uint128', name: 'orderId' }, + { type: 'address', name: 'maker' }, + { type: 'bytes32', name: 'bookKey' }, + { type: 'bool', name: 'isBid' }, + { type: 'int16', name: 'tick' }, + { type: 'uint128', name: 'amount' }, + { type: 'uint128', name: 'remaining' }, + { type: 'uint128', name: 'prev' }, + { type: 'uint128', name: 'next' }, + { type: 'bool', name: 'isFlip' }, + { type: 'int16', name: 'flipTick' }, + ], + }, + ], + }, + { + name: 'getTickLevel', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'base' }, + { type: 'int16', name: 'tick' }, + { type: 'bool', name: 'isBid' }, + ], + outputs: [ + { type: 'uint128', name: 'head' }, + { type: 'uint128', name: 'tail' }, + { type: 'uint128', name: 'totalLiquidity' }, + ], + }, + { + name: 'pairKey', + type: 'function', + stateMutability: 'pure', + inputs: [ + { type: 'address', name: 'tokenA' }, + { type: 'address', name: 'tokenB' }, + ], + outputs: [{ type: 'bytes32' }], + }, + { + name: 'nextOrderId', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint128' }], + }, + { + name: 'books', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'bytes32', name: 'pairKey' }], + outputs: [ + { + type: 'tuple', + components: [ + { type: 'address', name: 'base' }, + { type: 'address', name: 'quote' }, + { type: 'int16', name: 'bestBidTick' }, + { type: 'int16', name: 'bestAskTick' }, + ], + }, + ], + }, + { + name: 'bookIndexForKey', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'bytes32', name: 'bookKey' }], + outputs: [ + { type: 'bool', name: 'set' }, + { type: 'uint32', name: 'index' }, + ], + }, + { + name: 'bookKeyForIndex', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'uint32', name: 'index' }], + outputs: [{ type: 'bytes32', name: 'bookKey' }], + }, + { + name: 'setBookIndex', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'uint32', name: 'index' }], + outputs: [], + }, + { + name: 'storageCredits', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'user' }], + outputs: [{ type: 'uint64', name: 'credits' }], + }, + { + name: 'MIN_TICK', + type: 'function', + stateMutability: 'pure', + inputs: [], + outputs: [{ type: 'int16' }], + }, + { + name: 'MAX_TICK', + type: 'function', + stateMutability: 'pure', + inputs: [], + outputs: [{ type: 'int16' }], + }, + { + name: 'TICK_SPACING', + type: 'function', + stateMutability: 'pure', + inputs: [], + outputs: [{ type: 'int16' }], + }, + { + name: 'PRICE_SCALE', + type: 'function', + stateMutability: 'pure', + inputs: [], + outputs: [{ type: 'uint32' }], + }, + { + name: 'MIN_ORDER_AMOUNT', + type: 'function', + stateMutability: 'pure', + inputs: [], + outputs: [{ type: 'uint128' }], + }, + { + name: 'MIN_PRICE', + type: 'function', + stateMutability: 'pure', + inputs: [], + outputs: [{ type: 'uint32' }], + }, + { + name: 'MAX_PRICE', + type: 'function', + stateMutability: 'pure', + inputs: [], + outputs: [{ type: 'uint32' }], + }, + { + name: 'tickToPrice', + type: 'function', + stateMutability: 'pure', + inputs: [{ type: 'int16', name: 'tick' }], + outputs: [{ type: 'uint32', name: 'price' }], + }, + { + name: 'priceToTick', + type: 'function', + stateMutability: 'pure', + inputs: [{ type: 'uint32', name: 'price' }], + outputs: [{ type: 'int16', name: 'tick' }], + }, + { + name: 'PairCreated', + type: 'event', + inputs: [ + { type: 'bytes32', name: 'key', indexed: true }, + { type: 'address', name: 'base', indexed: true }, + { type: 'address', name: 'quote', indexed: true }, + ], + }, + { + name: 'OrderPlaced', + type: 'event', + inputs: [ + { type: 'uint128', name: 'orderId', indexed: true }, + { type: 'address', name: 'maker', indexed: true }, + { type: 'address', name: 'token', indexed: true }, + { type: 'uint128', name: 'amount' }, + { type: 'bool', name: 'isBid' }, + { type: 'int16', name: 'tick' }, + { type: 'bool', name: 'isFlipOrder' }, + { type: 'int16', name: 'flipTick' }, + ], + }, + { + name: 'OrderFilled', + type: 'event', + inputs: [ + { type: 'uint128', name: 'orderId', indexed: true }, + { type: 'address', name: 'maker', indexed: true }, + { type: 'address', name: 'taker', indexed: true }, + { type: 'uint128', name: 'amountFilled' }, + { type: 'bool', name: 'partialFill' }, + ], + }, + { + name: 'OrderFlipped', + type: 'event', + inputs: [ + { type: 'uint128', name: 'orderId', indexed: true }, + { type: 'address', name: 'maker', indexed: true }, + { type: 'address', name: 'token', indexed: true }, + { type: 'uint128', name: 'amount' }, + { type: 'bool', name: 'isBid' }, + { type: 'int16', name: 'tick' }, + { type: 'int16', name: 'flipTick' }, + ], + }, + { + name: 'FlipFailed', + type: 'event', + inputs: [ + { type: 'uint128', name: 'orderId', indexed: true }, + { type: 'address', name: 'maker', indexed: true }, + { type: 'bytes4', name: 'reason' }, + ], + }, + { + name: 'OrderCancelled', + type: 'event', + inputs: [{ type: 'uint128', name: 'orderId', indexed: true }], + }, + { name: 'Unauthorized', type: 'error', inputs: [] }, + { name: 'PairDoesNotExist', type: 'error', inputs: [] }, + { name: 'PairAlreadyExists', type: 'error', inputs: [] }, + { name: 'OrderDoesNotExist', type: 'error', inputs: [] }, + { name: 'IdenticalTokens', type: 'error', inputs: [] }, + { name: 'InvalidToken', type: 'error', inputs: [] }, + { + name: 'TickOutOfBounds', + type: 'error', + inputs: [{ type: 'int16', name: 'tick' }], + }, + { name: 'InvalidTick', type: 'error', inputs: [] }, + { name: 'InvalidFlipTick', type: 'error', inputs: [] }, + { name: 'InsufficientBalance', type: 'error', inputs: [] }, + { name: 'InsufficientLiquidity', type: 'error', inputs: [] }, + { name: 'InsufficientOutput', type: 'error', inputs: [] }, + { name: 'MaxInputExceeded', type: 'error', inputs: [] }, + { + name: 'BelowMinimumOrderSize', + type: 'error', + inputs: [{ type: 'uint128', name: 'amount' }], + }, + { name: 'InvalidBaseToken', type: 'error', inputs: [] }, + { name: 'OrderNotStale', type: 'error', inputs: [] }, + { name: 'IndexAlreadySet', type: 'error', inputs: [] }, +]; +exports.storageCredits = [ + { + name: 'balanceOf', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'account' }], + outputs: [{ type: 'uint64' }], + }, + { + name: 'modeOf', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'account' }], + outputs: [{ type: 'uint8' }], + }, + { + name: 'budgetOf', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'account' }], + outputs: [{ type: 'uint64' }], + }, + { + name: 'setMode', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'uint8', name: 'newMode' }], + outputs: [], + }, + { + name: 'setBudget', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'uint64', name: 'credits' }], + outputs: [], + }, + { name: 'InvalidMode', type: 'error', inputs: [] }, + { name: 'OnlyDirectCall', type: 'error', inputs: [] }, +]; +exports.feeManager = [ + { + name: 'userTokens', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'user' }], + outputs: [{ type: 'address' }], + }, + { + name: 'validatorTokens', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'validator' }], + outputs: [{ type: 'address' }], + }, + { + name: 'setUserToken', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'address', name: 'token' }], + outputs: [], + }, + { + name: 'setValidatorToken', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'address', name: 'token' }], + outputs: [], + }, + { + name: 'distributeFees', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'validator' }, + { type: 'address', name: 'token' }, + ], + outputs: [], + }, + { + name: 'collectedFees', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'validator' }, + { type: 'address', name: 'token' }, + ], + outputs: [{ type: 'uint256' }], + }, + { + name: 'UserTokenSet', + type: 'event', + inputs: [ + { type: 'address', name: 'user', indexed: true }, + { type: 'address', name: 'token', indexed: true }, + ], + }, + { + name: 'ValidatorTokenSet', + type: 'event', + inputs: [ + { type: 'address', name: 'validator', indexed: true }, + { type: 'address', name: 'token', indexed: true }, + ], + }, + { + name: 'FeesDistributed', + type: 'event', + inputs: [ + { type: 'address', name: 'validator', indexed: true }, + { type: 'address', name: 'token', indexed: true }, + { type: 'uint256', name: 'amount' }, + ], + }, + { name: 'InvalidToken', type: 'error', inputs: [] }, + { name: 'InsufficientFeeTokenBalance', type: 'error', inputs: [] }, + { name: 'CannotChangeWithinBlock', type: 'error', inputs: [] }, +]; +exports.feeAmm = [ + { + name: 'M', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint256' }], + }, + { + name: 'N', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint256' }], + }, + { + name: 'SCALE', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint256' }], + }, + { + name: 'MIN_LIQUIDITY', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint256' }], + }, + { + name: 'getPoolId', + type: 'function', + stateMutability: 'pure', + inputs: [ + { type: 'address', name: 'userToken' }, + { type: 'address', name: 'validatorToken' }, + ], + outputs: [{ type: 'bytes32' }], + }, + { + name: 'getPool', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'userToken' }, + { type: 'address', name: 'validatorToken' }, + ], + outputs: [ + { + type: 'tuple', + components: [ + { type: 'uint128', name: 'reserveUserToken' }, + { type: 'uint128', name: 'reserveValidatorToken' }, + ], + }, + ], + }, + { + name: 'pools', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'bytes32', name: 'poolId' }], + outputs: [ + { + type: 'tuple', + components: [ + { type: 'uint128', name: 'reserveUserToken' }, + { type: 'uint128', name: 'reserveValidatorToken' }, + ], + }, + ], + }, + { + name: 'mint', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'userToken' }, + { type: 'address', name: 'validatorToken' }, + { type: 'uint256', name: 'amountValidatorToken' }, + { type: 'address', name: 'to' }, + ], + outputs: [{ type: 'uint256', name: 'liquidity' }], + }, + { + name: 'burn', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'userToken' }, + { type: 'address', name: 'validatorToken' }, + { type: 'uint256', name: 'liquidity' }, + { type: 'address', name: 'to' }, + ], + outputs: [ + { type: 'uint256', name: 'amountUserToken' }, + { type: 'uint256', name: 'amountValidatorToken' }, + ], + }, + { + name: 'totalSupply', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'bytes32', name: 'poolId' }], + outputs: [{ type: 'uint256' }], + }, + { + name: 'liquidityBalances', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'bytes32', name: 'poolId' }, + { type: 'address', name: 'user' }, + ], + outputs: [{ type: 'uint256' }], + }, + { + name: 'rebalanceSwap', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'userToken' }, + { type: 'address', name: 'validatorToken' }, + { type: 'uint256', name: 'amountOut' }, + { type: 'address', name: 'to' }, + ], + outputs: [{ type: 'uint256', name: 'amountIn' }], + }, + { + name: 'Mint', + type: 'event', + inputs: [ + { type: 'address', name: 'sender' }, + { type: 'address', name: 'to', indexed: true }, + { type: 'address', name: 'userToken', indexed: true }, + { type: 'address', name: 'validatorToken', indexed: true }, + { type: 'uint256', name: 'amountValidatorToken' }, + { type: 'uint256', name: 'liquidity' }, + ], + }, + { + name: 'Burn', + type: 'event', + inputs: [ + { type: 'address', name: 'sender', indexed: true }, + { type: 'address', name: 'userToken', indexed: true }, + { type: 'address', name: 'validatorToken', indexed: true }, + { type: 'uint256', name: 'amountUserToken' }, + { type: 'uint256', name: 'amountValidatorToken' }, + { type: 'uint256', name: 'liquidity' }, + { type: 'address', name: 'to' }, + ], + }, + { + name: 'RebalanceSwap', + type: 'event', + inputs: [ + { type: 'address', name: 'userToken', indexed: true }, + { type: 'address', name: 'validatorToken', indexed: true }, + { type: 'address', name: 'swapper', indexed: true }, + { type: 'uint256', name: 'amountIn' }, + { type: 'uint256', name: 'amountOut' }, + ], + }, + { name: 'IdenticalAddresses', type: 'error', inputs: [] }, + { name: 'InvalidToken', type: 'error', inputs: [] }, + { name: 'InsufficientLiquidity', type: 'error', inputs: [] }, + { name: 'InsufficientReserves', type: 'error', inputs: [] }, + { name: 'InvalidAmount', type: 'error', inputs: [] }, + { name: 'DivisionByZero', type: 'error', inputs: [] }, + { name: 'InvalidSwapCalculation', type: 'error', inputs: [] }, +]; +exports.tip20ChannelReserve = [ + { + name: 'CLOSE_GRACE_PERIOD', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'VOUCHER_TYPEHASH', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'bytes32' }], + }, + { + name: 'open', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'payee' }, + { type: 'address', name: 'operator' }, + { type: 'address', name: 'token' }, + { type: 'uint96', name: 'deposit' }, + { type: 'bytes32', name: 'salt' }, + { type: 'address', name: 'authorizedSigner' }, + ], + outputs: [{ type: 'bytes32', name: 'channelId' }], + }, + { + name: 'settle', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { + type: 'tuple', + name: 'descriptor', + components: [ + { type: 'address', name: 'payer' }, + { type: 'address', name: 'payee' }, + { type: 'address', name: 'operator' }, + { type: 'address', name: 'token' }, + { type: 'bytes32', name: 'salt' }, + { type: 'address', name: 'authorizedSigner' }, + { type: 'bytes32', name: 'expiringNonceHash' }, + ], + }, + { type: 'uint96', name: 'cumulativeAmount' }, + { type: 'bytes', name: 'signature' }, + ], + outputs: [], + }, + { + name: 'topUp', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { + type: 'tuple', + name: 'descriptor', + components: [ + { type: 'address', name: 'payer' }, + { type: 'address', name: 'payee' }, + { type: 'address', name: 'operator' }, + { type: 'address', name: 'token' }, + { type: 'bytes32', name: 'salt' }, + { type: 'address', name: 'authorizedSigner' }, + { type: 'bytes32', name: 'expiringNonceHash' }, + ], + }, + { type: 'uint96', name: 'additionalDeposit' }, + ], + outputs: [], + }, + { + name: 'close', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { + type: 'tuple', + name: 'descriptor', + components: [ + { type: 'address', name: 'payer' }, + { type: 'address', name: 'payee' }, + { type: 'address', name: 'operator' }, + { type: 'address', name: 'token' }, + { type: 'bytes32', name: 'salt' }, + { type: 'address', name: 'authorizedSigner' }, + { type: 'bytes32', name: 'expiringNonceHash' }, + ], + }, + { type: 'uint96', name: 'cumulativeAmount' }, + { type: 'uint96', name: 'captureAmount' }, + { type: 'bytes', name: 'signature' }, + ], + outputs: [], + }, + { + name: 'requestClose', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { + type: 'tuple', + name: 'descriptor', + components: [ + { type: 'address', name: 'payer' }, + { type: 'address', name: 'payee' }, + { type: 'address', name: 'operator' }, + { type: 'address', name: 'token' }, + { type: 'bytes32', name: 'salt' }, + { type: 'address', name: 'authorizedSigner' }, + { type: 'bytes32', name: 'expiringNonceHash' }, + ], + }, + ], + outputs: [], + }, + { + name: 'withdraw', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { + type: 'tuple', + name: 'descriptor', + components: [ + { type: 'address', name: 'payer' }, + { type: 'address', name: 'payee' }, + { type: 'address', name: 'operator' }, + { type: 'address', name: 'token' }, + { type: 'bytes32', name: 'salt' }, + { type: 'address', name: 'authorizedSigner' }, + { type: 'bytes32', name: 'expiringNonceHash' }, + ], + }, + ], + outputs: [], + }, + { + name: 'getChannel', + type: 'function', + stateMutability: 'view', + inputs: [ + { + type: 'tuple', + name: 'descriptor', + components: [ + { type: 'address', name: 'payer' }, + { type: 'address', name: 'payee' }, + { type: 'address', name: 'operator' }, + { type: 'address', name: 'token' }, + { type: 'bytes32', name: 'salt' }, + { type: 'address', name: 'authorizedSigner' }, + { type: 'bytes32', name: 'expiringNonceHash' }, + ], + }, + ], + outputs: [ + { + type: 'tuple', + components: [ + { + type: 'tuple', + name: 'descriptor', + components: [ + { type: 'address', name: 'payer' }, + { type: 'address', name: 'payee' }, + { type: 'address', name: 'operator' }, + { type: 'address', name: 'token' }, + { type: 'bytes32', name: 'salt' }, + { type: 'address', name: 'authorizedSigner' }, + { type: 'bytes32', name: 'expiringNonceHash' }, + ], + }, + { + type: 'tuple', + name: 'state', + components: [ + { type: 'uint96', name: 'settled' }, + { type: 'uint96', name: 'deposit' }, + { type: 'uint32', name: 'closeRequestedAt' }, + ], + }, + ], + }, + ], + }, + { + name: 'getChannelState', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'bytes32', name: 'channelId' }], + outputs: [ + { + type: 'tuple', + components: [ + { type: 'uint96', name: 'settled' }, + { type: 'uint96', name: 'deposit' }, + { type: 'uint32', name: 'closeRequestedAt' }, + ], + }, + ], + }, + { + name: 'getChannelStatesBatch', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'bytes32[]', name: 'channelIds' }], + outputs: [ + { + type: 'tuple[]', + components: [ + { type: 'uint96', name: 'settled' }, + { type: 'uint96', name: 'deposit' }, + { type: 'uint32', name: 'closeRequestedAt' }, + ], + }, + ], + }, + { + name: 'computeChannelId', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'payer' }, + { type: 'address', name: 'payee' }, + { type: 'address', name: 'operator' }, + { type: 'address', name: 'token' }, + { type: 'bytes32', name: 'salt' }, + { type: 'address', name: 'authorizedSigner' }, + { type: 'bytes32', name: 'expiringNonceHash' }, + ], + outputs: [{ type: 'bytes32' }], + }, + { + name: 'getVoucherDigest', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'bytes32', name: 'channelId' }, + { type: 'uint96', name: 'cumulativeAmount' }, + ], + outputs: [{ type: 'bytes32' }], + }, + { + name: 'domainSeparator', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'bytes32' }], + }, + { + name: 'storageCredits', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'payer' }], + outputs: [{ type: 'uint64', name: 'credits' }], + }, + { + name: 'ChannelOpened', + type: 'event', + inputs: [ + { type: 'bytes32', name: 'channelId', indexed: true }, + { type: 'address', name: 'payer', indexed: true }, + { type: 'address', name: 'payee', indexed: true }, + { type: 'address', name: 'operator' }, + { type: 'address', name: 'token' }, + { type: 'address', name: 'authorizedSigner' }, + { type: 'bytes32', name: 'salt' }, + { type: 'bytes32', name: 'expiringNonceHash' }, + { type: 'uint96', name: 'deposit' }, + ], + }, + { + name: 'Settled', + type: 'event', + inputs: [ + { type: 'bytes32', name: 'channelId', indexed: true }, + { type: 'address', name: 'payer', indexed: true }, + { type: 'address', name: 'payee', indexed: true }, + { type: 'uint96', name: 'cumulativeAmount' }, + { type: 'uint96', name: 'deltaPaid' }, + { type: 'uint96', name: 'newSettled' }, + ], + }, + { + name: 'TopUp', + type: 'event', + inputs: [ + { type: 'bytes32', name: 'channelId', indexed: true }, + { type: 'address', name: 'payer', indexed: true }, + { type: 'address', name: 'payee', indexed: true }, + { type: 'uint96', name: 'additionalDeposit' }, + { type: 'uint96', name: 'newDeposit' }, + ], + }, + { + name: 'CloseRequested', + type: 'event', + inputs: [ + { type: 'bytes32', name: 'channelId', indexed: true }, + { type: 'address', name: 'payer', indexed: true }, + { type: 'address', name: 'payee', indexed: true }, + { type: 'uint256', name: 'closeGraceEnd' }, + ], + }, + { + name: 'ChannelClosed', + type: 'event', + inputs: [ + { type: 'bytes32', name: 'channelId', indexed: true }, + { type: 'address', name: 'payer', indexed: true }, + { type: 'address', name: 'payee', indexed: true }, + { type: 'uint96', name: 'settledToPayee' }, + { type: 'uint96', name: 'refundedToPayer' }, + ], + }, + { + name: 'CloseRequestCancelled', + type: 'event', + inputs: [ + { type: 'bytes32', name: 'channelId', indexed: true }, + { type: 'address', name: 'payer', indexed: true }, + { type: 'address', name: 'payee', indexed: true }, + ], + }, + { name: 'ChannelAlreadyExists', type: 'error', inputs: [] }, + { name: 'ChannelNotFound', type: 'error', inputs: [] }, + { name: 'NotPayer', type: 'error', inputs: [] }, + { name: 'NotPayeeOrOperator', type: 'error', inputs: [] }, + { name: 'InvalidPayee', type: 'error', inputs: [] }, + { name: 'ZeroDeposit', type: 'error', inputs: [] }, + { name: 'ExpiringNonceHashNotSet', type: 'error', inputs: [] }, + { name: 'InvalidSignature', type: 'error', inputs: [] }, + { name: 'AmountExceedsDeposit', type: 'error', inputs: [] }, + { name: 'AmountNotIncreasing', type: 'error', inputs: [] }, + { name: 'CaptureAmountInvalid', type: 'error', inputs: [] }, + { name: 'CloseNotReady', type: 'error', inputs: [] }, + { name: 'DepositOverflow', type: 'error', inputs: [] }, +]; +exports.tip20Factory = [ + { + name: 'createToken', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'string', name: 'name' }, + { type: 'string', name: 'symbol' }, + { type: 'string', name: 'currency' }, + { type: 'address', name: 'quoteToken' }, + { type: 'address', name: 'admin' }, + { type: 'bytes32', name: 'salt' }, + ], + outputs: [{ type: 'address' }], + }, + { + name: 'createToken', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'string', name: 'name' }, + { type: 'string', name: 'symbol' }, + { type: 'string', name: 'currency' }, + { type: 'address', name: 'quoteToken' }, + { type: 'address', name: 'admin' }, + { type: 'bytes32', name: 'salt' }, + { type: 'string', name: 'logoURI' }, + ], + outputs: [{ type: 'address' }], + }, + { + name: 'isTIP20', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'token' }], + outputs: [{ type: 'bool' }], + }, + { + name: 'getTokenAddress', + type: 'function', + stateMutability: 'pure', + inputs: [ + { type: 'address', name: 'sender' }, + { type: 'bytes32', name: 'salt' }, + ], + outputs: [{ type: 'address' }], + }, + { + name: 'TokenCreated', + type: 'event', + inputs: [ + { type: 'address', name: 'token', indexed: true }, + { type: 'string', name: 'name' }, + { type: 'string', name: 'symbol' }, + { type: 'string', name: 'currency' }, + { type: 'address', name: 'quoteToken' }, + { type: 'address', name: 'admin' }, + { type: 'bytes32', name: 'salt' }, + ], + }, + { name: 'AddressReserved', type: 'error', inputs: [] }, + { name: 'AddressNotReserved', type: 'error', inputs: [] }, + { name: 'InvalidQuoteToken', type: 'error', inputs: [] }, + { + name: 'TokenAlreadyExists', + type: 'error', + inputs: [{ type: 'address', name: 'token' }], + }, +]; +exports.tip20 = [ + { + name: 'name', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'string' }], + }, + { + name: 'symbol', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'string' }], + }, + { + name: 'decimals', + type: 'function', + stateMutability: 'pure', + inputs: [], + outputs: [{ type: 'uint8' }], + }, + { + name: 'totalSupply', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint256' }], + }, + { + name: 'quoteToken', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'address' }], + }, + { + name: 'nextQuoteToken', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'address' }], + }, + { + name: 'balanceOf', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'account' }], + outputs: [{ type: 'uint256' }], + }, + { + name: 'transfer', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'to' }, + { type: 'uint256', name: 'amount' }, + ], + outputs: [{ type: 'bool' }], + }, + { + name: 'approve', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'spender' }, + { type: 'uint256', name: 'amount' }, + ], + outputs: [{ type: 'bool' }], + }, + { + name: 'allowance', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'owner' }, + { type: 'address', name: 'spender' }, + ], + outputs: [{ type: 'uint256' }], + }, + { + name: 'transferFrom', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'from' }, + { type: 'address', name: 'to' }, + { type: 'uint256', name: 'amount' }, + ], + outputs: [{ type: 'bool' }], + }, + { + name: 'mint', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'to' }, + { type: 'uint256', name: 'amount' }, + ], + outputs: [], + }, + { + name: 'burn', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'uint256', name: 'amount' }], + outputs: [], + }, + { + name: 'currency', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'string' }], + }, + { + name: 'supplyCap', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint256' }], + }, + { + name: 'paused', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'bool' }], + }, + { + name: 'transferPolicyId', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'logoURI', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'string' }], + }, + { + name: 'setLogoURI', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'string', name: 'newLogoURI' }], + outputs: [], + }, + { + name: 'burnBlocked', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'from' }, + { type: 'uint256', name: 'amount' }, + ], + outputs: [], + }, + { + name: 'mintWithMemo', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'to' }, + { type: 'uint256', name: 'amount' }, + { type: 'bytes32', name: 'memo' }, + ], + outputs: [], + }, + { + name: 'burnWithMemo', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'uint256', name: 'amount' }, + { type: 'bytes32', name: 'memo' }, + ], + outputs: [], + }, + { + name: 'transferWithMemo', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'to' }, + { type: 'uint256', name: 'amount' }, + { type: 'bytes32', name: 'memo' }, + ], + outputs: [], + }, + { + name: 'transferFromWithMemo', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'from' }, + { type: 'address', name: 'to' }, + { type: 'uint256', name: 'amount' }, + { type: 'bytes32', name: 'memo' }, + ], + outputs: [{ type: 'bool' }], + }, + { + name: 'changeTransferPolicyId', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'uint64', name: 'newPolicyId' }], + outputs: [], + }, + { + name: 'setSupplyCap', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'uint256', name: 'newSupplyCap' }], + outputs: [], + }, + { + name: 'pause', + type: 'function', + stateMutability: 'nonpayable', + inputs: [], + outputs: [], + }, + { + name: 'unpause', + type: 'function', + stateMutability: 'nonpayable', + inputs: [], + outputs: [], + }, + { + name: 'setNextQuoteToken', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'address', name: 'newQuoteToken' }], + outputs: [], + }, + { + name: 'completeQuoteTokenUpdate', + type: 'function', + stateMutability: 'nonpayable', + inputs: [], + outputs: [], + }, + { + name: 'PAUSE_ROLE', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'bytes32' }], + }, + { + name: 'UNPAUSE_ROLE', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'bytes32' }], + }, + { + name: 'ISSUER_ROLE', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'bytes32' }], + }, + { + name: 'BURN_BLOCKED_ROLE', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'bytes32' }], + }, + { + name: 'permit', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'owner' }, + { type: 'address', name: 'spender' }, + { type: 'uint256', name: 'value' }, + { type: 'uint256', name: 'deadline' }, + { type: 'uint8', name: 'v' }, + { type: 'bytes32', name: 'r' }, + { type: 'bytes32', name: 's' }, + ], + outputs: [], + }, + { + name: 'nonces', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'owner' }], + outputs: [{ type: 'uint256' }], + }, + { + name: 'DOMAIN_SEPARATOR', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'bytes32' }], + }, + { + name: 'distributeReward', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'uint256', name: 'amount' }], + outputs: [], + }, + { + name: 'setRewardRecipient', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'address', name: 'recipient' }], + outputs: [], + }, + { + name: 'claimRewards', + type: 'function', + stateMutability: 'nonpayable', + inputs: [], + outputs: [{ type: 'uint256' }], + }, + { + name: 'optedInSupply', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint128' }], + }, + { + name: 'globalRewardPerToken', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint256' }], + }, + { + name: 'userRewardInfo', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'account' }], + outputs: [ + { + type: 'tuple', + components: [ + { type: 'address', name: 'rewardRecipient' }, + { type: 'uint256', name: 'rewardPerToken' }, + { type: 'uint256', name: 'rewardBalance' }, + ], + }, + ], + }, + { + name: 'getPendingRewards', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'account' }], + outputs: [{ type: 'uint128' }], + }, + { + name: 'Transfer', + type: 'event', + inputs: [ + { type: 'address', name: 'from', indexed: true }, + { type: 'address', name: 'to', indexed: true }, + { type: 'uint256', name: 'amount' }, + ], + }, + { + name: 'Approval', + type: 'event', + inputs: [ + { type: 'address', name: 'owner', indexed: true }, + { type: 'address', name: 'spender', indexed: true }, + { type: 'uint256', name: 'amount' }, + ], + }, + { + name: 'Mint', + type: 'event', + inputs: [ + { type: 'address', name: 'to', indexed: true }, + { type: 'uint256', name: 'amount' }, + ], + }, + { + name: 'Burn', + type: 'event', + inputs: [ + { type: 'address', name: 'from', indexed: true }, + { type: 'uint256', name: 'amount' }, + ], + }, + { + name: 'BurnBlocked', + type: 'event', + inputs: [ + { type: 'address', name: 'from', indexed: true }, + { type: 'uint256', name: 'amount' }, + ], + }, + { + name: 'TransferWithMemo', + type: 'event', + inputs: [ + { type: 'address', name: 'from', indexed: true }, + { type: 'address', name: 'to', indexed: true }, + { type: 'uint256', name: 'amount' }, + { type: 'bytes32', name: 'memo', indexed: true }, + ], + }, + { + name: 'TransferPolicyUpdate', + type: 'event', + inputs: [ + { type: 'address', name: 'updater', indexed: true }, + { type: 'uint64', name: 'newPolicyId', indexed: true }, + ], + }, + { + name: 'SupplyCapUpdate', + type: 'event', + inputs: [ + { type: 'address', name: 'updater', indexed: true }, + { type: 'uint256', name: 'newSupplyCap', indexed: true }, + ], + }, + { + name: 'PauseStateUpdate', + type: 'event', + inputs: [ + { type: 'address', name: 'updater', indexed: true }, + { type: 'bool', name: 'isPaused' }, + ], + }, + { + name: 'NextQuoteTokenSet', + type: 'event', + inputs: [ + { type: 'address', name: 'updater', indexed: true }, + { type: 'address', name: 'nextQuoteToken', indexed: true }, + ], + }, + { + name: 'QuoteTokenUpdate', + type: 'event', + inputs: [ + { type: 'address', name: 'updater', indexed: true }, + { type: 'address', name: 'newQuoteToken', indexed: true }, + ], + }, + { + name: 'RewardDistributed', + type: 'event', + inputs: [ + { type: 'address', name: 'funder', indexed: true }, + { type: 'uint256', name: 'amount' }, + ], + }, + { + name: 'RewardRecipientSet', + type: 'event', + inputs: [ + { type: 'address', name: 'holder', indexed: true }, + { type: 'address', name: 'recipient', indexed: true }, + ], + }, + { + name: 'LogoURIUpdated', + type: 'event', + inputs: [ + { type: 'address', name: 'updater', indexed: true }, + { type: 'string', name: 'newLogoURI' }, + ], + }, + { + name: 'InsufficientBalance', + type: 'error', + inputs: [ + { type: 'uint256', name: 'available' }, + { type: 'uint256', name: 'required' }, + { type: 'address', name: 'token' }, + ], + }, + { name: 'InsufficientAllowance', type: 'error', inputs: [] }, + { name: 'SupplyCapExceeded', type: 'error', inputs: [] }, + { name: 'InvalidSupplyCap', type: 'error', inputs: [] }, + { name: 'InvalidPayload', type: 'error', inputs: [] }, + { name: 'PolicyForbids', type: 'error', inputs: [] }, + { name: 'InvalidRecipient', type: 'error', inputs: [] }, + { name: 'ContractPaused', type: 'error', inputs: [] }, + { name: 'InvalidCurrency', type: 'error', inputs: [] }, + { name: 'InvalidQuoteToken', type: 'error', inputs: [] }, + { name: 'InvalidAmount', type: 'error', inputs: [] }, + { name: 'NoOptedInSupply', type: 'error', inputs: [] }, + { name: 'Unauthorized', type: 'error', inputs: [] }, + { name: 'ProtectedAddress', type: 'error', inputs: [] }, + { name: 'InvalidToken', type: 'error', inputs: [] }, + { name: 'Uninitialized', type: 'error', inputs: [] }, + { name: 'InvalidTransferPolicyId', type: 'error', inputs: [] }, + { name: 'PermitExpired', type: 'error', inputs: [] }, + { name: 'InvalidSignature', type: 'error', inputs: [] }, + { name: 'LogoURITooLong', type: 'error', inputs: [] }, + { name: 'InvalidLogoURI', type: 'error', inputs: [] }, + { + name: 'hasRole', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'account' }, + { type: 'bytes32', name: 'role' }, + ], + outputs: [{ type: 'bool' }], + }, + { + name: 'getRoleAdmin', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'bytes32', name: 'role' }], + outputs: [{ type: 'bytes32' }], + }, + { + name: 'grantRole', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'bytes32', name: 'role' }, + { type: 'address', name: 'account' }, + ], + outputs: [], + }, + { + name: 'revokeRole', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'bytes32', name: 'role' }, + { type: 'address', name: 'account' }, + ], + outputs: [], + }, + { + name: 'renounceRole', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'bytes32', name: 'role' }], + outputs: [], + }, + { + name: 'setRoleAdmin', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'bytes32', name: 'role' }, + { type: 'bytes32', name: 'adminRole' }, + ], + outputs: [], + }, + { + name: 'RoleMembershipUpdated', + type: 'event', + inputs: [ + { type: 'bytes32', name: 'role', indexed: true }, + { type: 'address', name: 'account', indexed: true }, + { type: 'address', name: 'sender', indexed: true }, + { type: 'bool', name: 'hasRole' }, + ], + }, + { + name: 'RoleAdminUpdated', + type: 'event', + inputs: [ + { type: 'bytes32', name: 'role', indexed: true }, + { type: 'bytes32', name: 'newAdminRole', indexed: true }, + { type: 'address', name: 'sender', indexed: true }, + ], + }, + { name: 'Unauthorized', type: 'error', inputs: [] }, +]; +exports.tip403Registry = [ + { + name: 'policyIdCounter', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'policyExists', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'uint64', name: 'policyId' }], + outputs: [{ type: 'bool' }], + }, + { + name: 'tokenTransferPolicyId', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'token' }], + outputs: [ + { type: 'bool', name: 'isSet' }, + { type: 'uint64', name: 'policyId' }, + ], + }, + { + name: 'policyData', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'uint64', name: 'policyId' }], + outputs: [ + { type: 'uint8', name: 'policyType' }, + { type: 'address', name: 'admin' }, + ], + }, + { + name: 'isAuthorized', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'uint64', name: 'policyId' }, + { type: 'address', name: 'user' }, + ], + outputs: [{ type: 'bool' }], + }, + { + name: 'isAuthorizedSender', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'uint64', name: 'policyId' }, + { type: 'address', name: 'user' }, + ], + outputs: [{ type: 'bool' }], + }, + { + name: 'isAuthorizedRecipient', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'uint64', name: 'policyId' }, + { type: 'address', name: 'user' }, + ], + outputs: [{ type: 'bool' }], + }, + { + name: 'isAuthorizedMintRecipient', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'uint64', name: 'policyId' }, + { type: 'address', name: 'user' }, + ], + outputs: [{ type: 'bool' }], + }, + { + name: 'compoundPolicyData', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'uint64', name: 'policyId' }], + outputs: [ + { type: 'uint64', name: 'senderPolicyId' }, + { type: 'uint64', name: 'recipientPolicyId' }, + { type: 'uint64', name: 'mintRecipientPolicyId' }, + ], + }, + { + name: 'receivePolicy', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'account' }], + outputs: [ + { type: 'bool', name: 'hasReceivePolicy' }, + { type: 'uint64', name: 'senderPolicyId' }, + { type: 'uint8', name: 'senderPolicyType' }, + { type: 'uint64', name: 'tokenFilterId' }, + { type: 'uint8', name: 'tokenFilterType' }, + { type: 'address', name: 'recoveryAuthority' }, + ], + }, + { + name: 'validateReceivePolicy', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'token' }, + { type: 'address', name: 'sender' }, + { type: 'address', name: 'receiver' }, + ], + outputs: [ + { type: 'bool', name: 'authorized' }, + { type: 'uint8', name: 'blockedReason' }, + ], + }, + { + name: 'createPolicy', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'admin' }, + { type: 'uint8', name: 'policyType' }, + ], + outputs: [{ type: 'uint64' }], + }, + { + name: 'createPolicyWithAccounts', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'admin' }, + { type: 'uint8', name: 'policyType' }, + { type: 'address[]', name: 'accounts' }, + ], + outputs: [{ type: 'uint64' }], + }, + { + name: 'setPolicyAdmin', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'uint64', name: 'policyId' }, + { type: 'address', name: 'admin' }, + ], + outputs: [], + }, + { + name: 'modifyPolicyWhitelist', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'uint64', name: 'policyId' }, + { type: 'address', name: 'account' }, + { type: 'bool', name: 'allowed' }, + ], + outputs: [], + }, + { + name: 'modifyPolicyBlacklist', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'uint64', name: 'policyId' }, + { type: 'address', name: 'account' }, + { type: 'bool', name: 'restricted' }, + ], + outputs: [], + }, + { + name: 'createCompoundPolicy', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'uint64', name: 'senderPolicyId' }, + { type: 'uint64', name: 'recipientPolicyId' }, + { type: 'uint64', name: 'mintRecipientPolicyId' }, + ], + outputs: [{ type: 'uint64' }], + }, + { + name: 'setReceivePolicy', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'uint64', name: 'senderPolicyId' }, + { type: 'uint64', name: 'tokenFilterId' }, + { type: 'address', name: 'recoveryAuthority' }, + ], + outputs: [], + }, + { + name: 'migrateTransferPolicyIds', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'address[]', name: 'tokens' }], + outputs: [{ type: 'uint256', name: 'migrated' }], + }, + { + name: 'PolicyAdminUpdated', + type: 'event', + inputs: [ + { type: 'uint64', name: 'policyId', indexed: true }, + { type: 'address', name: 'updater', indexed: true }, + { type: 'address', name: 'admin', indexed: true }, + ], + }, + { + name: 'PolicyCreated', + type: 'event', + inputs: [ + { type: 'uint64', name: 'policyId', indexed: true }, + { type: 'address', name: 'updater', indexed: true }, + { type: 'uint8', name: 'policyType' }, + ], + }, + { + name: 'WhitelistUpdated', + type: 'event', + inputs: [ + { type: 'uint64', name: 'policyId', indexed: true }, + { type: 'address', name: 'updater', indexed: true }, + { type: 'address', name: 'account', indexed: true }, + { type: 'bool', name: 'allowed' }, + ], + }, + { + name: 'BlacklistUpdated', + type: 'event', + inputs: [ + { type: 'uint64', name: 'policyId', indexed: true }, + { type: 'address', name: 'updater', indexed: true }, + { type: 'address', name: 'account', indexed: true }, + { type: 'bool', name: 'restricted' }, + ], + }, + { + name: 'CompoundPolicyCreated', + type: 'event', + inputs: [ + { type: 'uint64', name: 'policyId', indexed: true }, + { type: 'address', name: 'creator', indexed: true }, + { type: 'uint64', name: 'senderPolicyId' }, + { type: 'uint64', name: 'recipientPolicyId' }, + { type: 'uint64', name: 'mintRecipientPolicyId' }, + ], + }, + { + name: 'ReceivePolicyUpdated', + type: 'event', + inputs: [ + { type: 'address', name: 'account', indexed: true }, + { type: 'uint64', name: 'senderPolicyId' }, + { type: 'uint64', name: 'tokenFilterId' }, + { type: 'address', name: 'recoveryAuthority' }, + ], + }, + { name: 'Unauthorized', type: 'error', inputs: [] }, + { name: 'PolicyNotFound', type: 'error', inputs: [] }, + { name: 'PolicyNotSimple', type: 'error', inputs: [] }, + { name: 'InvalidPolicyType', type: 'error', inputs: [] }, + { name: 'IncompatiblePolicyType', type: 'error', inputs: [] }, + { name: 'VirtualAddressNotAllowed', type: 'error', inputs: [] }, + { name: 'InvalidReceivePolicyType', type: 'error', inputs: [] }, + { name: 'InvalidRecoveryAuthority', type: 'error', inputs: [] }, +]; +exports.validatorConfigV2 = [ + { + name: 'getActiveValidators', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [ + { + type: 'tuple[]', + name: 'validators', + components: [ + { type: 'bytes32', name: 'publicKey' }, + { type: 'address', name: 'validatorAddress' }, + { type: 'string', name: 'ingress' }, + { type: 'string', name: 'egress' }, + { type: 'address', name: 'feeRecipient' }, + { type: 'uint64', name: 'index' }, + { type: 'uint64', name: 'addedAtHeight' }, + { type: 'uint64', name: 'deactivatedAtHeight' }, + ], + }, + ], + }, + { + name: 'getInitializedAtHeight', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'owner', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'address' }], + }, + { + name: 'validatorCount', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'validatorByIndex', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'uint64', name: 'index' }], + outputs: [ + { + type: 'tuple', + components: [ + { type: 'bytes32', name: 'publicKey' }, + { type: 'address', name: 'validatorAddress' }, + { type: 'string', name: 'ingress' }, + { type: 'string', name: 'egress' }, + { type: 'address', name: 'feeRecipient' }, + { type: 'uint64', name: 'index' }, + { type: 'uint64', name: 'addedAtHeight' }, + { type: 'uint64', name: 'deactivatedAtHeight' }, + ], + }, + ], + }, + { + name: 'validatorByAddress', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'validatorAddress' }], + outputs: [ + { + type: 'tuple', + components: [ + { type: 'bytes32', name: 'publicKey' }, + { type: 'address', name: 'validatorAddress' }, + { type: 'string', name: 'ingress' }, + { type: 'string', name: 'egress' }, + { type: 'address', name: 'feeRecipient' }, + { type: 'uint64', name: 'index' }, + { type: 'uint64', name: 'addedAtHeight' }, + { type: 'uint64', name: 'deactivatedAtHeight' }, + ], + }, + ], + }, + { + name: 'validatorByPublicKey', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'bytes32', name: 'publicKey' }], + outputs: [ + { + type: 'tuple', + components: [ + { type: 'bytes32', name: 'publicKey' }, + { type: 'address', name: 'validatorAddress' }, + { type: 'string', name: 'ingress' }, + { type: 'string', name: 'egress' }, + { type: 'address', name: 'feeRecipient' }, + { type: 'uint64', name: 'index' }, + { type: 'uint64', name: 'addedAtHeight' }, + { type: 'uint64', name: 'deactivatedAtHeight' }, + ], + }, + ], + }, + { + name: 'getNextNetworkIdentityRotationEpoch', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'isInitialized', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'bool' }], + }, + { + name: 'addValidator', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'validatorAddress' }, + { type: 'bytes32', name: 'publicKey' }, + { type: 'string', name: 'ingress' }, + { type: 'string', name: 'egress' }, + { type: 'address', name: 'feeRecipient' }, + { type: 'bytes', name: 'signature' }, + ], + outputs: [{ type: 'uint64', name: 'index' }], + }, + { + name: 'deactivateValidator', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'uint64', name: 'idx' }], + outputs: [], + }, + { + name: 'rotateValidator', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'uint64', name: 'idx' }, + { type: 'bytes32', name: 'publicKey' }, + { type: 'string', name: 'ingress' }, + { type: 'string', name: 'egress' }, + { type: 'bytes', name: 'signature' }, + ], + outputs: [], + }, + { + name: 'setFeeRecipient', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'uint64', name: 'idx' }, + { type: 'address', name: 'feeRecipient' }, + ], + outputs: [], + }, + { + name: 'setIpAddresses', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'uint64', name: 'idx' }, + { type: 'string', name: 'ingress' }, + { type: 'string', name: 'egress' }, + ], + outputs: [], + }, + { + name: 'transferValidatorOwnership', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'uint64', name: 'idx' }, + { type: 'address', name: 'newAddress' }, + ], + outputs: [], + }, + { + name: 'transferOwnership', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'address', name: 'newOwner' }], + outputs: [], + }, + { + name: 'setNetworkIdentityRotationEpoch', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'uint64', name: 'epoch' }], + outputs: [], + }, + { + name: 'migrateValidator', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'uint64', name: 'idx' }], + outputs: [], + }, + { + name: 'initializeIfMigrated', + type: 'function', + stateMutability: 'nonpayable', + inputs: [], + outputs: [], + }, + { + name: 'ValidatorAdded', + type: 'event', + inputs: [ + { type: 'uint64', name: 'index', indexed: true }, + { type: 'address', name: 'validatorAddress', indexed: true }, + { type: 'bytes32', name: 'publicKey' }, + { type: 'string', name: 'ingress' }, + { type: 'string', name: 'egress' }, + { type: 'address', name: 'feeRecipient' }, + ], + }, + { + name: 'ValidatorDeactivated', + type: 'event', + inputs: [ + { type: 'uint64', name: 'index', indexed: true }, + { type: 'address', name: 'validatorAddress', indexed: true }, + ], + }, + { + name: 'ValidatorRotated', + type: 'event', + inputs: [ + { type: 'uint64', name: 'index', indexed: true }, + { type: 'uint64', name: 'deactivatedIndex', indexed: true }, + { type: 'address', name: 'validatorAddress', indexed: true }, + { type: 'bytes32', name: 'oldPublicKey' }, + { type: 'bytes32', name: 'newPublicKey' }, + { type: 'string', name: 'ingress' }, + { type: 'string', name: 'egress' }, + { type: 'address', name: 'caller' }, + ], + }, + { + name: 'FeeRecipientUpdated', + type: 'event', + inputs: [ + { type: 'uint64', name: 'index', indexed: true }, + { type: 'address', name: 'feeRecipient' }, + { type: 'address', name: 'caller' }, + ], + }, + { + name: 'IpAddressesUpdated', + type: 'event', + inputs: [ + { type: 'uint64', name: 'index', indexed: true }, + { type: 'string', name: 'ingress' }, + { type: 'string', name: 'egress' }, + { type: 'address', name: 'caller' }, + ], + }, + { + name: 'ValidatorOwnershipTransferred', + type: 'event', + inputs: [ + { type: 'uint64', name: 'index', indexed: true }, + { type: 'address', name: 'oldAddress', indexed: true }, + { type: 'address', name: 'newAddress', indexed: true }, + { type: 'address', name: 'caller' }, + ], + }, + { + name: 'OwnershipTransferred', + type: 'event', + inputs: [ + { type: 'address', name: 'oldOwner', indexed: true }, + { type: 'address', name: 'newOwner', indexed: true }, + ], + }, + { + name: 'ValidatorMigrated', + type: 'event', + inputs: [ + { type: 'uint64', name: 'index', indexed: true }, + { type: 'address', name: 'validatorAddress', indexed: true }, + { type: 'bytes32', name: 'publicKey' }, + ], + }, + { + name: 'NetworkIdentityRotationEpochSet', + type: 'event', + inputs: [ + { type: 'uint64', name: 'previousEpoch', indexed: true }, + { type: 'uint64', name: 'nextEpoch', indexed: true }, + ], + }, + { + name: 'Initialized', + type: 'event', + inputs: [{ type: 'uint64', name: 'height' }], + }, + { + name: 'SkippedValidatorMigration', + type: 'event', + inputs: [ + { type: 'uint64', name: 'index', indexed: true }, + { type: 'address', name: 'validatorAddress', indexed: true }, + { type: 'bytes32', name: 'publicKey' }, + ], + }, + { name: 'AlreadyInitialized', type: 'error', inputs: [] }, + { + name: 'IngressAlreadyExists', + type: 'error', + inputs: [{ type: 'string', name: 'ingress' }], + }, + { name: 'EmptyV1ValidatorSet', type: 'error', inputs: [] }, + { name: 'InvalidMigrationIndex', type: 'error', inputs: [] }, + { name: 'InvalidOwner', type: 'error', inputs: [] }, + { name: 'InvalidPublicKey', type: 'error', inputs: [] }, + { name: 'InvalidSignature', type: 'error', inputs: [] }, + { name: 'InvalidSignatureFormat', type: 'error', inputs: [] }, + { name: 'InvalidValidatorAddress', type: 'error', inputs: [] }, + { name: 'MigrationNotComplete', type: 'error', inputs: [] }, + { name: 'NotInitialized', type: 'error', inputs: [] }, + { + name: 'NotIp', + type: 'error', + inputs: [ + { type: 'string', name: 'input' }, + { type: 'string', name: 'backtrace' }, + ], + }, + { + name: 'NotIpPort', + type: 'error', + inputs: [ + { type: 'string', name: 'input' }, + { type: 'string', name: 'backtrace' }, + ], + }, + { name: 'PublicKeyAlreadyExists', type: 'error', inputs: [] }, + { name: 'Unauthorized', type: 'error', inputs: [] }, + { name: 'AddressAlreadyHasValidator', type: 'error', inputs: [] }, + { name: 'ValidatorAlreadyDeactivated', type: 'error', inputs: [] }, + { name: 'ValidatorNotFound', type: 'error', inputs: [] }, +]; +exports.validatorConfig = [ + { + name: 'getValidators', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [ + { + type: 'tuple[]', + name: 'validators', + components: [ + { type: 'bytes32', name: 'publicKey' }, + { type: 'bool', name: 'active' }, + { type: 'uint64', name: 'index' }, + { type: 'address', name: 'validatorAddress' }, + { type: 'string', name: 'inboundAddress' }, + { type: 'string', name: 'outboundAddress' }, + ], + }, + ], + }, + { + name: 'addValidator', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'newValidatorAddress' }, + { type: 'bytes32', name: 'publicKey' }, + { type: 'bool', name: 'active' }, + { type: 'string', name: 'inboundAddress' }, + { type: 'string', name: 'outboundAddress' }, + ], + outputs: [], + }, + { + name: 'updateValidator', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'newValidatorAddress' }, + { type: 'bytes32', name: 'publicKey' }, + { type: 'string', name: 'inboundAddress' }, + { type: 'string', name: 'outboundAddress' }, + ], + outputs: [], + }, + { + name: 'changeValidatorStatus', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'validator' }, + { type: 'bool', name: 'active' }, + ], + outputs: [], + }, + { + name: 'changeValidatorStatusByIndex', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'uint64', name: 'index' }, + { type: 'bool', name: 'active' }, + ], + outputs: [], + }, + { + name: 'owner', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'address' }], + }, + { + name: 'changeOwner', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'address', name: 'newOwner' }], + outputs: [], + }, + { + name: 'getNextFullDkgCeremony', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'setNextFullDkgCeremony', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'uint64', name: 'epoch' }], + outputs: [], + }, + { + name: 'validatorsArray', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'uint256', name: 'index' }], + outputs: [{ type: 'address' }], + }, + { + name: 'validators', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'validator' }], + outputs: [ + { + type: 'tuple', + components: [ + { type: 'bytes32', name: 'publicKey' }, + { type: 'bool', name: 'active' }, + { type: 'uint64', name: 'index' }, + { type: 'address', name: 'validatorAddress' }, + { type: 'string', name: 'inboundAddress' }, + { type: 'string', name: 'outboundAddress' }, + ], + }, + ], + }, + { + name: 'validatorCount', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { name: 'Unauthorized', type: 'error', inputs: [] }, + { name: 'ValidatorAlreadyExists', type: 'error', inputs: [] }, + { name: 'ValidatorNotFound', type: 'error', inputs: [] }, + { name: 'InvalidPublicKey', type: 'error', inputs: [] }, + { + name: 'NotHostPort', + type: 'error', + inputs: [ + { type: 'string', name: 'field' }, + { type: 'string', name: 'input' }, + { type: 'string', name: 'backtrace' }, + ], + }, + { + name: 'NotIpPort', + type: 'error', + inputs: [ + { type: 'string', name: 'field' }, + { type: 'string', name: 'input' }, + { type: 'string', name: 'backtrace' }, + ], + }, +]; +exports.zoneFactory = [ + { + name: 'owner', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'address' }], + }, + { + name: 'transferOwnership', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'address', name: 'newOwner' }], + outputs: [], + }, + { + name: 'createZone', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { + type: 'tuple', + name: 'params', + components: [ + { type: 'address', name: 'initialToken' }, + { type: 'bool', name: 'accessMode' }, + { type: 'bool', name: 'gatewayMode' }, + { type: 'address[]', name: 'allowedAccounts' }, + { type: 'address[]', name: 'zoneGateways' }, + { type: 'address', name: 'admin' }, + { type: 'address[]', name: 'sequencers' }, + { type: 'uint8', name: 'threshold' }, + { type: 'string', name: 'rpcUrl' }, + ], + }, + ], + outputs: [ + { type: 'uint32', name: 'zoneId' }, + { type: 'address', name: 'portal' }, + ], + }, + { + name: 'nextZoneId', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint32' }], + }, + { + name: 'zones', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'uint32', name: 'id' }], + outputs: [ + { + type: 'tuple', + name: 'info', + components: [ + { type: 'uint32', name: 'zoneId' }, + { type: 'address', name: 'portal' }, + { type: 'bool', name: 'accessMode' }, + { type: 'bool', name: 'gatewayMode' }, + { type: 'address', name: 'admin' }, + { type: 'address[]', name: 'sequencers' }, + { type: 'uint8', name: 'threshold' }, + { type: 'address', name: 'verifier' }, + { type: 'string', name: 'rpcUrl' }, + ], + }, + ], + }, + { + name: 'isZonePortal', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'portal' }], + outputs: [{ type: 'bool' }], + }, + { + name: 'OwnershipTransferred', + type: 'event', + inputs: [ + { type: 'address', name: 'previousOwner', indexed: true }, + { type: 'address', name: 'newOwner', indexed: true }, + ], + }, + { + name: 'ZoneCreated', + type: 'event', + inputs: [ + { type: 'uint32', name: 'zoneId', indexed: true }, + { type: 'address', name: 'portal', indexed: true }, + { type: 'address', name: 'initialToken' }, + { type: 'bool', name: 'accessMode' }, + { type: 'bool', name: 'gatewayMode' }, + { type: 'address', name: 'admin' }, + { type: 'address[]', name: 'sequencers' }, + { type: 'uint8', name: 'threshold' }, + { type: 'address', name: 'verifier' }, + ], + }, + { name: 'InvalidToken', type: 'error', inputs: [] }, + { name: 'TokenTransferPolicyNotSet', type: 'error', inputs: [] }, + { name: 'InvalidClosedLoopConfig', type: 'error', inputs: [] }, + { name: 'NotOwner', type: 'error', inputs: [] }, + { name: 'InvalidAdmin', type: 'error', inputs: [] }, + { name: 'InvalidSequencerSet', type: 'error', inputs: [] }, + { name: 'AlreadyInitialized', type: 'error', inputs: [] }, + { name: 'TokenMetadataTooLong', type: 'error', inputs: [] }, + { name: 'DuplicateAllowedAccount', type: 'error', inputs: [] }, + { name: 'DuplicateZoneGateway', type: 'error', inputs: [] }, + { + name: 'ZoneCreated', + type: 'event', + inputs: [ + { type: 'uint32', name: 'zoneId', indexed: true }, + { type: 'address', name: 'portal', indexed: true }, + { type: 'address', name: 'messenger', indexed: true }, + { type: 'address', name: 'initialToken' }, + { type: 'address', name: 'admin' }, + { type: 'address', name: 'sequencer' }, + { type: 'address', name: 'verifier' }, + { type: 'bytes32', name: 'genesisBlockHash' }, + { type: 'bytes32', name: 'genesisTempoBlockHash' }, + { type: 'uint64', name: 'genesisTempoBlockNumber' }, + ], + }, + { + name: 'createZone', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { + type: 'tuple', + name: 'params', + components: [ + { type: 'address', name: 'initialToken' }, + { type: 'address', name: 'admin' }, + { type: 'address', name: 'sequencer' }, + { type: 'address', name: 'verifier' }, + { + type: 'tuple', + name: 'zoneParams', + components: [ + { type: 'bytes32', name: 'genesisBlockHash' }, + { type: 'bytes32', name: 'genesisTempoBlockHash' }, + { type: 'uint64', name: 'genesisTempoBlockNumber' }, + ], + }, + { type: 'string', name: 'rpcUrl' }, + ], + }, + ], + outputs: [ + { type: 'uint32', name: 'zoneId' }, + { type: 'address', name: 'portal' }, + ], + }, + { + name: 'verifier', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'address' }], + }, +]; +exports.zonePortal = [ + { + name: 'SequencerSetUpdated', + type: 'event', + inputs: [ + { type: 'uint64', name: 'nonce', indexed: true }, + { type: 'uint8', name: 'threshold' }, + { type: 'address[]', name: 'sequencers' }, + ], + }, + { + name: 'TokenEnabled', + type: 'event', + inputs: [ + { type: 'address', name: 'token', indexed: true }, + { type: 'string', name: 'name' }, + { type: 'string', name: 'symbol' }, + { type: 'string', name: 'currency' }, + ], + }, + { + name: 'RoleUpdated', + type: 'event', + inputs: [ + { type: 'address', name: 'account', indexed: true }, + { type: 'uint8', name: 'prev' }, + { type: 'uint8', name: 'next' }, + ], + }, + { + name: 'EnforcementModesUpdated', + type: 'event', + inputs: [ + { type: 'bool', name: 'accessMode' }, + { type: 'bool', name: 'gatewayMode' }, + ], + }, + { + name: 'LeaderUpdated', + type: 'event', + inputs: [ + { type: 'address', name: 'previousLeader', indexed: true }, + { type: 'address', name: 'newLeader', indexed: true }, + { type: 'uint64', name: 'leaderEpoch', indexed: true }, + { type: 'uint64', name: 'leaderActivationTempoBlock' }, + ], + }, + { + name: 'zoneId', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint32' }], + }, + { + name: 'admin', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'address' }], + }, + { + name: 'messenger', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'address' }], + }, + { + name: 'isAccessEnforced', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'bool' }], + }, + { + name: 'setAccessMode', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'bool', name: 'enforced' }], + outputs: [], + }, + { + name: 'isGatewayOpen', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'bool' }], + }, + { + name: 'setGatewayMode', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'bool', name: 'enforced' }], + outputs: [], + }, + { + name: 'hasRole', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'account' }, + { type: 'uint8', name: 'role' }, + ], + outputs: [{ type: 'bool' }], + }, + { + name: 'setAllowedAccount', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'account' }, + { type: 'bool', name: 'allowed' }, + ], + outputs: [], + }, + { + name: 'setGateway', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'account' }, + { type: 'bool', name: 'allowed' }, + ], + outputs: [], + }, + { + name: 'setPauseGuardian', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'account' }, + { type: 'bool', name: 'allowed' }, + ], + outputs: [], + }, + { + name: 'setSequencerSet', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address[]', name: 'newSequencers' }, + { type: 'uint8', name: 'newThreshold' }, + ], + outputs: [], + }, + { + name: 'verifier', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'address' }], + }, + { + name: 'sequencerSetVersion', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'sequencerThreshold', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint8' }], + }, + { + name: 'zoneHeight', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint256' }], + }, + { + name: 'isSequencer', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'account' }], + outputs: [{ type: 'bool' }], + }, + { + name: 'sequencerCount', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint256' }], + }, + { + name: 'sequencerAt', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'uint256', name: 'index' }], + outputs: [{ type: 'address' }], + }, + { + name: 'leader', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'address' }], + }, + { + name: 'leaderEpoch', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'leaderActivationTempoBlock', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'setLeader', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'newLeader' }, + { type: 'uint64', name: 'expectedEpoch' }, + ], + outputs: [], + }, + { + name: 'withdrawalBatchIndex', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'blockHash', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'bytes32' }], + }, + { + name: 'currentDepositQueueHash', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'bytes32' }], + }, + { + name: 'lastSyncedTempoBlockNumber', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'withdrawalQueueHead', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint256' }], + }, + { + name: 'withdrawalQueueTail', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint256' }], + }, + { + name: 'withdrawalQueueSlot', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'uint256', name: 'queueIndex' }], + outputs: [{ type: 'bytes32' }], + }, + { + name: 'calculateDepositFee', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint128', name: 'fee' }], + }, + { + name: 'calculateBouncebackFee', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint128', name: 'fee' }], + }, + { + name: 'depositCount', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'lastProcessedDepositNumber', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'FIXED_DEPOSIT_GAS', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'MAX_GAS_FEE_RATE', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint128' }], + }, + { + name: 'MAX_TOKENS_ENABLED_PER_TEMPO_BLOCK', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'MAX_TOKEN_METADATA_BYTES', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint256' }], + }, + { + name: 'areDepositsActive', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'token' }], + outputs: [{ type: 'bool' }], + }, + { + name: 'tokenConfig', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'token' }], + outputs: [ + { + type: 'tuple', + components: [ + { type: 'bool', name: 'enabled' }, + { type: 'bool', name: 'depositsActive' }, + ], + }, + ], + }, + { + name: 'initialize', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'uint32', name: 'zoneId' }, + { type: 'address', name: 'initialToken' }, + { type: 'bool', name: 'accessMode' }, + { type: 'bool', name: 'gatewayMode' }, + { type: 'address[]', name: 'allowedAccounts' }, + { type: 'address[]', name: 'zoneGateways' }, + { type: 'address', name: 'admin' }, + { type: 'address', name: 'messenger' }, + { type: 'address[]', name: 'sequencers' }, + { type: 'uint8', name: 'threshold' }, + { type: 'address', name: 'verifier' }, + { type: 'string', name: 'rpcUrl' }, + ], + outputs: [], + }, + { + name: 'deliverWithdrawal', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'to' }, + { type: 'address', name: 'token' }, + { type: 'uint128', name: 'amount' }, + { type: 'bytes32', name: 'memo' }, + { type: 'uint64', name: 'gasLimit' }, + { type: 'bytes', name: 'callbackData' }, + ], + outputs: [], + }, + { + name: 'MAX_DEPOSITS_PER_TEMPO_BLOCK', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'MAX_WITHDRAWAL_GAS_LIMIT', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'paused', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'bool' }], + }, + { + name: 'pauseExpiry', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'abdicationEffectiveAt', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'uint8', name: 'capability' }], + outputs: [{ type: 'uint64' }], + }, + { + name: 'processWithdrawals', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { + type: 'tuple[]', + name: 'withdrawals', + components: [ + { type: 'address', name: 'token' }, + { type: 'bytes32', name: 'senderTag' }, + { type: 'address', name: 'to' }, + { type: 'uint128', name: 'amount' }, + { type: 'bytes32', name: 'memo' }, + { type: 'uint64', name: 'gasLimit' }, + { type: 'uint64', name: 'fallbackNonce' }, + { type: 'bytes', name: 'callbackData' }, + { type: 'bytes', name: 'encryptedSender' }, + ], + }, + { type: 'bytes32', name: 'remainingQueue' }, + ], + outputs: [], + }, + { + name: 'pause', + type: 'function', + stateMutability: 'nonpayable', + inputs: [], + outputs: [], + }, + { + name: 'resume', + type: 'function', + stateMutability: 'nonpayable', + inputs: [], + outputs: [], + }, + { + name: 'abdicate', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'uint8', name: 'capability' }], + outputs: [], + }, + { + name: 'submitBatch', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'uint64', name: 'tempoBlockNumber' }, + { type: 'uint64', name: 'recentTempoBlockNumber' }, + { + type: 'tuple', + name: 'blockTransition', + components: [ + { type: 'bytes32', name: 'prevBlockHash' }, + { type: 'bytes32', name: 'nextBlockHash' }, + ], + }, + { + type: 'tuple', + name: 'depositQueueTransition', + components: [ + { type: 'bytes32', name: 'prevProcessedHash' }, + { type: 'bytes32', name: 'nextProcessedHash' }, + { type: 'uint64', name: 'prevDepositNumber' }, + { type: 'uint64', name: 'nextDepositNumber' }, + ], + }, + { type: 'bytes32', name: 'withdrawalQueueHash' }, + { type: 'bytes', name: 'verifierConfig' }, + { type: 'bytes', name: 'proof' }, + { type: 'uint256', name: 'nextZoneHeight' }, + { type: 'bytes[]', name: 'signatures' }, + ], + outputs: [], + }, + { + name: 'enableToken', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'address', name: 'token' }], + outputs: [], + }, + { + name: 'pauseDeposits', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'address', name: 'token' }], + outputs: [], + }, + { + name: 'resumeDeposits', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'address', name: 'token' }], + outputs: [], + }, + { + name: 'setZoneGasRate', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'uint128', name: 'newZoneGasRate' }], + outputs: [], + }, + { + name: 'setMaxTempoGasRate', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'uint128', name: 'newMaxTempoGasRate' }], + outputs: [], + }, + { + name: 'setBouncebackGas', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'uint64', name: 'newBouncebackGas' }], + outputs: [], + }, + { + name: 'transferAdmin', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'address', name: 'newAdmin' }], + outputs: [], + }, + { + name: 'acceptAdmin', + type: 'function', + stateMutability: 'nonpayable', + inputs: [], + outputs: [], + }, + { + name: 'rpcUrl', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'string' }], + }, + { + name: 'setRpcUrl', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'string', name: 'rpcUrl' }], + outputs: [], + }, + { + name: 'deposit', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'token' }, + { type: 'uint128', name: 'amount' }, + { type: 'uint256', name: 'keyIndex' }, + { + type: 'tuple', + name: 'encrypted', + components: [ + { type: 'bytes32', name: 'ephemeralPubkeyX' }, + { type: 'uint8', name: 'ephemeralPubkeyYParity' }, + { type: 'bytes', name: 'ciphertext' }, + { type: 'bytes12', name: 'nonce' }, + { type: 'bytes16', name: 'tag' }, + ], + }, + { type: 'address', name: 'tempoRefundRecipient' }, + ], + outputs: [{ type: 'bytes32', name: 'newCurrentDepositQueueHash' }], + }, + { + name: 'depositEncrypted', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'token' }, + { type: 'uint128', name: 'amount' }, + { type: 'uint256', name: 'keyIndex' }, + { + type: 'tuple', + name: 'encrypted', + components: [ + { type: 'bytes32', name: 'ephemeralPubkeyX' }, + { type: 'uint8', name: 'ephemeralPubkeyYParity' }, + { type: 'bytes', name: 'ciphertext' }, + { type: 'bytes12', name: 'nonce' }, + { type: 'bytes16', name: 'tag' }, + ], + }, + { type: 'address', name: 'tempoRefundRecipient' }, + ], + outputs: [{ type: 'bytes32', name: 'newCurrentDepositQueueHash' }], + }, + { + name: 'setSequencerEncryptionKey', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'bytes32', name: 'x' }, + { type: 'uint8', name: 'yParity' }, + { type: 'uint8', name: 'popV' }, + { type: 'bytes32', name: 'popR' }, + { type: 'bytes32', name: 'popS' }, + ], + outputs: [], + }, + { + name: 'isTokenEnabled', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'address', name: 'token' }], + outputs: [{ type: 'bool' }], + }, + { + name: 'enabledTokenCount', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint256' }], + }, + { + name: 'enabledTokenAt', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'uint256', name: 'index' }], + outputs: [{ type: 'address' }], + }, + { + name: 'tokenEnablementHash', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'bytes32' }], + }, + { + name: 'zoneGasRate', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint128' }], + }, + { + name: 'maxTempoGasRate', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint128' }], + }, + { + name: 'bouncebackGas', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'pendingAdmin', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'address' }], + }, + { + name: 'refunds', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'address', name: 'token' }, + { type: 'address', name: 'owner' }, + ], + outputs: [{ type: 'uint128' }], + }, + { + name: 'sequencerEncryptionKey', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [ + { type: 'bytes32', name: 'x' }, + { type: 'uint8', name: 'yParity' }, + { type: 'address', name: 'pubkey' }, + ], + }, + { + name: 'encryptionKeyCount', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint256' }], + }, + { + name: 'encryptionKeyAt', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'uint256', name: 'index' }], + outputs: [ + { + type: 'tuple', + name: 'entry', + components: [ + { type: 'bytes32', name: 'x' }, + { type: 'uint8', name: 'yParity' }, + { type: 'uint64', name: 'activationBlock' }, + ], + }, + ], + }, + { + name: 'isEncryptionKeyValid', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'uint256', name: 'keyIndex' }], + outputs: [ + { type: 'bool', name: 'valid' }, + { type: 'uint64', name: 'expiresAtBlock' }, + ], + }, + { + name: 'encryptionKeyAtBlock', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'uint64', name: 'tempoBlockNumber' }], + outputs: [ + { type: 'bytes32', name: 'x' }, + { type: 'uint8', name: 'yParity' }, + { type: 'uint256', name: 'keyIndex' }, + ], + }, + { + name: 'claimRefund', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'address', name: 'token' }], + outputs: [{ type: 'uint128', name: 'amount' }], + }, + { + name: 'DepositMade', + type: 'event', + inputs: [ + { type: 'bytes32', name: 'newCurrentDepositQueueHash', indexed: true }, + { type: 'address', name: 'sender', indexed: true }, + { type: 'address', name: 'token' }, + { type: 'uint128', name: 'netAmount' }, + { type: 'uint128', name: 'fee' }, + { type: 'uint256', name: 'keyIndex' }, + { type: 'bytes32', name: 'ephemeralPubkeyX' }, + { type: 'uint8', name: 'ephemeralPubkeyYParity' }, + { type: 'bytes', name: 'ciphertext' }, + { type: 'bytes12', name: 'nonce' }, + { type: 'bytes16', name: 'tag' }, + { type: 'address', name: 'tempoRefundRecipient' }, + { type: 'uint64', name: 'depositNumber' }, + ], + }, + { + name: 'DepositsPaused', + type: 'event', + inputs: [{ type: 'address', name: 'token', indexed: true }], + }, + { + name: 'DepositsResumed', + type: 'event', + inputs: [{ type: 'address', name: 'token', indexed: true }], + }, + { + name: 'PortalPaused', + type: 'event', + inputs: [{ type: 'address', name: 'account', indexed: true }], + }, + { + name: 'PortalResumed', + type: 'event', + inputs: [{ type: 'address', name: 'account', indexed: true }], + }, + { + name: 'AbdicationScheduled', + type: 'event', + inputs: [ + { type: 'uint8', name: 'capability', indexed: true }, + { type: 'uint64', name: 'effectiveAt' }, + ], + }, + { + name: 'RpcUrlUpdated', + type: 'event', + inputs: [{ type: 'string', name: 'rpcUrl' }], + }, + { + name: 'SequencerEncryptionKeyUpdated', + type: 'event', + inputs: [ + { type: 'bytes32', name: 'x' }, + { type: 'uint8', name: 'yParity' }, + { type: 'address', name: 'pubkey' }, + { type: 'uint256', name: 'keyIndex' }, + { type: 'uint64', name: 'activationBlock' }, + ], + }, + { + name: 'BatchSubmitted', + type: 'event', + inputs: [ + { type: 'uint64', name: 'withdrawalBatchIndex', indexed: true }, + { type: 'uint256', name: 'withdrawalQueueIndex', indexed: true }, + { type: 'bytes32', name: 'nextProcessedDepositQueueHash' }, + { type: 'bytes32', name: 'nextBlockHash' }, + { type: 'bytes32', name: 'withdrawalQueueHash' }, + { type: 'uint64', name: 'lastProcessedDepositNumber' }, + ], + }, + { + name: 'WithdrawalProcessed', + type: 'event', + inputs: [ + { type: 'address', name: 'to', indexed: true }, + { type: 'bytes32', name: 'senderTag', indexed: true }, + { type: 'address', name: 'token' }, + { type: 'uint128', name: 'amount' }, + { type: 'bool', name: 'callbackSuccess' }, + ], + }, + { + name: 'WithdrawalBounceBack', + type: 'event', + inputs: [ + { type: 'bytes32', name: 'newCurrentDepositQueueHash', indexed: true }, + { type: 'uint64', name: 'fallbackNonce', indexed: true }, + { type: 'address', name: 'token' }, + { type: 'uint128', name: 'amount' }, + { type: 'uint64', name: 'depositNumber' }, + ], + }, + { + name: 'DepositBounceBack', + type: 'event', + inputs: [ + { type: 'address', name: 'tempoRefundRecipient', indexed: true }, + { type: 'address', name: 'token' }, + { type: 'uint128', name: 'amount' }, + { type: 'uint128', name: 'bouncebackFee' }, + ], + }, + { + name: 'DepositBounceBackPending', + type: 'event', + inputs: [ + { type: 'address', name: 'tempoRefundRecipient', indexed: true }, + { type: 'address', name: 'token' }, + { type: 'uint128', name: 'amount' }, + { type: 'uint128', name: 'bouncebackFee' }, + ], + }, + { + name: 'RefundClaimed', + type: 'event', + inputs: [ + { type: 'address', name: 'recipient', indexed: true }, + { type: 'address', name: 'token', indexed: true }, + { type: 'uint128', name: 'amount' }, + ], + }, + { + name: 'ZoneGasRateUpdated', + type: 'event', + inputs: [{ type: 'uint128', name: 'zoneGasRate' }], + }, + { + name: 'MaxTempoGasRateUpdated', + type: 'event', + inputs: [{ type: 'uint128', name: 'maxTempoGasRate' }], + }, + { + name: 'BouncebackGasUpdated', + type: 'event', + inputs: [{ type: 'uint64', name: 'bouncebackGas' }], + }, + { + name: 'AdminTransferStarted', + type: 'event', + inputs: [ + { type: 'address', name: 'currentAdmin', indexed: true }, + { type: 'address', name: 'pendingAdmin', indexed: true }, + ], + }, + { + name: 'AdminTransferred', + type: 'event', + inputs: [ + { type: 'address', name: 'previousAdmin', indexed: true }, + { type: 'address', name: 'newAdmin', indexed: true }, + ], + }, + { name: 'NotSequencer', type: 'error', inputs: [] }, + { name: 'NotAdmin', type: 'error', inputs: [] }, + { name: 'NotPauseAuthority', type: 'error', inputs: [] }, + { + name: 'CapabilityAbdicated', + type: 'error', + inputs: [{ type: 'uint8', name: 'capability' }], + }, + { + name: 'AbdicationAlreadyScheduled', + type: 'error', + inputs: [{ type: 'uint8', name: 'capability' }], + }, + { name: 'PortalIsPaused', type: 'error', inputs: [] }, + { name: 'NotPendingAdmin', type: 'error', inputs: [] }, + { name: 'InvalidProof', type: 'error', inputs: [] }, + { name: 'InvalidTempoBlockNumber', type: 'error', inputs: [] }, + { name: 'NotFactory', type: 'error', inputs: [] }, + { name: 'NotSelf', type: 'error', inputs: [] }, + { name: 'AlreadyInitialized', type: 'error', inputs: [] }, + { name: 'MustDelegateCall', type: 'error', inputs: [] }, + { name: 'CallbackRejected', type: 'error', inputs: [] }, + { name: 'TransferFailed', type: 'error', inputs: [] }, + { name: 'ReentrantWithdrawal', type: 'error', inputs: [] }, + { + name: 'EncryptionKeyExpired', + type: 'error', + inputs: [ + { type: 'uint256', name: 'keyIndex' }, + { type: 'uint64', name: 'activationBlock' }, + { type: 'uint64', name: 'supersededAtBlock' }, + ], + }, + { + name: 'InvalidEncryptionKeyIndex', + type: 'error', + inputs: [{ type: 'uint256', name: 'keyIndex' }], + }, + { name: 'NoEncryptionKeySet', type: 'error', inputs: [] }, + { + name: 'NoEncryptionKeyAtBlock', + type: 'error', + inputs: [{ type: 'uint64', name: 'blockNumber' }], + }, + { name: 'InvalidEphemeralPubkey', type: 'error', inputs: [] }, + { + name: 'InvalidCiphertextLength', + type: 'error', + inputs: [ + { type: 'uint256', name: 'actual' }, + { type: 'uint256', name: 'expected' }, + ], + }, + { name: 'InvalidProofOfPossession', type: 'error', inputs: [] }, + { name: 'DepositTooSmall', type: 'error', inputs: [] }, + { + name: 'TokenEnablementBlockCapacityExceeded', + type: 'error', + inputs: [{ type: 'uint64', name: 'maximum' }], + }, + { name: 'TokenMetadataTooLong', type: 'error', inputs: [] }, + { name: 'GasFeeRateTooHigh', type: 'error', inputs: [] }, + { name: 'DepositsNotActive', type: 'error', inputs: [] }, + { name: 'TokenAlreadyEnabled', type: 'error', inputs: [] }, + { name: 'TokenTransferPolicyNotSet', type: 'error', inputs: [] }, + { name: 'InvalidDepositTransition', type: 'error', inputs: [] }, + { name: 'InvalidSequencerSet', type: 'error', inputs: [] }, + { name: 'SequencerConfigurationUnchanged', type: 'error', inputs: [] }, + { name: 'InvalidQuorumCertificate', type: 'error', inputs: [] }, + { name: 'CallbackDidNotReturnToZone', type: 'error', inputs: [] }, + { name: 'InvalidBouncebackRecipient', type: 'error', inputs: [] }, + { name: 'TokenNotEnabled', type: 'error', inputs: [] }, + { + name: 'DepositBlockCapacityExceeded', + type: 'error', + inputs: [{ type: 'uint64', name: 'maximum' }], + }, + { name: 'InvalidCallbackTarget', type: 'error', inputs: [] }, + { + name: 'AccountNotAllowed', + type: 'error', + inputs: [{ type: 'address', name: 'account' }], + }, + { name: 'InvalidLeader', type: 'error', inputs: [] }, + { name: 'ActiveLeaderRemoved', type: 'error', inputs: [] }, + { name: 'LeaderAlreadyUpdatedThisBlock', type: 'error', inputs: [] }, + { + name: 'StaleLeadershipEpoch', + type: 'error', + inputs: [ + { type: 'uint64', name: 'expected' }, + { type: 'uint64', name: 'actual' }, + ], + }, + { + name: 'deposit', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: '_token' }, + { type: 'address', name: 'to' }, + { type: 'uint128', name: 'amount' }, + { type: 'bytes32', name: 'memo' }, + { type: 'address', name: 'tempoRefundRecipient' }, + ], + outputs: [{ type: 'bytes32' }], + }, +]; +exports.earnContributionController = [ + { + type: 'constructor', + inputs: [ + { name: 'earnVault_', type: 'address' }, + { name: 'owner_', type: 'address' }, + ], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'acceptOwnership', + inputs: [], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'active', + inputs: [], + outputs: [{ name: '', type: 'bool' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'asset', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'earnVault', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'executeFunding', + inputs: [ + { name: 'funder', type: 'address' }, + { name: 'requestedAssets', type: 'uint256' }, + { name: 'maxEarnShareSupply', type: 'uint256' }, + ], + outputs: [{ name: 'fundedAssets', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'fund', + inputs: [ + { name: 'funder', type: 'address' }, + { name: 'requestedAssets', type: 'uint256' }, + { name: 'maxEarnShareSupply', type: 'uint256' }, + ], + outputs: [{ name: 'fundedAssets', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'owner', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'pendingOwner', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'renounceOwnership', + inputs: [], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'setActive', + inputs: [{ name: 'active_', type: 'bool' }], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'transferOwnership', + inputs: [{ name: 'newOwner', type: 'address' }], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'event', + name: 'ActiveSet', + inputs: [{ name: 'active', type: 'bool', indexed: false }], + anonymous: false, + }, + { + type: 'event', + name: 'Funded', + inputs: [ + { name: 'funder', type: 'address', indexed: true }, + { name: 'requestedAssets', type: 'uint256', indexed: false }, + { name: 'fundedAssets', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'OwnershipTransferStarted', + inputs: [ + { name: 'previousOwner', type: 'address', indexed: true }, + { name: 'newOwner', type: 'address', indexed: true }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'OwnershipTransferred', + inputs: [ + { name: 'previousOwner', type: 'address', indexed: true }, + { name: 'newOwner', type: 'address', indexed: true }, + ], + anonymous: false, + }, + { + type: 'error', + name: 'EarnShareSupplyOutOfBounds', + inputs: [ + { name: 'earnShareSupply', type: 'uint256' }, + { name: 'maxEarnShareSupply', type: 'uint256' }, + ], + }, + { type: 'error', name: 'Inactive', inputs: [] }, + { type: 'error', name: 'NotSelf', inputs: [] }, + { + type: 'error', + name: 'OwnableInvalidOwner', + inputs: [{ name: 'owner', type: 'address' }], + }, + { + type: 'error', + name: 'OwnableUnauthorizedAccount', + inputs: [{ name: 'account', type: 'address' }], + }, + { type: 'error', name: 'ReentrantCall', inputs: [] }, + { type: 'error', name: 'TokenCallFailed', inputs: [] }, + { type: 'error', name: 'TokenCallFalse', inputs: [] }, + { type: 'error', name: 'ZeroAddress', inputs: [] }, +]; +exports.earnEngine = [ + { + type: 'function', + name: 'asset', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'deposit', + inputs: [{ name: 'assets', type: 'uint256' }], + outputs: [{ name: 'engineShares', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'earnVault', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'name', + inputs: [], + outputs: [{ name: '', type: 'string' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'shareScale', + inputs: [], + outputs: [{ name: 'scale', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'supportsInterface', + inputs: [{ name: 'interfaceId', type: 'bytes4' }], + outputs: [{ name: '', type: 'bool' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'symbol', + inputs: [], + outputs: [{ name: '', type: 'string' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'totalAssets', + inputs: [], + outputs: [{ name: 'assets', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'totalShares', + inputs: [], + outputs: [{ name: 'engineShares', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'valueOf', + inputs: [{ name: 'engineShares', type: 'uint256' }], + outputs: [{ name: 'assets', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'previewWithdraw', + inputs: [{ name: 'assets', type: 'uint256' }], + outputs: [{ name: 'engineShares', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'withdraw', + inputs: [ + { name: 'assets', type: 'uint256' }, + { name: 'receiver', type: 'address' }, + ], + outputs: [{ name: 'engineShares', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'isFeeValuationFresh', + inputs: [], + outputs: [{ name: '', type: 'bool' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'previewRedeem', + inputs: [{ name: 'engineShares', type: 'uint256' }], + outputs: [{ name: 'assets', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'redeem', + inputs: [ + { name: 'engineShares', type: 'uint256' }, + { name: 'receiver', type: 'address' }, + { name: 'minAssets', type: 'uint256' }, + ], + outputs: [{ name: 'assets', type: 'uint256' }], + stateMutability: 'nonpayable', + }, +]; +exports.earnEngineAsyncRedeem = [ + { + type: 'function', + name: 'cancelRedeem', + inputs: [{ name: 'requestId', type: 'bytes32' }], + outputs: [{ name: 'engineShares', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'requestRedeem', + inputs: [ + { name: 'engineShares', type: 'uint256' }, + { name: 'requestData', type: 'bytes' }, + ], + outputs: [{ name: 'requestId', type: 'bytes32' }], + stateMutability: 'nonpayable', + }, +]; +exports.earnEngineInKindDeposit = [ + { + type: 'function', + name: 'depositInKind', + inputs: [ + { name: 'venueShares', type: 'uint256' }, + { name: 'from', type: 'address' }, + ], + outputs: [{ name: 'engineSharesReceived', type: 'uint256' }], + stateMutability: 'nonpayable', + }, +]; +exports.earnFactory = [ + { + type: 'constructor', + inputs: [ + { name: 'tip20Factory_', type: 'address' }, + { name: 'earnVaultImplementation_', type: 'address' }, + { name: 'earnFeesImplementation_', type: 'address' }, + ], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'DEFAULT_ADMIN_ROLE', + inputs: [], + outputs: [{ name: '', type: 'bytes32' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'EARN_SHARE_SALT_DOMAIN', + inputs: [], + outputs: [{ name: '', type: 'bytes32' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'FEES_SALT_DOMAIN', + inputs: [], + outputs: [{ name: '', type: 'bytes32' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'computeEarnShareSalt', + inputs: [ + { + name: 'params', + type: 'tuple', + components: [ + { name: 'deploymentId', type: 'bytes32' }, + { name: 'engine', type: 'address' }, + { name: 'owner', type: 'address' }, + { + name: 'controls', + type: 'tuple', + components: [ + { name: 'emergencyGuardian', type: 'address' }, + { name: 'asyncJanitor', type: 'address' }, + { name: 'maxManagedAssets', type: 'uint256' }, + { name: 'migrationMode', type: 'uint8' }, + ], + }, + { + name: 'distributorConfig', + type: 'tuple', + components: [ + { name: 'distributor', type: 'address' }, + { name: 'updateDelay', type: 'uint40' }, + ], + }, + { + name: 'fees', + type: 'tuple', + components: [ + { name: 'fixedFeeCount', type: 'uint8' }, + { + name: 'fixedFees', + type: 'tuple[4]', + components: [ + { name: 'account', type: 'address' }, + { name: 'rateBps', type: 'uint16' }, + ], + }, + { + name: 'excess', + type: 'tuple', + components: [ + { name: 'enabled', type: 'bool' }, + { name: 'account', type: 'address' }, + { name: 'annualTargetRateBps', type: 'uint16' }, + { name: 'excessFeeRateBps', type: 'uint16' }, + ], + }, + ], + }, + { name: 'transferPolicyId', type: 'uint64' }, + ], + }, + ], + outputs: [{ name: '', type: 'bytes32' }], + stateMutability: 'pure', + }, + { + type: 'function', + name: 'deploy', + inputs: [ + { + name: 'params', + type: 'tuple', + components: [ + { name: 'deploymentId', type: 'bytes32' }, + { name: 'engine', type: 'address' }, + { name: 'owner', type: 'address' }, + { + name: 'controls', + type: 'tuple', + components: [ + { name: 'emergencyGuardian', type: 'address' }, + { name: 'asyncJanitor', type: 'address' }, + { name: 'maxManagedAssets', type: 'uint256' }, + { name: 'migrationMode', type: 'uint8' }, + ], + }, + { + name: 'distributorConfig', + type: 'tuple', + components: [ + { name: 'distributor', type: 'address' }, + { name: 'updateDelay', type: 'uint40' }, + ], + }, + { + name: 'fees', + type: 'tuple', + components: [ + { name: 'fixedFeeCount', type: 'uint8' }, + { + name: 'fixedFees', + type: 'tuple[4]', + components: [ + { name: 'account', type: 'address' }, + { name: 'rateBps', type: 'uint16' }, + ], + }, + { + name: 'excess', + type: 'tuple', + components: [ + { name: 'enabled', type: 'bool' }, + { name: 'account', type: 'address' }, + { name: 'annualTargetRateBps', type: 'uint16' }, + { name: 'excessFeeRateBps', type: 'uint16' }, + ], + }, + ], + }, + { name: 'transferPolicyId', type: 'uint64' }, + ], + }, + ], + outputs: [ + { name: 'earnShare', type: 'address' }, + { name: 'earnVault', type: 'address' }, + { name: 'earnFees', type: 'address' }, + ], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'earnFeesImplementation', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'earnVaultImplementation', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'predictEarnFees', + inputs: [ + { + name: 'params', + type: 'tuple', + components: [ + { name: 'deploymentId', type: 'bytes32' }, + { name: 'engine', type: 'address' }, + { name: 'owner', type: 'address' }, + { + name: 'controls', + type: 'tuple', + components: [ + { name: 'emergencyGuardian', type: 'address' }, + { name: 'asyncJanitor', type: 'address' }, + { name: 'maxManagedAssets', type: 'uint256' }, + { name: 'migrationMode', type: 'uint8' }, + ], + }, + { + name: 'distributorConfig', + type: 'tuple', + components: [ + { name: 'distributor', type: 'address' }, + { name: 'updateDelay', type: 'uint40' }, + ], + }, + { + name: 'fees', + type: 'tuple', + components: [ + { name: 'fixedFeeCount', type: 'uint8' }, + { + name: 'fixedFees', + type: 'tuple[4]', + components: [ + { name: 'account', type: 'address' }, + { name: 'rateBps', type: 'uint16' }, + ], + }, + { + name: 'excess', + type: 'tuple', + components: [ + { name: 'enabled', type: 'bool' }, + { name: 'account', type: 'address' }, + { name: 'annualTargetRateBps', type: 'uint16' }, + { name: 'excessFeeRateBps', type: 'uint16' }, + ], + }, + ], + }, + { name: 'transferPolicyId', type: 'uint64' }, + ], + }, + ], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'predictEarnShare', + inputs: [ + { + name: 'params', + type: 'tuple', + components: [ + { name: 'deploymentId', type: 'bytes32' }, + { name: 'engine', type: 'address' }, + { name: 'owner', type: 'address' }, + { + name: 'controls', + type: 'tuple', + components: [ + { name: 'emergencyGuardian', type: 'address' }, + { name: 'asyncJanitor', type: 'address' }, + { name: 'maxManagedAssets', type: 'uint256' }, + { name: 'migrationMode', type: 'uint8' }, + ], + }, + { + name: 'distributorConfig', + type: 'tuple', + components: [ + { name: 'distributor', type: 'address' }, + { name: 'updateDelay', type: 'uint40' }, + ], + }, + { + name: 'fees', + type: 'tuple', + components: [ + { name: 'fixedFeeCount', type: 'uint8' }, + { + name: 'fixedFees', + type: 'tuple[4]', + components: [ + { name: 'account', type: 'address' }, + { name: 'rateBps', type: 'uint16' }, + ], + }, + { + name: 'excess', + type: 'tuple', + components: [ + { name: 'enabled', type: 'bool' }, + { name: 'account', type: 'address' }, + { name: 'annualTargetRateBps', type: 'uint16' }, + { name: 'excessFeeRateBps', type: 'uint16' }, + ], + }, + ], + }, + { name: 'transferPolicyId', type: 'uint64' }, + ], + }, + ], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'tip20Factory', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'event', + name: 'EarnStackDeployed', + inputs: [ + { name: 'earnVault', type: 'address', indexed: true }, + { name: 'earnShare', type: 'address', indexed: true }, + { name: 'earnFees', type: 'address', indexed: true }, + { name: 'engine', type: 'address', indexed: false }, + { name: 'asset', type: 'address', indexed: false }, + { name: 'owner', type: 'address', indexed: false }, + { name: 'deploymentId', type: 'bytes32', indexed: false }, + { name: 'emergencyGuardian', type: 'address', indexed: false }, + { name: 'asyncJanitor', type: 'address', indexed: false }, + { name: 'maxManagedAssets', type: 'uint256', indexed: false }, + { name: 'migrationMode', type: 'uint8', indexed: false }, + { name: 'transferPolicyId', type: 'uint64', indexed: false }, + { name: 'earnShareSalt', type: 'bytes32', indexed: false }, + { name: 'controlConfigHash', type: 'bytes32', indexed: false }, + { name: 'feeConfigHash', type: 'bytes32', indexed: false }, + { name: 'earnFeesSalt', type: 'bytes32', indexed: false }, + ], + anonymous: false, + }, + { type: 'error', name: 'AdminRelinquishmentFailed', inputs: [] }, + { + type: 'error', + name: 'EarnShareAlreadyExists', + inputs: [{ name: 'earnShare', type: 'address' }], + }, + { type: 'error', name: 'EarnShareSupplyNotZero', inputs: [] }, + { type: 'error', name: 'EmptyDeploymentId', inputs: [] }, + { type: 'error', name: 'EmptyEarnShareMetadata', inputs: [] }, + { + type: 'error', + name: 'EngineAlreadyBound', + inputs: [{ name: 'earnVault', type: 'address' }], + }, + { type: 'error', name: 'FactoryCannotBeFinalOwner', inputs: [] }, + { type: 'error', name: 'FailedDeployment', inputs: [] }, + { + type: 'error', + name: 'InsufficientBalance', + inputs: [ + { name: 'balance', type: 'uint256' }, + { name: 'needed', type: 'uint256' }, + ], + }, + { type: 'error', name: 'InvalidDistributorConfig', inputs: [] }, + { type: 'error', name: 'InvalidEarnFeesImplementation', inputs: [] }, + { type: 'error', name: 'InvalidEarnVaultImplementation', inputs: [] }, + { type: 'error', name: 'InvalidEngine', inputs: [] }, + { + type: 'error', + name: 'InvalidTransferPolicy', + inputs: [{ name: 'policyId', type: 'uint64' }], + }, + { type: 'error', name: 'IssuerGrantFailed', inputs: [] }, + { + type: 'error', + name: 'TransferPolicyMismatch', + inputs: [ + { name: 'expected', type: 'uint64' }, + { name: 'actual', type: 'uint64' }, + ], + }, + { + type: 'error', + name: 'UnsupportedTransferPolicy', + inputs: [ + { name: 'policyId', type: 'uint64' }, + { name: 'policyType', type: 'uint8' }, + ], + }, + { type: 'error', name: 'ZeroAddress', inputs: [] }, +]; +exports.earnFees = [ + { type: 'constructor', inputs: [], stateMutability: 'nonpayable' }, + { + type: 'function', + name: 'accrueFees', + inputs: [], + outputs: [ + { + name: 'result', + type: 'tuple', + components: [ + { name: 'activeAssets', type: 'uint256' }, + { name: 'positiveAccrualAssets', type: 'uint256' }, + { name: 'fixedFeeAssets', type: 'uint256' }, + { name: 'excessFeeAssets', type: 'uint256' }, + { name: 'totalFeeAssets', type: 'uint256' }, + { name: 'totalFeeEarnShares', type: 'uint256' }, + { name: 'preFeeValuePerEarnShare', type: 'uint256' }, + { name: 'postFeeValuePerEarnShare', type: 'uint256' }, + { name: 'targetValuePerEarnShare', type: 'uint256' }, + { name: 'allocationCount', type: 'uint8' }, + { + name: 'allocations', + type: 'tuple[5]', + components: [ + { name: 'account', type: 'address' }, + { name: 'feeAssets', type: 'uint256' }, + { name: 'feeEarnShares', type: 'uint256' }, + ], + }, + ], + }, + ], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'claim', + inputs: [ + { name: 'to', type: 'address' }, + { name: 'earnShares', type: 'uint256' }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'claimableEarnShares', + inputs: [{ name: 'recipient', type: 'address' }], + outputs: [{ name: 'earnShares', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'closeRedeemRequest', + inputs: [{ name: 'requestId', type: 'bytes32' }], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'currentFeeConfigId', + inputs: [], + outputs: [{ name: '', type: 'uint64' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'disableFees', + inputs: [{ name: 'operator', type: 'address' }], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'earnShare', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'earnShareScale', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'earnVault', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'feeBaselinesPending', + inputs: [], + outputs: [{ name: '', type: 'bool' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'feeConfig', + inputs: [{ name: 'configId', type: 'uint64' }], + outputs: [ + { + name: '', + type: 'tuple', + components: [ + { name: 'fixedFeeCount', type: 'uint8' }, + { + name: 'fixedFees', + type: 'tuple[4]', + components: [ + { name: 'account', type: 'address' }, + { name: 'rateBps', type: 'uint16' }, + ], + }, + { + name: 'excess', + type: 'tuple', + components: [ + { name: 'enabled', type: 'bool' }, + { name: 'account', type: 'address' }, + { name: 'annualTargetRateBps', type: 'uint16' }, + { name: 'excessFeeRateBps', type: 'uint16' }, + ], + }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'feeRemainder', + inputs: [ + { name: 'configId', type: 'uint64' }, + { name: 'slot', type: 'uint8' }, + ], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'feesActive', + inputs: [], + outputs: [{ name: '', type: 'bool' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'feesDisabled', + inputs: [], + outputs: [{ name: '', type: 'bool' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'highWaterMark', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'initialize', + inputs: [ + { name: 'earnVault_', type: 'address' }, + { name: 'earnShare_', type: 'address' }, + { + name: 'initialConfig', + type: 'tuple', + components: [ + { name: 'fixedFeeCount', type: 'uint8' }, + { + name: 'fixedFees', + type: 'tuple[4]', + components: [ + { name: 'account', type: 'address' }, + { name: 'rateBps', type: 'uint16' }, + ], + }, + { + name: 'excess', + type: 'tuple', + components: [ + { name: 'enabled', type: 'bool' }, + { name: 'account', type: 'address' }, + { name: 'annualTargetRateBps', type: 'uint16' }, + { name: 'excessFeeRateBps', type: 'uint16' }, + ], + }, + ], + }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'initializeBaselines', + inputs: [], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'pendingFeeSnapshot', + inputs: [{ name: 'requestId', type: 'bytes32' }], + outputs: [ + { + name: '', + type: 'tuple', + components: [ + { name: 'burnedEarnShares', type: 'uint256' }, + { name: 'requestValue', type: 'uint256' }, + { name: 'highWaterValue', type: 'uint256' }, + { name: 'targetValue', type: 'uint256' }, + { name: 'feeConfigId', type: 'uint64' }, + { name: 'requestedAt', type: 'uint40' }, + { name: 'open', type: 'bool' }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'previewAccruedFees', + inputs: [], + outputs: [ + { + name: 'result', + type: 'tuple', + components: [ + { name: 'activeAssets', type: 'uint256' }, + { name: 'positiveAccrualAssets', type: 'uint256' }, + { name: 'fixedFeeAssets', type: 'uint256' }, + { name: 'excessFeeAssets', type: 'uint256' }, + { name: 'totalFeeAssets', type: 'uint256' }, + { name: 'totalFeeEarnShares', type: 'uint256' }, + { name: 'preFeeValuePerEarnShare', type: 'uint256' }, + { name: 'postFeeValuePerEarnShare', type: 'uint256' }, + { name: 'targetValuePerEarnShare', type: 'uint256' }, + { name: 'allocationCount', type: 'uint8' }, + { + name: 'allocations', + type: 'tuple[5]', + components: [ + { name: 'account', type: 'address' }, + { name: 'feeAssets', type: 'uint256' }, + { name: 'feeEarnShares', type: 'uint256' }, + ], + }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'recordRedeemRequest', + inputs: [ + { name: 'requestId', type: 'bytes32' }, + { name: 'burnedEarnShares', type: 'uint256' }, + { name: 'requestValue', type: 'uint256' }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'setFeeConfig', + inputs: [ + { + name: 'config', + type: 'tuple', + components: [ + { name: 'fixedFeeCount', type: 'uint8' }, + { + name: 'fixedFees', + type: 'tuple[4]', + components: [ + { name: 'account', type: 'address' }, + { name: 'rateBps', type: 'uint16' }, + ], + }, + { + name: 'excess', + type: 'tuple', + components: [ + { name: 'enabled', type: 'bool' }, + { name: 'account', type: 'address' }, + { name: 'annualTargetRateBps', type: 'uint16' }, + { name: 'excessFeeRateBps', type: 'uint16' }, + ], + }, + ], + }, + ], + outputs: [{ name: 'configId', type: 'uint64' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'settleCancelledRedeem', + inputs: [ + { name: 'requestId', type: 'bytes32' }, + { name: 'returnedValue', type: 'uint256' }, + { name: 'activeSupply', type: 'uint256' }, + { name: 'activeAssets', type: 'uint256' }, + { name: 'totalReentryEarnShares', type: 'uint256' }, + ], + outputs: [{ name: 'feeEarnShares', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'shouldChargeRedeem', + inputs: [{ name: 'requestId', type: 'bytes32' }], + outputs: [{ name: '', type: 'bool' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'targetBase', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'targetStartedAt', + inputs: [], + outputs: [{ name: '', type: 'uint40' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'totalClaimableEarnShares', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'validateFeeConfig', + inputs: [ + { + name: 'config', + type: 'tuple', + components: [ + { name: 'fixedFeeCount', type: 'uint8' }, + { + name: 'fixedFees', + type: 'tuple[4]', + components: [ + { name: 'account', type: 'address' }, + { name: 'rateBps', type: 'uint16' }, + ], + }, + { + name: 'excess', + type: 'tuple', + components: [ + { name: 'enabled', type: 'bool' }, + { name: 'account', type: 'address' }, + { name: 'annualTargetRateBps', type: 'uint16' }, + { name: 'excessFeeRateBps', type: 'uint16' }, + ], + }, + ], + }, + ], + outputs: [], + stateMutability: 'view', + }, + { + type: 'event', + name: 'FeeBaselinesInitialized', + inputs: [ + { name: 'highWaterMark', type: 'uint256', indexed: false }, + { name: 'targetBase', type: 'uint256', indexed: false }, + { name: 'targetStartedAt', type: 'uint40', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'FeeConfigurationSet', + inputs: [ + { name: 'configId', type: 'uint64', indexed: true }, + { name: 'configHash', type: 'bytes32', indexed: true }, + { name: 'reactivated', type: 'bool', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'FeeDustWaived', + inputs: [ + { name: 'configId', type: 'uint64', indexed: true }, + { name: 'slot', type: 'uint8', indexed: true }, + { name: 'remainder', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'FeeEarnSharesAllocated', + inputs: [ + { name: 'configId', type: 'uint64', indexed: true }, + { name: 'recipient', type: 'address', indexed: true }, + { name: 'feeAssets', type: 'uint256', indexed: false }, + { name: 'feeEarnShares', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'FeeEarnSharesClaimed', + inputs: [ + { name: 'recipient', type: 'address', indexed: true }, + { name: 'to', type: 'address', indexed: true }, + { name: 'earnShares', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'FeesAccrued', + inputs: [ + { name: 'configId', type: 'uint64', indexed: true }, + { name: 'activeAssets', type: 'uint256', indexed: false }, + { name: 'positiveAccrualAssets', type: 'uint256', indexed: false }, + { name: 'feeAssets', type: 'uint256', indexed: false }, + { name: 'feeEarnShares', type: 'uint256', indexed: false }, + { name: 'highWaterMark', type: 'uint256', indexed: false }, + { name: 'targetValuePerEarnShare', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'FeesDisabled', + inputs: [{ name: 'operator', type: 'address', indexed: true }], + anonymous: false, + }, + { type: 'error', name: 'AlreadyInitialized', inputs: [] }, + { type: 'error', name: 'InsufficientClaimableEarnShares', inputs: [] }, + { type: 'error', name: 'InvalidFeeClaimReceiver', inputs: [] }, + { type: 'error', name: 'InvalidFeeConfiguration', inputs: [] }, + { type: 'error', name: 'NotEarnVault', inputs: [] }, + { type: 'error', name: 'ReentrantCall', inputs: [] }, + { type: 'error', name: 'ZeroAddress', inputs: [] }, + { type: 'error', name: 'ZeroAmount', inputs: [] }, +]; +exports.earnMerkleRewardDistributor = [ + { + type: 'constructor', + inputs: [ + { name: 'earnVault_', type: 'address' }, + { name: 'treasury_', type: 'address' }, + { name: 'campaignId_', type: 'bytes32' }, + { name: 'claimDeadline_', type: 'uint40' }, + { name: 'owner_', type: 'address' }, + ], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'acceptOwnership', + inputs: [], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'asset', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'campaignId', + inputs: [], + outputs: [{ name: '', type: 'bytes32' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'claim', + inputs: [ + { name: 'recipient', type: 'address' }, + { name: 'cumulativeAmount', type: 'uint256' }, + { name: 'proof', type: 'bytes32[]' }, + ], + outputs: [{ name: 'amount', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'claimDeadline', + inputs: [], + outputs: [{ name: '', type: 'uint40' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'cumulativePaid', + inputs: [{ name: 'recipient', type: 'address' }], + outputs: [{ name: 'cumulativeAmount', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'earnShare', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'earnVault', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'fundWithAssets', + inputs: [ + { name: 'funder', type: 'address' }, + { name: 'assets', type: 'uint256' }, + { name: 'minEarnShares', type: 'uint256' }, + ], + outputs: [{ name: 'earnShares', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'leaf', + inputs: [ + { name: 'recipient', type: 'address' }, + { name: 'cumulativeAmount', type: 'uint256' }, + ], + outputs: [{ name: '', type: 'bytes32' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'merkleRoot', + inputs: [], + outputs: [{ name: '', type: 'bytes32' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'owner', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'paused', + inputs: [], + outputs: [{ name: '', type: 'bool' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'pendingOwner', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'publishRoot', + inputs: [ + { name: 'root', type: 'bytes32' }, + { name: 'totalEntitlement', type: 'uint256' }, + { name: 'statementHash_', type: 'bytes32' }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'pushBatch', + inputs: [ + { name: 'expectedRootVersion', type: 'uint64' }, + { name: 'recipients', type: 'address[]' }, + { name: 'cumulativeAmounts', type: 'uint256[]' }, + { name: 'multiproof', type: 'bytes32[]' }, + { name: 'proofFlags', type: 'bool[]' }, + ], + outputs: [ + { name: 'paidCount', type: 'uint256' }, + { name: 'paidEarnShares', type: 'uint256' }, + { name: 'skippedCount', type: 'uint256' }, + ], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'renounceOwnership', + inputs: [], + outputs: [], + stateMutability: 'pure', + }, + { + type: 'function', + name: 'returnUnspent', + inputs: [], + outputs: [{ name: 'earnShares', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'rootTotalEntitlement', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'rootVersion', + inputs: [], + outputs: [{ name: '', type: 'uint64' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'setPaused', + inputs: [{ name: 'paused_', type: 'bool' }], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'statementHash', + inputs: [], + outputs: [{ name: '', type: 'bytes32' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'totalPaid', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'transferOwnership', + inputs: [{ name: 'newOwner', type: 'address' }], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'treasury', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'event', + name: 'AssetsFunded', + inputs: [ + { name: 'funder', type: 'address', indexed: true }, + { name: 'assets', type: 'uint256', indexed: false }, + { name: 'earnShares', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'BatchPushed', + inputs: [ + { name: 'version', type: 'uint64', indexed: true }, + { name: 'batchHash', type: 'bytes32', indexed: true }, + { name: 'attemptedCount', type: 'uint256', indexed: false }, + { name: 'paidCount', type: 'uint256', indexed: false }, + { name: 'paidEarnShares', type: 'uint256', indexed: false }, + { name: 'skippedCount', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'OwnershipTransferStarted', + inputs: [ + { name: 'previousOwner', type: 'address', indexed: true }, + { name: 'newOwner', type: 'address', indexed: true }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'OwnershipTransferred', + inputs: [ + { name: 'previousOwner', type: 'address', indexed: true }, + { name: 'newOwner', type: 'address', indexed: true }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'PausedSet', + inputs: [{ name: 'paused', type: 'bool', indexed: false }], + anonymous: false, + }, + { + type: 'event', + name: 'PayoutSkipped', + inputs: [ + { name: 'recipient', type: 'address', indexed: true }, + { name: 'cumulativeAmount', type: 'uint256', indexed: false }, + { name: 'reason', type: 'uint8', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'RewardClaimed', + inputs: [ + { name: 'recipient', type: 'address', indexed: true }, + { name: 'amount', type: 'uint256', indexed: false }, + { name: 'cumulativeAmount', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'RootPublished', + inputs: [ + { name: 'version', type: 'uint64', indexed: true }, + { name: 'root', type: 'bytes32', indexed: true }, + { name: 'statementHash', type: 'bytes32', indexed: true }, + { name: 'totalEntitlement', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'UnspentReturned', + inputs: [ + { name: 'treasury', type: 'address', indexed: true }, + { name: 'earnShares', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { type: 'error', name: 'ClaimsExpired', inputs: [] }, + { type: 'error', name: 'ClaimsNotExpired', inputs: [] }, + { type: 'error', name: 'DepositsPaused', inputs: [] }, + { + type: 'error', + name: 'InsufficientFunding', + inputs: [ + { name: 'requiredBalance', type: 'uint256' }, + { name: 'actualBalance', type: 'uint256' }, + ], + }, + { type: 'error', name: 'InvalidArrayLengths', inputs: [] }, + { type: 'error', name: 'InvalidEarnVault', inputs: [] }, + { type: 'error', name: 'InvalidMultiproof', inputs: [] }, + { type: 'error', name: 'MerkleProofInvalidMultiproof', inputs: [] }, + { type: 'error', name: 'NothingOwed', inputs: [] }, + { + type: 'error', + name: 'OwnableInvalidOwner', + inputs: [{ name: 'owner', type: 'address' }], + }, + { + type: 'error', + name: 'OwnableUnauthorizedAccount', + inputs: [{ name: 'account', type: 'address' }], + }, + { type: 'error', name: 'OwnershipRenunciationDisabled', inputs: [] }, + { type: 'error', name: 'Paused', inputs: [] }, + { type: 'error', name: 'PausedLiabilityIncrease', inputs: [] }, + { type: 'error', name: 'ReentrancyGuardReentrantCall', inputs: [] }, + { + type: 'error', + name: 'RootTotalDecreased', + inputs: [ + { name: 'previousTotal', type: 'uint256' }, + { name: 'nextTotal', type: 'uint256' }, + ], + }, + { + type: 'error', + name: 'RootTotalExceeded', + inputs: [ + { name: 'requestedAmount', type: 'uint256' }, + { name: 'remainingEntitlement', type: 'uint256' }, + ], + }, + { + type: 'error', + name: 'StaleRootVersion', + inputs: [ + { name: 'expected', type: 'uint64' }, + { name: 'actual', type: 'uint64' }, + ], + }, + { type: 'error', name: 'TokenCallFailed', inputs: [] }, + { type: 'error', name: 'TokenCallFalse', inputs: [] }, + { + type: 'error', + name: 'UnexpectedEarnShares', + inputs: [ + { name: 'reported', type: 'uint256' }, + { name: 'measured', type: 'uint256' }, + ], + }, + { + type: 'error', + name: 'UnexpectedRetainedAssets', + inputs: [ + { name: 'beforeBalance', type: 'uint256' }, + { name: 'afterBalance', type: 'uint256' }, + ], + }, + { type: 'error', name: 'ZeroAddress', inputs: [] }, + { type: 'error', name: 'ZeroAmount', inputs: [] }, + { type: 'error', name: 'ZeroCampaignId', inputs: [] }, + { type: 'error', name: 'ZeroDeadline', inputs: [] }, + { type: 'error', name: 'ZeroMinimumEarnShares', inputs: [] }, + { type: 'error', name: 'ZeroRoot', inputs: [] }, + { type: 'error', name: 'ZeroStatementHash', inputs: [] }, +]; +exports.earnRouter = [ + { + type: 'constructor', + inputs: [ + { name: 'allowedZoneId_', type: 'uint32' }, + { name: 'earnVault_', type: 'address' }, + { name: 'privateAsset_', type: 'address' }, + { name: 'tokenAuthority_', type: 'address' }, + ], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'allowedZoneId', + inputs: [], + outputs: [{ name: '', type: 'uint32' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'earnShare', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'earnVault', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'onWithdrawalReceived', + inputs: [ + { name: 'sourceZoneId', type: 'uint32' }, + { name: 'sourcePortal', type: 'address' }, + { name: '', type: 'bytes32' }, + { name: 'token', type: 'address' }, + { name: 'amount', type: 'uint128' }, + { name: 'callbackData', type: 'bytes' }, + ], + outputs: [{ name: '', type: 'bytes4' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'privateAsset', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'reserveToken', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'supportsFlow', + inputs: [{ name: 'flow', type: 'uint8' }], + outputs: [{ name: '', type: 'bool' }], + stateMutability: 'pure', + }, + { + type: 'function', + name: 'tokenAuthority', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'transactionLimit', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'vaultAsset', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'event', + name: 'EarnDeposit', + inputs: [ + { name: 'actionId', type: 'bytes32', indexed: true }, + { name: 'earnVault', type: 'address', indexed: true }, + { name: 'inputToken', type: 'address', indexed: true }, + { name: 'inputAmount', type: 'uint256', indexed: false }, + { name: 'vaultAssets', type: 'uint256', indexed: false }, + { name: 'earnShares', type: 'uint256', indexed: false }, + { name: 'zoneDepositHash', type: 'bytes32', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'EarnRedeem', + inputs: [ + { name: 'actionId', type: 'bytes32', indexed: true }, + { name: 'earnVault', type: 'address', indexed: true }, + { name: 'outputToken', type: 'address', indexed: true }, + { name: 'earnShares', type: 'uint256', indexed: false }, + { name: 'vaultAssets', type: 'uint256', indexed: false }, + { name: 'outputAmount', type: 'uint256', indexed: false }, + { name: 'zoneDepositHash', type: 'bytes32', indexed: false }, + ], + anonymous: false, + }, + { type: 'error', name: 'AmountExceedsLimit', inputs: [] }, + { type: 'error', name: 'AmountOverflow', inputs: [] }, + { type: 'error', name: 'BadFlow', inputs: [] }, + { type: 'error', name: 'InsufficientOutput', inputs: [] }, + { type: 'error', name: 'InvalidAuthority', inputs: [] }, + { type: 'error', name: 'InvalidEarnVault', inputs: [] }, + { type: 'error', name: 'InvalidPrivateAsset', inputs: [] }, + { type: 'error', name: 'InvalidReturnToken', inputs: [] }, + { type: 'error', name: 'InvalidRoutePair', inputs: [] }, + { type: 'error', name: 'InvalidSourcePortal', inputs: [] }, + { type: 'error', name: 'InvalidTransactionLimit', inputs: [] }, + { type: 'error', name: 'NotZoneMessenger', inputs: [] }, + { type: 'error', name: 'ReentrantCall', inputs: [] }, + { type: 'error', name: 'ResidualBalance', inputs: [] }, + { type: 'error', name: 'TokenCallFailed', inputs: [] }, + { type: 'error', name: 'TokenCallFalse', inputs: [] }, + { type: 'error', name: 'WrongInputToken', inputs: [] }, + { type: 'error', name: 'WrongSourceZone', inputs: [] }, + { type: 'error', name: 'ZeroAddress', inputs: [] }, + { type: 'error', name: 'ZeroAmount', inputs: [] }, +]; +exports.earnVault = [ + { type: 'constructor', inputs: [], stateMutability: 'nonpayable' }, + { + type: 'function', + name: 'MAX_REWARD_RATE_MULTIPLIER', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'absorbEngineShareSurplus', + inputs: [{ name: 'engineShares_', type: 'uint256' }], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'acceptDistributor', + inputs: [], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'accrueFees', + inputs: [], + outputs: [ + { name: 'feeAssets', type: 'uint256' }, + { name: 'feeEarnShares', type: 'uint256' }, + ], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'anchorEarnShares', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'anchorEngineShares', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'asset', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'asyncJanitor', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'cancelDistributorFeeUpdate', + inputs: [], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'cancelDistributorTransfer', + inputs: [], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'cancelRedeem', + inputs: [ + { name: 'requestId', type: 'bytes32' }, + { name: 'minReceiverEarnShares', type: 'uint256' }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'contribute', + inputs: [{ name: 'assets', type: 'uint256' }], + outputs: [{ name: 'receivedEngineShares', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'convertEngineSharesToEarnShares', + inputs: [{ name: 'engineShares_', type: 'uint256' }], + outputs: [{ name: 'earnShares', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'convertToEngineShares', + inputs: [{ name: 'earnShares', type: 'uint256' }], + outputs: [{ name: 'engineShares_', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'deposit', + inputs: [ + { name: 'assets', type: 'uint256' }, + { name: 'receiver', type: 'address' }, + { name: 'minEarnShares', type: 'uint256' }, + ], + outputs: [{ name: 'earnShares', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'depositVenueShares', + inputs: [ + { name: 'venueShares', type: 'uint256' }, + { name: 'receiver', type: 'address' }, + { name: 'minEarnShares', type: 'uint256' }, + ], + outputs: [{ name: 'earnShares', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'depositsPaused', + inputs: [], + outputs: [{ name: '', type: 'bool' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'disableFees', + inputs: [], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'distributor', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'distributorFee', + inputs: [], + outputs: [ + { name: 'recipient', type: 'address' }, + { name: 'rateBps', type: 'uint16' }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'distributorUpdateDelay', + inputs: [], + outputs: [{ name: '', type: 'uint40' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'earnFees', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'earnShare', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'emergencyGuardian', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'engine', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'engineMigrationMode', + inputs: [], + outputs: [{ name: '', type: 'uint8' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'engineShares', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'executeDistributorFeeUpdate', + inputs: [], + outputs: [{ name: 'feeConfigId', type: 'uint64' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'finalizeRedeem', + inputs: [ + { name: 'requestId', type: 'bytes32' }, + { name: 'asset_', type: 'address' }, + { name: 'amount', type: 'uint256' }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'initialize', + inputs: [ + { name: 'engine_', type: 'address' }, + { name: 'earnShare_', type: 'address' }, + { name: 'earnFees_', type: 'address' }, + { name: 'operator_', type: 'address' }, + { + name: 'controlInit_', + type: 'tuple', + components: [ + { name: 'emergencyGuardian', type: 'address' }, + { name: 'asyncJanitor', type: 'address' }, + { name: 'maxManagedAssets', type: 'uint256' }, + { name: 'migrationMode', type: 'uint8' }, + ], + }, + { + name: 'distributorInit_', + type: 'tuple', + components: [ + { name: 'distributor', type: 'address' }, + { name: 'updateDelay', type: 'uint40' }, + ], + }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'isAccountingAligned', + inputs: [], + outputs: [{ name: '', type: 'bool' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'isFeeValuationFresh', + inputs: [], + outputs: [{ name: '', type: 'bool' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'maxManagedAssets', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'migrateEngine', + inputs: [ + { name: 'newEngine', type: 'address' }, + { name: 'minNewEngineShares', type: 'uint256' }, + { name: 'minAssetsRetained', type: 'uint256' }, + ], + outputs: [{ name: 'newEngineShares', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'normalizedRewardRate', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'openRedeemRequestCount', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'operator', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'pendingDistributor', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'pendingDistributorFeeUpdate', + inputs: [], + outputs: [ + { + name: '', + type: 'tuple', + components: [ + { name: 'recipient', type: 'address' }, + { name: 'rateBps', type: 'uint16' }, + { name: 'executableAt', type: 'uint40' }, + { name: 'pending', type: 'bool' }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'pendingRedeem', + inputs: [{ name: 'requestId', type: 'bytes32' }], + outputs: [ + { + name: '', + type: 'tuple', + components: [ + { name: 'receiver', type: 'address' }, + { name: 'requester', type: 'address' }, + { name: 'burnedEarnShares', type: 'uint256' }, + { name: 'engineShares', type: 'uint256' }, + { name: 'open', type: 'bool' }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'previewRedeem', + inputs: [{ name: 'earnShares', type: 'uint256' }], + outputs: [{ name: 'assets', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'previewWithdraw', + inputs: [{ name: 'assets', type: 'uint256' }], + outputs: [{ name: 'earnShares', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'rawEngineShares', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'redeem', + inputs: [ + { name: 'earnShares', type: 'uint256' }, + { name: 'receiver', type: 'address' }, + { name: 'minAssets', type: 'uint256' }, + ], + outputs: [{ name: 'assets', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'remainingDepositCapacity', + inputs: [], + outputs: [{ name: 'assets', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'requestRedeem', + inputs: [ + { name: 'earnShares', type: 'uint256' }, + { name: 'engineData', type: 'bytes' }, + { name: 'receiver', type: 'address' }, + ], + outputs: [{ name: 'requestId', type: 'bytes32' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'rewardRateBaseline', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'scheduleDistributorFeeUpdate', + inputs: [ + { name: 'recipient', type: 'address' }, + { name: 'rateBps', type: 'uint16' }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'setDepositsPaused', + inputs: [{ name: 'paused', type: 'bool' }], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'setEmergencyRoles', + inputs: [ + { name: 'newGuardian', type: 'address' }, + { name: 'newJanitor', type: 'address' }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'setFeeConfig', + inputs: [ + { + name: 'config', + type: 'tuple', + components: [ + { name: 'fixedFeeCount', type: 'uint8' }, + { + name: 'fixedFees', + type: 'tuple[4]', + components: [ + { name: 'account', type: 'address' }, + { name: 'rateBps', type: 'uint16' }, + ], + }, + { + name: 'excess', + type: 'tuple', + components: [ + { name: 'enabled', type: 'bool' }, + { name: 'account', type: 'address' }, + { name: 'annualTargetRateBps', type: 'uint16' }, + { name: 'excessFeeRateBps', type: 'uint16' }, + ], + }, + ], + }, + ], + outputs: [{ name: 'configId', type: 'uint64' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'setMaxManagedAssets', + inputs: [{ name: 'newMaxManagedAssets', type: 'uint256' }], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'surplusEngineShares', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'totalAssets', + inputs: [], + outputs: [{ name: 'assets', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'totalEarnShares', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'transferDistributor', + inputs: [{ name: 'newDistributor', type: 'address' }], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'withdrawExact', + inputs: [ + { name: 'assets', type: 'uint256' }, + { name: 'receiver', type: 'address' }, + { name: 'maxEarnShares', type: 'uint256' }, + ], + outputs: [{ name: 'earnSharesBurned', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'event', + name: 'Contributed', + inputs: [ + { name: 'caller', type: 'address', indexed: true }, + { name: 'assets', type: 'uint256', indexed: false }, + { name: 'engineShares', type: 'uint256', indexed: false }, + { name: 'anchorEngineShares', type: 'uint256', indexed: false }, + { name: 'anchorEarnShares', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'DepositPauseChanged', + inputs: [ + { name: 'caller', type: 'address', indexed: true }, + { name: 'paused', type: 'bool', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'Deposited', + inputs: [ + { name: 'caller', type: 'address', indexed: true }, + { name: 'receiver', type: 'address', indexed: true }, + { name: 'assets', type: 'uint256', indexed: false }, + { name: 'earnShares', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'DistributorFeeUpdateCancelled', + inputs: [{ name: 'distributor', type: 'address', indexed: true }], + anonymous: false, + }, + { + type: 'event', + name: 'DistributorFeeUpdateScheduled', + inputs: [ + { name: 'distributor', type: 'address', indexed: true }, + { name: 'recipient', type: 'address', indexed: true }, + { name: 'rateBps', type: 'uint16', indexed: false }, + { name: 'executableAt', type: 'uint40', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'DistributorFeeUpdated', + inputs: [ + { name: 'recipient', type: 'address', indexed: true }, + { name: 'rateBps', type: 'uint16', indexed: false }, + { name: 'feeConfigId', type: 'uint64', indexed: true }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'DistributorTransferCancelled', + inputs: [ + { name: 'distributor', type: 'address', indexed: true }, + { name: 'pendingDistributor', type: 'address', indexed: true }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'DistributorTransferStarted', + inputs: [ + { name: 'distributor', type: 'address', indexed: true }, + { name: 'pendingDistributor', type: 'address', indexed: true }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'DistributorTransferred', + inputs: [ + { name: 'previousDistributor', type: 'address', indexed: true }, + { name: 'newDistributor', type: 'address', indexed: true }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'EmergencyRolesChanged', + inputs: [ + { name: 'emergencyGuardian', type: 'address', indexed: true }, + { name: 'asyncJanitor', type: 'address', indexed: true }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'EngineMigrated', + inputs: [ + { name: 'oldEngine', type: 'address', indexed: true }, + { name: 'newEngine', type: 'address', indexed: true }, + { name: 'oldEngineShares', type: 'uint256', indexed: false }, + { name: 'assetsMoved', type: 'uint256', indexed: false }, + { name: 'newEngineShares', type: 'uint256', indexed: false }, + { name: 'totalEarnShares', type: 'uint256', indexed: false }, + { name: 'anchorEngineShares', type: 'uint256', indexed: false }, + { name: 'anchorEarnShares', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'EngineShareSurplusAbsorbed', + inputs: [ + { name: 'caller', type: 'address', indexed: true }, + { name: 'engineShares', type: 'uint256', indexed: false }, + { name: 'anchorEngineShares', type: 'uint256', indexed: false }, + { name: 'anchorEarnShares', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'MaxManagedAssetsChanged', + inputs: [ + { name: 'previousMaxManagedAssets', type: 'uint256', indexed: false }, + { name: 'newMaxManagedAssets', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'RedeemCancelled', + inputs: [ + { name: 'requestId', type: 'bytes32', indexed: true }, + { name: 'receiver', type: 'address', indexed: true }, + { name: 'earnShares', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'RedeemFinalized', + inputs: [ + { name: 'requestId', type: 'bytes32', indexed: true }, + { name: 'receiver', type: 'address', indexed: true }, + { name: 'earnShares', type: 'uint256', indexed: false }, + { name: 'asset', type: 'address', indexed: false }, + { name: 'assets', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'RedeemRequested', + inputs: [ + { name: 'requestId', type: 'bytes32', indexed: true }, + { name: 'requester', type: 'address', indexed: true }, + { name: 'receiver', type: 'address', indexed: true }, + { name: 'earnShares', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'Redeemed', + inputs: [ + { name: 'caller', type: 'address', indexed: true }, + { name: 'receiver', type: 'address', indexed: true }, + { name: 'earnShares', type: 'uint256', indexed: false }, + { name: 'assets', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'VenueSharesDeposited', + inputs: [ + { name: 'caller', type: 'address', indexed: true }, + { name: 'receiver', type: 'address', indexed: true }, + { name: 'requestedVenueShares', type: 'uint256', indexed: false }, + { name: 'receivedEngineShares', type: 'uint256', indexed: false }, + { name: 'earnShares', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'WithdrewExact', + inputs: [ + { name: 'caller', type: 'address', indexed: true }, + { name: 'receiver', type: 'address', indexed: true }, + { name: 'assets', type: 'uint256', indexed: false }, + { name: 'earnSharesBurned', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { type: 'error', name: 'ActiveSupplyWithoutBacking', inputs: [] }, + { type: 'error', name: 'AlreadyInitialized', inputs: [] }, + { type: 'error', name: 'DepositsPaused', inputs: [] }, + { type: 'error', name: 'DistributorFeeUpdateNotPending', inputs: [] }, + { + type: 'error', + name: 'DistributorFeeUpdateNotReady', + inputs: [{ name: 'executableAt', type: 'uint40' }], + }, + { type: 'error', name: 'DistributorTransferNotPending', inputs: [] }, + { + type: 'error', + name: 'DuplicateRequest', + inputs: [{ name: 'requestId', type: 'bytes32' }], + }, + { type: 'error', name: 'EngineAssetMismatch', inputs: [] }, + { + type: 'error', + name: 'EngineCapabilityUnsupported', + inputs: [{ name: 'interfaceId', type: 'bytes4' }], + }, + { type: 'error', name: 'EngineEarnVaultMismatch', inputs: [] }, + { type: 'error', name: 'EngineExitUnsupported', inputs: [] }, + { type: 'error', name: 'ExceedsMaxEarnShares', inputs: [] }, + { + type: 'error', + name: 'ExcessiveConversionLoss', + inputs: [ + { name: 'inputShares', type: 'uint256' }, + { name: 'representedShares', type: 'uint256' }, + ], + }, + { + type: 'error', + name: 'ExcessiveMigrationClassificationError', + inputs: [ + { name: 'expectedManagedAssets', type: 'uint256' }, + { name: 'actualManagedAssets', type: 'uint256' }, + ], + }, + { type: 'error', name: 'FeeValuationStale', inputs: [] }, + { + type: 'error', + name: 'FinalizedAssetMismatch', + inputs: [{ name: 'finalizedAsset', type: 'address' }], + }, + { type: 'error', name: 'GlobalFeeDisableUnavailable', inputs: [] }, + { type: 'error', name: 'InitialEarnShareSupplyNotZero', inputs: [] }, + { + type: 'error', + name: 'InsufficientEngineShareSurplus', + inputs: [ + { name: 'available', type: 'uint256' }, + { name: 'requested', type: 'uint256' }, + ], + }, + { type: 'error', name: 'InsufficientOutput', inputs: [] }, + { type: 'error', name: 'InvalidDistributorConfiguration', inputs: [] }, + { type: 'error', name: 'InvalidDistributorFeeConfiguration', inputs: [] }, + { type: 'error', name: 'InvalidEarnDecimals', inputs: [] }, + { type: 'error', name: 'InvalidEngineShareScale', inputs: [] }, + { + type: 'error', + name: 'MaxManagedAssetsExceeded', + inputs: [ + { name: 'maximum', type: 'uint256' }, + { name: 'actual', type: 'uint256' }, + ], + }, + { + type: 'error', + name: 'MinimumAssetsNotMet', + inputs: [ + { name: 'minimumAssets', type: 'uint256' }, + { name: 'actualAssets', type: 'uint256' }, + ], + }, + { + type: 'error', + name: 'MinimumEarnSharesNotMet', + inputs: [ + { name: 'minimumEarnShares', type: 'uint256' }, + { name: 'actualEarnShares', type: 'uint256' }, + ], + }, + { + type: 'error', + name: 'MinimumEngineSharesNotMet', + inputs: [ + { name: 'minimumEngineShares', type: 'uint256' }, + { name: 'actualEngineShares', type: 'uint256' }, + ], + }, + { type: 'error', name: 'NoEarnShares', inputs: [] }, + { type: 'error', name: 'NotDistributor', inputs: [] }, + { type: 'error', name: 'NotEmergencyGuardianOrOperator', inputs: [] }, + { type: 'error', name: 'NotEngine', inputs: [] }, + { type: 'error', name: 'NotOperator', inputs: [] }, + { type: 'error', name: 'NotPendingDistributor', inputs: [] }, + { type: 'error', name: 'NotRequesterOrJanitor', inputs: [] }, + { type: 'error', name: 'OperatorMigrationDisabled', inputs: [] }, + { type: 'error', name: 'PendingRedeemsOpen', inputs: [] }, + { type: 'error', name: 'ReentrantCall', inputs: [] }, + { + type: 'error', + name: 'RequestNotOpen', + inputs: [{ name: 'requestId', type: 'bytes32' }], + }, + { type: 'error', name: 'ResidualBacking', inputs: [] }, + { + type: 'error', + name: 'RewardRateLimitExceeded', + inputs: [ + { name: 'normalizedRate', type: 'uint256' }, + { name: 'baselineRate', type: 'uint256' }, + ], + }, + { type: 'error', name: 'SameEngine', inputs: [] }, + { type: 'error', name: 'TokenCallFailed', inputs: [] }, + { type: 'error', name: 'TokenCallFalse', inputs: [] }, + { type: 'error', name: 'ZeroAddress', inputs: [] }, + { type: 'error', name: 'ZeroAmount', inputs: [] }, + { type: 'error', name: 'ZeroMinimumAssets', inputs: [] }, + { type: 'error', name: 'ZeroMinimumEarnShares', inputs: [] }, + { type: 'error', name: 'ZeroMinimumEngineShares', inputs: [] }, +]; +exports.erc4626Engine = [ + { + type: 'constructor', + inputs: [ + { name: 'vault_', type: 'address' }, + { name: 'owner_', type: 'address' }, + { name: 'nameOverride_', type: 'string' }, + { name: 'symbolOverride_', type: 'string' }, + ], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'acceptOwnership', + inputs: [], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'asset', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'baseAsset', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'deposit', + inputs: [{ name: 'assets', type: 'uint256' }], + outputs: [{ name: 'engineShares', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'depositInKind', + inputs: [ + { name: 'venueShares', type: 'uint256' }, + { name: 'from', type: 'address' }, + ], + outputs: [{ name: 'engineSharesReceived', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'earnVault', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'initializeEarnVault', + inputs: [ + { name: 'earnVault_', type: 'address' }, + { name: 'finalOwner_', type: 'address' }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'initializeEarnVault', + inputs: [{ name: 'earnVault_', type: 'address' }], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'name', + inputs: [], + outputs: [{ name: '', type: 'string' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'owner', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'pendingOwner', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'previewRedeem', + inputs: [{ name: 'engineShares', type: 'uint256' }], + outputs: [{ name: 'assets', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'previewWithdraw', + inputs: [{ name: 'assets', type: 'uint256' }], + outputs: [{ name: 'engineShares', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'redeem', + inputs: [ + { name: 'engineShares', type: 'uint256' }, + { name: 'receiver', type: 'address' }, + { name: 'minAssets', type: 'uint256' }, + ], + outputs: [{ name: 'assets', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'renounceOwnership', + inputs: [], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'shareScale', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'supportsInterface', + inputs: [{ name: 'interfaceId', type: 'bytes4' }], + outputs: [{ name: '', type: 'bool' }], + stateMutability: 'pure', + }, + { + type: 'function', + name: 'symbol', + inputs: [], + outputs: [{ name: '', type: 'string' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'totalAssets', + inputs: [], + outputs: [{ name: 'assets', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'totalShares', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'transferOwnership', + inputs: [{ name: 'newOwner', type: 'address' }], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'valueOf', + inputs: [{ name: 'engineShares', type: 'uint256' }], + outputs: [{ name: 'assets', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'vault', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'withdraw', + inputs: [ + { name: 'assets', type: 'uint256' }, + { name: 'receiver', type: 'address' }, + ], + outputs: [{ name: 'engineShares', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'event', + name: 'Deposited', + inputs: [ + { name: 'earnVault', type: 'address', indexed: true }, + { name: 'assets', type: 'uint256', indexed: false }, + { name: 'engineShares', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'EarnVaultInitialized', + inputs: [{ name: 'earnVault', type: 'address', indexed: true }], + anonymous: false, + }, + { + type: 'event', + name: 'OwnershipTransferStarted', + inputs: [ + { name: 'previousOwner', type: 'address', indexed: true }, + { name: 'newOwner', type: 'address', indexed: true }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'OwnershipTransferred', + inputs: [ + { name: 'previousOwner', type: 'address', indexed: true }, + { name: 'newOwner', type: 'address', indexed: true }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'Redeemed', + inputs: [ + { name: 'receiver', type: 'address', indexed: true }, + { name: 'engineShares', type: 'uint256', indexed: false }, + { name: 'assets', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'VenueSharesDeposited', + inputs: [ + { name: 'from', type: 'address', indexed: true }, + { name: 'requestedVenueShares', type: 'uint256', indexed: false }, + { name: 'receivedEngineShares', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'WithdrewExact', + inputs: [ + { name: 'receiver', type: 'address', indexed: true }, + { name: 'assets', type: 'uint256', indexed: false }, + { name: 'engineSharesBurned', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { type: 'error', name: 'AlreadyInitialized', inputs: [] }, + { type: 'error', name: 'EarnVaultNotSet', inputs: [] }, + { type: 'error', name: 'EmptyMetadata', inputs: [] }, + { + type: 'error', + name: 'InsufficientAssetsReceived', + inputs: [ + { name: 'minimumAssets', type: 'uint256' }, + { name: 'actualAssets', type: 'uint256' }, + ], + }, + { type: 'error', name: 'InvalidVenueShareDecimals', inputs: [] }, + { type: 'error', name: 'NoVenueSharesReceived', inputs: [] }, + { + type: 'error', + name: 'NotEarnVault', + inputs: [{ name: 'caller', type: 'address' }], + }, + { + type: 'error', + name: 'OwnableInvalidOwner', + inputs: [{ name: 'owner', type: 'address' }], + }, + { + type: 'error', + name: 'OwnableUnauthorizedAccount', + inputs: [{ name: 'account', type: 'address' }], + }, + { type: 'error', name: 'ReentrantCall', inputs: [] }, + { type: 'error', name: 'TransferFailed', inputs: [] }, + { + type: 'error', + name: 'UnexpectedAssetsReceived', + inputs: [ + { name: 'expectedAssets', type: 'uint256' }, + { name: 'actualAssets', type: 'uint256' }, + ], + }, + { + type: 'error', + name: 'UnexpectedVenueSharesBurned', + inputs: [ + { name: 'expectedShares', type: 'uint256' }, + { name: 'actualShares', type: 'uint256' }, + ], + }, + { type: 'error', name: 'ZeroAddress', inputs: [] }, +]; +exports.erc4626EngineFactory = [ + { + type: 'function', + name: 'ENGINE_SALT_DOMAIN', + inputs: [], + outputs: [{ name: '', type: 'bytes32' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'computeEngineSalt', + inputs: [ + { name: 'deploymentId', type: 'bytes32' }, + { name: 'vault', type: 'address' }, + { name: 'owner', type: 'address' }, + { name: 'nameOverride', type: 'string' }, + { name: 'symbolOverride', type: 'string' }, + ], + outputs: [{ name: '', type: 'bytes32' }], + stateMutability: 'pure', + }, + { + type: 'function', + name: 'deploy', + inputs: [ + { name: 'deploymentId', type: 'bytes32' }, + { name: 'vault', type: 'address' }, + { name: 'owner', type: 'address' }, + { name: 'nameOverride', type: 'string' }, + { name: 'symbolOverride', type: 'string' }, + ], + outputs: [{ name: 'engine', type: 'address' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'predictEngine', + inputs: [ + { name: 'deploymentId', type: 'bytes32' }, + { name: 'vault', type: 'address' }, + { name: 'owner', type: 'address' }, + { name: 'nameOverride', type: 'string' }, + { name: 'symbolOverride', type: 'string' }, + ], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'event', + name: 'ERC4626EngineDeployed', + inputs: [ + { name: 'engine', type: 'address', indexed: true }, + { name: 'vault', type: 'address', indexed: true }, + { name: 'owner', type: 'address', indexed: true }, + { name: 'asset', type: 'address', indexed: false }, + { name: 'deploymentId', type: 'bytes32', indexed: false }, + { name: 'engineSalt', type: 'bytes32', indexed: false }, + ], + anonymous: false, + }, + { type: 'error', name: 'EmptyDeploymentId', inputs: [] }, + { + type: 'error', + name: 'EngineAlreadyExists', + inputs: [{ name: 'engine', type: 'address' }], + }, + { type: 'error', name: 'FactoryCannotBeFinalOwner', inputs: [] }, +]; +exports.vedaEngine = [ + { + type: 'constructor', + inputs: [ + { name: 'peripheryRegistry_', type: 'address' }, + { name: 'owner_', type: 'address' }, + { name: 'maxRateAge_', type: 'uint64' }, + { name: 'name_', type: 'string' }, + { name: 'symbol_', type: 'string' }, + ], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'acceptOwnership', + inputs: [], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'accountant', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'accountantRateUpdatedAt', + inputs: [], + outputs: [{ name: '', type: 'uint64' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'asset', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'authorizedForwarder', + inputs: [{ name: 'forwarder', type: 'address' }], + outputs: [{ name: 'authorized', type: 'bool' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'baseAsset', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'cancelRedeem', + inputs: [{ name: 'requestId', type: 'bytes32' }], + outputs: [{ name: 'engineShares', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'claimQueue', + inputs: [{ name: 'requestId', type: 'bytes32' }], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'claimRedeem', + inputs: [{ name: 'requestId', type: 'bytes32' }], + outputs: [{ name: 'amount', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'deposit', + inputs: [{ name: 'assets', type: 'uint256' }], + outputs: [{ name: 'engineShares', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'earnVault', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'finalizeOneExternal', + inputs: [{ name: 'requestId', type: 'bytes32' }], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'forwardSolved', + inputs: [ + { name: 'requestIds', type: 'bytes32[]' }, + { name: 'asset_', type: 'address' }, + { name: 'delta', type: 'uint256' }, + ], + outputs: [{ name: 'claimed', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'getClaim', + inputs: [{ name: 'requestId', type: 'bytes32' }], + outputs: [ + { name: 'status', type: 'uint8' }, + { + name: 'request', + type: 'tuple', + components: [ + { name: 'nonce', type: 'uint96' }, + { name: 'user', type: 'address' }, + { name: 'assetOut', type: 'address' }, + { name: 'amountOfShares', type: 'uint128' }, + { name: 'amountOfAssets', type: 'uint128' }, + { name: 'creationTime', type: 'uint40' }, + { name: 'secondsToMaturity', type: 'uint24' }, + { name: 'secondsToDeadline', type: 'uint24' }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'initializeEarnVault', + inputs: [ + { name: 'earnVault_', type: 'address' }, + { name: 'finalOwner_', type: 'address' }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'initializeEarnVault', + inputs: [{ name: 'earnVault_', type: 'address' }], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'isFeeValuationFresh', + inputs: [], + outputs: [{ name: '', type: 'bool' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'maxRateAge', + inputs: [], + outputs: [{ name: '', type: 'uint64' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'name', + inputs: [], + outputs: [{ name: '', type: 'string' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'openClaimsByQueue', + inputs: [{ name: 'requestQueue', type: 'address' }], + outputs: [{ name: 'count', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'owner', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'pendingOwner', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'peripheryRegistry', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'peripheryVersion', + inputs: [], + outputs: [{ name: '', type: 'uint64' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'previewRedeem', + inputs: [{ name: 'engineShares', type: 'uint256' }], + outputs: [{ name: 'assets', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'previewWithdraw', + inputs: [{ name: 'assets', type: 'uint256' }], + outputs: [{ name: 'engineShares', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'queue', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'rate', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'recoverExternalSettlement', + inputs: [{ name: 'requestIds', type: 'bytes32[]' }], + outputs: [{ name: 'claimed', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'redeem', + inputs: [ + { name: 'engineShares', type: 'uint256' }, + { name: 'receiver', type: 'address' }, + { name: 'minAssets', type: 'uint256' }, + ], + outputs: [{ name: 'assets', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'renounceOwnership', + inputs: [], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'requestRedeem', + inputs: [ + { name: 'engineShares', type: 'uint256' }, + { name: 'requestData', type: 'bytes' }, + ], + outputs: [{ name: 'requestId', type: 'bytes32' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'setAuthorizedForwarder', + inputs: [ + { name: 'account', type: 'address' }, + { name: 'authorized', type: 'bool' }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'setMaxRateAge', + inputs: [{ name: 'newMaxRateAge', type: 'uint64' }], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'settled', + inputs: [{ name: 'asset', type: 'address' }], + outputs: [{ name: 'amount', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'shareScale', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'supportsInterface', + inputs: [{ name: 'interfaceId', type: 'bytes4' }], + outputs: [{ name: '', type: 'bool' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'sweepDust', + inputs: [ + { name: 'token', type: 'address' }, + { name: 'to', type: 'address' }, + { name: 'amount', type: 'uint256' }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'symbol', + inputs: [], + outputs: [{ name: '', type: 'string' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'syncVedaPeriphery', + inputs: [ + { name: 'minRate', type: 'uint256' }, + { name: 'maxRate', type: 'uint256' }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'teller', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'totalAssets', + inputs: [], + outputs: [{ name: 'assets', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'totalShares', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'transferOwnership', + inputs: [{ name: 'newOwner', type: 'address' }], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'unresolvedClaimCount', + inputs: [], + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'valueOf', + inputs: [{ name: 'engineShares', type: 'uint256' }], + outputs: [{ name: 'assets', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'vault', + inputs: [], + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + name: 'withdraw', + inputs: [ + { name: 'assets', type: 'uint256' }, + { name: 'receiver', type: 'address' }, + ], + outputs: [{ name: 'engineShares', type: 'uint256' }], + stateMutability: 'nonpayable', + }, + { + type: 'event', + name: 'AuthorizedForwarderChanged', + inputs: [ + { name: 'account', type: 'address', indexed: true }, + { name: 'authorized', type: 'bool', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'Deposited', + inputs: [ + { name: 'earnVault', type: 'address', indexed: true }, + { name: 'assets', type: 'uint256', indexed: false }, + { name: 'engineShares', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'DustSwept', + inputs: [ + { name: 'token', type: 'address', indexed: true }, + { name: 'to', type: 'address', indexed: true }, + { name: 'amount', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'EarnVaultInitialized', + inputs: [{ name: 'earnVault', type: 'address', indexed: true }], + anonymous: false, + }, + { + type: 'event', + name: 'ExternalSettlementRecovered', + inputs: [ + { name: 'requestCount', type: 'uint256', indexed: false }, + { name: 'recoveredAssets', type: 'uint256', indexed: false }, + { name: 'claimed', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'FinalizeFailed', + inputs: [ + { name: 'requestId', type: 'bytes32', indexed: true }, + { name: 'asset', type: 'address', indexed: true }, + { name: 'amount', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'Finalized', + inputs: [ + { name: 'requestId', type: 'bytes32', indexed: true }, + { name: 'asset', type: 'address', indexed: true }, + { name: 'amount', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'MaxRateAgeUpdated', + inputs: [ + { name: 'oldMaxRateAge', type: 'uint64', indexed: false }, + { name: 'newMaxRateAge', type: 'uint64', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'OwnershipTransferStarted', + inputs: [ + { name: 'previousOwner', type: 'address', indexed: true }, + { name: 'newOwner', type: 'address', indexed: true }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'OwnershipTransferred', + inputs: [ + { name: 'previousOwner', type: 'address', indexed: true }, + { name: 'newOwner', type: 'address', indexed: true }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'RedeemCancelledOnQueue', + inputs: [ + { name: 'requestId', type: 'bytes32', indexed: true }, + { name: 'engineShares', type: 'uint128', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'RedeemClaimed', + inputs: [ + { name: 'requestId', type: 'bytes32', indexed: true }, + { name: 'asset', type: 'address', indexed: true }, + { name: 'amount', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'RedeemRequested', + inputs: [ + { name: 'requestId', type: 'bytes32', indexed: true }, + { name: 'assetOut', type: 'address', indexed: true }, + { name: 'engineShares', type: 'uint128', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'Redeemed', + inputs: [ + { name: 'receiver', type: 'address', indexed: true }, + { name: 'engineShares', type: 'uint256', indexed: false }, + { name: 'assets', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'Settled', + inputs: [ + { name: 'asset', type: 'address', indexed: true }, + { name: 'amount', type: 'uint256', indexed: false }, + { name: 'newTotal', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'Unearmarked', + inputs: [ + { name: 'asset', type: 'address', indexed: true }, + { name: 'amount', type: 'uint256', indexed: false }, + { name: 'newTotal', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'VedaPeripheryUpdated', + inputs: [ + { name: 'registryVersion', type: 'uint64', indexed: true }, + { name: 'oldTeller', type: 'address', indexed: true }, + { name: 'oldQueue', type: 'address', indexed: true }, + { name: 'oldAccountant', type: 'address', indexed: false }, + { name: 'newTeller', type: 'address', indexed: false }, + { name: 'newQueue', type: 'address', indexed: false }, + { name: 'newAccountant', type: 'address', indexed: false }, + { name: 'validatedRate', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'WithdrewExact', + inputs: [ + { name: 'receiver', type: 'address', indexed: true }, + { name: 'assets', type: 'uint256', indexed: false }, + { name: 'engineSharesBurned', type: 'uint256', indexed: false }, + ], + anonymous: false, + }, + { type: 'error', name: 'AlreadyInitialized', inputs: [] }, + { + type: 'error', + name: 'AssetsNotArrived', + inputs: [{ name: 'requestId', type: 'bytes32' }], + }, + { + type: 'error', + name: 'BaseAssetSweepBlocked', + inputs: [{ name: 'unresolvedClaims', type: 'uint256' }], + }, + { type: 'error', name: 'CannotSweepEngineBacking', inputs: [] }, + { + type: 'error', + name: 'ClaimNotClaimable', + inputs: [{ name: 'requestId', type: 'bytes32' }], + }, + { + type: 'error', + name: 'ClaimNotOpen', + inputs: [{ name: 'requestId', type: 'bytes32' }], + }, + { + type: 'error', + name: 'CreditExceedsBalance', + inputs: [ + { name: 'asset', type: 'address' }, + { name: 'have', type: 'uint256' }, + { name: 'wantTotal', type: 'uint256' }, + ], + }, + { type: 'error', name: 'DepositsNotPaused', inputs: [] }, + { + type: 'error', + name: 'DuplicateRequest', + inputs: [{ name: 'requestId', type: 'bytes32' }], + }, + { type: 'error', name: 'EarnVaultNotSet', inputs: [] }, + { type: 'error', name: 'EmptyMetadata', inputs: [] }, + { + type: 'error', + name: 'EngineSharesTooLarge', + inputs: [{ name: 'engineShares', type: 'uint256' }], + }, + { + type: 'error', + name: 'InsufficientAssetsReceived', + inputs: [ + { name: 'minimumAssets', type: 'uint256' }, + { name: 'actualAssets', type: 'uint256' }, + ], + }, + { + type: 'error', + name: 'InvalidAsset', + inputs: [ + { name: 'expected', type: 'address' }, + { name: 'actual', type: 'address' }, + ], + }, + { type: 'error', name: 'InvalidMaxRateAge', inputs: [] }, + { + type: 'error', + name: 'InvalidRateTimestamp', + inputs: [ + { name: 'updatedAt', type: 'uint256' }, + { name: 'currentTime', type: 'uint256' }, + ], + }, + { + type: 'error', + name: 'InvalidTrackedRequest', + inputs: [{ name: 'requestId', type: 'bytes32' }], + }, + { + type: 'error', + name: 'InvalidVedaPeriphery', + inputs: [{ name: 'account', type: 'address' }], + }, + { + type: 'error', + name: 'InvalidVedaPeripheryWiring', + inputs: [ + { name: 'component', type: 'address' }, + { name: 'expected', type: 'address' }, + { name: 'actual', type: 'address' }, + ], + }, + { + type: 'error', + name: 'InvalidVedaRateBounds', + inputs: [ + { name: 'minRate', type: 'uint256' }, + { name: 'maxRate', type: 'uint256' }, + ], + }, + { type: 'error', name: 'InvalidVenueShareDecimals', inputs: [] }, + { type: 'error', name: 'NoPublishedVedaPeriphery', inputs: [] }, + { type: 'error', name: 'NoRecoverableClaims', inputs: [] }, + { type: 'error', name: 'NoVenueSharesReceived', inputs: [] }, + { + type: 'error', + name: 'NotAuthorizedForwarder', + inputs: [{ name: 'caller', type: 'address' }], + }, + { + type: 'error', + name: 'NotEarnVault', + inputs: [{ name: 'caller', type: 'address' }], + }, + { type: 'error', name: 'NotSelf', inputs: [] }, + { + type: 'error', + name: 'OwnableInvalidOwner', + inputs: [{ name: 'owner', type: 'address' }], + }, + { + type: 'error', + name: 'OwnableUnauthorizedAccount', + inputs: [{ name: 'account', type: 'address' }], + }, + { + type: 'error', + name: 'QueueTrackingDisabled', + inputs: [{ name: 'queue', type: 'address' }], + }, + { type: 'error', name: 'QueueUnavailable', inputs: [] }, + { + type: 'error', + name: 'RateChangedWithinTransaction', + inputs: [ + { name: 'expected', type: 'uint256' }, + { name: 'actual', type: 'uint256' }, + ], + }, + { type: 'error', name: 'ReentrantCall', inputs: [] }, + { + type: 'error', + name: 'RegistryEngineMismatch', + inputs: [ + { name: 'expected', type: 'address' }, + { name: 'actual', type: 'address' }, + ], + }, + { + type: 'error', + name: 'SolveUnderfunded', + inputs: [ + { name: 'asset', type: 'address' }, + { name: 'delivered', type: 'uint256' }, + { name: 'required', type: 'uint256' }, + ], + }, + { + type: 'error', + name: 'StaleAccountantRate', + inputs: [ + { name: 'updatedAt', type: 'uint256' }, + { name: 'currentTime', type: 'uint256' }, + { name: 'maxAge', type: 'uint256' }, + ], + }, + { + type: 'error', + name: 'SweepExceedsAvailableBalance', + inputs: [ + { name: 'token', type: 'address' }, + { name: 'available', type: 'uint256' }, + { name: 'requested', type: 'uint256' }, + ], + }, + { type: 'error', name: 'TransferFailed', inputs: [] }, + { + type: 'error', + name: 'UnexpectedAssetsReceived', + inputs: [ + { name: 'expectedAssets', type: 'uint256' }, + { name: 'actualAssets', type: 'uint256' }, + ], + }, + { + type: 'error', + name: 'UnexpectedVenueSharesBurned', + inputs: [ + { name: 'expectedShares', type: 'uint256' }, + { name: 'actualShares', type: 'uint256' }, + ], + }, + { + type: 'error', + name: 'UnexpectedVenueSharesQueued', + inputs: [ + { name: 'expectedShares', type: 'uint256' }, + { name: 'actualShares', type: 'uint256' }, + ], + }, + { + type: 'error', + name: 'UnsupportedAccountantFreshness', + inputs: [{ name: 'accountant', type: 'address' }], + }, + { + type: 'error', + name: 'VedaRateOutOfBounds', + inputs: [ + { name: 'rate', type: 'uint256' }, + { name: 'minRate', type: 'uint256' }, + { name: 'maxRate', type: 'uint256' }, + ], + }, + { type: 'error', name: 'ZeroAddress', inputs: [] }, +]; +exports.earnRouterCallbackData = [ + { + components: [ + { name: 'flow', type: 'uint8' }, + { name: 'minVaultAssets', type: 'uint128' }, + { name: 'minEarnShares', type: 'uint128' }, + { name: 'minOutputAmount', type: 'uint128' }, + { name: 'actionId', type: 'bytes32' }, + { + components: [ + { name: 'keyIndex', type: 'uint256' }, + { + components: [ + { name: 'ephemeralPubkeyX', type: 'bytes32' }, + { name: 'ephemeralPubkeyYParity', type: 'uint8' }, + { name: 'ciphertext', type: 'bytes' }, + { name: 'nonce', type: 'bytes12' }, + { name: 'tag', type: 'bytes16' }, + ], + name: 'encrypted', + type: 'tuple', + }, + { name: 'refundRecipient', type: 'address' }, + ], + name: 'zoneReturn', + type: 'tuple', + }, + ], + name: 'callbackData', + type: 'tuple', + }, +]; +exports.zoneOutbox = [ + { + name: 'tempoGasRate', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint128' }], + }, + { + name: 'maxWithdrawalsPerBlock', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint32' }], + }, + { + name: 'lastBatch', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [ + { + type: 'tuple', + components: [ + { type: 'bytes32', name: 'withdrawalQueueHash' }, + { type: 'uint64', name: 'withdrawalBatchIndex' }, + ], + }, + ], + }, + { + name: 'lastFinalizedTimestamp', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'nextWithdrawalIndex', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'lastFallbackNonce', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'pendingWithdrawalsCount', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint256' }], + }, + { + name: 'getPendingWithdrawals', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [ + { + type: 'tuple[]', + components: [ + { type: 'address', name: 'token' }, + { type: 'address', name: 'sender' }, + { type: 'bytes32', name: 'txHash' }, + { type: 'address', name: 'to' }, + { type: 'uint128', name: 'amount' }, + { type: 'bytes32', name: 'memo' }, + { type: 'uint64', name: 'gasLimit' }, + { type: 'uint64', name: 'fallbackNonce' }, + { type: 'bytes', name: 'callbackData' }, + { type: 'bytes', name: 'revealTo' }, + ], + }, + ], + }, + { + name: 'consumeFallbackRecipient', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'uint64', name: 'fallbackNonce' }], + outputs: [{ type: 'address', name: 'recipient' }], + }, + { + name: 'calculateWithdrawalFee', + type: 'function', + stateMutability: 'view', + inputs: [{ type: 'uint64', name: 'gasLimit' }], + outputs: [{ type: 'uint128', name: 'fee' }], + }, + { + name: 'MAX_CALLBACK_DATA_SIZE', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint256' }], + }, + { + name: 'MAX_WITHDRAWAL_GAS_LIMIT', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'WITHDRAWAL_BASE_GAS', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint64' }], + }, + { + name: 'REVEAL_TO_KEY_LENGTH', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint256' }], + }, + { + name: 'AUTHENTICATED_WITHDRAWAL_CIPHERTEXT_LENGTH', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [{ type: 'uint256' }], + }, + { + name: 'setTempoGasRate', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'uint128', name: '_tempoGasRate' }], + outputs: [], + }, + { + name: 'setMaxWithdrawalsPerBlock', + type: 'function', + stateMutability: 'nonpayable', + inputs: [{ type: 'uint32', name: '_maxWithdrawalsPerBlock' }], + outputs: [], + }, + { + name: 'requestWithdrawal', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'token' }, + { type: 'address', name: 'to' }, + { type: 'uint128', name: 'amount' }, + { type: 'bytes32', name: 'memo' }, + { type: 'uint64', name: 'gasLimit' }, + { type: 'address', name: 'zoneFallbackRecipient' }, + { type: 'bytes', name: 'data' }, + { type: 'bytes', name: 'revealTo' }, + ], + outputs: [], + }, + { + name: 'enqueueDepositBounceBack', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'address', name: 'token' }, + { type: 'uint128', name: 'amount' }, + { type: 'address', name: 'tempoRefundRecipient' }, + ], + outputs: [], + }, + { + name: 'finalizeWithdrawalBatch', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'uint256', name: 'count' }, + { type: 'uint64', name: 'blockNumber' }, + { type: 'bytes[]', name: 'encryptedSenders' }, + ], + outputs: [{ type: 'bytes32', name: 'withdrawalQueueHash' }], + }, + { + name: 'WithdrawalRequested', + type: 'event', + inputs: [ + { type: 'uint64', name: 'withdrawalIndex', indexed: true }, + { type: 'address', name: 'sender', indexed: true }, + { type: 'address', name: 'token' }, + { type: 'address', name: 'to' }, + { type: 'uint128', name: 'amount' }, + { type: 'uint128', name: 'fee' }, + { type: 'bytes32', name: 'memo' }, + { type: 'uint64', name: 'gasLimit' }, + { type: 'uint64', name: 'fallbackNonce' }, + { type: 'bytes', name: 'data' }, + { type: 'bytes', name: 'revealTo' }, + ], + }, + { + name: 'BatchFinalized', + type: 'event', + inputs: [ + { type: 'bytes32', name: 'withdrawalQueueHash', indexed: true }, + { type: 'uint64', name: 'withdrawalBatchIndex' }, + ], + }, + { + name: 'TempoGasRateUpdated', + type: 'event', + inputs: [{ type: 'uint128', name: 'tempoGasRate' }], + }, + { + name: 'MaxWithdrawalsPerBlockUpdated', + type: 'event', + inputs: [{ type: 'uint32', name: 'maxWithdrawalsPerBlock' }], + }, + { name: 'OnlySequencer', type: 'error', inputs: [] }, + { name: 'GasLimitTooHigh', type: 'error', inputs: [] }, + { name: 'OnlyZoneInbox', type: 'error', inputs: [] }, + { + name: 'InvalidWithdrawalCount', + type: 'error', + inputs: [ + { type: 'uint256', name: 'actual' }, + { type: 'uint256', name: 'expected' }, + ], + }, + { + name: 'InvalidEncryptedSenderCount', + type: 'error', + inputs: [ + { type: 'uint256', name: 'actual' }, + { type: 'uint256', name: 'expected' }, + ], + }, + { + name: 'InvalidEncryptedSenderLength', + type: 'error', + inputs: [ + { type: 'uint256', name: 'actual' }, + { type: 'uint256', name: 'expected' }, + ], + }, + { name: 'InvalidFallbackRecipient', type: 'error', inputs: [] }, + { name: 'CallbackDataTooLarge', type: 'error', inputs: [] }, + { name: 'GasFeeRateTooHigh', type: 'error', inputs: [] }, + { name: 'TransferFailed', type: 'error', inputs: [] }, + { name: 'InvalidBlockNumber', type: 'error', inputs: [] }, + { name: 'TooManyWithdrawalsThisBlock', type: 'error', inputs: [] }, + { name: 'InvalidRevealTo', type: 'error', inputs: [] }, + { name: 'InvalidCurrentTxHash', type: 'error', inputs: [] }, + { name: 'ZeroAmountWithdrawal', type: 'error', inputs: [] }, + { name: 'StaticCallNotAllowed', type: 'error', inputs: [] }, +]; +exports.zoneMessenger = [ + { + name: 'relayMessage', + type: 'function', + stateMutability: 'nonpayable', + inputs: [ + { type: 'uint32', name: 'zoneId' }, + { type: 'address', name: 'token' }, + { type: 'bytes32', name: 'senderTag' }, + { type: 'address', name: 'target' }, + { type: 'uint128', name: 'amount' }, + { type: 'uint64', name: 'gasLimit' }, + { type: 'bytes', name: 'data' }, + ], + outputs: [], + }, +]; +exports.zoneVerifier = [ + { + name: 'verify', + type: 'function', + stateMutability: 'view', + inputs: [ + { type: 'uint32', name: 'zoneId' }, + { type: 'uint64', name: 'tempoBlockNumber' }, + { type: 'uint64', name: 'anchorBlockNumber' }, + { type: 'bytes32', name: 'anchorBlockHash' }, + { type: 'uint64', name: 'expectedWithdrawalBatchIndex' }, + { + type: 'tuple', + name: 'blockTransition', + components: [ + { type: 'bytes32', name: 'prevBlockHash' }, + { type: 'bytes32', name: 'nextBlockHash' }, + ], + }, + { + type: 'tuple', + name: 'depositQueueTransition', + components: [ + { type: 'bytes32', name: 'prevProcessedHash' }, + { type: 'bytes32', name: 'nextProcessedHash' }, + { type: 'uint64', name: 'prevDepositNumber' }, + { type: 'uint64', name: 'nextDepositNumber' }, + ], + }, + { type: 'bytes32', name: 'withdrawalQueueHash' }, + { type: 'bytes', name: 'verifierConfig' }, + { type: 'bytes', name: 'proof' }, + ], + outputs: [{ type: 'bool' }], + }, +]; +exports.core = [ + ...exports.accountKeychain, + ...exports.addressRegistry, + ...exports.currentCommittee, + ...exports.feeAmm, + ...exports.feeManager, + ...exports.nativeMultisig, + ...exports.nonce, + ...exports.receivePolicyGuard, + ...exports.signatureVerifier, + ...exports.stablecoinDex, + ...exports.storageCredits, + ...exports.tip20, + ...exports.tip20ChannelReserve, + ...exports.tip20Factory, + ...exports.tip403Registry, + ...exports.validatorConfig, + ...exports.validatorConfigV2, + ...exports.zoneFactory, + ...exports.zonePortal, +]; +exports.earn = [ + ...exports.earnContributionController, + ...exports.earnEngine, + ...exports.earnEngineAsyncRedeem, + ...exports.earnEngineInKindDeposit, + ...exports.earnFactory, + ...exports.earnFees, + ...exports.earnMerkleRewardDistributor, + ...exports.earnRouter, + ...exports.earnVault, + ...exports.erc4626Engine, + ...exports.erc4626EngineFactory, + ...exports.vedaEngine, +]; +exports.zone = [...exports.zoneMessenger, ...exports.zoneOutbox, ...exports.zoneVerifier]; +exports.all = [...exports.core, ...exports.earn, ...exports.zone]; +//# sourceMappingURL=Abis.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Abis.js.map b/node_modules/viem/_cjs/tempo/Abis.js.map new file mode 100644 index 0000000000000000000000000000000000000000..535a5a99fcfa61f999a38a4fd9abb601695fe76e --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Abis.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Abis.js","sourceRoot":"","sources":["../../tempo/Abis.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Account.js b/node_modules/viem/_cjs/tempo/Account.js new file mode 100644 index 0000000000000000000000000000000000000000..6969fcd5108853e2565ef7148fde359dd840f26c --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Account.js @@ -0,0 +1,537 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.z_TxEnvelopeTempo = exports.z_SignatureEnvelope = exports.z_KeyAuthorization = void 0; +exports.from = from; +exports.fromHeadlessWebAuthn = fromHeadlessWebAuthn; +exports.fromP256 = fromP256; +exports.fromSecp256k1 = fromSecp256k1; +exports.fromMultisig = fromMultisig; +exports.fromWebAuthnP256 = fromWebAuthnP256; +exports.fromWebCryptoP256 = fromWebCryptoP256; +exports.signVoucher = signVoucher; +exports.getKeyAuthorizationSignPayload = getKeyAuthorizationSignPayload; +exports.signKeyAuthorization = signKeyAuthorization; +exports.resolveAccessKey = resolveAccessKey; +const Address = require("ox/Address"); +const Hex = require("ox/Hex"); +const P256 = require("ox/P256"); +const PublicKey = require("ox/PublicKey"); +const Secp256k1 = require("ox/Secp256k1"); +const Signature = require("ox/Signature"); +const tempo_1 = require("ox/tempo"); +const WebAuthnP256 = require("ox/WebAuthnP256"); +const WebCryptoP256 = require("ox/WebCryptoP256"); +const parseAccount_js_1 = require("../accounts/utils/parseAccount.js"); +const hashAuthorization_js_1 = require("../utils/authorization/hashAuthorization.js"); +const keccak256_js_1 = require("../utils/hash/keccak256.js"); +const hashMessage_js_1 = require("../utils/signature/hashMessage.js"); +const hashTypedData_js_1 = require("../utils/signature/hashTypedData.js"); +const Transaction = require("./Transaction.js"); +function from(parameters) { + const { access } = parameters; + if (access) + return fromAccessKey(parameters); + return fromRoot(parameters); +} +function fromHeadlessWebAuthn(privateKey, options) { + const { access, keyAuthorizationManager, rpId, origin, internal_version } = options; + const publicKey = P256.getPublicKey({ privateKey }); + return from({ + ...(access ? { access, keyAuthorizationManager } : {}), + internal_version, + keyType: 'webAuthn', + publicKey, + async sign({ hash }) { + const { metadata, payload } = WebAuthnP256.getSignPayload({ + ...options, + challenge: hash, + rpId, + origin, + }); + const signature = P256.sign({ + payload, + privateKey, + hash: true, + }); + return tempo_1.SignatureEnvelope.serialize({ + metadata, + signature, + publicKey, + type: 'webAuthn', + }); + }, + }); +} +function fromP256(privateKey, options = {}) { + const { access, keyAuthorizationManager, internal_version } = options; + const publicKey = P256.getPublicKey({ privateKey }); + return from({ + ...(access ? { access, keyAuthorizationManager } : {}), + internal_version, + keyType: 'p256', + publicKey, + async sign({ hash }) { + const signature = P256.sign({ payload: hash, privateKey }); + return tempo_1.SignatureEnvelope.serialize({ + signature, + publicKey, + type: 'p256', + }); + }, + }); +} +function fromSecp256k1(privateKey, options = {}) { + const { access, keyAuthorizationManager, internal_version } = options; + const publicKey = Secp256k1.getPublicKey({ privateKey }); + return from({ + ...(access ? { access, keyAuthorizationManager } : {}), + internal_version, + keyType: 'secp256k1', + publicKey, + async sign(parameters) { + const { hash } = parameters; + const signature = Secp256k1.sign({ payload: hash, privateKey }); + return Signature.toHex(signature); + }, + }); +} +function fromMultisig(value) { + const configInput = (() => { + if (typeof value === 'string') + return undefined; + const { address: _, ...config } = value; + return config; + })(); + const config = (() => { + if (!configInput) + return undefined; + const ownerEntries = configInput.owners.map((value) => typeof value === 'string' || 'address' in value + ? { owner: value, weight: 1 } + : value); + return tempo_1.MultisigConfig.from({ + ...configInput, + owners: ownerEntries.map(({ owner, weight }) => ({ + owner: typeof owner === 'string' ? owner : owner.address, + weight, + })), + threshold: configInput.threshold ?? 1, + }); + })(); + if (typeof value !== 'string') { + if ((value.address === undefined || value.address === 'infer') && + config.version !== 0n) + throw new Error('An initial multisig config must have version zero.'); + if (value.address !== undefined && + value.address !== 'infer' && + config.version === 0n) + throw new Error('A current multisig config must have a version.'); + } + const address = Address.checksum((() => { + if (typeof value === 'string') + return value; + if (value.address === undefined || value.address === 'infer') + return tempo_1.MultisigConfig.getAddress(config); + return value.address; + })()); + const ownerAccounts = (() => { + if (!configInput) + return []; + return configInput.owners.flatMap((value) => { + const owner = typeof value === 'string' || 'address' in value ? value : value.owner; + return typeof owner === 'string' ? [] : [(0, parseAccount_js_1.parseAccount)(owner)]; + }); + })(); + const owners = config?.owners.flatMap(({ owner }) => { + const account = ownerAccounts.find((account) => Address.isEqual(account.address, owner)); + return account ? [account] : []; + }) ?? []; + const account = { + address, + config, + owners, + publicKey: '0x', + source: 'multisig', + type: 'local', + async sign({ hash }) { + return tempo_1.SignatureEnvelope.serialize(await signMultisig(account, { payload: hash })); + }, + async signMessage() { + throw new Error('`signMessage` is not supported for multisig accounts.'); + }, + async signTransaction(transaction, options) { + const { serializer = Transaction.serialize } = options ?? {}; + const request = transaction; + if (request.owner) { + const owner = (0, parseAccount_js_1.parseAccount)(request.owner); + if (owner.type !== 'local') + throw new Error('A local owner account is required to approve a multisig transaction.'); + if (owner.source !== 'root' && owner.source !== 'multisig') + throw new Error('A Tempo owner account is required to approve a multisig transaction.'); + const { owner: _, ...ownerRequest } = request; + return await owner.signTransaction(ownerRequest, options); + } + if (owners.length === 0) + return (await serializer(transaction)); + const presign = { + ...request, + signatures: undefined, + ...(request.feePayerSignature === undefined + ? {} + : { feePayerSignature: null }), + }; + const payload = (0, keccak256_js_1.keccak256)(await serializer(presign)); + const simulation = request.multisigSimulation; + const requestAccount = simulation?.account ?? address; + if (!Address.isEqual(requestAccount, address)) { + if (!simulation) + throw new Error('A multisig config is required for local signing.'); + const parentConfig = tempo_1.MultisigConfig.from(simulation.config); + const parentDigest = tempo_1.MultisigConfig.getSignPayload({ + account: requestAccount, + config: parentConfig, + payload, + }); + return tempo_1.SignatureEnvelope.serialize(await signMultisig(account, { + payload: parentDigest, + })); + } + const signature = await signMultisig(account, { + config: simulation?.config, + payload, + signatures: request.signatures?.map((signature) => tempo_1.SignatureEnvelope.from(signature)), + }); + return (await serializer(transaction, signature)); + }, + async signTypedData() { + throw new Error('`signTypedData` is not supported for multisig accounts.'); + }, + }; + return account; +} +function isMultisigAccount(account) { + return account.source === 'multisig'; +} +async function signMultisig(account, parameters) { + const { config, payload, signatures: providedSignatures = [] } = parameters; + const currentConfig = config ?? account.config; + if (!currentConfig) + throw new Error('A current multisig config is required for local signing.'); + const digest = tempo_1.MultisigConfig.getSignPayload({ + account: account.address, + config: currentConfig, + payload, + }); + const signatures = [...providedSignatures]; + const signedOwners = new Set(); + let weight = 0; + for (const signature of providedSignatures) { + const address = tempo_1.SignatureEnvelope.extractAddress({ + payload: digest, + signature, + }).toLowerCase(); + const owner = currentConfig.owners.find((owner) => Address.isEqual(owner.owner, address)); + if (!owner || signedOwners.has(address)) + continue; + signedOwners.add(address); + weight += Number(owner.weight); + } + const owners = [...currentConfig.owners].sort((a, b) => Number(b.weight) - Number(a.weight) || + a.owner.toLowerCase().localeCompare(b.owner.toLowerCase())); + for (const owner of owners) { + const address = owner.owner.toLowerCase(); + if (signedOwners.has(address)) + continue; + const ownerAccount = account.owners.find((account) => Address.isEqual(account.address, owner.owner)); + if (!ownerAccount) + continue; + if (isMultisigAccount(ownerAccount)) { + signatures.push(await signMultisig(ownerAccount, { + payload: digest, + })); + } + else { + if (!ownerAccount.sign) + throw new Error('Multisig owner account cannot sign.'); + signatures.push(tempo_1.SignatureEnvelope.from(await ownerAccount.sign({ hash: digest }))); + } + signedOwners.add(address); + weight += Number(owner.weight); + if (weight >= Number(currentConfig.threshold)) + break; + } + if (weight < Number(currentConfig.threshold)) + throw new Error('Local multisig owners do not meet the threshold.'); + return tempo_1.SignatureEnvelope.from({ + account: account.address, + config: currentConfig, + signatures: tempo_1.SignatureEnvelope.sortMultisigApprovals({ + account: account.address, + config: currentConfig, + payload, + signatures, + }), + }); +} +function fromWebAuthnP256(credential, options = {}) { + const { id } = credential; + const publicKey = PublicKey.fromHex(credential.publicKey); + return from({ + keyType: 'webAuthn', + publicKey, + async sign({ hash }) { + const { metadata, signature } = await WebAuthnP256.sign({ + ...options, + challenge: hash, + credentialId: id, + }); + return tempo_1.SignatureEnvelope.serialize({ + publicKey, + metadata, + signature, + type: 'webAuthn', + }); + }, + }); +} +function fromWebCryptoP256(keyPair, options = {}) { + const { access, keyAuthorizationManager, internal_version } = options; + const { publicKey, privateKey } = keyPair; + return from({ + ...(access ? { access, keyAuthorizationManager } : {}), + internal_version, + keyType: 'p256', + publicKey, + async sign({ hash }) { + const signature = await WebCryptoP256.sign({ payload: hash, privateKey }); + return tempo_1.SignatureEnvelope.serialize({ + signature, + prehash: true, + publicKey, + type: 'p256', + }); + }, + }); +} +async function signVoucher(account, parameters) { + const hash = getVoucherSignPayload(parameters); + if (isAccessKeyAccount(account)) + return account.sign({ hash, raw: true }); + return account.sign({ hash }); +} +function getVoucherSignPayload(parameters) { + const { chainId, channel, cumulativeAmount } = parameters; + const channelId = typeof channel === 'string' + ? channel + : tempo_1.Channel.computeId(channel, { + chainId, + }); + return tempo_1.Channel.getVoucherSignPayload({ + chainId, + channelId, + cumulativeAmount, + }); +} +function isAccessKeyAccount(account) { + return account.source === 'accessKey' && 'accessKeyAddress' in account; +} +function getKeyAuthorizationSignPayload(account, parameters) { + const { admin, chainId, expiry, key, limits, scopes, witness } = parameters; + const { accessKeyAddress, keyType: type } = resolveAccessKey(key); + const boundFields = isAccessKeyAccount(account) || isMultisigAccount(account) + ? { account: account.address } + : {}; + const restrictions = admin ? {} : { expiry, limits, scopes }; + return tempo_1.KeyAuthorization.getSignPayload({ + address: accessKeyAddress, + chainId, + type, + witness, + ...(admin ? { isAdmin: true } : {}), + ...boundFields, + ...restrictions, + }); +} +async function signKeyAuthorization(account, parameters) { + const { admin, chainId, expiry, key, limits, multisig: multisigState, scopes, signatures, witness, } = parameters; + const { accessKeyAddress, keyType: type } = resolveAccessKey(key); + const isAccessKey = isAccessKeyAccount(account); + const isMultisig = isMultisigAccount(account); + const boundFields = isAccessKey || isMultisig ? { account: account.address } : {}; + const restrictions = admin ? {} : { expiry, limits, scopes }; + const hash = getKeyAuthorizationSignPayload(account, parameters); + const signature = await (async () => { + if (isAccessKey) + return account.sign({ hash, raw: true }); + if (isMultisig) { + if (!multisigState) + throw new Error('Multisig state is required to sign a key authorization.'); + return tempo_1.SignatureEnvelope.serialize(await signMultisig(account, { + config: multisigState.config, + payload: hash, + signatures: signatures?.map((signature) => tempo_1.SignatureEnvelope.from(signature)), + })); + } + return account.sign({ hash }); + })(); + return tempo_1.KeyAuthorization.from({ + address: accessKeyAddress, + chainId, + signature: tempo_1.SignatureEnvelope.from(signature), + type, + ...(witness ? { witness } : {}), + ...(admin ? { isAdmin: true } : {}), + ...boundFields, + ...restrictions, + }); +} +function fromBase(parameters) { + const { keyType = 'secp256k1', parentAddress, source = 'privateKey', internal_version = 'v2', } = parameters; + const address = parentAddress ?? Address.fromPublicKey(parameters.publicKey); + const publicKey = PublicKey.toHex(parameters.publicKey, { + includePrefix: false, + }); + async function sign({ hash, raw }) { + if (raw) + return await parameters.sign({ hash }); + const innerHash = parentAddress && internal_version === 'v2' + ? (0, keccak256_js_1.keccak256)(Hex.concat('0x04', hash, parentAddress)) + : hash; + const signature = await parameters.sign({ hash: innerHash }); + if (parentAddress) + return tempo_1.SignatureEnvelope.serialize(tempo_1.SignatureEnvelope.from({ + userAddress: parentAddress, + inner: tempo_1.SignatureEnvelope.from(signature), + type: 'keychain', + version: internal_version, + })); + return signature; + } + return { + address: Address.checksum(address), + keyType, + sign, + async signAuthorization(parameters) { + const { chainId, nonce } = parameters; + const address = parameters.contractAddress ?? parameters.address; + const signature = await sign({ + hash: (0, hashAuthorization_js_1.hashAuthorization)({ address, chainId, nonce }), + }); + const envelope = tempo_1.SignatureEnvelope.from(signature); + if (envelope.type !== 'secp256k1') + throw new Error('Unsupported signature type. Expected `secp256k1` but got `' + + envelope.type + + '`.'); + const { r, s, yParity } = envelope.signature; + return { + address, + chainId, + nonce, + r: Hex.fromNumber(r, { size: 32 }), + s: Hex.fromNumber(s, { size: 32 }), + yParity, + }; + }, + async signMessage(parameters) { + const { message } = parameters; + return await sign({ hash: (0, hashMessage_js_1.hashMessage)(message) }); + }, + async signTransaction(transaction, options) { + const { serializer = Transaction.serialize } = options ?? {}; + const presign = (() => { + if ('feePayerSignature' in transaction && transaction.feePayerSignature) + return { ...transaction, feePayerSignature: null }; + return transaction; + })(); + const payload = (0, keccak256_js_1.keccak256)(await serializer(presign)); + const { multisigSimulation } = transaction; + if (multisigSimulation) { + const config = tempo_1.MultisigConfig.from(multisigSimulation.config); + const digest = tempo_1.MultisigConfig.getSignPayload({ + account: multisigSimulation.account, + config, + payload, + }); + return await sign({ hash: digest, raw: true }); + } + const signature = await sign({ hash: payload }); + const envelope = tempo_1.SignatureEnvelope.from(signature); + return await serializer(transaction, envelope); + }, + async signTypedData(typedData) { + return await sign({ hash: (0, hashTypedData_js_1.hashTypedData)(typedData) }); + }, + async signVoucher(parameters) { + const hash = getVoucherSignPayload(parameters); + if (parentAddress) + return await sign({ hash, raw: true }); + return await sign({ hash }); + }, + publicKey, + source, + type: 'local', + }; +} +function fromRoot(parameters) { + const account = fromBase(parameters); + return { + ...account, + source: 'root', + async signKeyAuthorization(key, parameters) { + const { chainId, expiry, limits, scopes, witness, admin } = parameters; + const { accessKeyAddress, keyType: type } = resolveAccessKey(key); + const restrictions = admin ? {} : { expiry, limits, scopes }; + const signature = await account.sign({ + hash: tempo_1.KeyAuthorization.getSignPayload({ + address: accessKeyAddress, + chainId, + type, + witness, + ...(admin ? { isAdmin: true } : {}), + ...restrictions, + }), + }); + const keyAuthorization = tempo_1.KeyAuthorization.from({ + address: accessKeyAddress, + chainId, + signature: tempo_1.SignatureEnvelope.from(signature), + type, + ...(witness ? { witness } : {}), + ...(admin ? { isAdmin: true } : {}), + ...restrictions, + }); + return keyAuthorization; + }, + }; +} +function fromAccessKey(parameters) { + const { access, keyAuthorizationManager } = parameters; + const { address: parentAddress } = (0, parseAccount_js_1.parseAccount)(access); + const account = fromBase({ ...parameters, parentAddress }); + return { + ...account, + accessKeyAddress: Address.fromPublicKey(parameters.publicKey), + keyAuthorizationManager, + source: 'accessKey', + }; +} +function resolveAccessKey(accessKey) { + if ('accessKeyAddress' in accessKey) + return { + accessKeyAddress: accessKey.accessKeyAddress, + keyType: accessKey.keyType, + }; + if ('publicKey' in accessKey && accessKey.publicKey) + return { + accessKeyAddress: Address.fromPublicKey(PublicKey.fromHex(accessKey.publicKey)), + keyType: accessKey.type, + }; + return { + accessKeyAddress: accessKey.address, + keyType: accessKey.type, + }; +} +var tempo_2 = require("ox/tempo"); +Object.defineProperty(exports, "z_KeyAuthorization", { enumerable: true, get: function () { return tempo_2.KeyAuthorization; } }); +Object.defineProperty(exports, "z_SignatureEnvelope", { enumerable: true, get: function () { return tempo_2.SignatureEnvelope; } }); +Object.defineProperty(exports, "z_TxEnvelopeTempo", { enumerable: true, get: function () { return tempo_2.TxEnvelopeTempo; } }); +//# sourceMappingURL=Account.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Account.js.map b/node_modules/viem/_cjs/tempo/Account.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e30b853e03e352d3769988ed8d7009505d778533 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Account.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Account.js","sourceRoot":"","sources":["../../tempo/Account.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Addresses.js b/node_modules/viem/_cjs/tempo/Addresses.js new file mode 100644 index 0000000000000000000000000000000000000000..ec3f01c2f517229d12a63af0fab00a86b896fff7 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Addresses.js @@ -0,0 +1,52 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.zoneVerifier = exports.zonePortalImplementation = exports.zoneOutbox = exports.zoneMessenger = exports.zoneFactory = exports.validatorV2 = exports.validator = exports.tip403Registry = exports.tip20Factory = exports.tip20ChannelReserve = exports.storageCredits = exports.stablecoinDex = exports.signatureVerifier = exports.receivePolicyGuard = exports.pathUsd = exports.nonceManager = exports.nativeMultisig = exports.feeManager = exports.addressRegistry = exports.accountRegistrar = exports.accountKeychain = exports.accountImplementation = void 0; +exports.zonePortal = zonePortal; +const Hex = require("ox/Hex"); +const tempo_1 = require("ox/tempo"); +const legacyZoneChainIdBase = 4_217_000_000; +const legacyZoneChainIdLimit = 4_218_000_000; +const mainnetZoneChainIdBase = tempo_1.ZoneId.toChainId(0); +const testnetZoneChainIdBase = tempo_1.ZoneId.toChainId(0, 42_431); +const zoneChainIdLimit = 2 ** 31; +exports.accountImplementation = '0x7702c00000000000000000000000000000000000'; +exports.accountKeychain = '0xaAAAaaAA00000000000000000000000000000000'; +exports.accountRegistrar = '0x7702ac0000000000000000000000000000000000'; +exports.addressRegistry = '0xfdc0000000000000000000000000000000000000'; +exports.feeManager = '0xfeec000000000000000000000000000000000000'; +exports.nativeMultisig = '0xAACC000000000000000000000000000000000000'; +exports.nonceManager = '0x4e4F4E4345000000000000000000000000000000'; +exports.pathUsd = '0x20c0000000000000000000000000000000000000'; +exports.receivePolicyGuard = '0xB10C000000000000000000000000000000000000'; +exports.signatureVerifier = '0x5165300000000000000000000000000000000000'; +exports.stablecoinDex = '0xdec0000000000000000000000000000000000000'; +exports.storageCredits = '0x1060000000000000000000000000000000000000'; +exports.tip20ChannelReserve = '0x4d50500000000000000000000000000000000000'; +exports.tip20Factory = '0x20fc000000000000000000000000000000000000'; +exports.tip403Registry = '0x403c000000000000000000000000000000000000'; +exports.validator = '0xcccccccc00000000000000000000000000000000'; +exports.validatorV2 = '0xcccccccc00000000000000000000000000000001'; +exports.zoneFactory = '0x5aF2000000000000000000000000000000000000'; +exports.zoneMessenger = '0x5A4d000000000000000000000000000000000000'; +exports.zoneOutbox = '0x1c00000000000000000000000000000000000002'; +exports.zonePortalImplementation = '0x5AD1000000000000000000000000000000000000'; +exports.zoneVerifier = '0x5a56000000000000000000000000000000000000'; +function zonePortal(id) { + const zoneId = normalizeZoneId(id); + if (zoneId === 6) + return '0x7069DeC4E64Fd07334A0933eDe836C17259c9B23'; + if (zoneId === 7) + return '0x3F5296303400B56271b476F5A0B9cBF74350D6Ac'; + const suffix = Hex.fromNumber(zoneId, { size: 8 }).slice(2); + return `0x5ad000000000000000000000${suffix}`; +} +function normalizeZoneId(id) { + if (id >= legacyZoneChainIdBase && id < legacyZoneChainIdLimit) + return id - legacyZoneChainIdBase; + if (id >= testnetZoneChainIdBase && id < zoneChainIdLimit) + return tempo_1.ZoneId.fromChainId(id, 42_431); + if (id >= mainnetZoneChainIdBase && id < testnetZoneChainIdBase) + return tempo_1.ZoneId.fromChainId(id); + return id; +} +//# sourceMappingURL=Addresses.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Addresses.js.map b/node_modules/viem/_cjs/tempo/Addresses.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5d15b6a5ea5e1fd9ad3bfd21ee34b393b16a65cb --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Addresses.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Addresses.js","sourceRoot":"","sources":["../../tempo/Addresses.ts"],"names":[],"mappings":";;;AAwCA,gCAQC;AAhDD,8BAA6B;AAC7B,oCAAiC;AAEjC,MAAM,qBAAqB,GAAG,aAAa,CAAA;AAC3C,MAAM,sBAAsB,GAAG,aAAa,CAAA;AAC5C,MAAM,sBAAsB,GAAG,cAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAClD,MAAM,sBAAsB,GAAG,cAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;AAC1D,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,CAAA;AAEnB,QAAA,qBAAqB,GAChC,4CAA4C,CAAA;AACjC,QAAA,eAAe,GAAG,4CAA4C,CAAA;AAC9D,QAAA,gBAAgB,GAAG,4CAA4C,CAAA;AAC/D,QAAA,eAAe,GAAG,4CAA4C,CAAA;AAC9D,QAAA,UAAU,GAAG,4CAA4C,CAAA;AACzD,QAAA,cAAc,GAAG,4CAA4C,CAAA;AAC7D,QAAA,YAAY,GAAG,4CAA4C,CAAA;AAC3D,QAAA,OAAO,GAAG,4CAA4C,CAAA;AACtD,QAAA,kBAAkB,GAAG,4CAA4C,CAAA;AACjE,QAAA,iBAAiB,GAAG,4CAA4C,CAAA;AAChE,QAAA,aAAa,GAAG,4CAA4C,CAAA;AAC5D,QAAA,cAAc,GAAG,4CAA4C,CAAA;AAC7D,QAAA,mBAAmB,GAAG,4CAA4C,CAAA;AAClE,QAAA,YAAY,GAAG,4CAA4C,CAAA;AAC3D,QAAA,cAAc,GAAG,4CAA4C,CAAA;AAC7D,QAAA,SAAS,GAAG,4CAA4C,CAAA;AACxD,QAAA,WAAW,GAAG,4CAA4C,CAAA;AAC1D,QAAA,WAAW,GAAG,4CAA4C,CAAA;AAC1D,QAAA,aAAa,GAAG,4CAA4C,CAAA;AAC5D,QAAA,UAAU,GAAG,4CAA4C,CAAA;AACzD,QAAA,wBAAwB,GACnC,4CAA4C,CAAA;AACjC,QAAA,YAAY,GAAG,4CAA4C,CAAA;AAQxE,SAAgB,UAAU,CAAC,EAAU;IACnC,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC,CAAA;IAGlC,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,4CAA4C,CAAA;IACrE,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,4CAA4C,CAAA;IACrE,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC3D,OAAO,6BAA6B,MAAM,EAAE,CAAA;AAC9C,CAAC;AAED,SAAS,eAAe,CAAC,EAAU;IACjC,IAAI,EAAE,IAAI,qBAAqB,IAAI,EAAE,GAAG,sBAAsB;QAC5D,OAAO,EAAE,GAAG,qBAAqB,CAAA;IACnC,IAAI,EAAE,IAAI,sBAAsB,IAAI,EAAE,GAAG,gBAAgB;QACvD,OAAO,cAAM,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IACvC,IAAI,EAAE,IAAI,sBAAsB,IAAI,EAAE,GAAG,sBAAsB;QAC7D,OAAO,cAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IAC/B,OAAO,EAAE,CAAA;AACX,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Capabilities.js b/node_modules/viem/_cjs/tempo/Capabilities.js new file mode 100644 index 0000000000000000000000000000000000000000..9ece4222b8fcc975f7d66215cdc9cdd33639677f --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Capabilities.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=Capabilities.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Capabilities.js.map b/node_modules/viem/_cjs/tempo/Capabilities.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c9a859a7f4ffdc92564ef78eaf82ca6b87c8f5a6 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Capabilities.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Capabilities.js","sourceRoot":"","sources":["../../tempo/Capabilities.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Chain.js b/node_modules/viem/_cjs/tempo/Chain.js new file mode 100644 index 0000000000000000000000000000000000000000..467f77daad14d853a2823f1536f4c3240c6a0960 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Chain.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.testnet = exports.tempoTestnet = exports.moderato = exports.tempoModerato = exports.localnet = exports.tempoLocalnet = exports.devnet = exports.tempoDevnet = exports.tempoMainnet = exports.mainnet = exports.tempo = void 0; +var tempo_js_1 = require("../chains/definitions/tempo.js"); +Object.defineProperty(exports, "tempo", { enumerable: true, get: function () { return tempo_js_1.tempo; } }); +Object.defineProperty(exports, "mainnet", { enumerable: true, get: function () { return tempo_js_1.tempo; } }); +Object.defineProperty(exports, "tempoMainnet", { enumerable: true, get: function () { return tempo_js_1.tempo; } }); +var tempoDevnet_js_1 = require("../chains/definitions/tempoDevnet.js"); +Object.defineProperty(exports, "tempoDevnet", { enumerable: true, get: function () { return tempoDevnet_js_1.tempoDevnet; } }); +Object.defineProperty(exports, "devnet", { enumerable: true, get: function () { return tempoDevnet_js_1.tempoDevnet; } }); +var tempoLocalnet_js_1 = require("../chains/definitions/tempoLocalnet.js"); +Object.defineProperty(exports, "tempoLocalnet", { enumerable: true, get: function () { return tempoLocalnet_js_1.tempoLocalnet; } }); +Object.defineProperty(exports, "localnet", { enumerable: true, get: function () { return tempoLocalnet_js_1.tempoLocalnet; } }); +var tempoModerato_js_1 = require("../chains/definitions/tempoModerato.js"); +Object.defineProperty(exports, "tempoModerato", { enumerable: true, get: function () { return tempoModerato_js_1.tempoModerato; } }); +Object.defineProperty(exports, "moderato", { enumerable: true, get: function () { return tempoModerato_js_1.tempoModerato; } }); +Object.defineProperty(exports, "tempoTestnet", { enumerable: true, get: function () { return tempoModerato_js_1.tempoModerato; } }); +Object.defineProperty(exports, "testnet", { enumerable: true, get: function () { return tempoModerato_js_1.tempoModerato; } }); +//# sourceMappingURL=Chain.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Chain.js.map b/node_modules/viem/_cjs/tempo/Chain.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8607b97fa9da628f7d7c46c7f4ae2099e343ba4c --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Chain.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Chain.js","sourceRoot":"","sources":["../../tempo/Chain.ts"],"names":[],"mappings":";;;AACA,2DAIuC;AAHrC,iGAAA,KAAK,OAAA;AACL,mGAAA,KAAK,OAAW;AAChB,wGAAA,KAAK,OAAgB;AAEvB,uEAG6C;AAF3C,6GAAA,WAAW,OAAA;AACX,wGAAA,WAAW,OAAU;AAEvB,2EAG+C;AAF7C,iHAAA,aAAa,OAAA;AACb,4GAAA,aAAa,OAAY;AAE3B,2EAK+C;AAJ7C,iHAAA,aAAa,OAAA;AACb,4GAAA,aAAa,OAAY;AACzB,gHAAA,aAAa,OAAgB;AAC7B,2GAAA,aAAa,OAAW"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Client.js b/node_modules/viem/_cjs/tempo/Client.js new file mode 100644 index 0000000000000000000000000000000000000000..1e15581c2a1dcfbf850bcaaddb3ca669e575a551 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Client.js @@ -0,0 +1,37 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createClient = createClient; +const createClient_js_1 = require("../clients/createClient.js"); +const public_js_1 = require("../clients/decorators/public.js"); +const wallet_js_1 = require("../clients/decorators/wallet.js"); +const http_js_1 = require("../clients/transports/http.js"); +const sets_js_1 = require("../tokens/sets.js"); +const Chain_js_1 = require("./Chain.js"); +const Decorator_js_1 = require("./Decorator.js"); +const Store = require("./Store.js"); +const Transport_js_1 = require("./Transport.js"); +function createClient(parameters = {}) { + const { chain, experimental_multisig, feeToken, testnet, tokens, transport, ...rest } = parameters; + const baseChain = chain ?? (testnet ? Chain_js_1.tempoTestnet : Chain_js_1.tempo); + const resolvedChain = feeToken && typeof baseChain.extend === 'function' + ? baseChain.extend({ + feeToken, + }) + : baseChain; + const transport_ = transport ?? (0, http_js_1.http)(); + const resolvedTransport = experimental_multisig + ? (0, Transport_js_1.withMultisig)(transport_, experimental_multisig === true + ? { store: Store.memory() } + : experimental_multisig) + : transport_; + return (0, createClient_js_1.createClient)({ + ...rest, + chain: resolvedChain, + tokens: tokens ?? sets_js_1.tokens.tempo, + transport: resolvedTransport, + }) + .extend(public_js_1.publicActions) + .extend(wallet_js_1.walletActions) + .extend((0, Decorator_js_1.decorator)()); +} +//# sourceMappingURL=Client.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Client.js.map b/node_modules/viem/_cjs/tempo/Client.js.map new file mode 100644 index 0000000000000000000000000000000000000000..eda5b82d25f39c3a88c8d3f99ea7b895c29684cb --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Client.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../tempo/Client.ts"],"names":[],"mappings":";;AAyKA,oCAiDC;AAtND,gEAImC;AACnC,+DAGwC;AACxC,+DAGwC;AAExC,2DAAoD;AAEpD,+CAAuD;AAKvD,yCAAgD;AAChD,iDAA0E;AAC1E,oCAAmC;AACnC,iDAA6C;AA6I7C,SAAgB,YAAY,CAM1B,aAA0E,EAAE;IAS5E,MAAM,EACJ,KAAK,EACL,qBAAqB,EACrB,QAAQ,EACR,OAAO,EACP,MAAM,EACN,SAAS,EACT,GAAG,IAAI,EACR,GAAG,UAAU,CAAA;IACd,MAAM,SAAS,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAY,CAAC,CAAC,CAAC,gBAAK,CAAC,CAAA;IAC3D,MAAM,aAAa,GACjB,QAAQ,IAAI,OAAQ,SAAkC,CAAC,MAAM,KAAK,UAAU;QAC1E,CAAC,CAAE,SAA6D,CAAC,MAAM,CAAC;YACpE,QAAQ;SACT,CAAC;QACJ,CAAC,CAAC,SAAS,CAAA;IACf,MAAM,UAAU,GAAG,SAAS,IAAI,IAAA,cAAI,GAAE,CAAA;IACtC,MAAM,iBAAiB,GAAG,qBAAqB;QAC7C,CAAC,CAAC,IAAA,2BAAY,EACV,UAAU,EACV,qBAAqB,KAAK,IAAI;YAC5B,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE;YAC3B,CAAC,CAAC,qBAAqB,CAC1B;QACH,CAAC,CAAC,UAAU,CAAA;IACd,OAAO,IAAA,8BAAa,EAAC;QACnB,GAAG,IAAI;QACP,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,MAAM,IAAI,gBAAS,CAAC,KAAK;QACjC,SAAS,EAAE,iBAAiB;KACZ,CAAC;SAChB,MAAM,CAAC,yBAAa,CAAC;SACrB,MAAM,CAAC,yBAAa,CAAC;SACrB,MAAM,CAAC,IAAA,wBAAY,GAAE,CAAU,CAAA;AACpC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Decorator.js b/node_modules/viem/_cjs/tempo/Decorator.js new file mode 100644 index 0000000000000000000000000000000000000000..a4f7ca901b2eae474bef2b48315abc748c7c50db --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Decorator.js @@ -0,0 +1,301 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.decorator = decorator; +const createClient_js_1 = require("../clients/createClient.js"); +const accessKeyActions = require("./actions/accessKey.js"); +const ammActions = require("./actions/amm.js"); +const channelActions = require("./actions/channel.js"); +const dexActions = require("./actions/dex.js"); +const earnActions = require("./actions/earn.js"); +const faucetActions = require("./actions/faucet.js"); +const feeActions = require("./actions/fee.js"); +const multisigActions = require("./actions/multisig.js"); +const nonceActions = require("./actions/nonce.js"); +const policyActions = require("./actions/policy.js"); +const receivePolicyActions = require("./actions/receivePolicy.js"); +const rewardActions = require("./actions/reward.js"); +const simulateActions = require("./actions/simulate.js"); +const tokenActions = require("./actions/token.js"); +const validatorActions = require("./actions/validator.js"); +const virtualAddressActions = require("./actions/virtualAddress.js"); +const zoneActions = require("./actions/zone.js"); +function bindActions(client, actions, keys) { + const bound = {}; + for (const key of keys) + bound[key] = (0, createClient_js_1.bindActionDecorators)(client, actions[key]); + return bound; +} +function decorator() { + return (client) => { + return { + accessKey: bindActions(client, accessKeyActions, [ + 'authorize', + 'authorizeSync', + 'burnWitness', + 'burnWitnessSync', + 'getMetadata', + 'getRemainingLimit', + 'isAdmin', + 'isWitnessBurned', + 'prepareAuthorization', + 'revoke', + 'revokeSync', + 'signAuthorization', + 'updateLimit', + 'updateLimitSync', + 'verifyHash', + 'watchAdminAuthorized', + 'watchWitness', + 'watchWitnessBurned', + ]), + amm: bindActions(client, ammActions, [ + 'getPool', + 'getLiquidityBalance', + 'burn', + 'burnSync', + 'mint', + 'mintSync', + 'rebalanceSwap', + 'rebalanceSwapSync', + 'watchBurn', + 'watchMint', + 'watchRebalanceSwap', + ]), + channel: bindActions(client, channelActions, [ + 'close', + 'closeSync', + 'getStates', + 'open', + 'openSync', + 'requestClose', + 'requestCloseSync', + 'settle', + 'settleSync', + 'signVoucher', + 'topUp', + 'topUpSync', + 'withdraw', + 'withdrawSync', + ]), + dex: bindActions(client, dexActions, [ + 'buy', + 'buySync', + 'cancel', + 'cancelSync', + 'cancelStale', + 'cancelStaleSync', + 'createPair', + 'createPairSync', + 'getBalance', + 'getBuyQuote', + 'getOrder', + 'getOrderbook', + 'getTickLevel', + 'getSellQuote', + 'place', + 'placeSync', + 'placeFlip', + 'placeFlipSync', + 'sell', + 'sellSync', + 'withdraw', + 'withdrawSync', + 'watchFlipOrderPlaced', + 'watchOrderCancelled', + 'watchOrderFilled', + 'watchOrderPlaced', + ]), + earn: bindActions(client, earnActions, [ + 'bindEngine', + 'bindEngineSync', + 'configureExitSafePolicy', + 'createErc4626Engine', + 'createErc4626EngineSync', + 'createStack', + 'createStackSync', + 'deposit', + 'depositSync', + 'depositShares', + 'depositSharesSync', + 'deployErc4626StackSync', + 'privateDeposit', + 'privateDepositSync', + 'getFeeState', + 'getPosition', + 'getRedeemQuote', + 'getVault', + 'getWithdrawQuote', + 'redeem', + 'redeemSync', + 'privateRedeem', + 'privateRedeemSync', + 'waitForPrivateDeposit', + 'waitForPrivateRedeem', + 'validateExitSafePolicy', + 'withdrawExact', + 'withdrawExactSync', + ]), + faucet: bindActions(client, faucetActions, ['fund', 'fundSync']), + multisig: bindActions(client, multisigActions, [ + 'getConfig', + 'getConfigCommitment', + 'getOperation', + 'updateConfig', + 'updateConfigSync', + ]), + nonce: bindActions(client, nonceActions, [ + 'getNonce', + 'watchNonceIncremented', + ]), + fee: bindActions(client, feeActions, [ + 'validateToken', + 'getUserToken', + 'setUserToken', + 'setUserTokenSync', + 'getValidatorToken', + 'setValidatorToken', + 'setValidatorTokenSync', + 'watchSetUserToken', + 'watchSetValidatorToken', + ]), + policy: bindActions(client, policyActions, [ + 'create', + 'createSync', + 'setAdmin', + 'setAdminSync', + 'modifyWhitelist', + 'modifyWhitelistSync', + 'modifyBlacklist', + 'modifyBlacklistSync', + 'getData', + 'isAuthorized', + 'watchCreate', + 'watchAdminUpdated', + 'watchWhitelistUpdated', + 'watchBlacklistUpdated', + ]), + receivePolicy: bindActions(client, receivePolicyActions, [ + 'burn', + 'burnSync', + 'claim', + 'claimSync', + 'get', + 'getBlockedBalance', + 'set', + 'setSync', + 'validate', + 'watchBlocked', + 'watchBurned', + 'watchClaimed', + 'watchUpdated', + ]), + reward: bindActions(client, rewardActions, [ + 'claim', + 'claimSync', + 'distribute', + 'distributeSync', + 'getGlobalRewardPerToken', + 'getPendingRewards', + 'getUserRewardInfo', + 'setRecipient', + 'setRecipientSync', + 'watchRewardDistributed', + 'watchRewardRecipientSet', + ]), + simulate: bindActions(client, simulateActions, [ + 'simulateBlocks', + 'simulateCalls', + ]), + token: bindActions(client, tokenActions, [ + 'approve', + 'approveSync', + 'burnBlocked', + 'burnBlockedSync', + 'burn', + 'burnSync', + 'changeTransferPolicy', + 'changeTransferPolicySync', + 'create', + 'createSync', + 'getAllowance', + 'getBalance', + 'getMetadata', + 'getTotalSupply', + 'getRoleAdmin', + 'hasRole', + 'grantRoles', + 'grantRolesSync', + 'mint', + 'mintSync', + 'pause', + 'pauseSync', + 'renounceRoles', + 'renounceRolesSync', + 'revokeRoles', + 'revokeRolesSync', + 'setSupplyCap', + 'setSupplyCapSync', + 'setRoleAdmin', + 'setRoleAdminSync', + 'transfer', + 'transferSync', + 'unpause', + 'unpauseSync', + 'prepareUpdateQuoteToken', + 'prepareUpdateQuoteTokenSync', + 'updateQuoteToken', + 'updateQuoteTokenSync', + 'watchApprove', + 'watchBurn', + 'watchCreate', + 'watchMint', + 'watchAdminRole', + 'watchRole', + 'watchTransfer', + 'watchUpdateQuoteToken', + ]), + validator: bindActions(client, validatorActions, [ + 'add', + 'addSync', + 'changeOwner', + 'changeOwnerSync', + 'changeStatus', + 'changeStatusSync', + 'get', + 'getByIndex', + 'getCount', + 'getNextFullDkgCeremony', + 'getOwner', + 'list', + 'setNextFullDkgCeremony', + 'setNextFullDkgCeremonySync', + 'update', + 'updateSync', + ]), + virtualAddress: bindActions(client, virtualAddressActions, [ + 'getMasterAddress', + 'registerMaster', + 'registerMasterSync', + 'resolve', + ]), + zone: bindActions(client, zoneActions, [ + 'deposit', + 'depositSync', + 'encryptedDeposit', + 'encryptedDepositSync', + 'getAuthorizationTokenInfo', + 'getEncryptionKey', + 'getPortalInfo', + 'getWithdrawalFee', + 'getZoneInfo', + 'requestWithdrawal', + 'requestWithdrawalSync', + 'requestVerifiableWithdrawal', + 'requestVerifiableWithdrawalSync', + 'signAuthorizationToken', + 'waitForTempoBlock', + ]), + }; + }; +} +//# sourceMappingURL=Decorator.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Decorator.js.map b/node_modules/viem/_cjs/tempo/Decorator.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9604397fcb46e098c934c70ab88ef90a5037f2aa --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Decorator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Decorator.js","sourceRoot":"","sources":["../../tempo/Decorator.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Expiry.js b/node_modules/viem/_cjs/tempo/Expiry.js new file mode 100644 index 0000000000000000000000000000000000000000..9e2b6646cf8ae31f5afc12a07a29932a178cb7d6 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Expiry.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.days = days; +exports.hours = hours; +exports.minutes = minutes; +exports.months = months; +exports.seconds = seconds; +exports.weeks = weeks; +exports.years = years; +function days(n) { + return Math.floor(Date.now() / 1000) + n * 24 * 60 * 60; +} +function hours(n) { + return Math.floor(Date.now() / 1000) + n * 60 * 60; +} +function minutes(n) { + return Math.floor(Date.now() / 1000) + n * 60; +} +function months(n) { + return Math.floor(Date.now() / 1000) + n * 30 * 24 * 60 * 60; +} +function seconds(n) { + return Math.floor(Date.now() / 1000) + n; +} +function weeks(n) { + return Math.floor(Date.now() / 1000) + n * 7 * 24 * 60 * 60; +} +function years(n) { + return Math.floor(Date.now() / 1000) + n * 365 * 24 * 60 * 60; +} +//# sourceMappingURL=Expiry.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Expiry.js.map b/node_modules/viem/_cjs/tempo/Expiry.js.map new file mode 100644 index 0000000000000000000000000000000000000000..069a2a254a6e51d148b242c1b0b7a2f7f23c66a6 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Expiry.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Expiry.js","sourceRoot":"","sources":["../../tempo/Expiry.ts"],"names":[],"mappings":";;AACA,oBAEC;AAGD,sBAEC;AAGD,0BAEC;AAGD,wBAEC;AAGD,0BAEC;AAGD,sBAEC;AAGD,sBAEC;AAhCD,SAAgB,IAAI,CAAC,CAAS;IAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;AACzD,CAAC;AAGD,SAAgB,KAAK,CAAC,CAAS;IAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA;AACpD,CAAC;AAGD,SAAgB,OAAO,CAAC,CAAS;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;AAC/C,CAAC;AAGD,SAAgB,MAAM,CAAC,CAAS;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;AAC9D,CAAC;AAGD,SAAgB,OAAO,CAAC,CAAS;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1C,CAAC;AAGD,SAAgB,KAAK,CAAC,CAAS;IAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;AAC7D,CAAC;AAGD,SAAgB,KAAK,CAAC,CAAS;IAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;AAC/D,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Formatters.js b/node_modules/viem/_cjs/tempo/Formatters.js new file mode 100644 index 0000000000000000000000000000000000000000..0cf3e0b50b7c4aa1060a6e108ae294fec8672336 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Formatters.js @@ -0,0 +1,138 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.formatTransaction = formatTransaction; +exports.formatTransactionReceipt = formatTransactionReceipt; +exports.formatTransactionRequest = formatTransactionRequest; +const Hex = require("ox/Hex"); +const tempo_1 = require("ox/tempo"); +const parseAccount_js_1 = require("../accounts/utils/parseAccount.js"); +const transaction_js_1 = require("../utils/formatters/transaction.js"); +const transactionReceipt_js_1 = require("../utils/formatters/transactionReceipt.js"); +const transactionRequest_js_1 = require("../utils/formatters/transactionRequest.js"); +const Transaction_js_1 = require("./Transaction.js"); +function formatTransaction(transaction) { + if (!(0, Transaction_js_1.isTempo)(transaction)) + return (0, transaction_js_1.formatTransaction)(transaction); + const blockTimestamp = transaction.blockTimestamp == null + ? undefined + : BigInt(transaction.blockTimestamp); + const multisig = transaction.multisig; + const { feePayerSignature, gasPrice: _, nonce, ...tx } = tempo_1.Transaction.fromRpc(transaction); + return { + ...tx, + accessList: tx.accessList, + ...(typeof blockTimestamp !== 'undefined' && { blockTimestamp }), + feePayerSignature: feePayerSignature + ? { + r: Hex.fromNumber(feePayerSignature.r, { size: 32 }), + s: Hex.fromNumber(feePayerSignature.s, { size: 32 }), + v: BigInt(feePayerSignature.v ?? 27), + yParity: feePayerSignature.yParity, + } + : undefined, + multisig: formatMultisig(multisig), + nonce: Number(nonce), + typeHex: tempo_1.Transaction.toRpcType[tx.type], + type: tx.type, + }; +} +function formatTransactionReceipt(receipt) { + const transactionReceipt = (0, transactionReceipt_js_1.formatTransactionReceipt)(receipt); + return { + ...transactionReceipt, + multisig: formatMultisig(receipt.multisig), + ...(receipt.status === 'pending' + ? { status: 'pending', type: 'tempo' } + : {}), + }; +} +function formatMultisig(value) { + if (!value) + return undefined; + const operation = tempo_1.MultisigOperation.fromRpc(value); + if (operation.type !== 'transaction') + throw new Error('Expected a multisig transaction operation.'); + return operation; +} +function formatTransactionRequest(r, action) { + const request = r; + const account = request.account + ? (0, parseAccount_js_1.parseAccount)(request.account) + : undefined; + const owner = request.owner + ? (0, parseAccount_js_1.parseAccount)(request.owner) + : undefined; + if (owner?.type === 'json-rpc') + throw new Error('A local owner account is required to approve a multisig transaction.'); + if (!(0, Transaction_js_1.isTempo)(request)) + return (0, transactionRequest_js_1.formatTransactionRequest)(r, action); + if (action) + request.calls = request.calls ?? [ + { + to: r.to || + (!r.data || r.data === '0x' + ? '0x0000000000000000000000000000000000000000' + : undefined), + value: r.value, + data: r.data, + }, + ]; + if (request.feePayer === true && !request.feePayerSignature) + delete request.feeToken; + const { owner: _owner, signatures: _signatures, ...rpcRequest } = request; + const rpc = tempo_1.TransactionRequest.toRpc({ + ...rpcRequest, + type: 'tempo', + }); + if (action === 'estimateGas') { + rpc.maxFeePerGas = undefined; + rpc.maxPriorityFeePerGas = undefined; + } + rpc.to = undefined; + rpc.data = undefined; + rpc.value = undefined; + const signer = owner ?? account; + const [keyType, keyData] = (() => { + const type = signer && 'keyType' in signer ? signer.keyType : signer?.source; + if (!type) + return [request.keyType, shimKeyData(request.keyData)]; + if (type === 'webAuthn') + return ['webAuthn', '0x0578']; + if (['p256', 'secp256k1'].includes(type)) + return [type, undefined]; + return [request.keyType, shimKeyData(request.keyData)]; + })(); + const keyId = signer && 'accessKeyAddress' in signer + ? signer.accessKeyAddress + : request.keyId; + if (account) + rpc.from = account.address; + return { + ...rpc, + ...(request.capabilities ? { capabilities: request.capabilities } : {}), + ...(keyData ? { keyData } : {}), + ...(keyId ? { keyId } : {}), + ...(keyType ? { keyType } : {}), + ...(request.owner ? { owner: undefined } : {}), + ...(typeof request.feePayer !== 'undefined' + ? { + feePayer: typeof request.feePayer === 'object' + ? (0, parseAccount_js_1.parseAccount)(request.feePayer) + : request.feePayer, + } + : {}), + ...('feePayerSignature' in request && + request.feePayerSignature !== undefined + ? { feePayerSignature: request.feePayerSignature } + : {}), + }; +} +function shimKeyData(data) { + if (!data) + return data; + const byteLength = (data.length - 2) / 2; + if (byteLength <= 4) + return data; + return Hex.fromNumber(byteLength, { size: 2 }); +} +//# sourceMappingURL=Formatters.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Formatters.js.map b/node_modules/viem/_cjs/tempo/Formatters.js.map new file mode 100644 index 0000000000000000000000000000000000000000..fa69fc965576253d15517385d7d602d7df0df364 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Formatters.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Formatters.js","sourceRoot":"","sources":["../../tempo/Formatters.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Hardfork.js b/node_modules/viem/_cjs/tempo/Hardfork.js new file mode 100644 index 0000000000000000000000000000000000000000..6aa9108d2bfde795018769105dc26dcf5e850c53 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Hardfork.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.hardforks = void 0; +exports.lt = lt; +exports.hardforks = [ + 'genesis', + 't0', + 't1', + 't1a', + 't1b', + 't1c', + 't2', + 't3', + 't4', + 't5', + 't6', +]; +function lt(current, target) { + return exports.hardforks.indexOf(current) < exports.hardforks.indexOf(target); +} +//# sourceMappingURL=Hardfork.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Hardfork.js.map b/node_modules/viem/_cjs/tempo/Hardfork.js.map new file mode 100644 index 0000000000000000000000000000000000000000..622a5e198cb4b72397ced654d8b496f740414739 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Hardfork.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Hardfork.js","sourceRoot":"","sources":["../../tempo/Hardfork.ts"],"names":[],"mappings":";;;AAiBA,gBAEC;AAnBY,QAAA,SAAS,GAAG;IACvB,SAAS;IACT,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACI,CAAA;AAKV,SAAgB,EAAE,CAAC,OAAe,EAAE,MAAgB;IAClD,OAAO,iBAAS,CAAC,OAAO,CAAC,OAAmB,CAAC,GAAG,iBAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAC3E,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/KeyAuthorizationManager.js b/node_modules/viem/_cjs/tempo/KeyAuthorizationManager.js new file mode 100644 index 0000000000000000000000000000000000000000..5e9d9f3e66d67850f9cf0473e223633db9b10af9 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/KeyAuthorizationManager.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.from = from; +exports.memory = memory; +function from(options) { + return options.source; +} +function memory() { + const keyAuthorizations = new Map(); + return from({ + source: { + get(key) { + return keyAuthorizations.get(serializeKey(key)); + }, + remove(key) { + keyAuthorizations.delete(serializeKey(key)); + }, + set(key, keyAuthorization) { + keyAuthorizations.set(serializeKey(key), keyAuthorization); + }, + }, + }); +} +function serializeKey(key) { + return [ + key.chainId, + key.address.toLowerCase(), + key.accessKey.toLowerCase(), + ].join(':'); +} +//# sourceMappingURL=KeyAuthorizationManager.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/KeyAuthorizationManager.js.map b/node_modules/viem/_cjs/tempo/KeyAuthorizationManager.js.map new file mode 100644 index 0000000000000000000000000000000000000000..404f5b561f9f68f91207792b3d38efcd4390842c --- /dev/null +++ b/node_modules/viem/_cjs/tempo/KeyAuthorizationManager.js.map @@ -0,0 +1 @@ +{"version":3,"file":"KeyAuthorizationManager.js","sourceRoot":"","sources":["../../tempo/KeyAuthorizationManager.ts"],"names":[],"mappings":";;AAgBA,oBAEC;AAQD,wBAgBC;AA1BD,SAAgB,IAAI,CAAC,OAAqB;IACxC,OAAO,OAAO,CAAC,MAAM,CAAA;AACvB,CAAC;AAQD,SAAgB,MAAM;IACpB,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAmC,CAAA;IAEpE,OAAO,IAAI,CAAC;QACV,MAAM,EAAE;YACN,GAAG,CAAC,GAAG;gBACL,OAAO,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;YACjD,CAAC;YACD,MAAM,CAAC,GAAG;gBACR,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;YAC7C,CAAC;YACD,GAAG,CAAC,GAAG,EAAE,gBAAgB;gBACvB,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAA;YAC5D,CAAC;SACF;KACF,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,GAAQ;IAC5B,OAAO;QACL,GAAG,CAAC,OAAO;QACX,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE;QACzB,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE;KAC5B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACb,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Multisig.js b/node_modules/viem/_cjs/tempo/Multisig.js new file mode 100644 index 0000000000000000000000000000000000000000..eae94bb62b3b0ab478e191a2c1c7e7b2228740cd --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Multisig.js @@ -0,0 +1,1093 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.handleRequest = handleRequest; +const Address_ = require("ox/Address"); +const Hash = require("ox/Hash"); +const Hex = require("ox/Hex"); +const RpcResponse = require("ox/RpcResponse"); +const tempo_1 = require("ox/tempo"); +const getBlockNumber_js_1 = require("../actions/public/getBlockNumber.js"); +const createClient_js_1 = require("../clients/createClient.js"); +const custom_js_1 = require("../clients/transports/custom.js"); +const decodeFunctionData_js_1 = require("../utils/abi/decodeFunctionData.js"); +const isAddressEqual_js_1 = require("../utils/address/isAddressEqual.js"); +const Abis = require("./Abis.js"); +const Addresses = require("./Addresses.js"); +const multisig_js_1 = require("./actions/multisig.js"); +const ConfigStore = require("./multisig/Config.js"); +const OperationStore = require("./multisig/Operation.js"); +const Transaction = require("./Transaction.js"); +const submissionTtl = 30_000; +const pollingInterval = 100; +function handleRequest(next, parameters) { + if (!parameters.store.compareAndSet) + throw new RpcResponse.InvalidParamsError({ + message: 'Multisig coordination requires a store with atomic `compareAndSet`.', + }); + return async (request, requestOptions_) => { + const requestOptions = await resolveRequestOptions({ + request, + requestOptions: requestOptions_, + store: parameters.store, + }); + const client = (0, createClient_js_1.createClient)({ + transport: (0, custom_js_1.custom)({ + request: ({ method, params }, options) => next({ method, params }, { ...requestOptions, ...options }), + }), + }); + if (request.method === 'multisig_getConfig') { + const value = request.params?.[0]; + const address = value && typeof value === 'object' && 'address' in value + ? value.address + : undefined; + if (typeof address !== 'string' || + !Address_.validate(address) || + Hex.toBigInt(address) === 0n) + throw new RpcResponse.InvalidParamsError({ + message: 'Expected a multisig account address.', + }); + const blockNumber = await (0, getBlockNumber_js_1.getBlockNumber)(client, { cacheTime: 0 }); + const commitment = await (0, multisig_js_1.getConfigCommitment)(client, { + account: address, + blockNumber, + }); + const config = await ConfigStore.read(parameters.store, { + address, + commitment, + }); + if (!config) + return null; + return tempo_1.MultisigConfig.toRpc(config); + } + if (request.method === 'multisig_getOperation') { + const hash = request.params?.[0]; + if (typeof hash !== 'string' || !Hash.validate(hash)) + throw new RpcResponse.InvalidParamsError({ + message: 'Expected a multisig operation hash.', + }); + const operation = await OperationStore.read(parameters.store, hash); + return operation ? tempo_1.MultisigOperation.toRpc(operation) : null; + } + if (request.method === 'multisig_approveKeyAuthorization') + return await approveKeyAuthorization({ + client, + request, + store: parameters.store, + }); + if (request.method === 'eth_getTransactionByHash' || + request.method === 'eth_getTransactionReceipt') { + const hash = request.params?.[0]; + if (typeof hash !== 'string' || !Hash.validate(hash)) + return await next(request, requestOptions); + const operation = await OperationStore.read(parameters.store, hash); + if (!operation || operation.type !== 'transaction') + return await next(request, requestOptions); + if (request.method === 'eth_getTransactionReceipt') { + if (operation.status === 'pending') + return null; + const transactionHash = await getSubmittedTransactionHash(parameters.store, operation); + if (!transactionHash) + return null; + const receipt = await next({ + ...request, + params: [transactionHash], + }, requestOptions); + if (!receipt || typeof receipt !== 'object') + return receipt; + const success = operation.status === 'submitting' + ? await completeSubmission(parameters.store, operation, transactionHash) + : operation; + return { + ...receipt, + multisig: tempo_1.MultisigOperation.toRpc(success), + }; + } + if (operation.status === 'pending') + return await toTransaction(client, operation, parameters.store); + const transactionHash = await getSubmittedTransactionHash(parameters.store, operation); + if (!transactionHash) + return await toTransaction(client, operation, parameters.store); + const transaction = await next({ + ...request, + params: [transactionHash], + }, requestOptions); + if (!transaction || typeof transaction !== 'object') + return await toTransaction(client, operation, parameters.store); + const success = operation.status === 'submitting' + ? await completeSubmission(parameters.store, operation, transactionHash) + : operation; + return { + ...transaction, + multisig: tempo_1.MultisigOperation.toRpc(success), + }; + } + if (request.method !== 'eth_sendRawTransaction' && + request.method !== 'eth_sendRawTransactionSync' && + request.method !== 'multisig_approveRawTransaction' && + request.method !== 'multisig_approveRawTransactionSync') + return await next(request, requestOptions); + const standard = request.method === 'eth_sendRawTransaction' || + request.method === 'eth_sendRawTransactionSync'; + const serialized = request.params?.[0]; + if (!isSerializedTempoTransaction(serialized)) { + if (standard) + return await next(request, requestOptions); + throw new RpcResponse.InvalidParamsError({ + message: 'Expected a serialized Tempo multisig transaction.', + }); + } + return await submit({ + client, + method: request.method, + next, + request, + requestOptions, + serialized, + store: parameters.store, + }); + }; +} +async function submit(options) { + const transaction = (() => { + try { + return deserialize(options.serialized); + } + catch (error) { + if (options.method !== 'eth_sendRawTransaction' && + options.method !== 'eth_sendRawTransactionSync') + throw error; + return undefined; + } + })(); + const signature = transaction?.signature; + if (!transaction || signature?.type !== 'multisig') { + if (options.method === 'eth_sendRawTransaction' || + options.method === 'eth_sendRawTransactionSync') + return await options.next(options.request, options.requestOptions); + throw new RpcResponse.InvalidParamsError({ + message: 'Expected a multisig transaction signature.', + }); + } + const { signature: _, ...unsigned } = transaction; + const envelope = tempo_1.TxEnvelopeTempo.from(unsigned); + const serializedUnsigned = serializeUnsigned(envelope, options.serialized.startsWith(tempo_1.TxEnvelopeTempo.feePayerMagic)); + const blockNumber = await (0, getBlockNumber_js_1.getBlockNumber)(options.client, { cacheTime: 0 }); + const config = tempo_1.MultisigConfig.from(signature.config); + const configCommitment = await validateConfig({ + account: signature.account, + blockNumber, + client: options.client, + config, + }); + const operationHash = tempo_1.MultisigOperation.getHash({ + account: signature.account, + config, + transaction: serializedUnsigned, + type: 'transaction', + }); + const incoming = signature.signatures.map((signature) => tempo_1.SignatureEnvelope.serialize(signature)); + if (incoming.length === 0) + throw new RpcResponse.InvalidParamsError({ + message: 'A multisig approval envelope must include a signature.', + }); + const now = Date.now(); + const expiredSubmissionIds = new Set(); + const operation = await OperationStore.update(options.store, operationHash, async (existing) => { + if (existing && existing.type !== 'transaction') + throw new OperationStore.InvalidStoreValueError(); + if (existing?.status === 'success') + return existing; + if (existing?.status === 'submitting' && existing.expiresAt > now) + return existing; + if (existing?.status === 'submitting') + expiredSubmissionIds.add(existing.submissionId); + const existingApprovals = existing + ? await selectApprovals({ + account: signature.account, + client: options.client, + config, + discardInvalidNested: true, + hash: operationHash, + approvals: existing.approvals, + blockNumber, + store: options.store, + }) + : undefined; + const approvals = await selectApprovals({ + account: signature.account, + client: options.client, + config, + hash: operationHash, + approvals: [...(existingApprovals?.approvals ?? []), ...incoming], + blockNumber, + store: options.store, + }); + return tempo_1.MultisigOperation.from({ + account: signature.account, + approvals: approvals.approvals, + config, + createdAt: existing?.createdAt ?? now, + hash: operationHash, + signatureCount: approvals.signatureCount, + status: 'pending', + threshold: approvals.threshold, + transaction: mergeTransaction(existing?.transaction, serializedUnsigned), + type: 'transaction', + updatedAt: now, + weight: approvals.weight, + }); + }); + for (const submissionId of expiredSubmissionIds) { + if (operation.status === 'submitting' && + operation.submissionId?.toLowerCase() === submissionId.toLowerCase()) + continue; + await removeSettledSubmission(options.store, operationHash, submissionId); + } + await ConfigStore.write(options.store, { + address: signature.account, + commitment: configCommitment, + config, + }); + await cacheNextConfigs({ + account: signature.account, + config, + store: options.store, + transaction, + }); + if (operation.type !== 'transaction') + throw new OperationStore.InvalidStoreValueError(); + if (operation.status === 'success') + return await submittedResult(options, operation); + if (operation.status === 'submitting' && operation.expiresAt > Date.now()) + return await submittingResult(options, operation); + if (operation.weight < operation.threshold) + return pendingResult(options.method, operation); + const submissionId = Hex.random(32); + const timeout = options.request.params?.[1]; + const synchronous = options.method === 'eth_sendRawTransactionSync' || + options.method === 'multisig_approveRawTransactionSync'; + const leaseTtl = synchronous && + typeof timeout === 'number' && + Number.isSafeInteger(timeout) && + timeout >= 0 + ? timeout + submissionTtl + : submissionTtl; + const claim = await OperationStore.update(options.store, operationHash, (current) => { + if (!current || current.type !== 'transaction') + throw new OperationStore.InvalidStoreValueError(); + if (current.status === 'success') + return current; + if (current.status === 'submitting' && current.expiresAt > Date.now()) + return current; + if (current.weight < current.threshold) + return current; + const now = Date.now(); + return tempo_1.MultisigOperation.from({ + ...current, + expiresAt: Math.min(now + leaseTtl, Number.MAX_SAFE_INTEGER), + status: 'submitting', + submissionId, + updatedAt: now, + }); + }); + if (claim.type !== 'transaction') + throw new OperationStore.InvalidStoreValueError(); + if (claim.status === 'success') + return await submittedResult(options, claim); + if (claim.status === 'pending') + return pendingResult(options.method, claim); + if (claim.submissionId !== submissionId) + return await submittingResult(options, claim); + const { final, transactionHash: initialTransactionHash } = await (async () => { + try { + const blockNumber = await (0, getBlockNumber_js_1.getBlockNumber)(options.client, { + cacheTime: 0, + }); + await validateConfig({ + account: claim.account, + blockNumber, + client: options.client, + config: claim.config, + }); + const finalApprovals = await selectApprovals({ + account: claim.account, + blockNumber, + client: options.client, + config: claim.config, + hash: claim.hash, + approvals: claim.approvals, + store: options.store, + }); + const final = tempo_1.MultisigOperation.serializeTransaction(claim, { + approvals: finalApprovals.selectedApprovals, + }); + const transactionHash = tempo_1.TxEnvelopeTempo.hash(tempo_1.TxEnvelopeTempo.deserialize(final)); + await OperationStore.writeSubmission(options.store, operationHash, submissionId, final); + return { final, transactionHash }; + } + catch (error) { + await releaseSubmission(options.store, operationHash, submissionId); + throw error; + } + })(); + let transactionHash = initialTransactionHash; + let result; + const stopLease = maintainSubmissionLease(options.store, operationHash, submissionId, leaseTtl); + let leaseStopped = false; + const stopLeaseOnce = async () => { + if (leaseStopped) + return; + leaseStopped = true; + await stopLease(); + }; + try { + try { + result = await options.next({ + method: options.method === 'eth_sendRawTransaction' || + options.method === 'multisig_approveRawTransaction' + ? 'eth_sendRawTransaction' + : 'eth_sendRawTransactionSync', + params: [final, ...(options.request.params?.slice(1) ?? [])], + }, options.requestOptions); + const returnedHash = getTransactionHash(result); + if (returnedHash.toLowerCase() !== transactionHash.toLowerCase()) + transactionHash = returnedHash; + } + catch (error) { + const submittedHash = await OperationStore.readSubmission(options.store, claim, submissionId); + const transaction = await (async () => { + if (!submittedHash) + return null; + try { + return await options.next({ + method: 'eth_getTransactionByHash', + params: [submittedHash], + }); + } + catch { + return null; + } + })(); + await stopLeaseOnce(); + if (!submittedHash || !transaction) { + await releaseSubmission(options.store, operationHash, submissionId); + throw error; + } + transactionHash = submittedHash; + } + } + finally { + await stopLeaseOnce(); + } + const success = await OperationStore.update(options.store, operationHash, (current) => { + if (!current || current.type !== 'transaction') + throw new OperationStore.InvalidStoreValueError(); + if (current.status === 'success') { + if (current.transactionHash?.toLowerCase() !== + transactionHash.toLowerCase()) + throw new OperationStore.InvalidStoreValueError(); + return current; + } + if (current.status !== 'submitting' || + current.submissionId !== submissionId) + throw new OperationStore.InvalidStoreValueError(); + const { expiresAt: _, submissionId: __, ...operation } = current; + return tempo_1.MultisigOperation.from({ + ...operation, + status: 'success', + transactionHash, + updatedAt: Date.now(), + }); + }); + if (success.type !== 'transaction' || success.status !== 'success') + throw new OperationStore.InvalidStoreValueError(); + await removeSettledSubmission(options.store, operationHash, submissionId); + if (options.method === 'eth_sendRawTransactionSync' && + result && + typeof result === 'object') + return { ...result, multisig: tempo_1.MultisigOperation.toRpc(success) }; + return await submittedResult(options, success); +} +async function approveKeyAuthorization(options) { + const value = options.request.params?.[0]; + if (!value || typeof value !== 'object') + throw new RpcResponse.InvalidParamsError({ + message: 'Expected a multisig key authorization approval.', + }); + const approval = await (async () => { + if ('keyAuthorization' in value) { + const authorization = (() => { + try { + return tempo_1.KeyAuthorization.fromRpc(value.keyAuthorization); + } + catch { + throw new RpcResponse.InvalidParamsError({ + message: 'Invalid multisig key authorization.', + }); + } + })(); + const signature = authorization.signature; + if (signature?.type !== 'multisig') + throw new RpcResponse.InvalidParamsError({ + message: 'Expected a multisig key authorization signature.', + }); + if (!authorization.account || + !(0, isAddressEqual_js_1.isAddressEqual)(authorization.account, signature.account)) + throw new RpcResponse.InvalidParamsError({ + message: 'Multisig key authorization account does not match its signature.', + }); + const { signature: _, ...unsigned } = authorization; + const keyAuthorization = tempo_1.KeyAuthorization.serialize(tempo_1.KeyAuthorization.from(unsigned)); + const config = tempo_1.MultisigConfig.from(signature.config); + const hash = tempo_1.MultisigOperation.getHash({ + account: signature.account, + config, + keyAuthorization, + type: 'keyAuthorization', + }); + return { + account: signature.account, + approvals: signature.signatures.map((signature) => tempo_1.SignatureEnvelope.serialize(signature)), + config, + hash, + keyAuthorization, + }; + } + if ('hash' in value && 'signature' in value) { + if (typeof value.hash !== 'string' || !Hash.validate(value.hash)) + throw new RpcResponse.InvalidParamsError({ + message: 'Expected a multisig operation hash.', + }); + const operation = await OperationStore.read(options.store, value.hash); + if (!operation || operation.type !== 'keyAuthorization') + throw new RpcResponse.InvalidParamsError({ + message: 'Multisig key authorization operation was not found.', + }); + if (operation.status === 'success') + return { operation }; + const signature = (() => { + try { + return tempo_1.SignatureEnvelope.serialize(tempo_1.SignatureEnvelope.from(value.signature)); + } + catch { + throw new RpcResponse.InvalidParamsError({ + message: 'Invalid multisig owner signature.', + }); + } + })(); + return { + account: operation.account, + approvals: [signature], + config: operation.config, + hash: operation.hash, + keyAuthorization: operation.keyAuthorization, + }; + } + throw new RpcResponse.InvalidParamsError({ + message: 'Expected a multisig key authorization approval.', + }); + })(); + if ('operation' in approval) + return tempo_1.MultisigOperation.toRpc(approval.operation); + if (approval.approvals.length === 0) + throw new RpcResponse.InvalidParamsError({ + message: 'A multisig approval envelope must include a signature.', + }); + const blockNumber = await (0, getBlockNumber_js_1.getBlockNumber)(options.client, { cacheTime: 0 }); + const commitment = await validateConfig({ + account: approval.account, + blockNumber, + client: options.client, + config: approval.config, + }); + const now = Date.now(); + const operation = await OperationStore.update(options.store, approval.hash, async (existing) => { + if (existing && existing.type !== 'keyAuthorization') + throw new OperationStore.InvalidStoreValueError(); + if (existing?.status === 'success') + return existing; + if (existing && + (existing.account.toLowerCase() !== approval.account.toLowerCase() || + tempo_1.MultisigConfig.getCommitment(existing.config).toLowerCase() !== + tempo_1.MultisigConfig.getCommitment(approval.config).toLowerCase() || + existing.keyAuthorization.toLowerCase() !== + approval.keyAuthorization.toLowerCase())) + throw new OperationStore.InvalidStoreValueError(); + const existingApprovals = existing + ? await selectApprovals({ + account: approval.account, + approvals: existing.approvals, + blockNumber, + client: options.client, + config: approval.config, + discardInvalidNested: true, + hash: approval.hash, + store: options.store, + }) + : undefined; + const approvals = await selectApprovals({ + account: approval.account, + approvals: [ + ...(existingApprovals?.approvals ?? []), + ...approval.approvals, + ], + blockNumber, + client: options.client, + config: approval.config, + hash: approval.hash, + store: options.store, + }); + if (existing && + approvals.approvals.length === existing.approvals.length && + approvals.approvals.every((approval, index) => approval === existing.approvals[index])) + return existing; + const pending = { + account: approval.account, + approvals: approvals.approvals, + config: approval.config, + createdAt: existing?.createdAt ?? now, + hash: approval.hash, + keyAuthorization: approval.keyAuthorization, + signatureCount: approvals.signatureCount, + threshold: approvals.threshold, + type: 'keyAuthorization', + updatedAt: now, + weight: approvals.weight, + }; + if (approvals.weight < approvals.threshold) + return tempo_1.MultisigOperation.from({ ...pending, status: 'pending' }); + return tempo_1.MultisigOperation.from({ + ...pending, + keyAuthorization: tempo_1.MultisigOperation.serializeKeyAuthorization(approval.keyAuthorization, { + account: approval.account, + approvals: approvals.selectedApprovals, + config: approval.config, + }), + status: 'success', + }); + }); + await ConfigStore.write(options.store, { + address: approval.account, + commitment, + config: approval.config, + }); + if (operation.type !== 'keyAuthorization') + throw new OperationStore.InvalidStoreValueError(); + return tempo_1.MultisigOperation.toRpc(operation); +} +function deserialize(serialized) { + try { + return Transaction.deserialize(serialized); + } + catch { + throw new RpcResponse.InvalidParamsError({ + message: 'Invalid serialized Tempo transaction.', + }); + } +} +function assertConfig(options) { + const { account, commitment, config } = options; + if (config.version === 0n && + tempo_1.MultisigConfig.getAddress(config).toLowerCase() !== account.toLowerCase()) + throw new RpcResponse.InvalidParamsError({ + message: 'Initial multisig config does not match the multisig account.', + }); + const expected = (() => { + if (config.version === 0n) + return Hex.fromNumber(0, { size: 32 }); + return tempo_1.MultisigConfig.getCommitment(config); + })(); + if (commitment.toLowerCase() !== expected.toLowerCase()) + throw new RpcResponse.InvalidParamsError({ + message: `Multisig config does not match account ${account}.`, + }); +} +async function validateConfig(options) { + const { account, blockNumber, client, config } = options; + const commitment = await (0, multisig_js_1.getConfigCommitment)(client, { + account, + blockNumber, + }); + assertConfig({ account, commitment, config }); + return commitment; +} +async function cacheNextConfigs(options) { + let currentConfig = options.config; + for (const call of options.transaction.calls) { + if (!call.to || + !(0, isAddressEqual_js_1.isAddressEqual)(call.to, Addresses.nativeMultisig) || + !call.data) + continue; + const decoded = (() => { + try { + return (0, decodeFunctionData_js_1.decodeFunctionData)({ abi: Abis.nativeMultisig, data: call.data }); + } + catch { + return undefined; + } + })(); + if (decoded?.functionName !== 'updateConfig') + continue; + const [current, threshold, owners] = decoded.args; + const suppliedConfig = (() => { + try { + return tempo_1.MultisigConfig.from(current); + } + catch { + return undefined; + } + })(); + if (!suppliedConfig || + tempo_1.MultisigConfig.getCommitment(suppliedConfig).toLowerCase() !== + tempo_1.MultisigConfig.getCommitment(currentConfig).toLowerCase()) + continue; + const config = (() => { + try { + return tempo_1.MultisigConfig.from({ + owners, + salt: suppliedConfig.salt, + threshold, + version: suppliedConfig.version + 1n, + }); + } + catch { + return undefined; + } + })(); + if (!config) + continue; + await ConfigStore.write(options.store, { + address: options.account, + commitment: tempo_1.MultisigConfig.getCommitment(config), + config, + }); + currentConfig = config; + } +} +async function selectApprovals(options) { + const validation = new Map(); + let validationCount = 0; + const select = async (approvals) => { + const result = await tempo_1.MultisigOperation.selectApprovals({ + account: options.account, + approvals, + config: options.config, + hash: options.hash, + }); + const configs = new Map(); + const visit = (signature) => { + if (signature.type !== 'multisig') + return; + const config = tempo_1.MultisigConfig.from(signature.config); + const key = signature.account.toLowerCase(); + configs.set(key, { account: signature.account, config }); + for (const approval of signature.signatures) + visit(approval); + }; + for (const approval of result.approvals) + visit(tempo_1.SignatureEnvelope.from(approval)); + for (const { account, config } of configs.values()) { + const key = `${account.toLowerCase()}:${tempo_1.MultisigConfig.getCommitment(config)}`; + const pending = (() => { + const existing = validation.get(key); + if (existing) + return existing; + validationCount++; + if (validationCount > tempo_1.MultisigConfig.maxOwners) + throw new RpcResponse.InvalidParamsError({ + message: 'Multisig approval validation exceeds the owner limit.', + }); + const pending = validateConfig({ + account, + blockNumber: options.blockNumber, + client: options.client, + config, + }); + validation.set(key, pending); + return pending; + })(); + const commitment = await pending; + await ConfigStore.write(options.store, { + address: account, + commitment, + config, + }); + } + return result; + }; + try { + if (!options.discardInvalidNested) + return await select(options.approvals); + const approvals = []; + for (const approval of options.approvals) { + if (tempo_1.SignatureEnvelope.from(approval).type !== 'multisig') { + approvals.push(approval); + continue; + } + try { + const retained = (await select([approval])).approvals[0]; + if (retained) + approvals.push(retained); + } + catch (error) { + if (error instanceof tempo_1.MultisigOperation.InvalidApprovalError || + error instanceof RpcResponse.InvalidParamsError) + continue; + throw error; + } + } + return await select(approvals); + } + catch (error) { + if (error instanceof tempo_1.MultisigOperation.InvalidApprovalError) + throw new RpcResponse.InvalidParamsError({ message: error.shortMessage }); + throw error; + } +} +async function submittedResult(options, operation) { + if (options.method === 'eth_sendRawTransaction' || + options.method === 'multisig_approveRawTransaction') + return operation.hash; + if (options.method === 'multisig_approveRawTransactionSync') + return tempo_1.MultisigOperation.toRpc(operation); + const timeout = options.request.params?.[1]; + const deadline = Date.now() + + (typeof timeout === 'number' && timeout >= 0 ? timeout : submissionTtl); + while (true) { + const receipt = await options.next({ + method: 'eth_getTransactionReceipt', + params: [operation.transactionHash], + }, options.requestOptions); + if (receipt && typeof receipt === 'object') + return { ...receipt, multisig: tempo_1.MultisigOperation.toRpc(operation) }; + if (Date.now() >= deadline) + throw new Error('Timed out while waiting for the multisig transaction.'); + await new Promise((resolve) => setTimeout(resolve, pollingInterval)); + } +} +async function submittingResult(options, operation) { + if (options.method === 'eth_sendRawTransaction' || + options.method === 'multisig_approveRawTransaction') + return operation.hash; + const timeout = options.request.params?.[1]; + const deadline = Date.now() + + (typeof timeout === 'number' && timeout >= 0 ? timeout : submissionTtl); + while (true) { + const current = await OperationStore.read(options.store, operation.hash); + if (!current || current.type !== 'transaction') + throw new OperationStore.InvalidStoreValueError(); + if (current.status === 'success') + return await submittedResult(options, current); + if (current.status === 'pending' || current.expiresAt <= Date.now()) + return await submit(options); + if (Date.now() >= deadline) + return pendingResult(options.method, current); + await new Promise((resolve) => setTimeout(resolve, pollingInterval)); + } +} +function pendingResult(method, operation) { + if (method === 'eth_sendRawTransaction' || + method === 'multisig_approveRawTransaction') + return operation.hash; + if (method === 'multisig_approveRawTransactionSync') + return tempo_1.MultisigOperation.toRpc(operation); + return { + blockHash: null, + blockNumber: null, + contractAddress: null, + cumulativeGasUsed: null, + effectiveGasPrice: null, + from: operation.account, + gasUsed: null, + logs: [], + logsBloom: null, + multisig: tempo_1.MultisigOperation.toRpc(operation), + status: 'pending', + to: null, + transactionHash: operation.hash, + transactionIndex: null, + type: '0x76', + }; +} +async function completeSubmission(store, operation, transactionHash) { + if (operation.status !== 'submitting' || !operation.submissionId) + throw new OperationStore.InvalidStoreValueError(); + const success = await OperationStore.update(store, operation.hash, (current) => { + if (!current || current.type !== 'transaction') + throw new OperationStore.InvalidStoreValueError(); + if (current.status === 'success') { + if (current.transactionHash?.toLowerCase() !== + transactionHash.toLowerCase()) + throw new OperationStore.InvalidStoreValueError(); + return current; + } + if (current.status !== 'submitting' || + current.submissionId !== operation.submissionId) + throw new OperationStore.InvalidStoreValueError(); + const { expiresAt: _, submissionId: __, transactionHash: ___, ...value } = current; + return tempo_1.MultisigOperation.from({ + ...value, + status: 'success', + transactionHash, + updatedAt: Date.now(), + }); + }); + await removeSettledSubmission(store, operation.hash, operation.submissionId); + return success; +} +async function releaseSubmission(store, hash, submissionId) { + await OperationStore.update(store, hash, (current) => { + if (!current || current.type !== 'transaction') + throw new OperationStore.InvalidStoreValueError(); + if (current.status !== 'submitting' || + current.submissionId !== submissionId) + return current; + const { expiresAt: _, submissionId: __, ...operation } = current; + return tempo_1.MultisigOperation.from({ + ...operation, + status: 'pending', + updatedAt: Date.now(), + }); + }); + await OperationStore.removeSubmission(store, hash, submissionId); +} +async function removeSettledSubmission(store, hash, submissionId) { + try { + await OperationStore.removeSubmission(store, hash, submissionId); + } + catch { } +} +function mergeTransaction(existing, incoming) { + if (!existing) + return incoming; + const existingTransaction = tempo_1.TxEnvelopeTempo.deserialize(existing); + const incomingTransaction = tempo_1.TxEnvelopeTempo.deserialize(incoming); + if (!('feePayerSignature' in incomingTransaction)) + return existing; + if (incomingTransaction.feePayerSignature !== null) + return incoming; + if (!('feePayerSignature' in existingTransaction)) + return incoming; + return existing; +} +async function toTransaction(client, operation, store) { + const approvals = await (async () => { + if (operation.status !== 'pending') + return await tempo_1.MultisigOperation.selectApprovals({ + account: operation.account, + approvals: operation.approvals, + config: operation.config, + hash: operation.hash, + }); + const blockNumber = await (0, getBlockNumber_js_1.getBlockNumber)(client, { cacheTime: 0 }); + await validateConfig({ + account: operation.account, + blockNumber, + client, + config: operation.config, + }); + return await selectApprovals({ + account: operation.account, + approvals: operation.approvals, + blockNumber, + client, + config: operation.config, + discardInvalidNested: true, + hash: operation.hash, + store, + }); + })(); + const current = operation.status === 'pending' + ? tempo_1.MultisigOperation.from({ + ...operation, + approvals: approvals.approvals, + signatureCount: approvals.signatureCount, + threshold: approvals.threshold, + weight: approvals.weight, + }) + : operation; + const serialized = tempo_1.MultisigOperation.serializeTransaction(approvals.approvals.length > 0 ? current : operation, { + approvals: approvals.selectedApprovals.length > 0 + ? approvals.selectedApprovals + : operation.approvals.slice(0, 1), + }); + const transaction = deserialize(serialized); + return { + ...tempo_1.Transaction.toRpc({ + ...transaction, + blockHash: null, + blockNumber: null, + from: operation.account, + hash: operation.hash, + transactionIndex: null, + }, { pending: true }), + multisig: tempo_1.MultisigOperation.toRpc(current), + }; +} +async function getSubmittedTransactionHash(store, operation) { + if (operation.status === 'success') + return operation.transactionHash; + if (operation.status !== 'submitting' || !operation.submissionId) + throw new OperationStore.InvalidStoreValueError(); + return await OperationStore.readSubmission(store, operation, operation.submissionId); +} +function maintainSubmissionLease(store, hash, submissionId, leaseTtl) { + let active = true; + let error; + let renewal = Promise.resolve(); + const timer = setInterval(() => { + renewal = renewal.then(async () => { + if (!active || error) + return; + try { + const operation = await OperationStore.update(store, hash, (current) => { + if (!current || current.type !== 'transaction') + throw new OperationStore.InvalidStoreValueError(); + if (current.status !== 'submitting' || + current.submissionId !== submissionId) + return current; + return tempo_1.MultisigOperation.from({ + ...current, + expiresAt: Math.min(Date.now() + leaseTtl, Number.MAX_SAFE_INTEGER), + updatedAt: Date.now(), + }); + }); + if (operation.type !== 'transaction' || + operation.status !== 'submitting' || + operation.submissionId !== submissionId) + throw new OperationStore.InvalidStoreValueError(); + } + catch (cause) { + error = cause; + } + }); + }, submissionTtl / 2); + return async () => { + active = false; + clearInterval(timer); + await renewal; + if (error) + throw error; + }; +} +function serializeUnsigned(envelope, feePayer) { + return tempo_1.TxEnvelopeTempo.serialize(envelope, feePayer + ? envelope.from + ? { format: 'feePayer', sender: envelope.from } + : { format: 'feePayer' } + : {}); +} +function getTransactionHash(result) { + if (typeof result === 'string' && Hash.validate(result)) + return result; + if (result && + typeof result === 'object' && + 'transactionHash' in result && + typeof result.transactionHash === 'string' && + Hash.validate(result.transactionHash)) + return result.transactionHash; + throw new Error('Expected transaction hash in multisig broadcast result.'); +} +async function resolveRequestOptions(options) { + const { request, requestOptions, store } = options; + const chainId_explicit = requestOptions?.chainId; + if (chainId_explicit !== undefined && + (!Number.isSafeInteger(chainId_explicit) || chainId_explicit <= 0)) + throw new RpcResponse.InvalidParamsError({ + message: 'Expected a valid chain ID.', + }); + const chainId_request = await resolveRequestChainId(request, store); + if (chainId_explicit !== undefined && + chainId_request !== undefined && + chainId_explicit !== chainId_request) + throw new RpcResponse.InvalidParamsError({ + message: 'Conflicting chain ids.', + }); + const chainId = chainId_explicit ?? chainId_request; + if (chainId === undefined) + return requestOptions; + return { ...requestOptions, chainId }; +} +async function resolveRequestChainId(request, store) { + const value = request.params?.[0]; + const chainId_body = value && typeof value === 'object' && 'chainId' in value + ? parseChainId(value.chainId) + : undefined; + const chainId_multisig = await (async () => { + if (request.method === 'eth_sendRawTransaction' || + request.method === 'eth_sendRawTransactionSync' || + request.method === 'multisig_approveRawTransaction' || + request.method === 'multisig_approveRawTransactionSync') { + if (!isSerializedTempoTransaction(value)) + return undefined; + try { + return parseChainId(Transaction.deserialize(value).chainId); + } + catch { + return undefined; + } + } + if (request.method === 'multisig_approveKeyAuthorization' && + value && + typeof value === 'object' && + 'keyAuthorization' in value) { + try { + return parseChainId(tempo_1.KeyAuthorization.fromRpc(value.keyAuthorization).chainId); + } + catch { + return undefined; + } + } + const hash = (() => { + if (request.method === 'eth_getTransactionByHash' || + request.method === 'eth_getTransactionReceipt') + return value; + if (request.method === 'multisig_approveKeyAuthorization' && + value && + typeof value === 'object' && + 'hash' in value) + return value.hash; + return undefined; + })(); + if (typeof hash !== 'string' || !Hash.validate(hash)) + return undefined; + const operation = await OperationStore.read(store, hash); + if (!operation) + return undefined; + if (operation.type === 'transaction') + return parseChainId(Transaction.deserialize(operation.transaction).chainId); + return parseChainId(tempo_1.KeyAuthorization.deserialize(operation.keyAuthorization).chainId); + })(); + if (chainId_body !== undefined && + chainId_multisig !== undefined && + chainId_body !== chainId_multisig) + throw new RpcResponse.InvalidParamsError({ + message: 'Conflicting chain ids.', + }); + return chainId_body ?? chainId_multisig; +} +function parseChainId(value) { + const chainId = (() => { + if (typeof value === 'number') + return value; + if (typeof value === 'bigint') + return Number(value); + if (typeof value === 'string' && Hex.validate(value)) { + try { + return Hex.toNumber(value); + } + catch { + return undefined; + } + } + return undefined; + })(); + if (chainId === undefined || !Number.isSafeInteger(chainId) || chainId <= 0) + return undefined; + return chainId; +} +function isSerializedTempoTransaction(value) { + return (typeof value === 'string' && + (value.startsWith('0x76') || value.startsWith('0x78'))); +} +//# sourceMappingURL=Multisig.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Multisig.js.map b/node_modules/viem/_cjs/tempo/Multisig.js.map new file mode 100644 index 0000000000000000000000000000000000000000..4558350211110d5d192521e2222fe4c6c5c4a721 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Multisig.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Multisig.js","sourceRoot":"","sources":["../../tempo/Multisig.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/P256.js b/node_modules/viem/_cjs/tempo/P256.js new file mode 100644 index 0000000000000000000000000000000000000000..a1a65ea213c4a8200dbc366ddde9ab72aa6f5efb --- /dev/null +++ b/node_modules/viem/_cjs/tempo/P256.js @@ -0,0 +1,6 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.randomPrivateKey = void 0; +var P256_1 = require("ox/P256"); +Object.defineProperty(exports, "randomPrivateKey", { enumerable: true, get: function () { return P256_1.randomPrivateKey; } }); +//# sourceMappingURL=P256.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/P256.js.map b/node_modules/viem/_cjs/tempo/P256.js.map new file mode 100644 index 0000000000000000000000000000000000000000..eb5203ffefbc7963984d8cec2a2443732f8b8073 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/P256.js.map @@ -0,0 +1 @@ +{"version":3,"file":"P256.js","sourceRoot":"","sources":["../../tempo/P256.ts"],"names":[],"mappings":";;;AACA,gCAA0C;AAAjC,wGAAA,gBAAgB,OAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Scopes.js b/node_modules/viem/_cjs/tempo/Scopes.js new file mode 100644 index 0000000000000000000000000000000000000000..4ad1dd83839bc9c33a7f7939526aa109b3e2b222 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Scopes.js @@ -0,0 +1,39 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.target = target; +exports.contract = contract; +exports.tip20 = tip20; +const Selectors = require("./Selectors.js"); +function target(address) { + return { + any: () => ({ address }), + selector: (selector, options) => ({ + address, + ...(options && 'recipients' in options + ? { recipients: options.recipients } + : {}), + selector, + }), + }; +} +function contract(address, selectors) { + const target_ = target(address); + const result = { ...target_ }; + for (const [name, selector] of Object.entries(selectors)) { + if (typeof selector === 'string') { + result[name] = (options) => target_.selector(selector, options); + continue; + } + const overloads = {}; + for (const [signature, overloadSelector] of Object.entries(selector)) { + overloads[signature] = (options) => target_.selector(overloadSelector, options); + } + overloads.selector = (signature, options) => target_.selector(selector[signature], options); + result[name] = overloads; + } + return result; +} +function tip20(address) { + return contract(address, Selectors.tip20); +} +//# sourceMappingURL=Scopes.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Scopes.js.map b/node_modules/viem/_cjs/tempo/Scopes.js.map new file mode 100644 index 0000000000000000000000000000000000000000..97a39e1a6a752b67e96968f686bd7dea5e3cb68b --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Scopes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Scopes.js","sourceRoot":"","sources":["../../tempo/Scopes.ts"],"names":[],"mappings":";;AAmEA,wBAaC;AAOD,4BAyBC;AAOD,sBAIC;AAzHD,4CAA2C;AAiE3C,SAAgB,MAAM,CACpB,OAAgB;IAEhB,OAAO;QACL,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;QACxB,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAChC,OAAO;YACP,GAAG,CAAC,OAAO,IAAI,YAAY,IAAI,OAAO;gBACpC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE;gBACpC,CAAC,CAAC,EAAE,CAAC;YACP,QAAQ;SACT,CAAC;KACH,CAAA;AACH,CAAC;AAOD,SAAgB,QAAQ,CAGtB,OAAgB,EAAE,SAAoB;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IAC/B,MAAM,MAAM,GAA4B,EAAE,GAAG,OAAO,EAAE,CAAA;IAEtD,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACzD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAA6B,EAAE,EAAE,CAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACrC,SAAQ;QACV,CAAC;QAED,MAAM,SAAS,GAA4B,EAAE,CAAA;QAC7C,KAAK,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,OAA6B,EAAE,EAAE,CACvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;QAC/C,CAAC;QACD,SAAS,CAAC,QAAQ,GAAG,CAAC,SAAiB,EAAE,OAA6B,EAAE,EAAE,CACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAE,EAAE,OAAO,CAAC,CAAA;QACjD,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;IAC1B,CAAC;IAED,OAAO,MAAsC,CAAA;AAC/C,CAAC;AAOD,SAAgB,KAAK,CACnB,OAAgB;IAEhB,OAAO,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;AAC3C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Selectors.js b/node_modules/viem/_cjs/tempo/Selectors.js new file mode 100644 index 0000000000000000000000000000000000000000..9002ec172ce4d18d385a816c4c89a9038e7ed388 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Selectors.js @@ -0,0 +1,374 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.zoneVerifier = exports.zoneMessenger = exports.zoneOutbox = exports.zonePortal = exports.zoneFactory = exports.validatorConfig = exports.validatorConfigV2 = exports.tip403Registry = exports.tip20 = exports.tip20Factory = exports.tip20ChannelReserve = exports.feeAmm = exports.feeManager = exports.storageCredits = exports.stablecoinDex = exports.signatureVerifier = exports.receivePolicyGuard = exports.nonce = exports.currentCommittee = exports.nativeMultisig = exports.addressRegistry = exports.accountKeychain = void 0; +exports.accountKeychain = { + authorizeAdminKey: '0x9a424307', + authorizeKey: { + 'authorizeKey(address,uint8,(uint64,bool,(address,uint256,uint64)[],bool,(address,(bytes4,address[])[])[]))': '0x980a6025', + 'authorizeKey(address,uint8,(uint64,bool,(address,uint256,uint64)[],bool,(address,(bytes4,address[])[])[]),bytes32)': '0xe3c154d2', + 'authorizeKey(address,uint8,uint64,bool,(address,uint256)[])': '0x54063a55', + }, + burnKeyAuthorizationWitness: '0xcff31c46', + getAllowedCalls: '0x0163e7ec', + getKey: '0xbc298553', + getRemainingLimit: '0x63b4290d', + getRemainingLimitWithPeriod: '0xa7f72cab', + getTransactionKey: '0xb07fbc1a', + isAdminKey: '0x9009a18d', + isKeyAuthorizationWitnessBurned: '0x8e6c7e11', + removeAllowedCalls: '0xf3941811', + revokeKey: '0x5ae7ab32', + setAllowedCalls: '0xf5456703', + updateSpendingLimit: '0xcbbb4480', +}; +exports.addressRegistry = { + decodeVirtualAddress: '0xb35d6fb9', + getMaster: '0xd84ab166', + isImplicitlyApproved: '0xa8da6aa7', + isVirtualAddress: '0xd501235a', + registerVirtualMaster: '0x5c559d20', + resolveRecipient: '0xfbea9d67', + resolveVirtualAddress: '0xe2fc56ef', +}; +exports.nativeMultisig = { + deriveAccount: '0xce8e071c', + getConfigCommitment: '0x5bd93359', + updateConfig: '0x64203645', +}; +exports.currentCommittee = { + getCommitteeMembers: '0xb2a275f9', + setCommitteeMembers: '0x229bdd9c', +}; +exports.nonce = { + getNonce: '0x89535803', +}; +exports.receivePolicyGuard = { + balanceOf: '0x78415365', + burnBlockedReceipt: '0x96c1264c', + claim: '0xbb1757cf', +}; +exports.signatureVerifier = { + recover: '0x19045a25', + verify: '0x1a86b550', + verifyKeychain: '0x6c0c731e', + verifyKeychainAdmin: '0x5f6fc5b7', +}; +exports.stablecoinDex = { + MAX_PRICE: '0x01c11d96', + MAX_TICK: '0x6882a888', + MIN_ORDER_AMOUNT: '0x40bf2aa4', + MIN_PRICE: '0xad9f20a6', + MIN_TICK: '0xa1634b14', + PRICE_SCALE: '0xc33f59d3', + TICK_SPACING: '0x46ca626b', + balanceOf: '0xf7888aec', + bookIndexForKey: '0x61285475', + bookKeyForIndex: '0x3c047a7a', + books: '0x0c0dee70', + cancel: '0x81649d06', + cancelStaleOrder: '0x928b0e7f', + createPair: '0x9ccb0744', + getOrder: '0x117d4128', + getTickLevel: '0x949bc662', + nextOrderId: '0x2a58b330', + pairKey: '0xcd27ca82', + place: '0x63813125', + placeFlip: '0x922828f1', + priceToTick: '0x87b4e352', + quoteSwapExactAmountIn: '0xe7c98f1a', + quoteSwapExactAmountOut: '0x1576fa0e', + setBookIndex: '0xaecbd005', + storageCredits: '0x4d65338b', + swapExactAmountIn: '0xf8856c0f', + swapExactAmountOut: '0xf0122b75', + tickToPrice: '0x269a311d', + withdraw: '0x08fab167', +}; +exports.storageCredits = { + balanceOf: '0x70a08231', + budgetOf: '0x7865e71f', + modeOf: '0x13668995', + setBudget: '0xffe295c3', + setMode: '0x21175b4a', +}; +exports.feeManager = { + collectedFees: '0x4c97f766', + distributeFees: '0xa6c07924', + setUserToken: '0xe7897444', + setValidatorToken: '0xb60d2ddb', + userTokens: '0xed498fa8', + validatorTokens: '0x6dc54a7a', +}; +exports.feeAmm = { + M: '0x693f917e', + MIN_LIQUIDITY: '0x21b77d63', + N: '0xc9e525df', + SCALE: '0xeced5526', + burn: '0xfa291e53', + getPool: '0x531aa03e', + getPoolId: '0x2ef61c21', + liquidityBalances: '0x4fb5bf7f', + mint: '0xf1aa8cb8', + pools: '0xb5217bb4', + rebalanceSwap: '0x1bd94ac7', + totalSupply: '0xb524abcf', +}; +exports.tip20ChannelReserve = { + CLOSE_GRACE_PERIOD: '0x956c8327', + VOUCHER_TYPEHASH: '0x94739e87', + close: '0x73b57f74', + computeChannelId: '0x185eeeac', + domainSeparator: '0xf698da25', + getChannel: '0xeef95313', + getChannelState: '0xd18da8b1', + getChannelStatesBatch: '0xd1f4cda2', + getVoucherDigest: '0xf3b349e8', + open: '0xedc53b00', + requestClose: '0x675402e5', + settle: '0x97fb5104', + storageCredits: '0x4d65338b', + topUp: '0xdc48471e', + withdraw: '0x41e2c664', +}; +exports.tip20Factory = { + createToken: { + 'createToken(string,string,string,address,address,bytes32)': '0x68130445', + 'createToken(string,string,string,address,address,bytes32,string)': '0x5323d222', + }, + getTokenAddress: '0x9ed7cd64', + isTIP20: '0x35ec42c9', +}; +exports.tip20 = { + BURN_BLOCKED_ROLE: '0x32ad9be8', + DOMAIN_SEPARATOR: '0x3644e515', + ISSUER_ROLE: '0x82aefa24', + PAUSE_ROLE: '0x389ed267', + UNPAUSE_ROLE: '0x309756fb', + allowance: '0xdd62ed3e', + approve: '0x095ea7b3', + balanceOf: '0x70a08231', + burn: '0x42966c68', + burnBlocked: '0xec0cf3dc', + burnWithMemo: '0x38f23b0b', + changeTransferPolicyId: '0xfd5e9420', + claimRewards: '0x372500ab', + completeQuoteTokenUpdate: '0x638bc4a3', + currency: '0xe5a6b10f', + decimals: '0x313ce567', + distributeReward: '0x940a4e45', + getPendingRewards: '0xf6ed2017', + getRoleAdmin: '0x248a9ca3', + globalRewardPerToken: '0x726ce324', + grantRole: '0x2f2ff15d', + hasRole: '0xac4ab3fb', + logoURI: '0x6bb38b28', + mint: '0x40c10f19', + mintWithMemo: '0xe44f0b12', + name: '0x06fdde03', + nextQuoteToken: '0x7d0819b7', + nonces: '0x7ecebe00', + optedInSupply: '0x8ef39dce', + pause: '0x8456cb59', + paused: '0x5c975abb', + permit: '0xd505accf', + quoteToken: '0x217a4b70', + renounceRole: '0x8bb9c5bf', + revokeRole: '0xd547741f', + setLogoURI: '0xc30ff6df', + setNextQuoteToken: '0x4593223f', + setRewardRecipient: '0xe521136f', + setRoleAdmin: '0x1e4e0091', + setSupplyCap: '0xb6a3f59a', + supplyCap: '0x8f770ad0', + symbol: '0x95d89b41', + totalSupply: '0x18160ddd', + transfer: '0xa9059cbb', + transferFrom: '0x23b872dd', + transferFromWithMemo: '0x929c2539', + transferPolicyId: '0x9c4bad29', + transferWithMemo: '0x95777d59', + unpause: '0x3f4ba83a', + userRewardInfo: '0x360b8ed9', +}; +exports.tip403Registry = { + compoundPolicyData: '0xb6266019', + createCompoundPolicy: '0x5da414ee', + createPolicy: '0xca5d55f6', + createPolicyWithAccounts: '0xa2d3044f', + isAuthorized: '0x55a1179e', + isAuthorizedMintRecipient: '0xb389e305', + isAuthorizedRecipient: '0x6fbc13d6', + isAuthorizedSender: '0x14abd81d', + migrateTransferPolicyIds: '0xa783dc99', + modifyPolicyBlacklist: '0xc62b27d4', + modifyPolicyWhitelist: '0x71ec67a3', + policyData: '0x50214329', + policyExists: '0x330f5637', + policyIdCounter: '0x3cc32f9c', + receivePolicy: '0xe111e611', + setPolicyAdmin: '0x25f7d376', + setReceivePolicy: '0xdda03d86', + tokenTransferPolicyId: '0x23143aff', + validateReceivePolicy: '0xb72b0c59', +}; +exports.validatorConfigV2 = { + addValidator: '0x6dcf616a', + deactivateValidator: '0x8f289544', + getActiveValidators: '0x9de70258', + getInitializedAtHeight: '0xf926b083', + getNextNetworkIdentityRotationEpoch: '0x42739f79', + initializeIfMigrated: '0x2f88bb4f', + isInitialized: '0x392e53cd', + migrateValidator: '0xc8e73200', + owner: '0x8da5cb5b', + rotateValidator: '0x82f20dbe', + setFeeRecipient: '0x572e4068', + setIpAddresses: '0x55f25dc6', + setNetworkIdentityRotationEpoch: '0xcb8425d2', + transferOwnership: '0xf2fde38b', + transferValidatorOwnership: '0x9e38a5f1', + validatorByAddress: '0x1a6dda94', + validatorByIndex: '0xecb14a34', + validatorByPublicKey: '0x1b425d5e', + validatorCount: '0x0f43a677', +}; +exports.validatorConfig = { + addValidator: '0xffb4822e', + changeOwner: '0xa6f9dae1', + changeValidatorStatus: '0xa1b3f4a9', + changeValidatorStatusByIndex: '0x5aa3d0e1', + getNextFullDkgCeremony: '0x281a69ec', + getValidators: '0xb7ab4db5', + owner: '0x8da5cb5b', + setNextFullDkgCeremony: '0xc3576d46', + updateValidator: '0x09970c76', + validatorCount: '0x0f43a677', + validators: '0xfa52c7d8', + validatorsArray: '0x031fadbd', +}; +exports.zoneFactory = { + createZone: { + 'createZone((address,address,address,address,(bytes32,bytes32,uint64),string))': '0x2d45796a', + 'createZone((address,bool,bool,address[],address[],address,address[],uint8,string))': '0x89677d9e', + }, + isZonePortal: '0x01b290d3', + nextZoneId: '0x266db436', + owner: '0x8da5cb5b', + transferOwnership: '0xf2fde38b', + verifier: '0x2b7ac3f3', + zones: '0x90b7f6fd', +}; +exports.zonePortal = { + FIXED_DEPOSIT_GAS: '0xf706cfbf', + MAX_DEPOSITS_PER_TEMPO_BLOCK: '0x1bf00ca8', + MAX_GAS_FEE_RATE: '0xf490ca96', + MAX_TOKENS_ENABLED_PER_TEMPO_BLOCK: '0x3fcf7df4', + MAX_TOKEN_METADATA_BYTES: '0x996329a2', + MAX_WITHDRAWAL_GAS_LIMIT: '0x86f47e55', + abdicate: '0xbf4c5411', + abdicationEffectiveAt: '0x04a3b098', + acceptAdmin: '0x0e18b681', + admin: '0xf851a440', + areDepositsActive: '0x37f981d8', + blockHash: '0xf22a195e', + bouncebackGas: '0xfb2f1206', + calculateBouncebackFee: '0x83a146b3', + calculateDepositFee: '0x8976248d', + claimRefund: '0xbffa55d5', + currentDepositQueueHash: '0x45c5d2fb', + deliverWithdrawal: '0x005d97ef', + deposit: { + 'deposit(address,address,uint128,bytes32,address)': '0x09a0a234', + 'deposit(address,uint128,uint256,(bytes32,uint8,bytes,bytes12,bytes16),address)': '0x03dd6f34', + }, + depositCount: '0x2dfdf0b5', + depositEncrypted: '0xb01f22e4', + enableToken: '0xc690908a', + enabledTokenAt: '0xb02690f2', + enabledTokenCount: '0xe4717849', + encryptionKeyAt: '0x9a97784b', + encryptionKeyAtBlock: '0x39dc015d', + encryptionKeyCount: '0x4256ce38', + hasRole: '0x95a8c58d', + initialize: '0x86829b82', + isAccessEnforced: '0x71649b6e', + isEncryptionKeyValid: '0x9ecd4cc0', + isGatewayOpen: '0x1b32199b', + isSequencer: '0x6d46e987', + isTokenEnabled: '0x748538d9', + lastProcessedDepositNumber: '0xe84abe69', + lastSyncedTempoBlockNumber: '0xbe2a63ee', + leader: '0x40eedabb', + leaderActivationTempoBlock: '0xb83c755f', + leaderEpoch: '0x3a6b889b', + maxTempoGasRate: '0x8d8bd5fb', + messenger: '0x3cb747bf', + pause: '0x8456cb59', + pauseDeposits: '0x27c71b50', + pauseExpiry: '0xf125af6b', + paused: '0x5c975abb', + pendingAdmin: '0x26782247', + processWithdrawals: '0x91aa3f04', + refunds: '0x857e85f8', + resume: '0x046f7da2', + resumeDeposits: '0x00ebfdb4', + rpcUrl: '0x959f47c3', + sequencerAt: '0x129c8240', + sequencerCount: '0x84b71123', + sequencerEncryptionKey: '0x3488ce0d', + sequencerSetVersion: '0x83888ecc', + sequencerThreshold: '0x1950dd11', + setAccessMode: '0xf6087442', + setAllowedAccount: '0x90f59598', + setBouncebackGas: '0xe09eae10', + setGateway: '0x10cea857', + setGatewayMode: '0x0f3804b8', + setLeader: '0x4fdf2ec2', + setMaxTempoGasRate: '0x78d8599e', + setPauseGuardian: '0x35577962', + setRpcUrl: '0x652ef10b', + setSequencerEncryptionKey: '0xef10b187', + setSequencerSet: '0x86012b45', + setZoneGasRate: '0x0e86bbdc', + submitBatch: '0x78fb159b', + tokenConfig: '0xfe136c4e', + tokenEnablementHash: '0xb456c0dd', + transferAdmin: '0x75829def', + verifier: '0x2b7ac3f3', + withdrawalBatchIndex: '0x2c37826e', + withdrawalQueueHead: '0x94ce88b0', + withdrawalQueueSlot: '0xcfaabb4d', + withdrawalQueueTail: '0x8081a8b2', + zoneGasRate: '0xecf79a4e', + zoneHeight: '0x430f8b4f', + zoneId: '0xd179978a', +}; +exports.zoneOutbox = { + AUTHENTICATED_WITHDRAWAL_CIPHERTEXT_LENGTH: '0x43c3cb83', + MAX_CALLBACK_DATA_SIZE: '0x53a8d739', + MAX_WITHDRAWAL_GAS_LIMIT: '0x86f47e55', + REVEAL_TO_KEY_LENGTH: '0x378fa8fa', + WITHDRAWAL_BASE_GAS: '0xc9b6ca9b', + calculateWithdrawalFee: '0x7b9c9aa4', + consumeFallbackRecipient: '0xa3a124c3', + enqueueDepositBounceBack: '0xe2e3ee5c', + finalizeWithdrawalBatch: '0xce7025e9', + getPendingWithdrawals: '0xc37fc8a8', + lastBatch: '0x48aa4108', + lastFallbackNonce: '0x3d1c5a93', + lastFinalizedTimestamp: '0x413e9cde', + maxWithdrawalsPerBlock: '0x545525f1', + nextWithdrawalIndex: '0xbba9282e', + pendingWithdrawalsCount: '0xd93af1d2', + requestWithdrawal: '0xb3b200aa', + setMaxWithdrawalsPerBlock: '0xb9d1fd68', + setTempoGasRate: '0x79fa3289', + tempoGasRate: '0x34065272', +}; +exports.zoneMessenger = { + relayMessage: '0x11da5261', +}; +exports.zoneVerifier = { + verify: '0x7106a43e', +}; +//# sourceMappingURL=Selectors.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Selectors.js.map b/node_modules/viem/_cjs/tempo/Selectors.js.map new file mode 100644 index 0000000000000000000000000000000000000000..af18769891c1eb76af433d9da74d919aa6c264dc --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Selectors.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Selectors.js","sourceRoot":"","sources":["../../tempo/Selectors.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Store.js b/node_modules/viem/_cjs/tempo/Store.js new file mode 100644 index 0000000000000000000000000000000000000000..c2e4bf92362319ad248991c85d28368e70c6ce61 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Store.js @@ -0,0 +1,102 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.from = from; +exports.memory = memory; +exports.session = session; +exports.defaultStore = defaultStore; +function from(store, options = {}) { + const { key } = options; + const prefix = key ? `${key}:` : ''; + const inflight = new Map(); + const compareAndSet = store.compareAndSet?.bind(store); + return { + ...(compareAndSet + ? { + compareAndSet(k, expected, value, options) { + const fullKey = `${prefix}${k}`; + inflight.delete(fullKey); + return compareAndSet(fullKey, expected, value, options); + }, + } + : {}), + getItem(k) { + const fullKey = `${prefix}${k}`; + const existing = inflight.get(fullKey); + if (existing) + return existing; + const result = Promise.resolve(store.getItem(fullKey)).finally(() => { + inflight.delete(fullKey); + }); + inflight.set(fullKey, result); + return result; + }, + setItem(k, value) { + const fullKey = `${prefix}${k}`; + inflight.delete(fullKey); + return store.setItem(fullKey, value); + }, + removeItem(k) { + const fullKey = `${prefix}${k}`; + inflight.delete(fullKey); + return store.removeItem(fullKey); + }, + }; +} +function memory(options = {}) { + const store = new Map(); + const get = (key) => { + const entry = store.get(key); + if (!entry) + return undefined; + if (entry.expiresAt === undefined || entry.expiresAt > Date.now()) + return entry; + store.delete(key); + return undefined; + }; + return from({ + compareAndSet(key, expected, value, options) { + if ((get(key)?.value ?? null) !== expected) + return false; + store.set(key, { expiresAt: options?.expiresAt, value }); + return true; + }, + getItem(key) { + return get(key)?.value ?? null; + }, + setItem(key, value) { + store.set(key, { expiresAt: undefined, value }); + }, + removeItem(key) { + store.delete(key); + }, + }, options); +} +function session(options = {}) { + return from({ + getItem(key) { + return globalThis.sessionStorage.getItem(key); + }, + setItem(key, value) { + try { + globalThis.sessionStorage.setItem(key, value); + } + catch { } + }, + removeItem(key) { + globalThis.sessionStorage.removeItem(key); + }, + }, options); +} +let _default; +function defaultStore() { + if (_default) + return _default; + try { + if (globalThis.sessionStorage) + _default = session(); + } + catch { } + _default ??= memory(); + return _default; +} +//# sourceMappingURL=Store.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Store.js.map b/node_modules/viem/_cjs/tempo/Store.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7127d2306fa29e24734abe70fbff06c6f147e398 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Store.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../tempo/Store.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/TokenIds.js b/node_modules/viem/_cjs/tempo/TokenIds.js new file mode 100644 index 0000000000000000000000000000000000000000..898a30f0fde90003b266d893d1083b0c2ee2d0b8 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/TokenIds.js @@ -0,0 +1,5 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.pathUsd = void 0; +exports.pathUsd = 0n; +//# sourceMappingURL=TokenIds.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/TokenIds.js.map b/node_modules/viem/_cjs/tempo/TokenIds.js.map new file mode 100644 index 0000000000000000000000000000000000000000..bb02224ad4550e69e46dd802309e83ea10051f04 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/TokenIds.js.map @@ -0,0 +1 @@ +{"version":3,"file":"TokenIds.js","sourceRoot":"","sources":["../../tempo/TokenIds.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,EAAE,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Transaction.js b/node_modules/viem/_cjs/tempo/Transaction.js new file mode 100644 index 0000000000000000000000000000000000000000..4575453dea9063cfc335c969c2cb1eb8f8682080 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Transaction.js @@ -0,0 +1,207 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.z_TxEnvelopeTempo = exports.z_SignatureEnvelope = exports.z_KeyAuthorization = void 0; +exports.getType = getType; +exports.isTempo = isTempo; +exports.deserialize = deserialize; +exports.serialize = serialize; +const Hex = require("ox/Hex"); +const Signature = require("ox/Signature"); +const tempo_1 = require("ox/tempo"); +const getTransactionType_js_1 = require("../utils/transaction/getTransactionType.js"); +const parseTransaction_js_1 = require("../utils/transaction/parseTransaction.js"); +const serializeTransaction_js_1 = require("../utils/transaction/serializeTransaction.js"); +function getType(transaction) { + const account = transaction.account; + if ((account?.keyType && account.keyType !== 'secp256k1') || + account?.source === 'accessKey' || + account?.source === 'multisig' || + typeof transaction.calls !== 'undefined' || + typeof transaction.feePayer !== 'undefined' || + typeof transaction.feePayerSignature !== 'undefined' || + typeof transaction.feeToken !== 'undefined' || + typeof transaction.keyAuthorization !== 'undefined' || + typeof transaction.multisigSimulation !== 'undefined' || + typeof transaction.nonceKey !== 'undefined' || + typeof transaction.owner !== 'undefined' || + typeof transaction.signature !== 'undefined' || + typeof transaction.signatures !== 'undefined' || + typeof transaction.validBefore !== 'undefined' || + typeof transaction.validAfter !== 'undefined') + return 'tempo'; + if (transaction.type) + return transaction.type; + return (0, getTransactionType_js_1.getTransactionType)(transaction); +} +function isTempo(transaction) { + try { + const type = getType(transaction); + return type === 'tempo'; + } + catch { + return false; + } +} +function deserialize(serializedTransaction) { + const type = Hex.slice(serializedTransaction, 0, 1); + if (type === '0x76' || type === '0x78') + return deserializeTempo(serializedTransaction); + return (0, parseTransaction_js_1.parseTransaction)(serializedTransaction); +} +async function serialize(transaction, signature) { + if (!isTempo(transaction)) { + if (signature && 'type' in signature && signature.type !== 'secp256k1') + throw new Error('Unsupported signature type. Expected `secp256k1` but got `' + + signature.type + + '`.'); + if (signature && 'type' in signature) { + const { r, s, yParity } = signature?.signature; + return (0, serializeTransaction_js_1.serializeTransaction)(transaction, { + r: Hex.fromNumber(r, { size: 32 }), + s: Hex.fromNumber(s, { size: 32 }), + yParity, + }); + } + return (0, serializeTransaction_js_1.serializeTransaction)(transaction, signature); + } + const type = getType(transaction); + if (type === 'tempo') + return serializeTempo(transaction, signature); + throw new Error('Unsupported transaction type'); +} +function deserializeTempo(serializedTransaction) { + const { feePayerSignature, nonce, ...tx } = tempo_1.TxEnvelopeTempo.deserialize(serializedTransaction); + return { + ...tx, + nonce: Number(nonce ?? 0n), + feePayerSignature: feePayerSignature + ? { + r: Hex.fromNumber(feePayerSignature.r, { size: 32 }), + s: Hex.fromNumber(feePayerSignature.s, { size: 32 }), + yParity: feePayerSignature.yParity, + } + : feePayerSignature, + }; +} +async function serializeTempo(transaction, sig) { + const signature_provided = (() => { + if (transaction.signature) + return transaction.signature; + if (sig && 'type' in sig) + return sig; + if (sig) + return tempo_1.SignatureEnvelope.from({ + r: BigInt(sig.r), + s: BigInt(sig.s), + yParity: Number(sig.yParity), + }); + return undefined; + })(); + const { chainId, feePayer, multisigSimulation, nonce, owner: _owner, ...rest } = transaction; + const feePayerSignature = (() => { + const feePayerSignature = transaction.feePayerSignature; + if (feePayerSignature) + return { + r: BigInt(feePayerSignature.r), + s: BigInt(feePayerSignature.s), + yParity: Number(feePayerSignature.yParity), + }; + if (feePayerSignature === null || feePayer) + return null; + return undefined; + })(); + const hasPrefilledFeePayerSignature = typeof transaction.feePayerSignature !== 'undefined' && + transaction.feePayerSignature !== null; + const hasSenderSignature = typeof signature_provided !== 'undefined' || + Boolean(multisigSimulation && transaction.signatures); + const shouldStripFeeTokenForSponsorship = (feePayer === true && (!hasSenderSignature || !feePayerSignature)) || + (typeof feePayer === 'object' && !hasSenderSignature) || + (!hasSenderSignature && hasPrefilledFeePayerSignature); + const transaction_ox = { + ...rest, + calls: rest.calls?.length + ? rest.calls + : [ + { + to: rest.to || + (!rest.data || rest.data === '0x' + ? '0x0000000000000000000000000000000000000000' + : undefined), + value: rest.value, + data: rest.data, + }, + ], + chainId: Number(chainId), + feePayerSignature, + type: 'tempo', + ...(nonce ? { nonce: BigInt(nonce) } : {}), + }; + const transaction_sender_ox = { ...transaction_ox }; + if (shouldStripFeeTokenForSponsorship) + delete transaction_sender_ox.feeToken; + const signature = (() => { + if (signature_provided) + return signature_provided; + if (!multisigSimulation || !transaction.signatures) + return undefined; + const payload = tempo_1.TxEnvelopeTempo.getSignPayload(tempo_1.TxEnvelopeTempo.from(transaction_sender_ox)); + const signatures = transaction.signatures.map((approval) => tempo_1.SignatureEnvelope.from(approval)); + const config = tempo_1.MultisigConfig.from(multisigSimulation.config); + const account = multisigSimulation.account; + const sorted = tempo_1.SignatureEnvelope.sortMultisigApprovals({ + account, + config, + payload, + signatures, + }); + return tempo_1.SignatureEnvelope.from({ + account, + config, + signatures: sorted, + }); + })(); + if (signature && typeof transaction.feePayer === 'object') { + const tx = tempo_1.TxEnvelopeTempo.from(transaction_ox, { + signature, + }); + const sender = transaction.from ?? + tempo_1.SignatureEnvelope.extractAddress({ + payload: tempo_1.TxEnvelopeTempo.getSignPayload(tx), + root: true, + signature, + }); + const hash = tempo_1.TxEnvelopeTempo.getFeePayerSignPayload(tx, { + sender, + }); + const feePayerSignature = await transaction.feePayer.sign({ + hash, + }); + return tempo_1.TxEnvelopeTempo.serialize(tx, { + feePayerSignature: Signature.from(feePayerSignature), + }); + } + if (feePayer === true || (!signature && hasPrefilledFeePayerSignature)) { + if (signature && feePayerSignature) + return tempo_1.TxEnvelopeTempo.serialize(transaction_sender_ox, { + signature, + }); + if (signature) + return tempo_1.TxEnvelopeTempo.serialize(transaction_sender_ox, { + format: 'feePayer', + sender: transaction.from, + signature, + }); + return tempo_1.TxEnvelopeTempo.serialize(transaction_sender_ox, { + feePayerSignature: null, + }); + } + return tempo_1.TxEnvelopeTempo.serialize(transaction_sender_ox, { + feePayerSignature: undefined, + signature, + }); +} +var tempo_2 = require("ox/tempo"); +Object.defineProperty(exports, "z_KeyAuthorization", { enumerable: true, get: function () { return tempo_2.KeyAuthorization; } }); +Object.defineProperty(exports, "z_SignatureEnvelope", { enumerable: true, get: function () { return tempo_2.SignatureEnvelope; } }); +Object.defineProperty(exports, "z_TxEnvelopeTempo", { enumerable: true, get: function () { return tempo_2.TxEnvelopeTempo; } }); +//# sourceMappingURL=Transaction.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Transaction.js.map b/node_modules/viem/_cjs/tempo/Transaction.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d9de85f7267dc6799e17ecf00787ed4ee17c5173 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Transaction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../tempo/Transaction.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Transport.js b/node_modules/viem/_cjs/tempo/Transport.js new file mode 100644 index 0000000000000000000000000000000000000000..f925bb81ff6c11e777424acc25cc5edd6e82b9f9 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Transport.js @@ -0,0 +1,229 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.http = http; +exports.withMultisig = withMultisig; +exports.withRelay = withRelay; +exports.withFeePayer = withFeePayer; +exports.walletNamespaceCompat = walletNamespaceCompat; +const Address = require("ox/Address"); +const Hash = require("ox/Hash"); +const Hex = require("ox/Hex"); +const Provider = require("ox/Provider"); +const RpcRequest = require("ox/RpcRequest"); +const getTransactionReceipt_js_1 = require("../actions/public/getTransactionReceipt.js"); +const sendTransaction_js_1 = require("../actions/wallet/sendTransaction.js"); +const sendTransactionSync_js_1 = require("../actions/wallet/sendTransactionSync.js"); +const createClient_js_1 = require("../clients/createClient.js"); +const createTransport_js_1 = require("../clients/transports/createTransport.js"); +const http_js_1 = require("../clients/transports/http.js"); +const rpc_js_1 = require("../errors/rpc.js"); +const Multisig = require("./Multisig.js"); +const Store_ = require("./Store.js"); +const Transaction = require("./Transaction.js"); +function http(url, config = {}) { + const { store: store_, onFetchRequest, ...rest } = config; + const store = store_ ?? Store_.defaultStore(); + return (config) => (0, http_js_1.http)(url, { + ...rest, + async onFetchRequest(request, init) { + const next = (await onFetchRequest?.(request, init)) ?? init; + const headers = new Headers(next.headers); + const chainId = config.chain?.id; + if (chainId) { + const token = (await store.getItem(`auth:token:${chainId}`)) ?? null; + if (token) + headers.set('X-Authorization-Token', token); + } + return { ...next, headers }; + }, + })(config); +} +function withMultisig(transport, parameters) { + return ((options) => { + const value = transport(options); + return { + ...value, + request: Multisig.handleRequest((request, requestOptions) => value.request(request, requestOptions), parameters), + value: { ...value.value, multisig: true }, + }; + }); +} +function withRelay(defaultTransport, relayTransport, parameters) { + const { policy = 'sign-only' } = parameters ?? {}; + return (config) => { + const transport_default = defaultTransport(config); + const transport_relay = relayTransport(config); + const transport = (0, createTransport_js_1.createTransport)({ + key: withRelay.type, + name: 'Relay Proxy', + async request({ method, params }, options) { + if (method === 'eth_fillTransaction') + return transport_relay.request({ method, params }, options); + if (method === 'eth_getTransactionByHash' || + method === 'eth_getTransactionReceipt') { + const result = await transport_default.request({ method, params }, options); + if (result !== null && typeof result !== 'undefined') + return result; + const operation = await (async () => { + try { + return await transport_relay.request({ method: 'multisig_getOperation', params }, options); + } + catch (error) { + if (error instanceof rpc_js_1.MethodNotFoundRpcError || + error instanceof rpc_js_1.MethodNotSupportedRpcError) { + return null; + } + throw error; + } + })(); + if (!operation || + typeof operation !== 'object' || + !('type' in operation) || + operation.type !== 'transaction') + return result; + return transport_relay.request({ method, params }, options); + } + if (method === 'multisig_approveKeyAuthorization' || + method === 'multisig_approveRawTransaction' || + method === 'multisig_approveRawTransactionSync' || + method === 'multisig_getConfig' || + method === 'multisig_getOperation') + return transport_relay.request({ method, params }, options); + if (method === 'eth_sendRawTransactionSync' || + method === 'eth_sendRawTransaction') { + const serialized = params[0]; + const transaction = Transaction.deserialize(serialized); + if (transaction.signature?.type === 'multisig') + return transport_relay.request({ method, params }, options); + if (transaction.feePayerSignature === null) { + if (policy === 'sign-and-broadcast') + return transport_relay.request({ method, params }, options); + { + const signedTransaction = await transport_relay.request({ + method: 'eth_signRawTransaction', + params: [serialized], + }, options); + return transport_default.request({ method, params: [signedTransaction] }, options); + } + } + } + return (await transport_default.request({ method, params }, options)); + }, + type: withRelay.type, + }); + return { ...transport, value: { multisig: true } }; + }; +} +function withFeePayer(defaultTransport, relayTransport, parameters) { + const { policy = 'sign-only' } = parameters ?? {}; + return (config) => { + const transport_default = defaultTransport(config); + const transport_relay = relayTransport(config); + return (0, createTransport_js_1.createTransport)({ + key: withFeePayer.type, + name: 'Relay Proxy', + async request({ method, params }, options) { + if (method === 'eth_fillTransaction') { + const request = params?.[0]; + if (request && + typeof request === 'object' && + 'feePayer' in request && + request.feePayer === true) + return transport_relay.request({ method, params }, options); + } + if (method === 'eth_sendRawTransactionSync' || + method === 'eth_sendRawTransaction') { + const serialized = params[0]; + const transaction = Transaction.deserialize(serialized); + if (transaction.feePayerSignature === null) { + if (policy === 'sign-and-broadcast') + return transport_relay.request({ method, params }, options); + { + const signedTransaction = await transport_relay.request({ + method: 'eth_signRawTransaction', + params: [serialized], + }, options); + return transport_default.request({ method, params: [signedTransaction] }, options); + } + } + } + return (await transport_default.request({ method, params }, options)); + }, + type: withFeePayer.type, + }); + }; +} +function walletNamespaceCompat(transport, options) { + const { account } = options; + const sendCallsMagic = Hash.keccak256(Hex.fromString('TEMPO_5792')); + return (options) => { + const t = transport(options); + const chain = options.chain; + return { + ...t, + async request(args) { + const request = RpcRequest.from(args); + const client = (0, createClient_js_1.createClient)({ + chain, + transport, + }); + if (request.method === 'wallet_sendCalls') { + const params = request.params[0] ?? {}; + const { capabilities, chainId, from } = params; + const { sync, ...properties } = capabilities ?? {}; + if (!chainId) + throw new Provider.UnsupportedChainIdError(); + if (Number(chainId) !== client.chain.id) + throw new Provider.UnsupportedChainIdError(); + if (from && !Address.isEqual(from, account.address)) + throw new Provider.DisconnectedError(); + const calls = (params.calls ?? []).map((call) => ({ + to: call.to, + value: call.value ? BigInt(call.value) : undefined, + data: call.data, + })); + const hash = await (async () => { + if (!sync) + return (0, sendTransaction_js_1.sendTransaction)(client, { + account, + ...(properties ? properties : {}), + calls, + }); + const { transactionHash } = await (0, sendTransactionSync_js_1.sendTransactionSync)(client, { + account, + ...(properties ? properties : {}), + calls, + }); + return transactionHash; + })(); + const id = Hex.concat(hash, Hex.padLeft(chainId, 32), sendCallsMagic); + return { + capabilities: { sync }, + id, + }; + } + if (request.method === 'wallet_getCallsStatus') { + const [id] = request.params ?? []; + if (!id) + throw new Error('`id` not found'); + if (!id.endsWith(sendCallsMagic.slice(2))) + throw new Error('`id` not supported'); + Hex.assert(id); + const hash = Hex.slice(id, 0, 32); + const chainId = Hex.slice(id, 32, 64); + const receipt = await (0, getTransactionReceipt_js_1.getTransactionReceipt)(client, { hash }); + return { + atomic: true, + chainId: Number(chainId), + id, + receipts: [receipt], + status: receipt.status === 'success' ? 200 : 500, + version: '2.0.0', + }; + } + return t.request(args); + }, + }; + }; +} +//# sourceMappingURL=Transport.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Transport.js.map b/node_modules/viem/_cjs/tempo/Transport.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8f301507e1f1d64f6acce8b6e816d180094117db --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Transport.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Transport.js","sourceRoot":"","sources":["../../tempo/Transport.ts"],"names":[],"mappings":";;AAuDA,oBAuBC;AA2BD,oCAgBC;AA0CD,8BAkHC;AAWD,oCAqEC;AAoBD,sDAyFC;AAldD,sCAAqC;AACrC,gCAA+B;AAC/B,8BAA6B;AAC7B,wCAAuC;AACvC,4CAA2C;AAE3C,yFAAkF;AAClF,6EAAsE;AACtE,qFAA8E;AAC9E,gEAAyD;AACzD,iFAGiD;AACjD,2DAIsC;AACtC,6CAGyB;AAGzB,0CAAyC;AAEzC,qCAAoC;AACpC,gDAA+C;AA2B/C,SAAgB,IAAI,CAClB,GAAwB,EACxB,SAAqB,EAAE;IAEvB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;IACzD,MAAM,KAAK,GAAG,MAAM,IAAI,MAAM,CAAC,YAAY,EAAE,CAAA;IAE7C,OAAO,CAAC,MAAM,EAAE,EAAE,CAChB,IAAA,cAAK,EAAC,GAAG,EAAE;QACT,GAAG,IAAI;QACP,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI;YAChC,MAAM,IAAI,GAAG,CAAC,MAAM,cAAc,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,CAAA;YAC5D,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAEzC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,CAAA;YAChC,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC,IAAI,IAAI,CAAA;gBACpE,IAAI,KAAK;oBAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAA;YACxD,CAAC;YAED,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAA;QAC7B,CAAC;KACF,CAAC,CAAC,MAAM,CAAC,CAAA;AACd,CAAC;AA2BD,SAAgB,YAAY,CAC1B,SAAoB,EACpB,UAAmC;IAEnC,OAAO,CAAC,CAAC,OAAiC,EAAE,EAAE;QAC5C,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;QAChC,OAAO;YACL,GAAG,KAAK;YACR,OAAO,EAAE,QAAQ,CAAC,aAAa,CAC7B,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,CAC1B,KAAK,CAAC,OAAO,CAAC,OAAgB,EAAE,cAAc,CAAC,EACjD,UAAU,CACa;YACzB,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC1C,CAAA;IACH,CAAC,CAAwC,CAAA;AAC3C,CAAC;AA0CD,SAAgB,SAAS,CACvB,gBAA2B,EAC3B,cAAyB,EACzB,UAAiC;IAEjC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,UAAU,IAAI,EAAE,CAAA;IAEjD,OAAO,CAAC,MAAM,EAAE,EAAE;QAChB,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAClD,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;QAE9C,MAAM,SAAS,GAAG,IAAA,oCAAe,EAAC;YAChC,GAAG,EAAE,SAAS,CAAC,IAAI;YACnB,IAAI,EAAE,aAAa;YACnB,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO;gBACvC,IAAI,MAAM,KAAK,qBAAqB;oBAClC,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAU,CAAA;gBAEtE,IACE,MAAM,KAAK,0BAA0B;oBACrC,MAAM,KAAK,2BAA2B,EACtC,CAAC;oBACD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAC5C,EAAE,MAAM,EAAE,MAAM,EAAE,EAClB,OAAO,CACR,CAAA;oBACD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW;wBAClD,OAAO,MAAe,CAAA;oBAExB,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;wBAClC,IAAI,CAAC;4BACH,OAAO,MAAM,eAAe,CAAC,OAAO,CAClC,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,EAC3C,OAAO,CACR,CAAA;wBACH,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,IACE,KAAK,YAAY,+BAAsB;gCACvC,KAAK,YAAY,mCAA0B,EAC3C,CAAC;gCAED,OAAO,IAAI,CAAA;4BACb,CAAC;4BACD,MAAM,KAAK,CAAA;wBACb,CAAC;oBACH,CAAC,CAAC,EAAE,CAAA;oBACJ,IACE,CAAC,SAAS;wBACV,OAAO,SAAS,KAAK,QAAQ;wBAC7B,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC;wBACtB,SAAS,CAAC,IAAI,KAAK,aAAa;wBAEhC,OAAO,MAAe,CAAA;oBACxB,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAU,CAAA;gBACtE,CAAC;gBAED,IACE,MAAM,KAAK,kCAAkC;oBAC7C,MAAM,KAAK,gCAAgC;oBAC3C,MAAM,KAAK,oCAAoC;oBAC/C,MAAM,KAAK,oBAAoB;oBAC/B,MAAM,KAAK,uBAAuB;oBAElC,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAU,CAAA;gBAEtE,IACE,MAAM,KAAK,4BAA4B;oBACvC,MAAM,KAAK,wBAAwB,EACnC,CAAC;oBACD,MAAM,UAAU,GAAI,MAAc,CAAC,CAAC,CAAoB,CAAA;oBACxD,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;oBAEvD,IAAI,WAAW,CAAC,SAAS,EAAE,IAAI,KAAK,UAAU;wBAC5C,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAU,CAAA;oBAItE,IAAI,WAAW,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;wBAE3C,IAAI,MAAM,KAAK,oBAAoB;4BACjC,OAAO,eAAe,CAAC,OAAO,CAC5B,EAAE,MAAM,EAAE,MAAM,EAAE,EAClB,OAAO,CACC,CAAA;wBAGZ,CAAC;4BAEC,MAAM,iBAAiB,GAAG,MAAM,eAAe,CAAC,OAAO,CACrD;gCACE,MAAM,EAAE,wBAAwB;gCAChC,MAAM,EAAE,CAAC,UAAU,CAAC;6BACrB,EACD,OAAO,CACR,CAAA;4BAGD,OAAO,iBAAiB,CAAC,OAAO,CAC9B,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,iBAAiB,CAAC,EAAE,EACvC,OAAO,CACC,CAAA;wBACZ,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,OAAO,CAAC,MAAM,iBAAiB,CAAC,OAAO,CACrC,EAAE,MAAM,EAAE,MAAM,EAAE,EAClB,OAAO,CACR,CAAU,CAAA;YACb,CAAC;YACD,IAAI,EAAE,SAAS,CAAC,IAAI;SACrB,CAAC,CAAA;QACF,OAAO,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAA;IACpD,CAAC,CAAA;AACH,CAAC;AAWD,SAAgB,YAAY,CAC1B,gBAA2B,EAC3B,cAAyB,EACzB,UAAoC;IAEpC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,UAAU,IAAI,EAAE,CAAA;IAEjD,OAAO,CAAC,MAAM,EAAE,EAAE;QAChB,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAClD,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;QAE9C,OAAO,IAAA,oCAAe,EAAC;YACrB,GAAG,EAAE,YAAY,CAAC,IAAI;YACtB,IAAI,EAAE,aAAa;YACnB,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO;gBACvC,IAAI,MAAM,KAAK,qBAAqB,EAAE,CAAC;oBACrC,MAAM,OAAO,GAAI,MAAyC,EAAE,CAAC,CAAC,CAAC,CAAA;oBAC/D,IACE,OAAO;wBACP,OAAO,OAAO,KAAK,QAAQ;wBAC3B,UAAU,IAAI,OAAO;wBACrB,OAAO,CAAC,QAAQ,KAAK,IAAI;wBAEzB,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAU,CAAA;gBACxE,CAAC;gBACD,IACE,MAAM,KAAK,4BAA4B;oBACvC,MAAM,KAAK,wBAAwB,EACnC,CAAC;oBACD,MAAM,UAAU,GAAI,MAAc,CAAC,CAAC,CAAoB,CAAA;oBACxD,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;oBAIvD,IAAI,WAAW,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;wBAE3C,IAAI,MAAM,KAAK,oBAAoB;4BACjC,OAAO,eAAe,CAAC,OAAO,CAC5B,EAAE,MAAM,EAAE,MAAM,EAAE,EAClB,OAAO,CACC,CAAA;wBAGZ,CAAC;4BAEC,MAAM,iBAAiB,GAAG,MAAM,eAAe,CAAC,OAAO,CACrD;gCACE,MAAM,EAAE,wBAAwB;gCAChC,MAAM,EAAE,CAAC,UAAU,CAAC;6BACrB,EACD,OAAO,CACR,CAAA;4BAGD,OAAO,iBAAiB,CAAC,OAAO,CAC9B,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,iBAAiB,CAAC,EAAE,EACvC,OAAO,CACC,CAAA;wBACZ,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC,MAAM,iBAAiB,CAAC,OAAO,CACrC,EAAE,MAAM,EAAE,MAAM,EAAE,EAClB,OAAO,CACR,CAAU,CAAA;YACb,CAAC;YACD,IAAI,EAAE,YAAY,CAAC,IAAI;SACxB,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC;AAoBD,SAAgB,qBAAqB,CACnC,SAAoB,EACpB,OAAyC;IAEzC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;IAE3B,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAA;IAEnE,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;QAE5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAA4B,CAAA;QAElD,OAAO;YACL,GAAG,CAAC;YACJ,KAAK,CAAC,OAAO,CAAC,IAAW;gBACvB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAErC,MAAM,MAAM,GAAG,IAAA,8BAAY,EAAC;oBAC1B,KAAK;oBACL,SAAS;iBACV,CAAC,CAAA;gBAEF,IAAI,OAAO,CAAC,MAAM,KAAK,kBAAkB,EAAE,CAAC;oBAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;oBACtC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;oBAC9C,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,GAAG,YAAY,IAAI,EAAE,CAAA;oBAElD,IAAI,CAAC,OAAO;wBAAE,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,CAAA;oBAC1D,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE;wBACrC,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,CAAA;oBAC9C,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;wBACjD,MAAM,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAA;oBAExC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAChD,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;wBAClD,IAAI,EAAE,IAAI,CAAC,IAAI;qBAChB,CAAC,CAAC,CAAA;oBAEH,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;wBAC7B,IAAI,CAAC,IAAI;4BACP,OAAO,IAAA,oCAAe,EAAC,MAAM,EAAE;gCAC7B,OAAO;gCACP,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gCACjC,KAAK;6BACN,CAAC,CAAA;wBAEJ,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,IAAA,4CAAmB,EAAC,MAAM,EAAE;4BAC5D,OAAO;4BACP,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;4BACjC,KAAK;yBACN,CAAC,CAAA;wBACF,OAAO,eAAe,CAAA;oBACxB,CAAC,CAAC,EAAE,CAAA;oBAEJ,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,cAAc,CAAC,CAAA;oBAErE,OAAO;wBACL,YAAY,EAAE,EAAE,IAAI,EAAE;wBACtB,EAAE;qBACH,CAAA;gBACH,CAAC;gBAED,IAAI,OAAO,CAAC,MAAM,KAAK,uBAAuB,EAAE,CAAC;oBAC/C,MAAM,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAA;oBACjC,IAAI,CAAC,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;oBAC1C,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACvC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;oBACvC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBAEd,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;oBACjC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;oBAErC,MAAM,OAAO,GAAG,MAAM,IAAA,gDAAqB,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC7D,OAAO;wBACL,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;wBACxB,EAAE;wBACF,QAAQ,EAAE,CAAC,OAAO,CAAC;wBACnB,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;wBAChD,OAAO,EAAE,OAAO;qBACjB,CAAA;gBACH,CAAC;gBAED,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACxB,CAAC;SACO,CAAA;IACZ,CAAC,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/WebAuthnP256.js b/node_modules/viem/_cjs/tempo/WebAuthnP256.js new file mode 100644 index 0000000000000000000000000000000000000000..8493172eb7de0089446b0227687307700c38a4d1 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/WebAuthnP256.js @@ -0,0 +1,58 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createCredential = createCredential; +exports.getCredential = getCredential; +const Bytes = require("ox/Bytes"); +const PublicKey = require("ox/PublicKey"); +const WebAuthnP256 = require("ox/WebAuthnP256"); +async function createCredential(parameters) { + const { createFn, label, rpId, userId } = parameters; + const credential = await WebAuthnP256.createCredential({ + ...parameters, + authenticatorSelection: { + ...parameters.authenticatorSelection, + requireResidentKey: true, + residentKey: 'required', + userVerification: 'required', + }, + createFn, + extensions: { + ...parameters.extensions, + credProps: true, + }, + rp: rpId + ? { + id: rpId, + name: rpId, + } + : undefined, + name: undefined, + user: { + displayName: label, + id: new Uint8Array(userId ?? Bytes.fromString(label)), + name: label, + }, + }); + return { + id: credential.id, + publicKey: PublicKey.toHex(credential.publicKey, { + includePrefix: false, + }), + raw: credential.raw, + }; +} +async function getCredential(parameters) { + const { metadata, raw, signature } = await WebAuthnP256.sign({ + ...parameters, + challenge: parameters.hash ?? '0x', + }); + const publicKey = await parameters.getPublicKey(raw); + return { + id: raw.id, + metadata, + publicKey, + raw, + signature, + }; +} +//# sourceMappingURL=WebAuthnP256.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/WebAuthnP256.js.map b/node_modules/viem/_cjs/tempo/WebAuthnP256.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d665a050dd11c1547a1f12f86042be5e8e3eb6ed --- /dev/null +++ b/node_modules/viem/_cjs/tempo/WebAuthnP256.js.map @@ -0,0 +1 @@ +{"version":3,"file":"WebAuthnP256.js","sourceRoot":"","sources":["../../tempo/WebAuthnP256.ts"],"names":[],"mappings":";;AAgCA,4CAqCC;AA+CD,sCAeC;AAnID,kCAAiC;AAEjC,0CAAyC;AACzC,gDAA+C;AA6BxC,KAAK,UAAU,gBAAgB,CACpC,UAAuC;IAEvC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IACpD,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAAC;QACrD,GAAG,UAAU;QACb,sBAAsB,EAAE;YACtB,GAAG,UAAU,CAAC,sBAAsB;YACpC,kBAAkB,EAAE,IAAI;YACxB,WAAW,EAAE,UAAU;YACvB,gBAAgB,EAAE,UAAU;SAC7B;QACD,QAAQ;QACR,UAAU,EAAE;YACV,GAAG,UAAU,CAAC,UAAU;YACxB,SAAS,EAAE,IAAI;SAChB;QACD,EAAE,EAAE,IAAI;YACN,CAAC,CAAC;gBACE,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,IAAI;aACX;YACH,CAAC,CAAC,SAAS;QACb,IAAI,EAAE,SAAkB;QACxB,IAAI,EAAE;YACJ,WAAW,EAAE,KAAK;YAClB,EAAE,EAAE,IAAI,UAAU,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACrD,IAAI,EAAE,KAAK;SACZ;KACF,CAAC,CAAA;IACF,OAAO;QACL,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE;YAC/C,aAAa,EAAE,KAAK;SACrB,CAAC;QACF,GAAG,EAAE,UAAU,CAAC,GAAG;KACpB,CAAA;AACH,CAAC;AA+CM,KAAK,UAAU,aAAa,CACjC,UAAoC;IAEpC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;QAC3D,GAAG,UAAU;QACb,SAAS,EAAE,UAAU,CAAC,IAAI,IAAI,IAAI;KACnC,CAAC,CAAA;IACF,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IACpD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,QAAQ;QACR,SAAS;QACT,GAAG;QACH,SAAS;KACV,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/WebCryptoP256.js b/node_modules/viem/_cjs/tempo/WebCryptoP256.js new file mode 100644 index 0000000000000000000000000000000000000000..670088de3f062161423bedd76ea96470ad05e90b --- /dev/null +++ b/node_modules/viem/_cjs/tempo/WebCryptoP256.js @@ -0,0 +1,6 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createKeyPair = void 0; +var WebCryptoP256_1 = require("ox/WebCryptoP256"); +Object.defineProperty(exports, "createKeyPair", { enumerable: true, get: function () { return WebCryptoP256_1.createKeyPair; } }); +//# sourceMappingURL=WebCryptoP256.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/WebCryptoP256.js.map b/node_modules/viem/_cjs/tempo/WebCryptoP256.js.map new file mode 100644 index 0000000000000000000000000000000000000000..bebd12cbf6a8f1522b2fd66cb4d3ff81eb53b117 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/WebCryptoP256.js.map @@ -0,0 +1 @@ +{"version":3,"file":"WebCryptoP256.js","sourceRoot":"","sources":["../../tempo/WebCryptoP256.ts"],"names":[],"mappings":";;;AACA,kDAAgD;AAAvC,8GAAA,aAAa,OAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Zone.js b/node_modules/viem/_cjs/tempo/Zone.js new file mode 100644 index 0000000000000000000000000000000000000000..91b4ba33ad36b898d520122dc35978ce4542f36e --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Zone.js @@ -0,0 +1,51 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.internalTestnet = exports.internal = exports.b = exports.a = void 0; +exports.from = from; +const defineChain_js_1 = require("../utils/chain/defineChain.js"); +const chainConfig_js_1 = require("./chainConfig.js"); +function from(config) { + const chain = { + ...chainConfig_js_1.chainConfig, + nativeCurrency: { + name: 'USD', + symbol: 'USD', + decimals: 6, + }, + rpcUrls: { default: { http: [] } }, + supportsTransactionReplacementDetection: false, + ...config, + }; + return (0, defineChain_js_1.defineChain)(chain); +} +exports.a = from({ + id: 4_217_000_006, + name: 'Zone A', + rpcUrls: { + default: { + http: ['https://rpc-zone-a.testnet.tempo.xyz'], + }, + }, + sourceId: 42_431, +}); +exports.b = from({ + id: 4_217_000_007, + name: 'Zone B', + rpcUrls: { + default: { + http: ['https://rpc-zone-b.testnet.tempo.xyz'], + }, + }, + sourceId: 42_431, +}); +exports.internal = from({ + id: 421_700_001, + name: 'Internal Zone', + sourceId: 4_217, +}); +exports.internalTestnet = from({ + id: 1_424_310_003, + name: 'Internal Testnet Zone', + sourceId: 42_431, +}); +//# sourceMappingURL=Zone.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/Zone.js.map b/node_modules/viem/_cjs/tempo/Zone.js.map new file mode 100644 index 0000000000000000000000000000000000000000..962c7af3986546a8c052ded029c9bf6c797e3682 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/Zone.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Zone.js","sourceRoot":"","sources":["../../tempo/Zone.ts"],"names":[],"mappings":";;;AA0BA,oBAaC;AArCD,kEAGsC;AACtC,qDAAgE;AAoBhE,SAAgB,IAAI,CAAC,MAAuB;IAC1C,MAAM,KAAK,GAAG;QACZ,GAAG,4BAAW;QACd,cAAc,EAAE;YACd,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,CAAC;SACZ;QACD,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAc,EAAE,EAAE;QAC9C,uCAAuC,EAAE,KAAK;QAC9C,GAAG,MAAM;KACV,CAAA;IACD,OAAO,IAAA,4BAAW,EAAC,KAAK,CAAC,CAAA;AAC3B,CAAC;AAcY,QAAA,CAAC,GAAiB,IAAI,CAAC;IAClC,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,sCAAsC,CAAC;SAC/C;KACF;IACD,QAAQ,EAAE,MAAM;CACjB,CAAC,CAAA;AAEW,QAAA,CAAC,GAAiB,IAAI,CAAC;IAClC,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,sCAAsC,CAAC;SAC/C;KACF;IACD,QAAQ,EAAE,MAAM;CACjB,CAAC,CAAA;AAEW,QAAA,QAAQ,GAAiB,IAAI,CAAC;IACzC,EAAE,EAAE,WAAW;IACf,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,KAAK;CAChB,CAAC,CAAA;AAEW,QAAA,eAAe,GAAiB,IAAI,CAAC;IAChD,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,uBAAuB;IAC7B,QAAQ,EAAE,MAAM;CACjB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/accessKey.js b/node_modules/viem/_cjs/tempo/actions/accessKey.js new file mode 100644 index 0000000000000000000000000000000000000000..a3973fad151b5f21bdd59f4757ce6ef038320241 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/accessKey.js @@ -0,0 +1,578 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.authorize = authorize; +exports.authorizeSync = authorizeSync; +exports.burnWitness = burnWitness; +exports.burnWitnessSync = burnWitnessSync; +exports.getMetadata = getMetadata; +exports.getRemainingLimit = getRemainingLimit; +exports.isAdmin = isAdmin; +exports.isWitnessBurned = isWitnessBurned; +exports.revoke = revoke; +exports.revokeSync = revokeSync; +exports.prepareAuthorization = prepareAuthorization; +exports.signAuthorization = signAuthorization; +exports.updateLimit = updateLimit; +exports.updateLimitSync = updateLimitSync; +exports.watchAdminAuthorized = watchAdminAuthorized; +exports.watchWitness = watchWitness; +exports.watchWitnessBurned = watchWitnessBurned; +exports.verifyHash = verifyHash; +const tempo_1 = require("ox/tempo"); +const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js"); +const readContract_js_1 = require("../../actions/public/readContract.js"); +const watchContractEvent_js_1 = require("../../actions/public/watchContractEvent.js"); +const sendTransaction_js_1 = require("../../actions/wallet/sendTransaction.js"); +const sendTransactionSync_js_1 = require("../../actions/wallet/sendTransactionSync.js"); +const writeContract_js_1 = require("../../actions/wallet/writeContract.js"); +const writeContractSync_js_1 = require("../../actions/wallet/writeContractSync.js"); +const parseEventLogs_js_1 = require("../../utils/abi/parseEventLogs.js"); +const isAddressEqual_js_1 = require("../../utils/address/isAddressEqual.js"); +const Abis = require("../Abis.js"); +const Account_js_1 = require("../Account.js"); +const Addresses = require("../Addresses.js"); +const Hardfork = require("../Hardfork.js"); +const utils_js_1 = require("../internal/utils.js"); +const multisig_js_1 = require("./multisig.js"); +const signatureTypes = { + 0: 'secp256k1', + 1: 'p256', + 2: 'webAuthn', +}; +const spendPolicies = { + true: 'limited', + false: 'unlimited', +}; +async function authorize(client, parameters) { + return authorize.inner(sendTransaction_js_1.sendTransaction, client, parameters); +} +(function (authorize) { + async function inner(action, client, parameters) { + const { accessKey, admin, chainId = client.chain?.id, expiry, limits, scopes, witness, ...rest } = parameters; + const account_ = rest.account ?? client.account; + if (!account_) + throw new Error('account is required.'); + if (!chainId) + throw new Error('chainId is required.'); + const keyAuthorization = await signAuthorization(client, { + account: account_, + accessKey, + chainId, + admin, + expiry, + limits, + scopes, + witness, + }); + return (await action(client, { + ...rest, + keyAuthorization, + })); + } + authorize.inner = inner; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.accountKeychain, + logs, + eventName: 'KeyAuthorized', + strict: true, + }); + if (!log) + throw new Error('`KeyAuthorized` event not found.'); + return log; + } + authorize.extractEvent = extractEvent; +})(authorize || (exports.authorize = authorize = {})); +async function authorizeSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await authorize.inner(sendTransactionSync_js_1.sendTransactionSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = authorize.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function burnWitness(client, parameters) { + return burnWitness.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (burnWitness) { + async function inner(action, client, parameters) { + const { witness, ...rest } = parameters; + const call = burnWitness.call({ witness }); + return (await action(client, { + ...rest, + ...call, + })); + } + burnWitness.inner = inner; + function call(args) { + const { witness } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.accountKeychain, + abi: Abis.accountKeychain, + functionName: 'burnKeyAuthorizationWitness', + args: [witness], + }); + } + burnWitness.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.accountKeychain, + logs, + eventName: 'KeyAuthorizationWitnessBurned', + strict: true, + }); + if (!log) + throw new Error('`KeyAuthorizationWitnessBurned` event not found.'); + return log; + } + burnWitness.extractEvent = extractEvent; +})(burnWitness || (exports.burnWitness = burnWitness = {})); +async function burnWitnessSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await burnWitness.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = burnWitness.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function getMetadata(client, parameters) { + const { account: account_ = client.account, accessKey, ...rest } = parameters; + if (!account_) + throw new Error('account is required.'); + const account = (0, parseAccount_js_1.parseAccount)(account_); + const result = await (0, readContract_js_1.readContract)(client, { + ...rest, + account: null, + ...getMetadata.call({ account: account.address, accessKey }), + }); + return { + address: result.keyId, + keyType: signatureTypes[result.signatureType] ?? + 'secp256k1', + expiry: result.expiry, + spendPolicy: spendPolicies[`${result.enforceLimits}`], + isRevoked: result.isRevoked, + }; +} +(function (getMetadata) { + function call(args) { + const { account, accessKey } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.accountKeychain, + abi: Abis.accountKeychain, + functionName: 'getKey', + args: [account, resolveAccessKeyAddress(accessKey)], + }); + } + getMetadata.call = call; +})(getMetadata || (exports.getMetadata = getMetadata = {})); +async function getRemainingLimit(client, parameters) { + const { account: account_ = client.account, accessKey, token, ...rest } = parameters; + if (!account_) + throw new Error('account is required.'); + const account = (0, parseAccount_js_1.parseAccount)(account_); + const hardfork = client.chain?.hardfork; + if (hardfork && Hardfork.lt(hardfork, 't3')) { + const remaining = await (0, readContract_js_1.readContract)(client, { + ...rest, + ...getRemainingLimit.call({ account: account.address, accessKey, token }), + }); + return { remaining, periodEnd: undefined }; + } + const [remaining, periodEnd] = await (0, readContract_js_1.readContract)(client, { + ...rest, + ...getRemainingLimit.callWithPeriod({ + account: account.address, + accessKey, + token, + }), + }); + return { remaining, periodEnd }; +} +(function (getRemainingLimit) { + function call(args) { + const { account, accessKey, token } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.accountKeychain, + abi: Abis.accountKeychain, + functionName: 'getRemainingLimit', + args: [account, resolveAccessKeyAddress(accessKey), token], + }); + } + getRemainingLimit.call = call; + function callWithPeriod(args) { + const { account, accessKey, token } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.accountKeychain, + abi: Abis.accountKeychain, + functionName: 'getRemainingLimitWithPeriod', + args: [account, resolveAccessKeyAddress(accessKey), token], + }); + } + getRemainingLimit.callWithPeriod = callWithPeriod; +})(getRemainingLimit || (exports.getRemainingLimit = getRemainingLimit = {})); +async function isAdmin(client, parameters) { + const { account: account_ = client.account, accessKey, ...rest } = parameters; + if (!account_) + throw new Error('account is required.'); + const account = (0, parseAccount_js_1.parseAccount)(account_); + return (0, readContract_js_1.readContract)(client, { + ...rest, + account: null, + ...isAdmin.call({ account: account.address, accessKey }), + }); +} +(function (isAdmin) { + function call(args) { + const { account, accessKey } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.accountKeychain, + abi: Abis.accountKeychain, + functionName: 'isAdminKey', + args: [account, resolveAccessKeyAddress(accessKey)], + }); + } + isAdmin.call = call; +})(isAdmin || (exports.isAdmin = isAdmin = {})); +async function isWitnessBurned(client, parameters) { + const { account: account_ = client.account, witness, ...rest } = parameters; + if (!account_) + throw new Error('account is required.'); + const account = (0, parseAccount_js_1.parseAccount)(account_); + return (0, readContract_js_1.readContract)(client, { + ...rest, + account: null, + ...isWitnessBurned.call({ account: account.address, witness }), + }); +} +(function (isWitnessBurned) { + function call(args) { + const { account, witness } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.accountKeychain, + abi: Abis.accountKeychain, + functionName: 'isKeyAuthorizationWitnessBurned', + args: [account, witness], + }); + } + isWitnessBurned.call = call; +})(isWitnessBurned || (exports.isWitnessBurned = isWitnessBurned = {})); +async function revoke(client, parameters) { + return revoke.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (revoke) { + async function inner(action, client, parameters) { + const { accessKey, ...rest } = parameters; + const call = revoke.call({ accessKey }); + return (await action(client, { + ...rest, + ...call, + })); + } + revoke.inner = inner; + function call(args) { + const { accessKey } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.accountKeychain, + abi: Abis.accountKeychain, + functionName: 'revokeKey', + args: [resolveAccessKeyAddress(accessKey)], + }); + } + revoke.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.accountKeychain, + logs, + eventName: 'KeyRevoked', + strict: true, + }); + if (!log) + throw new Error('`KeyRevoked` event not found.'); + return log; + } + revoke.extractEvent = extractEvent; +})(revoke || (exports.revoke = revoke = {})); +async function revokeSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await revoke.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = revoke.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function prepareAuthorization(client, parameters) { + const { chainId = client.chain?.id } = parameters; + const account_ = parameters.account ?? client.account; + if (!account_) + throw new Error('account is required.'); + if (!chainId) + throw new Error('chainId is required.'); + const parsed = (0, parseAccount_js_1.parseAccount)(account_); + const multisigState = await (async () => { + if ('multisig' in parameters) + return parameters.multisig; + if (parsed.source !== 'multisig') + return undefined; + const account = parsed; + if (!account.config) + throw new Error('A multisig config is required to prepare a key authorization.'); + return { config: account.config }; + })(); + const authorizationSignPayload = (0, Account_js_1.getKeyAuthorizationSignPayload)(parsed, { + ...parameters, + chainId: BigInt(chainId), + key: parameters.accessKey, + }); + const signPayload = parsed.source === 'multisig' && multisigState + ? tempo_1.MultisigConfig.getSignPayload({ + account: parsed.address, + config: multisigState.config, + payload: authorizationSignPayload, + }) + : authorizationSignPayload; + return { + ...parameters, + account: parsed, + chainId, + multisig: multisigState, + signPayload, + }; +} +async function signAuthorization(client, parameters) { + const coordinated = ('hash' in parameters && parameters.hash) || + ('owner' in parameters && parameters.owner); + if (coordinated) { + const parameters_ = parameters; + const owner_ = parameters_.owner; + if (!owner_ || typeof owner_ === 'string') + throw new Error('A local owner account is required to approve a multisig key authorization.'); + const owner = (0, parseAccount_js_1.parseAccount)(owner_); + const sign = owner.sign; + if (!sign) + throw new Error('A local owner account is required to approve a multisig key authorization.'); + const request = await (async () => { + if ('hash' in parameters_ && parameters_.hash) { + const signature = tempo_1.SignatureEnvelope.serialize(tempo_1.SignatureEnvelope.from(await sign({ hash: parameters_.hash }))); + return { hash: parameters_.hash, signature }; + } + const { account: account_, owner: _, ...authorization } = parameters_; + const address = typeof account_ === 'string' ? account_ : account_.address; + const config = await (async () => { + if (typeof account_ !== 'string' && account_.config) + return account_.config; + const config = await (0, multisig_js_1.getConfig)(client, { address }); + if (config) + return config; + throw new Error(`No current multisig config is cached for account ${address}. Provide the current config.`); + })(); + const account = (() => { + if (config.version !== 0n) + return (0, Account_js_1.fromMultisig)({ address, ...config }); + const { version: _, ...initialConfig } = config; + return (0, Account_js_1.fromMultisig)({ address: 'infer', ...initialConfig }); + })(); + if (!(0, isAddressEqual_js_1.isAddressEqual)(account.address, address)) + throw new Error('Initial multisig config does not match the account.'); + const prepared = await prepareAuthorization(client, { + ...authorization, + account, + }); + const signature = tempo_1.SignatureEnvelope.serialize(tempo_1.SignatureEnvelope.from(await sign({ hash: prepared.signPayload }))); + const { accessKey, admin, chainId, expiry, limits, scopes, witness } = prepared; + const { accessKeyAddress, keyType: type } = (0, Account_js_1.resolveAccessKey)(accessKey); + const keyAuthorization = tempo_1.KeyAuthorization.from({ + account: account.address, + address: accessKeyAddress, + chainId: BigInt(chainId), + signature: tempo_1.SignatureEnvelope.from({ + account: account.address, + config, + signatures: [tempo_1.SignatureEnvelope.from(signature)], + }), + type, + ...(witness ? { witness } : {}), + ...(admin ? { isAdmin: true } : { expiry, limits, scopes }), + }); + return { keyAuthorization: tempo_1.KeyAuthorization.toRpc(keyAuthorization) }; + })(); + const operation = await client.request({ + method: 'multisig_approveKeyAuthorization', + params: [request], + }); + const multisig = tempo_1.MultisigOperation.fromRpc(operation); + const keyAuthorization = tempo_1.KeyAuthorization.deserialize(await (async () => { + if (multisig.status === 'success') + return multisig.keyAuthorization; + const approvals = await tempo_1.MultisigOperation.selectApprovals({ + account: multisig.account, + approvals: multisig.approvals, + config: multisig.config, + hash: multisig.hash, + }); + return tempo_1.MultisigOperation.serializeKeyAuthorization(multisig.keyAuthorization, { + account: multisig.account, + approvals: approvals.selectedApprovals.length > 0 + ? approvals.selectedApprovals + : approvals.approvals.slice(0, 1), + config: multisig.config, + }); + })()); + if (!keyAuthorization.signature) + throw new Error('Expected a signed multisig key authorization.'); + return { + ...keyAuthorization, + hash: multisig.hash, + multisig, + status: multisig.status, + }; + } + const prepared = ('signPayload' in parameters + ? parameters + : await prepareAuthorization(client, parameters)); + const { accessKey, account: account_, chainId, multisig: multisigState, signPayload: _, ...rest } = prepared; + return (0, Account_js_1.signKeyAuthorization)(account_, { + chainId: BigInt(chainId), + key: accessKey, + multisig: multisigState, + ...rest, + }); +} +async function updateLimit(client, parameters) { + return updateLimit.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (updateLimit) { + async function inner(action, client, parameters) { + const { accessKey, token, limit, ...rest } = parameters; + const call = updateLimit.call({ accessKey, token, limit }); + return (await action(client, { + ...rest, + ...call, + })); + } + updateLimit.inner = inner; + function call(args) { + const { accessKey, token, limit } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.accountKeychain, + abi: Abis.accountKeychain, + functionName: 'updateSpendingLimit', + args: [resolveAccessKeyAddress(accessKey), token, limit], + }); + } + updateLimit.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.accountKeychain, + logs, + eventName: 'SpendingLimitUpdated', + strict: true, + }); + if (!log) + throw new Error('`SpendingLimitUpdated` event not found.'); + return log; + } + updateLimit.extractEvent = extractEvent; +})(updateLimit || (exports.updateLimit = updateLimit = {})); +async function updateLimitSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await updateLimit.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = updateLimit.extractEvent(receipt.logs); + return { + account: args.account, + publicKey: args.publicKey, + token: args.token, + limit: args.newLimit, + receipt, + }; +} +function watchAdminAuthorized(client, parameters) { + const { onAuthorized, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.accountKeychain, + abi: Abis.accountKeychain, + eventName: 'AdminKeyAuthorized', + onLogs: (logs) => { + for (const log of logs) + onAuthorized(log.args, log); + }, + strict: true, + }); +} +function watchWitness(client, parameters) { + const { onWitness, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.accountKeychain, + abi: Abis.accountKeychain, + eventName: 'KeyAuthorizationWitness', + onLogs: (logs) => { + for (const log of logs) + onWitness(log.args, log); + }, + strict: true, + }); +} +function watchWitnessBurned(client, parameters) { + const { onBurned, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.accountKeychain, + abi: Abis.accountKeychain, + eventName: 'KeyAuthorizationWitnessBurned', + onLogs: (logs) => { + for (const log of logs) + onBurned(log.args, log); + }, + strict: true, + }); +} +async function verifyHash(client, parameters) { + const { account, admin, hash, signature, ...rest } = parameters; + return (0, readContract_js_1.readContract)(client, { + ...rest, + ...verifyHash.call({ account, admin, hash, signature }), + }); +} +(function (verifyHash) { + function call(args) { + const { account, admin = true, hash, signature } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.signatureVerifier, + abi: Abis.signatureVerifier, + functionName: admin ? 'verifyKeychainAdmin' : 'verifyKeychain', + args: [account, hash, signature], + }); + } + verifyHash.call = call; +})(verifyHash || (exports.verifyHash = verifyHash = {})); +function resolveAccessKeyAddress(accessKey) { + if (typeof accessKey === 'string') + return accessKey; + return accessKey.accessKeyAddress; +} +//# sourceMappingURL=accessKey.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/accessKey.js.map b/node_modules/viem/_cjs/tempo/actions/accessKey.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6fa58e0e798251dd76dd65890a29eb7b21267db3 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/accessKey.js.map @@ -0,0 +1 @@ +{"version":3,"file":"accessKey.js","sourceRoot":"","sources":["../../../tempo/actions/accessKey.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/amm.js b/node_modules/viem/_cjs/tempo/actions/amm.js new file mode 100644 index 0000000000000000000000000000000000000000..a25d47984d021b8ad75f5a1149222f6d58b721db --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/amm.js @@ -0,0 +1,330 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getPool = getPool; +exports.getLiquidityBalance = getLiquidityBalance; +exports.rebalanceSwap = rebalanceSwap; +exports.rebalanceSwapSync = rebalanceSwapSync; +exports.mint = mint; +exports.mintSync = mintSync; +exports.burn = burn; +exports.burnSync = burnSync; +exports.watchRebalanceSwap = watchRebalanceSwap; +exports.watchMint = watchMint; +exports.watchBurn = watchBurn; +const tempo_1 = require("ox/tempo"); +const multicall_js_1 = require("../../actions/public/multicall.js"); +const readContract_js_1 = require("../../actions/public/readContract.js"); +const watchContractEvent_js_1 = require("../../actions/public/watchContractEvent.js"); +const writeContract_js_1 = require("../../actions/wallet/writeContract.js"); +const writeContractSync_js_1 = require("../../actions/wallet/writeContractSync.js"); +const parseEventLogs_js_1 = require("../../utils/abi/parseEventLogs.js"); +const Abis = require("../Abis.js"); +const Addresses = require("../Addresses.js"); +const utils_js_1 = require("../internal/utils.js"); +async function getPool(client, parameters) { + const { userToken, validatorToken, ...rest } = parameters; + const [pool, totalSupply] = await (0, multicall_js_1.multicall)(client, { + ...rest, + contracts: getPool.calls({ userToken, validatorToken }), + allowFailure: false, + deployless: true, + }); + return { + reserveUserToken: pool.reserveUserToken, + reserveValidatorToken: pool.reserveValidatorToken, + totalSupply, + }; +} +(function (getPool) { + function calls(args) { + const { userToken, validatorToken } = args; + return [ + (0, utils_js_1.defineCall)({ + address: Addresses.feeManager, + abi: Abis.feeAmm, + args: [tempo_1.TokenId.toAddress(userToken), tempo_1.TokenId.toAddress(validatorToken)], + functionName: 'getPool', + }), + (0, utils_js_1.defineCall)({ + address: Addresses.feeManager, + abi: Abis.feeAmm, + args: [tempo_1.PoolId.from({ userToken, validatorToken })], + functionName: 'totalSupply', + }), + ]; + } + getPool.calls = calls; +})(getPool || (exports.getPool = getPool = {})); +async function getLiquidityBalance(client, parameters) { + const { address, poolId, userToken, validatorToken, ...rest } = parameters; + return (0, readContract_js_1.readContract)(client, { + ...rest, + ...getLiquidityBalance.call({ + address, + poolId, + userToken, + validatorToken, + }), + }); +} +(function (getLiquidityBalance) { + function call(args) { + const { address } = args; + const poolId = (() => { + if ('poolId' in args && args.poolId) + return args.poolId; + if ('userToken' in args && 'validatorToken' in args) + return tempo_1.PoolId.from({ + userToken: args.userToken, + validatorToken: args.validatorToken, + }); + throw new Error('`poolId`, or `userToken` and `validatorToken` must be provided.'); + })(); + return (0, utils_js_1.defineCall)({ + address: Addresses.feeManager, + abi: Abis.feeAmm, + args: [poolId, address], + functionName: 'liquidityBalances', + }); + } + getLiquidityBalance.call = call; +})(getLiquidityBalance || (exports.getLiquidityBalance = getLiquidityBalance = {})); +async function rebalanceSwap(client, parameters) { + return rebalanceSwap.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (rebalanceSwap) { + async function inner(action, client, parameters) { + const { userToken, validatorToken, amountOut, to, ...rest } = parameters; + const call = rebalanceSwap.call({ + userToken, + validatorToken, + amountOut, + to, + }); + return (await action(client, { + ...rest, + ...call, + })); + } + rebalanceSwap.inner = inner; + function call(args) { + const { userToken, validatorToken, amountOut, to } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.feeManager, + abi: Abis.feeAmm, + functionName: 'rebalanceSwap', + args: [ + tempo_1.TokenId.toAddress(userToken), + tempo_1.TokenId.toAddress(validatorToken), + amountOut, + to, + ], + }); + } + rebalanceSwap.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.feeAmm, + logs, + eventName: 'RebalanceSwap', + strict: true, + }); + if (!log) + throw new Error('`RebalanceSwap` event not found.'); + return log; + } + rebalanceSwap.extractEvent = extractEvent; +})(rebalanceSwap || (exports.rebalanceSwap = rebalanceSwap = {})); +async function rebalanceSwapSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await rebalanceSwap.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = rebalanceSwap.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function mint(client, parameters) { + return mint.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (mint) { + async function inner(action, client, parameters) { + const { to, userTokenAddress, validatorTokenAddress, validatorTokenAmount, ...rest } = parameters; + const call = mint.call({ + to, + userTokenAddress, + validatorTokenAddress, + validatorTokenAmount, + }); + return (await action(client, { + ...rest, + ...call, + })); + } + mint.inner = inner; + function call(args) { + const { to, userTokenAddress, validatorTokenAddress, validatorTokenAmount, } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.feeManager, + abi: Abis.feeAmm, + functionName: 'mint', + args: [ + tempo_1.TokenId.toAddress(userTokenAddress), + tempo_1.TokenId.toAddress(validatorTokenAddress), + validatorTokenAmount, + to, + ], + }); + } + mint.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.feeAmm, + logs, + eventName: 'Mint', + strict: true, + }); + if (!log) + throw new Error('`Mint` event not found.'); + return log; + } + mint.extractEvent = extractEvent; +})(mint || (exports.mint = mint = {})); +async function mintSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await mint.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = mint.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function burn(client, parameters) { + return burn.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (burn) { + async function inner(action, client, parameters) { + const { liquidity, to, userToken, validatorToken, ...rest } = parameters; + const call = burn.call({ liquidity, to, userToken, validatorToken }); + return (await action(client, { + ...rest, + ...call, + })); + } + burn.inner = inner; + function call(args) { + const { liquidity, to, userToken, validatorToken } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.feeManager, + abi: Abis.feeAmm, + functionName: 'burn', + args: [ + tempo_1.TokenId.toAddress(userToken), + tempo_1.TokenId.toAddress(validatorToken), + liquidity, + to, + ], + }); + } + burn.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.feeAmm, + logs, + eventName: 'Burn', + strict: true, + }); + if (!log) + throw new Error('`Burn` event not found.'); + return log; + } + burn.extractEvent = extractEvent; +})(burn || (exports.burn = burn = {})); +async function burnSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await burn.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = burn.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +function watchRebalanceSwap(client, parameters) { + const { onRebalanceSwap, userToken, validatorToken, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.feeManager, + abi: Abis.feeAmm, + eventName: 'RebalanceSwap', + args: userToken !== undefined && validatorToken !== undefined + ? { + userToken: tempo_1.TokenId.toAddress(userToken), + validatorToken: tempo_1.TokenId.toAddress(validatorToken), + } + : undefined, + onLogs: (logs) => { + for (const log of logs) + onRebalanceSwap(log.args, log); + }, + strict: true, + }); +} +function watchMint(client, parameters) { + const { onMint, to, userToken, validatorToken, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.feeManager, + abi: Abis.feeAmm, + eventName: 'Mint', + args: { + to, + ...(userToken !== undefined && { + userToken: tempo_1.TokenId.toAddress(userToken), + }), + ...(validatorToken !== undefined && { + validatorToken: tempo_1.TokenId.toAddress(validatorToken), + }), + }, + onLogs: (logs) => { + for (const log of logs) + onMint(log.args, log); + }, + strict: true, + }); +} +function watchBurn(client, parameters) { + const { onBurn, userToken, validatorToken, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.feeManager, + abi: Abis.feeAmm, + eventName: 'Burn', + args: userToken !== undefined && validatorToken !== undefined + ? { + userToken: tempo_1.TokenId.toAddress(userToken), + validatorToken: tempo_1.TokenId.toAddress(validatorToken), + } + : undefined, + onLogs: (logs) => { + for (const log of logs) + onBurn(log.args, log); + }, + strict: true, + }); +} +//# sourceMappingURL=amm.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/amm.js.map b/node_modules/viem/_cjs/tempo/actions/amm.js.map new file mode 100644 index 0000000000000000000000000000000000000000..651fac4ec2402067492902891842de5b62d7d820 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/amm.js.map @@ -0,0 +1 @@ +{"version":3,"file":"amm.js","sourceRoot":"","sources":["../../../tempo/actions/amm.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/channel.js b/node_modules/viem/_cjs/tempo/actions/channel.js new file mode 100644 index 0000000000000000000000000000000000000000..34db47ba347f764f9aab5c87f435d88a5e9aa994 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/channel.js @@ -0,0 +1,389 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.close = close; +exports.closeSync = closeSync; +exports.getStates = getStates; +exports.open = open; +exports.openSync = openSync; +exports.requestClose = requestClose; +exports.requestCloseSync = requestCloseSync; +exports.settle = settle; +exports.settleSync = settleSync; +exports.signVoucher = signVoucher; +exports.topUp = topUp; +exports.topUpSync = topUpSync; +exports.withdraw = withdraw; +exports.withdrawSync = withdrawSync; +const Address = require("ox/Address"); +const Hex = require("ox/Hex"); +const tempo_1 = require("ox/tempo"); +const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js"); +const readContract_js_1 = require("../../actions/public/readContract.js"); +const writeContract_js_1 = require("../../actions/wallet/writeContract.js"); +const writeContractSync_js_1 = require("../../actions/wallet/writeContractSync.js"); +const address_js_1 = require("../../constants/address.js"); +const parseEventLogs_js_1 = require("../../utils/abi/parseEventLogs.js"); +const Abis = require("../Abis.js"); +const Account_js_1 = require("../Account.js"); +const utils_js_1 = require("../internal/utils.js"); +async function close(client, parameters) { + return close.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (close) { + async function inner(action, client, parameters) { + const { captureAmount, cumulativeAmount, channel, signature, ...rest } = parameters; + return (await action(client, { + ...rest, + ...close.call({ + captureAmount, + cumulativeAmount, + channel, + signature, + }), + })); + } + close.inner = inner; + function call(args) { + const { captureAmount, cumulativeAmount, channel, signature } = args; + return (0, utils_js_1.defineCall)({ + address: tempo_1.Channel.address, + abi: Abis.tip20ChannelReserve, + functionName: 'close', + args: [ + tempo_1.Channel.from(channel), + cumulativeAmount, + captureAmount, + signature, + ], + }); + } + close.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20ChannelReserve, + logs, + eventName: 'ChannelClosed', + strict: true, + }); + if (!log) + throw new Error('`ChannelClosed` event not found.'); + return log; + } + close.extractEvent = extractEvent; +})(close || (exports.close = close = {})); +async function closeSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await close.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = close.extractEvent(receipt.logs); + return { ...args, receipt }; +} +async function getStates(client, parameters) { + const chainId = client.chain?.id; + const { channel, ...rest } = parameters; + return (0, readContract_js_1.readContract)(client, { + ...rest, + ...getStates.call({ channel, chainId }), + }); +} +(function (getStates) { + function call(args) { + const { channel, chainId } = args; + if (Array.isArray(channel)) { + const channelIds = channel.map((channel) => { + if (typeof channel === 'string') + return channel; + if (chainId === undefined) + throw new Error('`chainId` is required for channel inputs.'); + return tempo_1.Channel.computeId(channel, { chainId }); + }); + return (0, utils_js_1.defineCall)({ + address: tempo_1.Channel.address, + abi: Abis.tip20ChannelReserve, + args: [channelIds], + functionName: 'getChannelStatesBatch', + }); + } + const channel_ = channel; + if (typeof channel_ === 'string') + return (0, utils_js_1.defineCall)({ + address: tempo_1.Channel.address, + abi: Abis.tip20ChannelReserve, + args: [channel_], + functionName: 'getChannelState', + }); + if (chainId === undefined) + throw new Error('`chainId` is required for channel inputs.'); + return (0, utils_js_1.defineCall)({ + address: tempo_1.Channel.address, + abi: Abis.tip20ChannelReserve, + args: [tempo_1.Channel.computeId(channel_, { chainId })], + functionName: 'getChannelState', + }); + } + getStates.call = call; +})(getStates || (exports.getStates = getStates = {})); +async function open(client, parameters) { + return open.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (open) { + async function inner(action, client, parameters) { + const { authorizedSigner, deposit, operator, payee, salt, token, ...rest } = parameters; + return (await action(client, { + ...rest, + ...open.call({ + authorizedSigner, + deposit, + operator, + payee, + salt, + token, + }), + })); + } + open.inner = inner; + function call(args) { + const { authorizedSigner = address_js_1.zeroAddress, deposit, operator = address_js_1.zeroAddress, payee, salt = Hex.random(32), token, } = args; + return (0, utils_js_1.defineCall)({ + address: tempo_1.Channel.address, + abi: Abis.tip20ChannelReserve, + functionName: 'open', + args: [ + Address.from(payee), + Address.from(operator), + tempo_1.TokenId.toAddress(token), + deposit, + salt, + Address.from(authorizedSigner), + ], + }); + } + open.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20ChannelReserve, + logs, + eventName: 'ChannelOpened', + strict: true, + }); + if (!log) + throw new Error('`ChannelOpened` event not found.'); + return log; + } + open.extractEvent = extractEvent; +})(open || (exports.open = open = {})); +async function openSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await open.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = open.extractEvent(receipt.logs); + return { ...args, receipt }; +} +async function requestClose(client, parameters) { + return requestClose.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (requestClose) { + async function inner(action, client, parameters) { + const { channel, ...rest } = parameters; + return (await action(client, { + ...rest, + ...requestClose.call({ channel }), + })); + } + requestClose.inner = inner; + function call(args) { + const { channel } = args; + return (0, utils_js_1.defineCall)({ + address: tempo_1.Channel.address, + abi: Abis.tip20ChannelReserve, + functionName: 'requestClose', + args: [tempo_1.Channel.from(channel)], + }); + } + requestClose.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20ChannelReserve, + logs, + eventName: 'CloseRequested', + strict: true, + }); + if (!log) + throw new Error('`CloseRequested` event not found.'); + return log; + } + requestClose.extractEvent = extractEvent; +})(requestClose || (exports.requestClose = requestClose = {})); +async function requestCloseSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await requestClose.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = requestClose.extractEvent(receipt.logs); + return { ...args, receipt }; +} +async function settle(client, parameters) { + return settle.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (settle) { + async function inner(action, client, parameters) { + const { cumulativeAmount, channel, signature, ...rest } = parameters; + return (await action(client, { + ...rest, + ...settle.call({ cumulativeAmount, channel, signature }), + })); + } + settle.inner = inner; + function call(args) { + const { cumulativeAmount, channel, signature } = args; + return (0, utils_js_1.defineCall)({ + address: tempo_1.Channel.address, + abi: Abis.tip20ChannelReserve, + functionName: 'settle', + args: [tempo_1.Channel.from(channel), cumulativeAmount, signature], + }); + } + settle.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20ChannelReserve, + logs, + eventName: 'Settled', + strict: true, + }); + if (!log) + throw new Error('`Settled` event not found.'); + return log; + } + settle.extractEvent = extractEvent; +})(settle || (exports.settle = settle = {})); +async function settleSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await settle.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = settle.extractEvent(receipt.logs); + return { ...args, receipt }; +} +async function signVoucher(client, parameters) { + const { account: account_ = client.account, chainId = client.chain?.id, channel, cumulativeAmount, } = parameters; + if (!account_) + throw new Error('account is required.'); + if (chainId === undefined) + throw new Error('chainId is required.'); + const parsed = (0, parseAccount_js_1.parseAccount)(account_); + if (!('sign' in parsed) || !parsed.sign) + throw new Error('account.sign is required.'); + return (0, Account_js_1.signVoucher)(parsed, { + chainId, + channel, + cumulativeAmount, + }); +} +async function topUp(client, parameters) { + return topUp.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (topUp) { + async function inner(action, client, parameters) { + const { additionalDeposit, channel, ...rest } = parameters; + return (await action(client, { + ...rest, + ...topUp.call({ additionalDeposit, channel }), + })); + } + topUp.inner = inner; + function call(args) { + const { additionalDeposit, channel } = args; + return (0, utils_js_1.defineCall)({ + address: tempo_1.Channel.address, + abi: Abis.tip20ChannelReserve, + functionName: 'topUp', + args: [tempo_1.Channel.from(channel), additionalDeposit], + }); + } + topUp.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20ChannelReserve, + logs, + eventName: 'TopUp', + strict: true, + }); + if (!log) + throw new Error('`TopUp` event not found.'); + return log; + } + topUp.extractEvent = extractEvent; +})(topUp || (exports.topUp = topUp = {})); +async function topUpSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await topUp.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = topUp.extractEvent(receipt.logs); + return { ...args, receipt }; +} +async function withdraw(client, parameters) { + return withdraw.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (withdraw) { + async function inner(action, client, parameters) { + const { channel, ...rest } = parameters; + return (await action(client, { + ...rest, + ...withdraw.call({ channel }), + })); + } + withdraw.inner = inner; + function call(args) { + const { channel } = args; + return (0, utils_js_1.defineCall)({ + address: tempo_1.Channel.address, + abi: Abis.tip20ChannelReserve, + functionName: 'withdraw', + args: [tempo_1.Channel.from(channel)], + }); + } + withdraw.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20ChannelReserve, + logs, + eventName: 'ChannelClosed', + strict: true, + }); + if (!log) + throw new Error('`ChannelClosed` event not found.'); + return log; + } + withdraw.extractEvent = extractEvent; +})(withdraw || (exports.withdraw = withdraw = {})); +async function withdrawSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await withdraw.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = withdraw.extractEvent(receipt.logs); + return { ...args, receipt }; +} +//# sourceMappingURL=channel.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/channel.js.map b/node_modules/viem/_cjs/tempo/actions/channel.js.map new file mode 100644 index 0000000000000000000000000000000000000000..0f2ab8cb3cbe2523fea9c745ea818a8395c6baf4 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/channel.js.map @@ -0,0 +1 @@ +{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../../tempo/actions/channel.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/dex.js b/node_modules/viem/_cjs/tempo/actions/dex.js new file mode 100644 index 0000000000000000000000000000000000000000..ceb0c3d14e6e2b5604eecf068a12aaaec577960d --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/dex.js @@ -0,0 +1,583 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.buy = buy; +exports.buySync = buySync; +exports.cancel = cancel; +exports.cancelSync = cancelSync; +exports.cancelStale = cancelStale; +exports.cancelStaleSync = cancelStaleSync; +exports.createPair = createPair; +exports.createPairSync = createPairSync; +exports.getBalance = getBalance; +exports.getBuyQuote = getBuyQuote; +exports.getOrder = getOrder; +exports.getOrderbook = getOrderbook; +exports.getTickLevel = getTickLevel; +exports.getSellQuote = getSellQuote; +exports.place = place; +exports.placeFlip = placeFlip; +exports.placeFlipSync = placeFlipSync; +exports.placeSync = placeSync; +exports.sell = sell; +exports.sellSync = sellSync; +exports.watchFlipOrderPlaced = watchFlipOrderPlaced; +exports.watchOrderCancelled = watchOrderCancelled; +exports.watchOrderFilled = watchOrderFilled; +exports.watchOrderPlaced = watchOrderPlaced; +exports.withdraw = withdraw; +exports.withdrawSync = withdrawSync; +const Hash = require("ox/Hash"); +const Hex = require("ox/Hex"); +const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js"); +const readContract_js_1 = require("../../actions/public/readContract.js"); +const watchContractEvent_js_1 = require("../../actions/public/watchContractEvent.js"); +const writeContract_js_1 = require("../../actions/wallet/writeContract.js"); +const writeContractSync_js_1 = require("../../actions/wallet/writeContractSync.js"); +const parseEventLogs_js_1 = require("../../utils/abi/parseEventLogs.js"); +const Abis = require("../Abis.js"); +const Addresses = require("../Addresses.js"); +const utils_js_1 = require("../internal/utils.js"); +async function buy(client, parameters) { + return buy.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (buy) { + async function inner(action, client, parameters) { + const { tokenIn, tokenOut, amountOut, maxAmountIn, ...rest } = parameters; + const call = buy.call({ tokenIn, tokenOut, amountOut, maxAmountIn }); + return (await action(client, { + ...rest, + ...call, + })); + } + buy.inner = inner; + function call(args) { + const { tokenIn, tokenOut, amountOut, maxAmountIn } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.stablecoinDex, + abi: Abis.stablecoinDex, + functionName: 'swapExactAmountOut', + args: [tokenIn, tokenOut, amountOut, maxAmountIn], + }); + } + buy.call = call; +})(buy || (exports.buy = buy = {})); +async function buySync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await buy.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + return { receipt }; +} +async function cancel(client, parameters) { + return cancel.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (cancel) { + async function inner(action, client, parameters) { + const { orderId, ...rest } = parameters; + const call = cancel.call({ orderId }); + return (await action(client, { + ...rest, + ...call, + })); + } + cancel.inner = inner; + function call(args) { + const { orderId } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.stablecoinDex, + abi: Abis.stablecoinDex, + functionName: 'cancel', + args: [orderId], + }); + } + cancel.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.stablecoinDex, + logs, + eventName: 'OrderCancelled', + strict: true, + }); + if (!log) + throw new Error('`OrderCancelled` event not found.'); + return log; + } + cancel.extractEvent = extractEvent; +})(cancel || (exports.cancel = cancel = {})); +async function cancelSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await cancel.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = cancel.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function cancelStale(client, parameters) { + return cancelStale.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (cancelStale) { + async function inner(action, client, parameters) { + const { orderId, ...rest } = parameters; + const call = cancelStale.call({ orderId }); + return (await action(client, { + ...rest, + ...call, + })); + } + cancelStale.inner = inner; + function call(args) { + const { orderId } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.stablecoinDex, + abi: Abis.stablecoinDex, + functionName: 'cancelStaleOrder', + args: [orderId], + }); + } + cancelStale.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.stablecoinDex, + logs, + eventName: 'OrderCancelled', + strict: true, + }); + if (!log) + throw new Error('`OrderCancelled` event not found.'); + return log; + } + cancelStale.extractEvent = extractEvent; +})(cancelStale || (exports.cancelStale = cancelStale = {})); +async function cancelStaleSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await cancelStale.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = cancelStale.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function createPair(client, parameters) { + return createPair.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (createPair) { + async function inner(action, client, parameters) { + const { base, ...rest } = parameters; + const call = createPair.call({ base }); + return (await action(client, { + ...rest, + ...call, + })); + } + createPair.inner = inner; + function call(args) { + const { base } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.stablecoinDex, + abi: Abis.stablecoinDex, + functionName: 'createPair', + args: [base], + }); + } + createPair.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.stablecoinDex, + logs, + eventName: 'PairCreated', + strict: true, + }); + if (!log) + throw new Error('`PairCreated` event not found.'); + return log; + } + createPair.extractEvent = extractEvent; +})(createPair || (exports.createPair = createPair = {})); +async function createPairSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await createPair.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = createPair.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function getBalance(client, parameters) { + const { account: acc = client.account, token, ...rest } = parameters; + const address = acc ? (0, parseAccount_js_1.parseAccount)(acc).address : undefined; + if (!address) + throw new Error('account is required.'); + return (0, readContract_js_1.readContract)(client, { + ...rest, + ...getBalance.call({ account: address, token }), + }); +} +(function (getBalance) { + function call(args) { + const { account, token } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.stablecoinDex, + abi: Abis.stablecoinDex, + args: [account, token], + functionName: 'balanceOf', + }); + } + getBalance.call = call; +})(getBalance || (exports.getBalance = getBalance = {})); +async function getBuyQuote(client, parameters) { + const { tokenIn, tokenOut, amountOut, ...rest } = parameters; + return (0, readContract_js_1.readContract)(client, { + ...rest, + ...getBuyQuote.call({ tokenIn, tokenOut, amountOut }), + }); +} +(function (getBuyQuote) { + function call(args) { + const { tokenIn, tokenOut, amountOut } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.stablecoinDex, + abi: Abis.stablecoinDex, + args: [tokenIn, tokenOut, amountOut], + functionName: 'quoteSwapExactAmountOut', + }); + } + getBuyQuote.call = call; +})(getBuyQuote || (exports.getBuyQuote = getBuyQuote = {})); +async function getOrder(client, parameters) { + const { orderId, ...rest } = parameters; + return (0, readContract_js_1.readContract)(client, { + ...rest, + ...getOrder.call({ orderId }), + }); +} +(function (getOrder) { + function call(args) { + const { orderId } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.stablecoinDex, + abi: Abis.stablecoinDex, + args: [orderId], + functionName: 'getOrder', + }); + } + getOrder.call = call; +})(getOrder || (exports.getOrder = getOrder = {})); +async function getOrderbook(client, parameters) { + const { base, quote, ...rest } = parameters; + return (0, readContract_js_1.readContract)(client, { + ...rest, + ...getOrderbook.call({ base, quote }), + }); +} +(function (getOrderbook) { + function call(args) { + const { base, quote } = args; + const pairKey = getPairKey(base, quote); + return (0, utils_js_1.defineCall)({ + address: Addresses.stablecoinDex, + abi: Abis.stablecoinDex, + args: [pairKey], + functionName: 'books', + }); + } + getOrderbook.call = call; +})(getOrderbook || (exports.getOrderbook = getOrderbook = {})); +async function getTickLevel(client, parameters) { + const { base, tick, isBid, ...rest } = parameters; + const [head, tail, totalLiquidity] = await (0, readContract_js_1.readContract)(client, { + ...rest, + ...getTickLevel.call({ base, tick, isBid }), + }); + return { head, tail, totalLiquidity }; +} +(function (getTickLevel) { + function call(args) { + const { base, tick, isBid } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.stablecoinDex, + abi: Abis.stablecoinDex, + args: [base, tick, isBid], + functionName: 'getTickLevel', + }); + } + getTickLevel.call = call; +})(getTickLevel || (exports.getTickLevel = getTickLevel = {})); +async function getSellQuote(client, parameters) { + const { tokenIn, tokenOut, amountIn, ...rest } = parameters; + return (0, readContract_js_1.readContract)(client, { + ...rest, + ...getSellQuote.call({ tokenIn, tokenOut, amountIn }), + }); +} +(function (getSellQuote) { + function call(args) { + const { tokenIn, tokenOut, amountIn } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.stablecoinDex, + abi: Abis.stablecoinDex, + args: [tokenIn, tokenOut, amountIn], + functionName: 'quoteSwapExactAmountIn', + }); + } + getSellQuote.call = call; +})(getSellQuote || (exports.getSellQuote = getSellQuote = {})); +async function place(client, parameters) { + return place.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (place) { + async function inner(action, client, parameters) { + const { amount, token, type, tick, ...rest } = parameters; + const call = place.call({ amount, token, type, tick }); + return (await action(client, { + ...rest, + ...call, + })); + } + place.inner = inner; + function call(args) { + const { token, amount, type, tick } = args; + const isBid = type === 'buy'; + return (0, utils_js_1.defineCall)({ + address: Addresses.stablecoinDex, + abi: Abis.stablecoinDex, + functionName: 'place', + args: [token, amount, isBid, tick], + }); + } + place.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.stablecoinDex, + logs, + eventName: 'OrderPlaced', + strict: true, + }); + if (!log) + throw new Error('`OrderPlaced` event not found.'); + return log; + } + place.extractEvent = extractEvent; +})(place || (exports.place = place = {})); +async function placeFlip(client, parameters) { + return placeFlip.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (placeFlip) { + async function inner(action, client, parameters) { + const { amount, flipTick, tick, token, type, ...rest } = parameters; + const call = placeFlip.call({ amount, flipTick, tick, token, type }); + return (await action(client, { + ...rest, + ...call, + })); + } + placeFlip.inner = inner; + function call(args) { + const { token, amount, type, tick, flipTick } = args; + const isBid = type === 'buy'; + return (0, utils_js_1.defineCall)({ + address: Addresses.stablecoinDex, + abi: Abis.stablecoinDex, + functionName: 'placeFlip', + args: [token, amount, isBid, tick, flipTick], + }); + } + placeFlip.call = call; + function extractEvent(logs) { + const parsedLogs = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.stablecoinDex, + logs, + eventName: 'OrderPlaced', + strict: true, + }); + const log = parsedLogs.find((l) => l.args.isFlipOrder); + if (!log) + throw new Error('`OrderPlaced` event (flip order) not found.'); + return log; + } + placeFlip.extractEvent = extractEvent; +})(placeFlip || (exports.placeFlip = placeFlip = {})); +async function placeFlipSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await placeFlip.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = placeFlip.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function placeSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await place.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = place.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function sell(client, parameters) { + return sell.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (sell) { + async function inner(action, client, parameters) { + const { tokenIn, tokenOut, amountIn, minAmountOut, ...rest } = parameters; + const call = sell.call({ tokenIn, tokenOut, amountIn, minAmountOut }); + return (await action(client, { + ...rest, + ...call, + })); + } + sell.inner = inner; + function call(args) { + const { tokenIn, tokenOut, amountIn, minAmountOut } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.stablecoinDex, + abi: Abis.stablecoinDex, + functionName: 'swapExactAmountIn', + args: [tokenIn, tokenOut, amountIn, minAmountOut], + }); + } + sell.call = call; +})(sell || (exports.sell = sell = {})); +async function sellSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await sell.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + return { receipt }; +} +function watchFlipOrderPlaced(client, parameters) { + const { onFlipOrderPlaced, maker, token, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.stablecoinDex, + abi: Abis.stablecoinDex, + eventName: 'OrderPlaced', + args: { + ...(maker !== undefined && { maker }), + ...(token !== undefined && { token }), + }, + onLogs: (logs) => { + for (const log of logs) { + if (log.args.isFlipOrder) + onFlipOrderPlaced(log.args, log); + } + }, + strict: true, + }); +} +function watchOrderCancelled(client, parameters) { + const { onOrderCancelled, orderId, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.stablecoinDex, + abi: Abis.stablecoinDex, + eventName: 'OrderCancelled', + args: orderId !== undefined ? { orderId } : undefined, + onLogs: (logs) => { + for (const log of logs) + onOrderCancelled(log.args, log); + }, + strict: true, + }); +} +function watchOrderFilled(client, parameters) { + const { onOrderFilled, maker, taker, orderId, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.stablecoinDex, + abi: Abis.stablecoinDex, + eventName: 'OrderFilled', + args: { + ...(orderId !== undefined && { orderId }), + ...(maker !== undefined && { maker }), + ...(taker !== undefined && { taker }), + }, + onLogs: (logs) => { + for (const log of logs) + onOrderFilled(log.args, log); + }, + strict: true, + }); +} +function watchOrderPlaced(client, parameters) { + const { onOrderPlaced, maker, token, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.stablecoinDex, + abi: Abis.stablecoinDex, + eventName: 'OrderPlaced', + args: { + ...(maker !== undefined && { maker }), + ...(token !== undefined && { token }), + }, + onLogs: (logs) => { + for (const log of logs) + onOrderPlaced(log.args, log); + }, + strict: true, + }); +} +async function withdraw(client, parameters) { + return withdraw.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (withdraw) { + async function inner(action, client, parameters) { + const { token, amount, ...rest } = parameters; + const call = withdraw.call({ token, amount }); + return (await action(client, { + ...rest, + ...call, + })); + } + withdraw.inner = inner; + function call(args) { + const { token, amount } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.stablecoinDex, + abi: Abis.stablecoinDex, + functionName: 'withdraw', + args: [token, amount], + }); + } + withdraw.call = call; +})(withdraw || (exports.withdraw = withdraw = {})); +async function withdrawSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await withdraw.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + return { receipt }; +} +function getPairKey(base, quote) { + return Hash.keccak256(Hex.concat(base, quote)); +} +//# sourceMappingURL=dex.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/dex.js.map b/node_modules/viem/_cjs/tempo/actions/dex.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d15076a3718bba00cedb923bbdd4db37020bc3d2 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/dex.js.map @@ -0,0 +1 @@ +{"version":3,"file":"dex.js","sourceRoot":"","sources":["../../../tempo/actions/dex.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/earn.js b/node_modules/viem/_cjs/tempo/actions/earn.js new file mode 100644 index 0000000000000000000000000000000000000000..4e7faf703e468f5c88a4a65f5eb27e133f601187 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/earn.js @@ -0,0 +1,1471 @@ +"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.alwaysAllowPolicyId = void 0; +exports.configureExitSafePolicy = configureExitSafePolicy; +exports.validateExitSafePolicy = validateExitSafePolicy; +exports.deposit = deposit; +exports.depositSync = depositSync; +exports.depositShares = depositShares; +exports.depositSharesSync = depositSharesSync; +exports.privateDeposit = privateDeposit; +exports.privateDepositSync = privateDepositSync; +exports.waitForPrivateDeposit = waitForPrivateDeposit; +exports.getFeeState = getFeeState; +exports.getPosition = getPosition; +exports.getRedeemQuote = getRedeemQuote; +exports.getVault = getVault; +exports.getWithdrawQuote = getWithdrawQuote; +exports.redeem = redeem; +exports.redeemSync = redeemSync; +exports.privateRedeem = privateRedeem; +exports.privateRedeemSync = privateRedeemSync; +exports.waitForPrivateRedeem = waitForPrivateRedeem; +exports.withdrawExact = withdrawExact; +exports.withdrawExactSync = withdrawExactSync; +const ox_1 = require("ox"); +const tempo_1 = require("ox/tempo"); +const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js"); +const estimateContractGas_js_1 = require("../../actions/public/estimateContractGas.js"); +const getBlockNumber_js_1 = require("../../actions/public/getBlockNumber.js"); +const getLogs_js_1 = require("../../actions/public/getLogs.js"); +const multicall_js_1 = require("../../actions/public/multicall.js"); +const readContract_js_1 = require("../../actions/public/readContract.js"); +const simulateContract_js_1 = require("../../actions/public/simulateContract.js"); +const internal_Token = require("../../actions/token/internal.js"); +const sendTransaction_js_1 = require("../../actions/wallet/sendTransaction.js"); +const sendTransactionSync_js_1 = require("../../actions/wallet/sendTransactionSync.js"); +const writeContractSync_js_1 = require("../../actions/wallet/writeContractSync.js"); +const account_js_1 = require("../../errors/account.js"); +const encodeAbiParameters_js_1 = require("../../utils/abi/encodeAbiParameters.js"); +const getAbiItem_js_1 = require("../../utils/abi/getAbiItem.js"); +const parseEventLogs_js_1 = require("../../utils/abi/parseEventLogs.js"); +const getAddress_js_1 = require("../../utils/address/getAddress.js"); +const isAddressEqual_js_1 = require("../../utils/address/isAddressEqual.js"); +const observe_js_1 = require("../../utils/observe.js"); +const poll_js_1 = require("../../utils/poll.js"); +const withResolvers_js_1 = require("../../utils/promise/withResolvers.js"); +const stringify_js_1 = require("../../utils/stringify.js"); +const Abis = require("../Abis.js"); +const Addresses = require("../Addresses.js"); +const errors_js_1 = require("../errors.js"); +const utils_js_1 = require("../internal/utils.js"); +const policyActions = require("./policy.js"); +const tokenActions = require("./token.js"); +const zoneActions = require("./zone.js"); +__exportStar(require("./earn/deployment.js"), exports); +exports.alwaysAllowPolicyId = 1n; +async function configureExitSafePolicy(client, parameters) { + const account_ = parameters.account ?? client.account; + if (!account_) + throw new account_js_1.AccountNotFoundError(); + const account = (0, parseAccount_js_1.parseAccount)(account_); + const initialMembers = [ + ...new Set(parameters.initialMembers.map((member) => (0, getAddress_js_1.getAddress)(member))), + ]; + if (initialMembers.length === 0) + throw new Error('At least one initial policy member is required.'); + const eligibility = await policyActions.createSync(client, { + account, + addresses: initialMembers, + chain: client.chain, + type: 'whitelist', + }); + if (eligibility.receipt.status === 'pending') + return { receipt: eligibility.receipt }; + const compoundPolicy = await (0, writeContractSync_js_1.writeContractSync)(client, { + account, + abi: Abis.tip403Registry, + address: Addresses.tip403Registry, + args: [exports.alwaysAllowPolicyId, eligibility.policyId, eligibility.policyId], + chain: client.chain, + functionName: 'createCompoundPolicy', + throwOnReceiptRevert: true, + }); + if (compoundPolicy.status === 'pending') + return { receipt: compoundPolicy }; + const [compoundEvent] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip403Registry, + eventName: 'CompoundPolicyCreated', + logs: compoundPolicy.logs, + strict: true, + }); + if (!compoundEvent) + throw new Error('`CompoundPolicyCreated` event not found.'); + const tokenPolicy = await tokenActions.changeTransferPolicySync(client, { + account, + chain: client.chain, + policyId: compoundEvent.args.policyId, + token: parameters.shareToken, + }); + if (tokenPolicy.receipt.status === 'pending') + return { receipt: tokenPolicy.receipt }; + const policyAdmin = (0, isAddressEqual_js_1.isAddressEqual)(parameters.accessAdministrator, account.address) + ? undefined + : await policyActions.setAdminSync(client, { + account, + admin: parameters.accessAdministrator, + chain: client.chain, + policyId: eligibility.policyId, + }); + if (policyAdmin && + policyAdmin.receipt.status === 'pending') + return { receipt: policyAdmin.receipt }; + return { + policy: { + transferPolicyId: compoundEvent.args.policyId, + senderPolicyId: exports.alwaysAllowPolicyId, + recipientPolicyId: eligibility.policyId, + mintRecipientPolicyId: eligibility.policyId, + }, + receipts: { + eligibilityPolicy: eligibility.receipt, + compoundPolicy, + tokenPolicy: tokenPolicy.receipt, + policyAdmin: policyAdmin?.receipt, + }, + }; +} +async function validateExitSafePolicy(client, parameters) { + const { accessAdministrator, policy, requiredMembers, shareToken, ...rest } = parameters; + const [tokenPolicyId, compound, simplePolicy, memberResults] = await Promise.all([ + (0, readContract_js_1.readContract)(client, { + ...rest, + abi: Abis.tip20, + address: shareToken, + functionName: 'transferPolicyId', + }), + (0, readContract_js_1.readContract)(client, { + ...rest, + abi: Abis.tip403Registry, + address: Addresses.tip403Registry, + args: [policy.transferPolicyId], + functionName: 'compoundPolicyData', + }), + (0, readContract_js_1.readContract)(client, { + ...rest, + abi: Abis.tip403Registry, + address: Addresses.tip403Registry, + args: [policy.recipientPolicyId], + functionName: 'policyData', + }), + Promise.all(requiredMembers.map(async (member) => { + const [recipient, mintRecipient] = await Promise.all([ + (0, readContract_js_1.readContract)(client, { + ...rest, + abi: Abis.tip403Registry, + address: Addresses.tip403Registry, + args: [policy.transferPolicyId, member], + functionName: 'isAuthorizedRecipient', + }), + (0, readContract_js_1.readContract)(client, { + ...rest, + abi: Abis.tip403Registry, + address: Addresses.tip403Registry, + args: [policy.transferPolicyId, member], + functionName: 'isAuthorizedMintRecipient', + }), + ]); + return { member, mintRecipient, recipient }; + })), + ]); + if (tokenPolicyId !== policy.transferPolicyId) + throw new Error('Earn share token transfer policy mismatch.'); + if (compound[0] !== policy.senderPolicyId || + compound[1] !== policy.recipientPolicyId || + compound[2] !== policy.mintRecipientPolicyId) + throw new Error('TIP-403 compound policy components mismatch.'); + if (policy.senderPolicyId !== exports.alwaysAllowPolicyId) + throw new Error('TIP-403 sender policy is not always allow.'); + if (policy.recipientPolicyId !== policy.mintRecipientPolicyId) + throw new Error('TIP-403 recipient and mint-recipient policies must match.'); + if (simplePolicy[0] !== 0) + throw new Error('TIP-403 eligibility policy is not a whitelist.'); + if (!(0, isAddressEqual_js_1.isAddressEqual)(simplePolicy[1], accessAdministrator)) + throw new Error('TIP-403 access administrator mismatch.'); + const unauthorized = memberResults.find((result) => !result.recipient || !result.mintRecipient); + if (unauthorized) + throw new Error(`Required TIP-403 member is unauthorized: ${unauthorized.member}`); +} +async function deposit(client, parameters) { + return deposit.inner(sendTransaction_js_1.sendTransaction, client, parameters); +} +(function (deposit) { + async function inner(action, client, parameters) { + const [args, assetToken] = await Promise.all([ + toDepositArgs(client, parameters), + (0, readContract_js_1.readContract)(client, { + abi: Abis.earnVault, + address: parameters.vault, + functionName: 'asset', + }), + ]); + return (await action(client, { + ...parameters, + calls: deposit.calls({ ...args, assetToken }), + })); + } + deposit.inner = inner; + function call(...parameters) { + const [, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { recipient, vault } = args; + const shareAmountMin = (() => { + if (args.shareAmountMin !== undefined) + return args.shareAmountMin; + return tempo_1.EarnShares.minimumOutput(args.shareAmount, args.slippageBps); + })(); + return (0, utils_js_1.defineCall)({ + address: vault, + abi: Abis.earnVault, + functionName: 'deposit', + args: [ + internal_Token.toBaseUnits(args.assetAmount, undefined), + recipient, + shareAmountMin, + ], + }); + } + deposit.call = call; + function calls(args) { + const { assetToken, vault } = args; + const assetAmount = internal_Token.toBaseUnits(args.assetAmount, undefined); + return [ + (0, utils_js_1.defineCall)({ + address: tempo_1.TokenId.toAddress(assetToken), + abi: Abis.tip20, + functionName: 'approve', + args: [vault, assetAmount], + }), + deposit.call({ ...args, assetAmount }), + ]; + } + deposit.calls = calls; + function extractEvent(logs, parameters) { + const { vault } = parameters; + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.earnVault, + eventName: 'Deposited', + logs: logs.filter((log) => (0, isAddressEqual_js_1.isAddressEqual)(log.address, vault)), + }); + if (!log) + throw new Error('`Deposited` event not found.'); + return log; + } + deposit.extractEvent = extractEvent; + async function estimateGas(client, parameters) { + return (0, estimateContractGas_js_1.estimateContractGas)(client, { + ...(0, utils_js_1.pickWriteParameters)(parameters), + ...deposit.call(await toDepositArgs(client, parameters)), + }); + } + deposit.estimateGas = estimateGas; + async function simulate(client, parameters) { + return (0, simulateContract_js_1.simulateContract)(client, { + ...(0, utils_js_1.pickWriteParameters)(parameters), + ...deposit.call(await toDepositArgs(client, parameters)), + }); + } + deposit.simulate = simulate; +})(deposit || (exports.deposit = deposit = {})); +async function depositSync(client, parameters) { + const { throwOnReceiptRevert = true, vault } = parameters; + const receipt = await deposit.inner(sendTransactionSync_js_1.sendTransactionSync, client, { + ...parameters, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = deposit.extractEvent(receipt.logs, { vault }); + return { + assetAmount: args.assets, + caller: args.caller, + receipt, + recipient: args.receiver, + shareAmount: args.earnShares, + }; +} +async function depositShares(client, parameters) { + return depositShares.inner(sendTransaction_js_1.sendTransaction, client, parameters); +} +(function (depositShares) { + async function inner(action, client, parameters) { + const engine = await (0, readContract_js_1.readContract)(client, { + abi: Abis.earnVault, + address: parameters.vault, + functionName: 'engine', + }); + return (await action(client, { + ...parameters, + calls: depositShares.calls({ + ...toDepositSharesArgs(client, parameters), + engine, + venueShareToken: parameters.venueShareToken, + }), + })); + } + depositShares.inner = inner; + function call(...parameters) { + const [, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { recipient, vault, venueShareAmount } = args; + const earnShareAmountMin = (() => { + if (args.earnShareAmountMin !== undefined) + return args.earnShareAmountMin; + return tempo_1.EarnShares.minimumOutput(args.earnShareAmount, args.slippageBps); + })(); + return (0, utils_js_1.defineCall)({ + address: vault, + abi: Abis.earnVault, + functionName: 'depositVenueShares', + args: [venueShareAmount, recipient, earnShareAmountMin], + }); + } + depositShares.call = call; + function calls(args) { + const { engine, venueShareAmount, venueShareToken } = args; + return [ + (0, utils_js_1.defineCall)({ + address: venueShareToken, + abi: Abis.tip20, + functionName: 'approve', + args: [engine, venueShareAmount], + }), + depositShares.call(args), + ]; + } + depositShares.calls = calls; + function extractEvent(logs, parameters) { + const { vault } = parameters; + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.earnVault, + eventName: 'VenueSharesDeposited', + logs: logs.filter((log) => (0, isAddressEqual_js_1.isAddressEqual)(log.address, vault)), + }); + if (!log) + throw new Error('`VenueSharesDeposited` event not found.'); + return log; + } + depositShares.extractEvent = extractEvent; + async function estimateGas(client, parameters) { + return (0, estimateContractGas_js_1.estimateContractGas)(client, { + ...(0, utils_js_1.pickWriteParameters)(parameters), + ...depositShares.call(toDepositSharesArgs(client, parameters)), + }); + } + depositShares.estimateGas = estimateGas; + async function simulate(client, parameters) { + return (0, simulateContract_js_1.simulateContract)(client, { + ...(0, utils_js_1.pickWriteParameters)(parameters), + ...depositShares.call(toDepositSharesArgs(client, parameters)), + }); + } + depositShares.simulate = simulate; +})(depositShares || (exports.depositShares = depositShares = {})); +async function depositSharesSync(client, parameters) { + const { throwOnReceiptRevert = true, vault } = parameters; + const receipt = await depositShares.inner(sendTransactionSync_js_1.sendTransactionSync, client, { + ...parameters, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = depositShares.extractEvent(receipt.logs, { vault }); + return { + caller: args.caller, + earnShareAmount: args.earnShares, + receipt, + receivedVenueShareAmount: args.receivedEngineShares, + recipient: args.receiver, + venueShareAmount: args.requestedVenueShares, + }; +} +async function privateDeposit(client, parameters) { + await assertPreparedZoneRequestChain(client, parameters); + return zoneActions.requestWithdrawal(client, parameters); +} +(function (privateDeposit) { + async function prepare(client, parameters) { + const chainId = client.chain?.id; + if (!chainId) + throw new Error('`chain` is required.'); + const { actionId = ox_1.Hex.random(32), assetAmount, callbackGas = zoneGatewayCallbackGas, tempoRefundRecipient, fallbackRecipient = tempoRefundRecipient, gateway, portalAddress: portalAddress_, recipient, returnMemo, vault, withdrawalMemo, zoneId, } = parameters; + const portalAddress = portalAddress_ ?? Addresses.zonePortal(zoneId); + const readParameters = pickReadParameters(parameters); + const [fromBlock, config] = await Promise.all([ + (0, getBlockNumber_js_1.getBlockNumber)(client, { cacheTime: 0 }), + getZoneGatewayConfig(client, { + ...readParameters, + flow: 0, + gateway, + vault, + zoneId, + zonePortal: portalAddress, + }), + ]); + const assetToken = parameters.assetToken ?? config.privateAsset; + if (!(0, isAddressEqual_js_1.isAddressEqual)(assetToken, config.privateAsset)) + throw new Error('`assetToken` must match the Zone gateway private asset.'); + const { encrypted, keyIndex } = await zoneActions.encryptedDeposit.prepareRecipient(client, { + ...readParameters, + memo: returnMemo, + portalAddress: config.zonePortal, + recipient, + sender: gateway, + zoneId: config.zoneId, + }); + const shareAmountMin = resolveMinimumShareAmount(parameters); + const data = (0, encodeAbiParameters_js_1.encodeAbiParameters)(Abis.earnRouterCallbackData, [ + { + actionId, + flow: 0, + minEarnShares: shareAmountMin, + minOutputAmount: 0n, + minVaultAssets: parameters.vaultAssetAmountMin ?? assetAmount, + zoneReturn: { + encrypted, + keyIndex, + refundRecipient: tempoRefundRecipient, + }, + }, + ]); + return { + actionId, + amount: assetAmount, + callbackGas, + chainId, + data, + fallbackRecipient, + fromBlock, + memo: withdrawalMemo, + to: gateway, + token: assetToken, + zoneId: config.zoneId, + }; + } + privateDeposit.prepare = prepare; + function calls(args) { + return zoneActions.requestWithdrawal.calls(args); + } + privateDeposit.calls = calls; +})(privateDeposit || (exports.privateDeposit = privateDeposit = {})); +async function privateDepositSync(client, parameters) { + await assertPreparedZoneRequestChain(client, parameters); + return zoneActions.requestWithdrawalSync(client, parameters); +} +async function waitForPrivateDeposit(client, parameters) { + const { actionId, fromBlock, gateway, pollingInterval = client.pollingInterval, timeout = 60_000, vault, } = parameters; + const event = (0, getAbiItem_js_1.getAbiItem)({ + abi: Abis.earnRouter, + name: 'EarnDeposit', + }); + const observerId = (0, stringify_js_1.stringify)([ + 'waitForPrivateDeposit', + client.uid, + gateway, + vault, + actionId, + fromBlock, + ]); + const { promise, reject, resolve } = (0, withResolvers_js_1.withResolvers)(); + let timer; + let unobserve; + const cleanup = () => { + clearTimeout(timer); + unobserve(); + }; + const resolve_ = (result) => { + cleanup(); + resolve(result); + }; + const reject_ = (error) => { + cleanup(); + reject(error); + }; + unobserve = (0, observe_js_1.observe)(observerId, { reject: reject_, resolve: resolve_ }, (emit) => { + const unpoll = (0, poll_js_1.poll)(async () => { + try { + const [log] = await (0, getLogs_js_1.getLogs)(client, { + address: gateway, + args: { actionId, earnVault: vault }, + event, + fromBlock, + strict: true, + toBlock: 'latest', + }); + if (!log) + return; + unpoll(); + emit.resolve({ + actionId: log.args.actionId, + inputAmount: log.args.inputAmount, + inputToken: log.args.inputToken, + shares: log.args.earnShares, + tempoBlockNumber: log.blockNumber, + vaultAssets: log.args.vaultAssets, + zoneDepositHash: log.args.zoneDepositHash, + }); + } + catch (error) { + unpoll(); + emit.reject(error); + } + }, { emitOnBegin: true, interval: pollingInterval }); + return unpoll; + }); + timer = timeout + ? setTimeout(() => { + reject_(new errors_js_1.WaitForPrivateDepositTimeoutError({ actionId, gateway })); + }, timeout) + : undefined; + return await promise; +} +async function getFeeState(client, parameters) { + const { recipient, vault, ...rest } = parameters; + const fees = await (0, readContract_js_1.readContract)(client, { + ...rest, + abi: Abis.earnVault, + address: vault, + functionName: 'earnFees', + }); + const contracts = [ + (0, utils_js_1.defineCall)({ + address: fees, + abi: Abis.earnFees, + functionName: 'currentFeeConfigId', + }), + (0, utils_js_1.defineCall)({ + address: fees, + abi: Abis.earnFees, + functionName: 'feesActive', + }), + (0, utils_js_1.defineCall)({ + address: fees, + abi: Abis.earnFees, + functionName: 'highWaterMark', + }), + (0, utils_js_1.defineCall)({ + address: fees, + abi: Abis.earnFees, + functionName: 'previewAccruedFees', + }), + (0, utils_js_1.defineCall)({ + address: fees, + abi: Abis.earnFees, + functionName: 'targetBase', + }), + ]; + const feeConfig = async (configId) => toFeeConfig(await (0, readContract_js_1.readContract)(client, { + ...rest, + abi: Abis.earnFees, + address: fees, + functionName: 'feeConfig', + args: [configId], + })); + if (recipient !== undefined) { + const [configId, feesActive, highWaterMark, preview, targetBase, shares] = await (0, multicall_js_1.multicall)(client, { + ...rest, + allowFailure: false, + contracts: [ + ...contracts, + (0, utils_js_1.defineCall)({ + address: fees, + abi: Abis.earnFees, + functionName: 'claimableEarnShares', + args: [recipient], + }), + ], + deployless: true, + }); + return { + claimableShares: shares, + config: await feeConfig(configId), + configId, + feesActive, + highWaterMark, + preview: toFeePreview(preview), + targetBase, + }; + } + const [configId, feesActive, highWaterMark, preview, targetBase] = await (0, multicall_js_1.multicall)(client, { + ...rest, + allowFailure: false, + contracts, + deployless: true, + }); + return { + config: await feeConfig(configId), + configId, + feesActive, + highWaterMark, + preview: toFeePreview(preview), + targetBase, + }; +} +async function getPosition(client, parameters) { + const { account: account_ = client.account, vault, ...rest } = parameters; + if (!account_) + throw new account_js_1.AccountNotFoundError(); + const account = (0, parseAccount_js_1.parseAccount)(account_).address; + const [assetToken, shareToken] = await (0, multicall_js_1.multicall)(client, { + ...rest, + allowFailure: false, + contracts: [ + (0, utils_js_1.defineCall)({ + address: vault, + abi: Abis.earnVault, + functionName: 'asset', + }), + (0, utils_js_1.defineCall)({ + address: vault, + abi: Abis.earnVault, + functionName: 'earnShare', + }), + ], + deployless: true, + }); + const [assetAllowance, assetBalance, shareAllowance, shareBalance] = await (0, multicall_js_1.multicall)(client, { + ...rest, + allowFailure: false, + contracts: [ + (0, utils_js_1.defineCall)({ + address: assetToken, + abi: Abis.tip20, + functionName: 'allowance', + args: [account, vault], + }), + (0, utils_js_1.defineCall)({ + address: assetToken, + abi: Abis.tip20, + functionName: 'balanceOf', + args: [account], + }), + (0, utils_js_1.defineCall)({ + address: shareToken, + abi: Abis.tip20, + functionName: 'allowance', + args: [account, vault], + }), + (0, utils_js_1.defineCall)({ + address: shareToken, + abi: Abis.tip20, + functionName: 'balanceOf', + args: [account], + }), + ], + deployless: true, + }); + const value = await (0, readContract_js_1.readContract)(client, { + ...rest, + abi: Abis.earnVault, + address: vault, + args: [shareBalance], + functionName: 'previewRedeem', + }); + return { + assetAllowance, + assetBalance, + assetToken, + shareAllowance, + shareBalance, + shareToken, + value, + }; +} +async function getRedeemQuote(client, parameters) { + const { shareAmount, vault, ...rest } = parameters; + return (0, readContract_js_1.readContract)(client, { + ...rest, + ...getRedeemQuote.call({ shareAmount, vault }), + }); +} +(function (getRedeemQuote) { + function call(args) { + const { shareAmount, vault } = args; + return (0, utils_js_1.defineCall)({ + address: vault, + abi: Abis.earnVault, + args: [shareAmount], + functionName: 'previewRedeem', + }); + } + getRedeemQuote.call = call; +})(getRedeemQuote || (exports.getRedeemQuote = getRedeemQuote = {})); +async function getVault(client, parameters) { + const { vault, ...rest } = parameters; + const [engine, fees] = await Promise.all([ + (0, readContract_js_1.readContract)(client, { + ...rest, + abi: Abis.earnVault, + address: vault, + functionName: 'engine', + }), + (0, readContract_js_1.readContract)(client, { + ...rest, + abi: Abis.earnVault, + address: vault, + functionName: 'earnFees', + }), + ]); + const [assetToken, engine_, shareToken, operator, emergencyGuardian, asyncJanitor, engineMigrationMode, depositsPaused, engineShares, shareSupply, isSynced, pendingRedeemCount, feesActive, totalAssets, name, symbol, asyncRedeem, exactWithdraw, inKindDeposit, syncRedeem,] = await (0, multicall_js_1.multicall)(client, { + ...rest, + allowFailure: false, + contracts: getVault.calls({ engine, fees, vault }), + deployless: true, + }); + if (!(0, isAddressEqual_js_1.isAddressEqual)(engine, engine_)) + throw new errors_js_1.GetVaultEngineChangedError({ vault }); + return { + assetToken, + asyncJanitor, + capabilities: { asyncRedeem, exactWithdraw, inKindDeposit, syncRedeem }, + depositsPaused, + emergencyGuardian, + engine: { address: engine_, name, symbol, totalAssets }, + engineMigrationMode: engineMigrationMode === 0 ? 'userOnly' : 'operatorEnabled', + engineShares, + feesActive, + isSynced, + operator, + pendingRedeemCount, + shareSupply, + shareToken, + }; +} +(function (getVault) { + function calls(args) { + const { engine, fees, vault } = args; + return [ + (0, utils_js_1.defineCall)({ + address: vault, + abi: Abis.earnVault, + functionName: 'asset', + }), + (0, utils_js_1.defineCall)({ + address: vault, + abi: Abis.earnVault, + functionName: 'engine', + }), + (0, utils_js_1.defineCall)({ + address: vault, + abi: Abis.earnVault, + functionName: 'earnShare', + }), + (0, utils_js_1.defineCall)({ + address: vault, + abi: Abis.earnVault, + functionName: 'operator', + }), + (0, utils_js_1.defineCall)({ + address: vault, + abi: Abis.earnVault, + functionName: 'emergencyGuardian', + }), + (0, utils_js_1.defineCall)({ + address: vault, + abi: Abis.earnVault, + functionName: 'asyncJanitor', + }), + (0, utils_js_1.defineCall)({ + address: vault, + abi: Abis.earnVault, + functionName: 'engineMigrationMode', + }), + (0, utils_js_1.defineCall)({ + address: vault, + abi: Abis.earnVault, + functionName: 'depositsPaused', + }), + (0, utils_js_1.defineCall)({ + address: vault, + abi: Abis.earnVault, + functionName: 'engineShares', + }), + (0, utils_js_1.defineCall)({ + address: vault, + abi: Abis.earnVault, + functionName: 'totalEarnShares', + }), + (0, utils_js_1.defineCall)({ + address: vault, + abi: Abis.earnVault, + functionName: 'isAccountingAligned', + }), + (0, utils_js_1.defineCall)({ + address: vault, + abi: Abis.earnVault, + functionName: 'openRedeemRequestCount', + }), + (0, utils_js_1.defineCall)({ + address: fees, + abi: Abis.earnFees, + functionName: 'feesActive', + }), + (0, utils_js_1.defineCall)({ + address: engine, + abi: Abis.earnEngine, + functionName: 'totalAssets', + }), + (0, utils_js_1.defineCall)({ + address: engine, + abi: Abis.earnEngine, + functionName: 'name', + }), + (0, utils_js_1.defineCall)({ + address: engine, + abi: Abis.earnEngine, + functionName: 'symbol', + }), + (0, utils_js_1.defineCall)({ + address: engine, + abi: Abis.earnEngine, + functionName: 'supportsInterface', + args: [interfaceIds.asyncRedeem], + }), + (0, utils_js_1.defineCall)({ + address: engine, + abi: Abis.earnEngine, + functionName: 'supportsInterface', + args: [interfaceIds.exactWithdraw], + }), + (0, utils_js_1.defineCall)({ + address: engine, + abi: Abis.earnEngine, + functionName: 'supportsInterface', + args: [interfaceIds.inKindDeposit], + }), + (0, utils_js_1.defineCall)({ + address: engine, + abi: Abis.earnEngine, + functionName: 'supportsInterface', + args: [interfaceIds.syncRedeem], + }), + ]; + } + getVault.calls = calls; +})(getVault || (exports.getVault = getVault = {})); +async function getWithdrawQuote(client, parameters) { + const { assetAmount, vault, ...rest } = parameters; + return (0, readContract_js_1.readContract)(client, { + ...rest, + ...getWithdrawQuote.call({ assetAmount, vault }), + }); +} +(function (getWithdrawQuote) { + function call(args) { + const { assetAmount, vault } = args; + return (0, utils_js_1.defineCall)({ + address: vault, + abi: Abis.earnVault, + args: [assetAmount], + functionName: 'previewWithdraw', + }); + } + getWithdrawQuote.call = call; +})(getWithdrawQuote || (exports.getWithdrawQuote = getWithdrawQuote = {})); +async function redeem(client, parameters) { + return redeem.inner(sendTransaction_js_1.sendTransaction, client, parameters); +} +(function (redeem) { + async function inner(action, client, parameters) { + const [args, shareToken] = await Promise.all([ + toRedeemArgs(client, parameters), + (0, readContract_js_1.readContract)(client, { + abi: Abis.earnVault, + address: parameters.vault, + functionName: 'earnShare', + }), + ]); + return (await action(client, { + ...parameters, + calls: redeem.calls({ ...args, shareToken }), + })); + } + redeem.inner = inner; + function call(...parameters) { + const [, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { recipient, vault } = args; + const assetAmountMin = (() => { + if (args.assetAmountMin !== undefined) + return args.assetAmountMin; + return tempo_1.EarnShares.minimumOutput(args.assetAmount, args.slippageBps); + })(); + return (0, utils_js_1.defineCall)({ + address: vault, + abi: Abis.earnVault, + functionName: 'redeem', + args: [ + internal_Token.toBaseUnits(args.shareAmount, undefined), + recipient, + assetAmountMin, + ], + }); + } + redeem.call = call; + function calls(args) { + const { shareToken, vault } = args; + const shareAmount = internal_Token.toBaseUnits(args.shareAmount, undefined); + return [ + (0, utils_js_1.defineCall)({ + address: shareToken, + abi: Abis.tip20, + functionName: 'approve', + args: [vault, shareAmount], + }), + redeem.call({ ...args, shareAmount }), + ]; + } + redeem.calls = calls; + function extractEvent(logs, parameters) { + const { vault } = parameters; + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.earnVault, + eventName: 'Redeemed', + logs: logs.filter((log) => (0, isAddressEqual_js_1.isAddressEqual)(log.address, vault)), + }); + if (!log) + throw new Error('`Redeemed` event not found.'); + return log; + } + redeem.extractEvent = extractEvent; + async function estimateGas(client, parameters) { + return (0, estimateContractGas_js_1.estimateContractGas)(client, { + ...(0, utils_js_1.pickWriteParameters)(parameters), + ...redeem.call(await toRedeemArgs(client, parameters)), + }); + } + redeem.estimateGas = estimateGas; + async function simulate(client, parameters) { + return (0, simulateContract_js_1.simulateContract)(client, { + ...(0, utils_js_1.pickWriteParameters)(parameters), + ...redeem.call(await toRedeemArgs(client, parameters)), + }); + } + redeem.simulate = simulate; +})(redeem || (exports.redeem = redeem = {})); +async function redeemSync(client, parameters) { + const { throwOnReceiptRevert = true, vault } = parameters; + const receipt = await redeem.inner(sendTransactionSync_js_1.sendTransactionSync, client, { + ...parameters, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = redeem.extractEvent(receipt.logs, { vault }); + return { + assetAmount: args.assets, + caller: args.caller, + receipt, + recipient: args.receiver, + shareAmount: args.earnShares, + }; +} +async function privateRedeem(client, parameters) { + await assertPreparedZoneRequestChain(client, parameters); + return zoneActions.requestWithdrawal(client, parameters); +} +(function (privateRedeem) { + async function prepare(client, parameters) { + const chainId = client.chain?.id; + if (!chainId) + throw new Error('`chain` is required.'); + const { actionId = ox_1.Hex.random(32), callbackGas = zoneGatewayCallbackGas, tempoRefundRecipient, fallbackRecipient = tempoRefundRecipient, gateway, portalAddress: portalAddress_, recipient, returnMemo, shareAmount, vault, withdrawalMemo, zoneId, } = parameters; + const portalAddress = portalAddress_ ?? Addresses.zonePortal(zoneId); + const readParameters = pickReadParameters(parameters); + const [fromBlock, config] = await Promise.all([ + (0, getBlockNumber_js_1.getBlockNumber)(client, { cacheTime: 0 }), + getZoneGatewayConfig(client, { + ...readParameters, + flow: 1, + gateway, + vault, + zoneId, + zonePortal: portalAddress, + }), + ]); + const assetToken = parameters.assetToken ?? config.privateAsset; + if (!(0, isAddressEqual_js_1.isAddressEqual)(assetToken, config.privateAsset)) + throw new Error('`assetToken` must match the Zone gateway private asset.'); + const [{ encrypted, keyIndex }, assetAmountMin] = await Promise.all([ + zoneActions.encryptedDeposit.prepareRecipient(client, { + ...readParameters, + memo: returnMemo, + portalAddress: config.zonePortal, + recipient, + sender: gateway, + zoneId: config.zoneId, + }), + (async () => { + if (parameters.assetAmountMin !== undefined) + return tempo_1.EarnShares.minimumOutput(parameters.assetAmountMin, 0); + if (parameters.assetAmount !== undefined) + return tempo_1.EarnShares.minimumOutput(parameters.assetAmount, parameters.slippageBps); + const assetAmount = await getRedeemQuote(client, { + ...readParameters, + shareAmount, + vault: config.vault, + }); + return tempo_1.EarnShares.minimumOutput(assetAmount, parameters.slippageBps); + })(), + ]); + const data = (0, encodeAbiParameters_js_1.encodeAbiParameters)(Abis.earnRouterCallbackData, [ + { + actionId, + flow: 1, + minEarnShares: 0n, + minOutputAmount: assetAmountMin, + minVaultAssets: assetAmountMin, + zoneReturn: { + encrypted, + keyIndex, + refundRecipient: tempoRefundRecipient, + }, + }, + ]); + return { + actionId, + amount: shareAmount, + callbackGas, + chainId, + data, + fallbackRecipient, + fromBlock, + memo: withdrawalMemo, + to: gateway, + token: config.shareToken, + zoneId: config.zoneId, + }; + } + privateRedeem.prepare = prepare; + function calls(args) { + return zoneActions.requestWithdrawal.calls(args); + } + privateRedeem.calls = calls; +})(privateRedeem || (exports.privateRedeem = privateRedeem = {})); +async function privateRedeemSync(client, parameters) { + await assertPreparedZoneRequestChain(client, parameters); + return zoneActions.requestWithdrawalSync(client, parameters); +} +async function waitForPrivateRedeem(client, parameters) { + const { actionId, fromBlock, gateway, pollingInterval = client.pollingInterval, timeout = 60_000, vault, } = parameters; + const event = (0, getAbiItem_js_1.getAbiItem)({ + abi: Abis.earnRouter, + name: 'EarnRedeem', + }); + const observerId = (0, stringify_js_1.stringify)([ + 'waitForPrivateRedeem', + client.uid, + gateway, + vault, + actionId, + fromBlock, + ]); + const { promise, reject, resolve } = (0, withResolvers_js_1.withResolvers)(); + let timer; + let unobserve; + const cleanup = () => { + clearTimeout(timer); + unobserve(); + }; + const resolve_ = (result) => { + cleanup(); + resolve(result); + }; + const reject_ = (error) => { + cleanup(); + reject(error); + }; + unobserve = (0, observe_js_1.observe)(observerId, { reject: reject_, resolve: resolve_ }, (emit) => { + const unpoll = (0, poll_js_1.poll)(async () => { + try { + const [log] = await (0, getLogs_js_1.getLogs)(client, { + address: gateway, + args: { actionId, earnVault: vault }, + event, + fromBlock, + strict: true, + toBlock: 'latest', + }); + if (!log) + return; + unpoll(); + emit.resolve({ + actionId: log.args.actionId, + outputAmount: log.args.outputAmount, + outputToken: log.args.outputToken, + shares: log.args.earnShares, + tempoBlockNumber: log.blockNumber, + vaultAssets: log.args.vaultAssets, + zoneDepositHash: log.args.zoneDepositHash, + }); + } + catch (error) { + unpoll(); + emit.reject(error); + } + }, { emitOnBegin: true, interval: pollingInterval }); + return unpoll; + }); + timer = timeout + ? setTimeout(() => { + reject_(new errors_js_1.WaitForPrivateRedeemTimeoutError({ actionId, gateway })); + }, timeout) + : undefined; + return await promise; +} +async function withdrawExact(client, parameters) { + return withdrawExact.inner(sendTransaction_js_1.sendTransaction, client, parameters); +} +(function (withdrawExact) { + async function inner(action, client, parameters) { + const [args, shareToken] = await Promise.all([ + toWithdrawExactArgs(client, parameters), + (0, readContract_js_1.readContract)(client, { + abi: Abis.earnVault, + address: parameters.vault, + functionName: 'earnShare', + }), + ]); + return (await action(client, { + ...parameters, + calls: withdrawExact.calls({ ...args, shareToken }), + })); + } + withdrawExact.inner = inner; + function call(...parameters) { + const [, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { recipient, vault } = args; + const shareAmountMax = (() => { + if (args.shareAmountMax !== undefined) + return args.shareAmountMax; + return maximumInput(args.shareAmount, args.slippageBps); + })(); + return (0, utils_js_1.defineCall)({ + address: vault, + abi: Abis.earnVault, + functionName: 'withdrawExact', + args: [ + internal_Token.toBaseUnits(args.assetAmount, undefined), + recipient, + shareAmountMax, + ], + }); + } + withdrawExact.call = call; + function calls(args) { + const { shareToken, vault } = args; + const assetAmount = internal_Token.toBaseUnits(args.assetAmount, undefined); + const call = withdrawExact.call({ ...args, assetAmount }); + const [, , shareAmountMax] = call.args; + return [ + (0, utils_js_1.defineCall)({ + address: shareToken, + abi: Abis.tip20, + functionName: 'approve', + args: [vault, shareAmountMax], + }), + call, + ]; + } + withdrawExact.calls = calls; + function extractEvent(logs, parameters) { + const { vault } = parameters; + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.earnVault, + eventName: 'WithdrewExact', + logs: logs.filter((log) => (0, isAddressEqual_js_1.isAddressEqual)(log.address, vault)), + }); + if (!log) + throw new Error('`WithdrewExact` event not found.'); + return log; + } + withdrawExact.extractEvent = extractEvent; + async function estimateGas(client, parameters) { + return (0, estimateContractGas_js_1.estimateContractGas)(client, { + ...(0, utils_js_1.pickWriteParameters)(parameters), + ...withdrawExact.call(await toWithdrawExactArgs(client, parameters)), + }); + } + withdrawExact.estimateGas = estimateGas; + async function simulate(client, parameters) { + return (0, simulateContract_js_1.simulateContract)(client, { + ...(0, utils_js_1.pickWriteParameters)(parameters), + ...withdrawExact.call(await toWithdrawExactArgs(client, parameters)), + }); + } + withdrawExact.simulate = simulate; +})(withdrawExact || (exports.withdrawExact = withdrawExact = {})); +async function withdrawExactSync(client, parameters) { + const { throwOnReceiptRevert = true, vault } = parameters; + const receipt = await withdrawExact.inner(sendTransactionSync_js_1.sendTransactionSync, client, { + ...parameters, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = withdrawExact.extractEvent(receipt.logs, { vault }); + return { + assetAmount: args.assets, + caller: args.caller, + receipt, + recipient: args.receiver, + shareAmount: args.earnSharesBurned, + }; +} +const zoneGatewayCallbackGas = 10000000n; +function resolveMinimumShareAmount(parameters) { + if (parameters.shareAmountMin !== undefined) + return tempo_1.EarnShares.minimumOutput(parameters.shareAmountMin, 0); + return tempo_1.EarnShares.minimumOutput(parameters.shareAmount, parameters.slippageBps); +} +async function assertPreparedZoneRequestChain(client, parameters) { + const chain = client.chain; + if (!chain) + throw new Error('`chain` is required.'); + if (chain.sourceId !== parameters.chainId) + throw new Error('Prepared Zone request parent chain ID does not match client chain.'); + const { zoneId } = await zoneActions.getZoneInfo(client); + if (zoneId !== parameters.zoneId) + throw new Error('Prepared Zone request Zone ID does not match client chain.'); +} +function pickReadParameters(parameters) { + const { blockOverrides, stateOverride } = parameters; + if (parameters.blockNumber !== undefined) + return { + blockNumber: parameters.blockNumber, + blockOverrides, + stateOverride, + }; + return { blockOverrides, blockTag: parameters.blockTag, stateOverride }; +} +async function getZoneGatewayConfig(client, parameters) { + const { flow, gateway, vault, zoneId, zonePortal, ...rest } = parameters; + const [vaultAsset, shareToken, allowedZoneId, routerVault, privateAsset, routerVaultAsset, routerShareToken, supportsFlow,] = await (0, multicall_js_1.multicall)(client, { + ...rest, + allowFailure: false, + contracts: [ + { + abi: Abis.earnVault, + address: vault, + functionName: 'asset', + }, + { + abi: Abis.earnVault, + address: vault, + functionName: 'earnShare', + }, + { + abi: Abis.earnRouter, + address: gateway, + functionName: 'allowedZoneId', + }, + { + abi: Abis.earnRouter, + address: gateway, + functionName: 'earnVault', + }, + { + abi: Abis.earnRouter, + address: gateway, + functionName: 'privateAsset', + }, + { + abi: Abis.earnRouter, + address: gateway, + functionName: 'vaultAsset', + }, + { + abi: Abis.earnRouter, + address: gateway, + functionName: 'earnShare', + }, + { + abi: Abis.earnRouter, + address: gateway, + args: [flow], + functionName: 'supportsFlow', + }, + ], + deployless: true, + }); + if (!supportsFlow) + throw new Error('Zone gateway flow is not supported.'); + if (allowedZoneId !== zoneId) + throw new Error('Zone gateway is configured for a different Zone.'); + if (!(0, isAddressEqual_js_1.isAddressEqual)(routerVault, vault)) + throw new Error('Zone gateway is configured for a different Earn vault.'); + if (!(0, isAddressEqual_js_1.isAddressEqual)(routerVaultAsset, vaultAsset)) + throw new Error('Zone gateway vault asset does not match the Earn vault.'); + if (!(0, isAddressEqual_js_1.isAddressEqual)(routerShareToken, shareToken)) + throw new Error('Zone gateway share token does not match the Earn vault.'); + return { + privateAsset, + shareToken, + vault, + vaultAsset, + zoneId, + zonePortal, + }; +} +const interfaceIds = { + asyncRedeem: '0xa1a6a1d7', + exactWithdraw: '0x0adfb0b9', + inKindDeposit: '0xce4790a9', + syncRedeem: '0x94a2d467', +}; +function toFeeConfig(config) { + return { + excess: config.excess, + fixedFees: config.fixedFees.slice(0, config.fixedFeeCount), + }; +} +function toFeePreview(preview) { + const { allocationCount, allocations, postFeeValuePerEarnShare, preFeeValuePerEarnShare, targetValuePerEarnShare, totalFeeEarnShares, ...rest } = preview; + return { + ...rest, + allocations: allocations + .slice(0, allocationCount) + .map(({ feeEarnShares, ...allocation }) => ({ + ...allocation, + feeShares: feeEarnShares, + })), + postFeeValuePerShare: postFeeValuePerEarnShare, + preFeeValuePerShare: preFeeValuePerEarnShare, + targetValuePerShare: targetValuePerEarnShare, + totalFeeShares: totalFeeEarnShares, + }; +} +async function toDepositArgs(client, parameters) { + const { vault } = parameters; + const assetAmount = await toBaseUnitsLive(client, { + amount: parameters.assetAmount, + token: 'asset', + vault, + }); + const args = { + assetAmount, + recipient: resolveRecipient(client, parameters), + vault, + }; + if (parameters.shareAmountMin !== undefined) + return { ...args, shareAmountMin: parameters.shareAmountMin }; + return { + ...args, + shareAmount: parameters.shareAmount, + slippageBps: parameters.slippageBps, + }; +} +function toDepositSharesArgs(client, parameters) { + const { vault, venueShareAmount } = parameters; + const args = { + recipient: resolveRecipient(client, parameters), + vault, + venueShareAmount, + }; + if (parameters.earnShareAmountMin !== undefined) + return { ...args, earnShareAmountMin: parameters.earnShareAmountMin }; + return { + ...args, + earnShareAmount: parameters.earnShareAmount, + slippageBps: parameters.slippageBps, + }; +} +async function toRedeemArgs(client, parameters) { + const { vault } = parameters; + const shareAmount = await toBaseUnitsLive(client, { + amount: parameters.shareAmount, + token: 'shareToken', + vault, + }); + const args = { + recipient: resolveRecipient(client, parameters), + shareAmount, + vault, + }; + if (parameters.assetAmountMin !== undefined) + return { ...args, assetAmountMin: parameters.assetAmountMin }; + const assetAmount = await (async () => { + if (parameters.assetAmount !== undefined) + return parameters.assetAmount; + return getRedeemQuote(client, { shareAmount, vault }); + })(); + return { + ...args, + assetAmount, + slippageBps: parameters.slippageBps, + }; +} +async function toWithdrawExactArgs(client, parameters) { + const { vault } = parameters; + const assetAmount = await toBaseUnitsLive(client, { + amount: parameters.assetAmount, + token: 'asset', + vault, + }); + const args = { + assetAmount, + recipient: resolveRecipient(client, parameters), + vault, + }; + if (parameters.shareAmountMax !== undefined) + return { ...args, shareAmountMax: parameters.shareAmountMax }; + const shareAmount = await (async () => { + if (parameters.shareAmount !== undefined) + return parameters.shareAmount; + return getWithdrawQuote(client, { assetAmount, vault }); + })(); + return { + ...args, + shareAmount, + slippageBps: parameters.slippageBps, + }; +} +function maximumInput(shareAmount, slippageBps) { + if (shareAmount <= 0n) + throw new tempo_1.EarnShares.InvalidExpectedOutputError({ + expectedAmount: shareAmount, + }); + if (!Number.isInteger(slippageBps) || + slippageBps < 0 || + slippageBps >= tempo_1.EarnShares.basisPointScale) + throw new tempo_1.EarnShares.InvalidSlippageError({ slippageBps }); + const scale = BigInt(tempo_1.EarnShares.basisPointScale); + const numerator = shareAmount * (scale + BigInt(slippageBps)); + return (numerator + scale - 1n) / scale; +} +async function toBaseUnitsLive(client, options) { + const { amount, token, vault } = options; + if (typeof amount === 'bigint') + return amount; + if (amount.decimals !== undefined) + return internal_Token.toBaseUnits(amount, amount.decimals); + const address = await (0, readContract_js_1.readContract)(client, { + abi: Abis.earnVault, + address: vault, + functionName: token === 'asset' ? 'asset' : 'earnShare', + }); + const { decimals } = await (0, utils_js_1.resolveTokenWithDecimals)(client, { + token: address, + }); + return internal_Token.toBaseUnits(amount, decimals); +} +function resolveRecipient(client, parameters) { + if (parameters.recipient) + return parameters.recipient; + const account = parameters.account ?? client.account; + if (!account) + throw new account_js_1.AccountNotFoundError(); + return (0, parseAccount_js_1.parseAccount)(account).address; +} +//# sourceMappingURL=earn.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/earn.js.map b/node_modules/viem/_cjs/tempo/actions/earn.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8d2e887af261b3b1867ed222889925a8d226fe0d --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/earn.js.map @@ -0,0 +1 @@ +{"version":3,"file":"earn.js","sourceRoot":"","sources":["../../../tempo/actions/earn.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/earn/deployment.js b/node_modules/viem/_cjs/tempo/actions/earn/deployment.js new file mode 100644 index 0000000000000000000000000000000000000000..b2ee337ca738c1735c76d28ef805dd7e0c446ef9 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/earn/deployment.js @@ -0,0 +1,704 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DeployErc4626StackError = void 0; +exports.createErc4626Engine = createErc4626Engine; +exports.createErc4626EngineSync = createErc4626EngineSync; +exports.createStack = createStack; +exports.createStackSync = createStackSync; +exports.bindEngine = bindEngine; +exports.bindEngineSync = bindEngineSync; +exports.deployErc4626StackSync = deployErc4626StackSync; +const ox_1 = require("ox"); +const parseAccount_js_1 = require("../../../accounts/utils/parseAccount.js"); +const getCode_js_1 = require("../../../actions/public/getCode.js"); +const getLogs_js_1 = require("../../../actions/public/getLogs.js"); +const readContract_js_1 = require("../../../actions/public/readContract.js"); +const simulateContract_js_1 = require("../../../actions/public/simulateContract.js"); +const writeContract_js_1 = require("../../../actions/wallet/writeContract.js"); +const writeContractSync_js_1 = require("../../../actions/wallet/writeContractSync.js"); +const address_js_1 = require("../../../constants/address.js"); +const number_js_1 = require("../../../constants/number.js"); +const account_js_1 = require("../../../errors/account.js"); +const base_js_1 = require("../../../errors/base.js"); +const transaction_js_1 = require("../../../errors/transaction.js"); +const getAbiItem_js_1 = require("../../../utils/abi/getAbiItem.js"); +const parseEventLogs_js_1 = require("../../../utils/abi/parseEventLogs.js"); +const isAddressEqual_js_1 = require("../../../utils/address/isAddressEqual.js"); +const Abis = require("../../Abis.js"); +const Addresses = require("../../Addresses.js"); +const utils_js_1 = require("../../internal/utils.js"); +const engineBindingAbi = [ + { + type: 'function', + name: 'initializeEarnVault', + inputs: [ + { name: 'earnVault_', type: 'address' }, + { name: 'finalOwner_', type: 'address' }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'initializeEarnVault', + inputs: [{ name: 'earnVault_', type: 'address' }], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'event', + name: 'EarnVaultInitialized', + inputs: [{ name: 'earnVault', type: 'address', indexed: true }], + anonymous: false, + }, +]; +async function createErc4626Engine(client, parameters) { + return createErc4626Engine.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (createErc4626Engine) { + async function inner(action, client, parameters) { + const { account = client.account, chain = client.chain, deploymentId, factory, name, owner: owner_ = account, symbol, venue, ...rest } = parameters; + if (!account) + throw new account_js_1.AccountNotFoundError(); + if (!owner_) + throw new Error('`owner` is required.'); + const owner = (0, parseAccount_js_1.parseAccount)(owner_).address; + return (await action(client, { + ...rest, + account, + chain, + ...createErc4626Engine.call({ + deploymentId, + factory, + name, + owner, + symbol, + venue, + }), + })); + } + createErc4626Engine.inner = inner; + function call(args) { + validateDeploymentId(args.deploymentId); + return (0, utils_js_1.defineCall)({ + address: args.factory, + abi: Abis.erc4626EngineFactory, + functionName: 'deploy', + args: [ + args.deploymentId, + args.venue, + args.owner, + args.name ?? '', + args.symbol ?? '', + ], + }); + } + createErc4626Engine.call = call; + async function predict(client, args) { + validateDeploymentId(args.deploymentId); + return (0, readContract_js_1.readContract)(client, { + address: args.factory, + abi: Abis.erc4626EngineFactory, + functionName: 'predictEngine', + args: [ + args.deploymentId, + args.venue, + args.owner, + args.name ?? '', + args.symbol ?? '', + ], + }); + } + createErc4626Engine.predict = predict; + function extractEvent(logs, parameters) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.erc4626EngineFactory, + eventName: 'ERC4626EngineDeployed', + logs: logs.filter((log) => (0, isAddressEqual_js_1.isAddressEqual)(log.address, parameters.factory)), + strict: true, + }); + if (!log) + throw new Error('`ERC4626EngineDeployed` event not found.'); + return log; + } + createErc4626Engine.extractEvent = extractEvent; +})(createErc4626Engine || (exports.createErc4626Engine = createErc4626Engine = {})); +async function createErc4626EngineSync(client, parameters) { + const { factory, throwOnReceiptRevert = true } = parameters; + const receipt = await createErc4626Engine.inner(writeContractSync_js_1.writeContractSync, client, { + ...parameters, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = createErc4626Engine.extractEvent(receipt.logs, { factory }); + return { ...args, receipt }; +} +async function createStack(client, parameters) { + return createStack.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (createStack) { + async function inner(action, client, parameters) { + const { account = client.account, chain = client.chain, controls, deploymentId, distributor, engine, factory, fees, owner: owner_ = account, transferPolicyId, ...rest } = parameters; + if (!account) + throw new account_js_1.AccountNotFoundError(); + if (!owner_) + throw new Error('`owner` is required.'); + return (await action(client, { + ...rest, + account, + chain, + ...createStack.call({ + controls, + deploymentId, + distributor, + engine, + factory, + fees, + owner: (0, parseAccount_js_1.parseAccount)(owner_).address, + transferPolicyId, + }), + })); + } + createStack.inner = inner; + function call(args) { + validateDeploymentId(args.deploymentId); + return (0, utils_js_1.defineCall)({ + address: args.factory, + abi: Abis.earnFactory, + functionName: 'deploy', + args: [toDeployParameters(args)], + }); + } + createStack.call = call; + async function predict(client, args) { + validateDeploymentId(args.deploymentId); + const parameters = toDeployParameters(args); + const [earnShare, earnFees] = await Promise.all([ + (0, readContract_js_1.readContract)(client, { + address: args.factory, + abi: Abis.earnFactory, + functionName: 'predictEarnShare', + args: [parameters], + }), + (0, readContract_js_1.readContract)(client, { + address: args.factory, + abi: Abis.earnFactory, + functionName: 'predictEarnFees', + args: [parameters], + }), + ]); + return { earnFees, earnShare }; + } + createStack.predict = predict; + function extractEvent(logs, parameters) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.earnFactory, + eventName: 'EarnStackDeployed', + logs: logs.filter((log) => (0, isAddressEqual_js_1.isAddressEqual)(log.address, parameters.factory)), + strict: true, + }); + if (!log) + throw new Error('`EarnStackDeployed` event not found.'); + return log; + } + createStack.extractEvent = extractEvent; +})(createStack || (exports.createStack = createStack = {})); +async function createStackSync(client, parameters) { + const { factory, throwOnReceiptRevert = true } = parameters; + const receipt = await createStack.inner(writeContractSync_js_1.writeContractSync, client, { + ...parameters, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = createStack.extractEvent(receipt.logs, { factory }); + return { ...args, receipt }; +} +async function bindEngine(client, parameters) { + return bindEngine.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (bindEngine) { + async function inner(action, client, parameters) { + const { engine, finalOwner, vault, ...rest } = parameters; + return (await action(client, { + ...rest, + ...bindEngine.call({ engine, finalOwner, vault }), + })); + } + bindEngine.inner = inner; + function call(args) { + const { engine, finalOwner, vault } = args; + if (finalOwner) + return (0, utils_js_1.defineCall)({ + address: engine, + abi: engineBindingAbi, + functionName: 'initializeEarnVault', + args: [vault, finalOwner], + }); + return (0, utils_js_1.defineCall)({ + address: engine, + abi: engineBindingAbi, + functionName: 'initializeEarnVault', + args: [vault], + }); + } + bindEngine.call = call; + function extractEvent(logs, parameters) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: engineBindingAbi, + eventName: 'EarnVaultInitialized', + logs: logs.filter((log) => (0, isAddressEqual_js_1.isAddressEqual)(log.address, parameters.engine)), + strict: true, + }); + if (!log) + throw new Error('`EarnVaultInitialized` event not found.'); + return log; + } + bindEngine.extractEvent = extractEvent; +})(bindEngine || (exports.bindEngine = bindEngine = {})); +async function bindEngineSync(client, parameters) { + const { engine, throwOnReceiptRevert = true } = parameters; + const receipt = await bindEngine.inner(writeContractSync_js_1.writeContractSync, client, { + ...parameters, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = bindEngine.extractEvent(receipt.logs, { engine }); + return { engine, vault: args.earnVault, receipt }; +} +class DeployErc4626StackError extends base_js_1.BaseError { + constructor(cause, parameters) { + super(`ERC-4626 Earn deployment failed during ${parameters.stage}.`, { + cause, + name: 'DeployErc4626StackError', + }); + Object.defineProperty(this, "receipts", { + enumerable: true, + configurable: true, + writable: true, + value: void 0 + }); + Object.defineProperty(this, "stage", { + enumerable: true, + configurable: true, + writable: true, + value: void 0 + }); + Object.defineProperty(this, "state", { + enumerable: true, + configurable: true, + writable: true, + value: void 0 + }); + this.receipts = parameters.receipts; + this.stage = parameters.stage; + this.state = parameters.state; + } +} +exports.DeployErc4626StackError = DeployErc4626StackError; +async function deployErc4626StackSync(client, parameters) { + const deployer = parameters.account ?? client.account; + if (!deployer) + throw new account_js_1.AccountNotFoundError(); + const owner_ = parameters.owner ?? deployer; + const owner = (0, parseAccount_js_1.parseAccount)(owner_).address; + const deployerAddress = (0, parseAccount_js_1.parseAccount)(deployer).address; + const bindingAccount = (() => { + if (parameters.bindingAccount) + return parameters.bindingAccount; + if (typeof owner_ !== 'string') + return owner_; + if ((0, isAddressEqual_js_1.isAddressEqual)(owner, deployerAddress)) + return deployer; + return undefined; + })(); + if (bindingAccount && + !(0, isAddressEqual_js_1.isAddressEqual)((0, parseAccount_js_1.parseAccount)(bindingAccount).address, owner)) + throw new Error('`bindingAccount` must match `owner`.'); + validateDeploymentId(parameters.deploymentId); + if (parameters.resume && + parameters.resume.deploymentId.toLowerCase() !== + parameters.deploymentId.toLowerCase()) + throw new Error('The resumed deployment ID does not match `deploymentId`.'); + await validateContracts(client, { + factories: parameters.factories, + venue: parameters.venue, + }); + const { gas: _, keyAuthorization: __, nonce: ___, owner: ____, ...sharedWriteParameters } = (0, utils_js_1.pickWriteParameters)(parameters); + const writeParameters = { + ...sharedWriteParameters, + ...(0, utils_js_1.pickWriteSyncParameters)(parameters), + account: deployer, + throwOnReceiptRevert: true, + }; + const engineArgs = { + deploymentId: parameters.deploymentId, + factory: parameters.factories.erc4626Engine, + name: parameters.name, + owner, + symbol: parameters.symbol, + venue: parameters.venue, + }; + const predictedEngine = await createErc4626Engine.predict(client, engineArgs); + const state = { + deploymentId: parameters.deploymentId, + earnShare: parameters.resume?.earnShare, + engine: predictedEngine, + fees: parameters.resume?.fees, + vault: parameters.resume?.vault, + }; + if (parameters.resume?.engine && + !(0, isAddressEqual_js_1.isAddressEqual)(parameters.resume.engine, predictedEngine)) + throw new Error('The resumed engine does not match the factory prediction.'); + const engineExists = await hasCode(client, predictedEngine); + if (!bindingAccount) { + const boundVault = engineExists + ? await (0, readContract_js_1.readContract)(client, { + address: predictedEngine, + abi: Abis.erc4626Engine, + functionName: 'earnVault', + }) + : address_js_1.zeroAddress; + if ((0, isAddressEqual_js_1.isAddressEqual)(boundVault, address_js_1.zeroAddress)) + throw new Error('`bindingAccount` is required when the final owner differs from the deployment account.'); + } + const receipts = {}; + try { + if (!engineExists) { + await (0, simulateContract_js_1.simulateContract)(client, { + ...sharedWriteParameters, + account: deployer, + ...createErc4626Engine.call(engineArgs), + }); + const receipt = await createErc4626Engine.inner(writeContractSync_js_1.writeContractSync, client, { + ...writeParameters, + ...engineArgs, + }); + receipts.engine = receipt; + if (receipt.status === 'pending') + return { receipt }; + createErc4626Engine.extractEvent(receipt.logs, { + factory: parameters.factories.erc4626Engine, + }); + } + await verifyEngine(client, engineArgs, predictedEngine); + } + catch (error) { + throw deploymentError(error, 'engine', state, receipts); + } + const stackArgs = { + controls: parameters.controls, + deploymentId: parameters.deploymentId, + distributor: parameters.distributor, + engine: predictedEngine, + factory: parameters.factories.earn, + fees: parameters.fees, + owner, + transferPolicyId: parameters.transferPolicyId, + }; + try { + const predicted = await createStack.predict(client, stackArgs); + if (parameters.resume?.earnShare && + !(0, isAddressEqual_js_1.isAddressEqual)(parameters.resume.earnShare, predicted.earnShare)) + throw new Error('The resumed EarnShare does not match the factory prediction.'); + if (parameters.resume?.fees && + !(0, isAddressEqual_js_1.isAddressEqual)(parameters.resume.fees, predicted.earnFees)) + throw new Error('The resumed EarnFees does not match the factory prediction.'); + state.earnShare = predicted.earnShare; + state.fees = predicted.earnFees; + if (!(await hasCode(client, predicted.earnShare))) { + if (await hasCode(client, predicted.earnFees)) + throw new Error('Predicted EarnFees exists without the predicted EarnShare.'); + await (0, simulateContract_js_1.simulateContract)(client, { + ...sharedWriteParameters, + account: deployer, + ...createStack.call(stackArgs), + }); + const receipt = await createStack.inner(writeContractSync_js_1.writeContractSync, client, { + ...writeParameters, + ...stackArgs, + }); + receipts.stack = receipt; + if (receipt.status === 'pending') + return { receipt }; + const { args } = createStack.extractEvent(receipt.logs, { + factory: parameters.factories.earn, + }); + state.vault = args.earnVault; + if (parameters.resume?.vault && + !(0, isAddressEqual_js_1.isAddressEqual)(parameters.resume.vault, args.earnVault)) + throw new Error('The resumed EarnVault does not match the factory deployment.'); + } + else { + if (!(await hasCode(client, predicted.earnFees))) + throw new Error('Predicted EarnShare exists without the predicted EarnFees.'); + state.vault = parameters.resume?.vault; + if (!state.vault) { + const event = await findStackDeployment(client, { + earnShare: predicted.earnShare, + factory: parameters.factories.earn, + fromBlock: parameters.fromBlock, + }); + state.vault = event.args.earnVault; + if (!(0, isAddressEqual_js_1.isAddressEqual)(event.args.earnFees, predicted.earnFees)) + throw new Error('Recovered EarnFees does not match the factory prediction.'); + } + } + if (!state.vault) + throw new Error('EarnVault address was not recovered.'); + await verifyStack(client, { + engine: predictedEngine, + fees: predicted.earnFees, + owner, + share: predicted.earnShare, + vault: state.vault, + }); + } + catch (error) { + throw deploymentError(error, 'stack', state, receipts); + } + try { + const vault = state.vault; + const boundVault = await (0, readContract_js_1.readContract)(client, { + address: predictedEngine, + abi: Abis.erc4626Engine, + functionName: 'earnVault', + }); + if ((0, isAddressEqual_js_1.isAddressEqual)(boundVault, address_js_1.zeroAddress)) { + if (!bindingAccount) + throw new Error('`bindingAccount` is required when the final owner differs from the deployment account.'); + const bindingParameters = { + ...writeParameters, + account: bindingAccount, + engine: predictedEngine, + finalOwner: owner, + vault, + }; + await (0, simulateContract_js_1.simulateContract)(client, { + ...sharedWriteParameters, + account: bindingAccount, + ...bindEngine.call({ + engine: predictedEngine, + finalOwner: owner, + vault, + }), + }); + const receipt = await bindEngine.inner(writeContractSync_js_1.writeContractSync, client, bindingParameters); + receipts.binding = receipt; + if (receipt.status === 'pending') + return { receipt }; + bindEngine.extractEvent(receipt.logs, { engine: predictedEngine }); + } + else if (!(0, isAddressEqual_js_1.isAddressEqual)(boundVault, vault)) { + throw new Error(`Engine is already bound to ${boundVault}.`); + } + const verified = await (0, readContract_js_1.readContract)(client, { + address: predictedEngine, + abi: Abis.erc4626Engine, + functionName: 'earnVault', + }); + if (!(0, isAddressEqual_js_1.isAddressEqual)(verified, vault)) + throw new Error('Engine binding verification failed.'); + } + catch (error) { + throw deploymentError(error, 'binding', state, receipts); + } + return { + deploymentId: parameters.deploymentId, + earnShare: state.earnShare, + engine: predictedEngine, + fees: state.fees, + receipts, + vault: state.vault, + }; +} +function validateDeploymentId(deploymentId) { + if (ox_1.Hex.size(deploymentId) !== 32 || BigInt(deploymentId) === 0n) + throw new Error('`deploymentId` must be a nonzero 32-byte hex value.'); +} +function toDeployParameters(args) { + const fixedFees = args.fees?.fixedFees ?? []; + if (fixedFees.length > 4) + throw new Error('Earn supports at most four fixed fee recipients.'); + const seen = new Set(); + let totalRateBps = 0; + for (const fee of fixedFees) { + validateFeeRate(fee.rateBps, '`fixedFees[].rateBps`', false); + if ((0, isAddressEqual_js_1.isAddressEqual)(fee.account, address_js_1.zeroAddress)) + throw new Error('Fixed fee recipients cannot be the zero address.'); + const account = fee.account.toLowerCase(); + if (seen.has(account)) + throw new Error('Fixed fee recipients must be unique.'); + seen.add(account); + totalRateBps += fee.rateBps; + } + if (totalRateBps > 10_000) + throw new Error('The total fixed fee rate cannot exceed 10,000 bps.'); + const excess = args.fees?.excess; + if (excess) { + validateFeeRate(excess.annualTargetRateBps, '`annualTargetRateBps`', true); + validateFeeRate(excess.rateBps, '`excess.rateBps`', false); + if ((0, isAddressEqual_js_1.isAddressEqual)(excess.account, address_js_1.zeroAddress)) + throw new Error('The excess fee recipient cannot be the zero address.'); + } + const zeroFee = { account: address_js_1.zeroAddress, rateBps: 0 }; + const distributor = args.distributor?.distributor ?? address_js_1.zeroAddress; + const updateDelay = args.distributor?.updateDelay ?? 0; + if (args.distributor) { + if ((0, isAddressEqual_js_1.isAddressEqual)(distributor, address_js_1.zeroAddress)) + throw new Error('An enabled distributor cannot be the zero address.'); + if (updateDelay <= 0) + throw new Error('An enabled distributor requires a positive update delay.'); + if (fixedFees.length === 0) + throw new Error('An enabled distributor requires at least one fixed fee.'); + } + if (!Number.isSafeInteger(updateDelay) || updateDelay > 0xffffffffff) + throw new Error('`updateDelay` must fit into uint40 seconds.'); + const transferPolicyId = args.transferPolicyId ?? 0n; + if (transferPolicyId < 0n || transferPolicyId > number_js_1.maxUint64) + throw new Error('`transferPolicyId` must fit into uint64.'); + const maxManagedAssets = args.controls?.maxManagedAssets ?? 0n; + if (maxManagedAssets < 0n || maxManagedAssets > number_js_1.maxUint256) + throw new Error('`maxManagedAssets` must fit into uint256.'); + return { + controls: { + asyncJanitor: args.controls?.asyncJanitor ?? address_js_1.zeroAddress, + emergencyGuardian: args.controls?.emergencyGuardian ?? address_js_1.zeroAddress, + maxManagedAssets, + migrationMode: (args.controls?.migrationMode ?? 'userOnly') === 'userOnly' ? 0 : 1, + }, + deploymentId: args.deploymentId, + distributorConfig: { distributor, updateDelay }, + engine: args.engine, + fees: { + excess: excess + ? { + account: excess.account, + annualTargetRateBps: excess.annualTargetRateBps, + enabled: true, + excessFeeRateBps: excess.rateBps, + } + : { + account: address_js_1.zeroAddress, + annualTargetRateBps: 0, + enabled: false, + excessFeeRateBps: 0, + }, + fixedFeeCount: fixedFees.length, + fixedFees: [ + fixedFees[0] ?? zeroFee, + fixedFees[1] ?? zeroFee, + fixedFees[2] ?? zeroFee, + fixedFees[3] ?? zeroFee, + ], + }, + owner: args.owner, + transferPolicyId, + }; +} +function validateFeeRate(rate, name, allowZero) { + if (!Number.isInteger(rate) || rate < (allowZero ? 0 : 1) || rate > 10_000) + throw new Error(`${name} must be an integer between ${allowZero ? 0 : 1} and 10,000.`); +} +async function hasCode(client, address) { + const code = await (0, getCode_js_1.getCode)(client, { address }); + return code !== undefined && code !== '0x'; +} +async function validateContracts(client, parameters) { + const [engineFactory, earnFactory, venue] = await Promise.all([ + hasCode(client, parameters.factories.erc4626Engine), + hasCode(client, parameters.factories.earn), + hasCode(client, parameters.venue), + ]); + if (!engineFactory) + throw new Error('ERC4626EngineFactory has no code.'); + if (!earnFactory) + throw new Error('EarnFactory has no code.'); + if (!venue) + throw new Error('ERC-4626 venue has no code.'); + const tip20Factory = await (0, readContract_js_1.readContract)(client, { + address: parameters.factories.earn, + abi: Abis.earnFactory, + functionName: 'tip20Factory', + }); + if (!(0, isAddressEqual_js_1.isAddressEqual)(tip20Factory, Addresses.tip20Factory)) + throw new Error('EarnFactory uses an unexpected TIP-20 factory.'); +} +async function verifyEngine(client, args, engine) { + const [venue, owner] = await Promise.all([ + (0, readContract_js_1.readContract)(client, { + address: engine, + abi: Abis.erc4626Engine, + functionName: 'vault', + }), + (0, readContract_js_1.readContract)(client, { + address: engine, + abi: Abis.erc4626Engine, + functionName: 'owner', + }), + ]); + if (!(0, isAddressEqual_js_1.isAddressEqual)(venue, args.venue)) + throw new Error('Engine venue verification failed.'); + if (!(0, isAddressEqual_js_1.isAddressEqual)(owner, args.owner)) + throw new Error('Engine owner verification failed.'); +} +async function verifyStack(client, parameters) { + const [engine, fees, operator, share] = await Promise.all([ + (0, readContract_js_1.readContract)(client, { + address: parameters.vault, + abi: Abis.earnVault, + functionName: 'engine', + }), + (0, readContract_js_1.readContract)(client, { + address: parameters.vault, + abi: Abis.earnVault, + functionName: 'earnFees', + }), + (0, readContract_js_1.readContract)(client, { + address: parameters.vault, + abi: Abis.earnVault, + functionName: 'operator', + }), + (0, readContract_js_1.readContract)(client, { + address: parameters.vault, + abi: Abis.earnVault, + functionName: 'earnShare', + }), + ]); + if (!(0, isAddressEqual_js_1.isAddressEqual)(engine, parameters.engine)) + throw new Error('EarnVault engine verification failed.'); + if (!(0, isAddressEqual_js_1.isAddressEqual)(fees, parameters.fees)) + throw new Error('EarnVault fees verification failed.'); + if (!(0, isAddressEqual_js_1.isAddressEqual)(operator, parameters.owner)) + throw new Error('EarnVault operator verification failed.'); + if (!(0, isAddressEqual_js_1.isAddressEqual)(share, parameters.share)) + throw new Error('EarnVault share verification failed.'); +} +async function findStackDeployment(client, parameters) { + const event = (0, getAbiItem_js_1.getAbiItem)({ + abi: Abis.earnFactory, + name: 'EarnStackDeployed', + }); + const logs = await (0, getLogs_js_1.getLogs)(client, { + address: parameters.factory, + args: { earnShare: parameters.earnShare }, + event, + fromBlock: parameters.fromBlock ?? 0n, + strict: true, + toBlock: 'latest', + }); + const log = logs.at(-1); + if (!log) + throw new Error('Prior `EarnStackDeployed` event not found.'); + return log; +} +function deploymentError(error, stage, state, receipts) { + if (error instanceof DeployErc4626StackError) + return error; + if (error instanceof transaction_js_1.TransactionReceiptRevertedError) + receipts[stage] = error.receipt; + return new DeployErc4626StackError(error instanceof Error ? error : new Error(String(error)), { receipts: { ...receipts }, stage, state: { ...state } }); +} +//# sourceMappingURL=deployment.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/earn/deployment.js.map b/node_modules/viem/_cjs/tempo/actions/earn/deployment.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7b1426ffe7b69ac1b6579507f0357017d164cf3a --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/earn/deployment.js.map @@ -0,0 +1 @@ +{"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../../../tempo/actions/earn/deployment.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/faucet.js b/node_modules/viem/_cjs/tempo/actions/faucet.js new file mode 100644 index 0000000000000000000000000000000000000000..21e2a46d1d68e8fe6ef17a63531bde56ba4b5abf --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/faucet.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fund = fund; +exports.fundSync = fundSync; +const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js"); +const waitForTransactionReceipt_js_1 = require("../../actions/public/waitForTransactionReceipt.js"); +async function fund(client, parameters) { + const account = (0, parseAccount_js_1.parseAccount)(parameters.account); + return client.request({ + method: 'tempo_fundAddress', + params: [account.address], + }); +} +async function fundSync(client, parameters) { + const { timeout = 10_000 } = parameters; + const account = (0, parseAccount_js_1.parseAccount)(parameters.account); + const hashes = await client.request({ + method: 'tempo_fundAddress', + params: [account.address], + }); + const receipts = await Promise.all(hashes.map((hash) => (0, waitForTransactionReceipt_js_1.waitForTransactionReceipt)(client, { + hash, + checkReplacement: false, + timeout, + }))); + return receipts; +} +//# sourceMappingURL=faucet.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/faucet.js.map b/node_modules/viem/_cjs/tempo/actions/faucet.js.map new file mode 100644 index 0000000000000000000000000000000000000000..fd59e63ccdfa2db4315cb0aef59d85386b9de8bd --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/faucet.js.map @@ -0,0 +1 @@ +{"version":3,"file":"faucet.js","sourceRoot":"","sources":["../../../tempo/actions/faucet.ts"],"names":[],"mappings":";;AAkCA,oBAaC;AAoCD,4BAwBC;AAzGD,0EAAmE;AACnE,oGAA6F;AA+BtF,KAAK,UAAU,IAAI,CACxB,MAAgC,EAChC,UAA2B;IAE3B,MAAM,OAAO,GAAG,IAAA,8BAAY,EAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAChD,OAAO,MAAM,CAAC,OAAO,CAIlB;QACD,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;KAC1B,CAAC,CAAA;AACJ,CAAC;AAoCM,KAAK,UAAU,QAAQ,CAC5B,MAAgC,EAChC,UAA+B;IAE/B,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,UAAU,CAAA;IACvC,MAAM,OAAO,GAAG,IAAA,8BAAY,EAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAChD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAIhC;QACD,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;KAC1B,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAClB,IAAA,wDAAyB,EAAC,MAAM,EAAE;QAChC,IAAI;QACJ,gBAAgB,EAAE,KAAK;QACvB,OAAO;KACR,CAAC,CACH,CACF,CAAA;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/fee.js b/node_modules/viem/_cjs/tempo/actions/fee.js new file mode 100644 index 0000000000000000000000000000000000000000..1350dcefafc1c0e08eba27f12b382073a6896bfa --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/fee.js @@ -0,0 +1,264 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.validateToken = validateToken; +exports.getUserToken = getUserToken; +exports.setUserToken = setUserToken; +exports.setUserTokenSync = setUserTokenSync; +exports.watchSetUserToken = watchSetUserToken; +exports.getValidatorToken = getValidatorToken; +exports.setValidatorToken = setValidatorToken; +exports.setValidatorTokenSync = setValidatorTokenSync; +exports.watchSetValidatorToken = watchSetValidatorToken; +const tempo_1 = require("ox/tempo"); +const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js"); +const readContract_js_1 = require("../../actions/public/readContract.js"); +const watchContractEvent_js_1 = require("../../actions/public/watchContractEvent.js"); +const writeContract_js_1 = require("../../actions/wallet/writeContract.js"); +const writeContractSync_js_1 = require("../../actions/wallet/writeContractSync.js"); +const address_js_1 = require("../../constants/address.js"); +const parseEventLogs_js_1 = require("../../utils/abi/parseEventLogs.js"); +const Abis = require("../Abis.js"); +const Addresses = require("../Addresses.js"); +const errors_js_1 = require("../errors.js"); +const utils_js_1 = require("../internal/utils.js"); +const tokenActions = require("./token.js"); +const tip20AddressPrefix = '0x20c0'; +async function validateToken(client, parameters) { + const { token, ...rest } = parameters; + const token_ = String(token); + const address = (() => { + try { + return tempo_1.TokenId.toAddress(token); + } + catch (cause) { + throw new errors_js_1.InvalidFeeTokenError({ + cause: cause, + token: token_, + }); + } + })(); + if (!address.toLowerCase().startsWith(tip20AddressPrefix)) + throw new errors_js_1.FeeTokenNotTip20Error({ token: address }); + const isPathUsd = address.toLowerCase() === Addresses.pathUsd.toLowerCase(); + if (!isPathUsd) { + const isTip20 = await (0, readContract_js_1.readContract)(client, { + ...rest, + address: Addresses.tip20Factory, + abi: Abis.tip20Factory, + functionName: 'isTIP20', + args: [address], + }).catch((cause) => { + throw new errors_js_1.InvalidFeeTokenError({ + cause: cause, + token: address, + }); + }); + if (!isTip20) + throw new errors_js_1.FeeTokenNotTip20Error({ token: address }); + } + const metadata = await tokenActions + .getMetadata(client, { + ...rest, + token: address, + }) + .catch((cause) => { + throw new errors_js_1.InvalidFeeTokenError({ + cause: cause, + token: address, + }); + }); + if (metadata.currency !== 'USD') + throw new errors_js_1.FeeTokenNotUsdError({ + currency: metadata.currency, + token: address, + }); + if (metadata.paused === true) + throw new errors_js_1.FeeTokenPausedError({ token: address }); + return { + address, + id: tempo_1.TokenId.fromAddress(address), + metadata, + }; +} +async function getUserToken(client, ...parameters) { + const { account: account_ = client.account, ...rest } = parameters[0] ?? {}; + if (!account_) + throw new Error('account is required.'); + const account = (0, parseAccount_js_1.parseAccount)(account_); + const address = await (0, readContract_js_1.readContract)(client, { + ...rest, + ...getUserToken.call({ account: account.address }), + }); + if (address === address_js_1.zeroAddress) + return null; + return { + address, + id: tempo_1.TokenId.fromAddress(address), + }; +} +(function (getUserToken) { + function call(args) { + const { account } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.feeManager, + abi: Abis.feeManager, + args: [account], + functionName: 'userTokens', + }); + } + getUserToken.call = call; +})(getUserToken || (exports.getUserToken = getUserToken = {})); +async function setUserToken(client, parameters) { + return setUserToken.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (setUserToken) { + async function inner(action, client, parameters) { + const { token, ...rest } = parameters; + const call = setUserToken.call({ token }); + return (await action(client, { + ...rest, + ...call, + })); + } + setUserToken.inner = inner; + function call(args) { + const { token } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.feeManager, + abi: Abis.feeManager, + functionName: 'setUserToken', + args: [tempo_1.TokenId.toAddress(token)], + }); + } + setUserToken.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.feeManager, + logs, + eventName: 'UserTokenSet', + strict: true, + }); + if (!log) + throw new Error('`UserTokenSet` event not found.'); + return log; + } + setUserToken.extractEvent = extractEvent; +})(setUserToken || (exports.setUserToken = setUserToken = {})); +async function setUserTokenSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await setUserToken.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = setUserToken.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +function watchSetUserToken(client, parameters) { + const { onUserTokenSet, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.feeManager, + abi: Abis.feeManager, + eventName: 'UserTokenSet', + onLogs: (logs) => { + for (const log of logs) + onUserTokenSet(log.args, log); + }, + strict: true, + }); +} +async function getValidatorToken(client, parameters) { + const { validator, ...rest } = parameters; + const address = await (0, readContract_js_1.readContract)(client, { + ...rest, + ...getValidatorToken.call({ validator }), + }); + if (address === address_js_1.zeroAddress) + return null; + return { + address, + id: tempo_1.TokenId.fromAddress(address), + }; +} +(function (getValidatorToken) { + function call(args) { + const { validator } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.feeManager, + abi: Abis.feeManager, + args: [validator], + functionName: 'validatorTokens', + }); + } + getValidatorToken.call = call; +})(getValidatorToken || (exports.getValidatorToken = getValidatorToken = {})); +async function setValidatorToken(client, parameters) { + return setValidatorToken.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (setValidatorToken) { + async function inner(action, client, parameters) { + const { token, ...rest } = parameters; + const call = setValidatorToken.call({ token }); + return (await action(client, { + ...rest, + ...call, + })); + } + setValidatorToken.inner = inner; + function call(args) { + const { token } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.feeManager, + abi: Abis.feeManager, + functionName: 'setValidatorToken', + args: [tempo_1.TokenId.toAddress(token)], + }); + } + setValidatorToken.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.feeManager, + logs, + eventName: 'ValidatorTokenSet', + strict: true, + }); + if (!log) + throw new Error('`ValidatorTokenSet` event not found.'); + return log; + } + setValidatorToken.extractEvent = extractEvent; +})(setValidatorToken || (exports.setValidatorToken = setValidatorToken = {})); +async function setValidatorTokenSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await setValidatorToken.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = setValidatorToken.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +function watchSetValidatorToken(client, parameters) { + const { onValidatorTokenSet, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.feeManager, + abi: Abis.feeManager, + eventName: 'ValidatorTokenSet', + onLogs: (logs) => { + for (const log of logs) + onValidatorTokenSet(log.args, log); + }, + strict: true, + }); +} +//# sourceMappingURL=fee.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/fee.js.map b/node_modules/viem/_cjs/tempo/actions/fee.js.map new file mode 100644 index 0000000000000000000000000000000000000000..fa7bf7c109ea00c2d422f2d8e6b7d0e222a6ec06 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/fee.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fee.js","sourceRoot":"","sources":["../../../tempo/actions/fee.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/index.js b/node_modules/viem/_cjs/tempo/actions/index.js new file mode 100644 index 0000000000000000000000000000000000000000..9cd998bfdcd3419d3ddf4fd455389543eaa0ed95 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/index.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.zone = exports.wallet = exports.virtualAddress = exports.validator = exports.token = exports.simulate = exports.reward = exports.receivePolicy = exports.policy = exports.nonce = exports.multisig = exports.fee = exports.faucet = exports.earn = exports.dex = exports.channel = exports.amm = exports.accessKey = void 0; +exports.accessKey = require("./accessKey.js"); +exports.amm = require("./amm.js"); +exports.channel = require("./channel.js"); +exports.dex = require("./dex.js"); +exports.earn = require("./earn.js"); +exports.faucet = require("./faucet.js"); +exports.fee = require("./fee.js"); +exports.multisig = require("./multisig.js"); +exports.nonce = require("./nonce.js"); +exports.policy = require("./policy.js"); +exports.receivePolicy = require("./receivePolicy.js"); +exports.reward = require("./reward.js"); +exports.simulate = require("./simulate.js"); +exports.token = require("./token.js"); +exports.validator = require("./validator.js"); +exports.virtualAddress = require("./virtualAddress.js"); +exports.wallet = require("./wallet.js"); +exports.zone = require("./zone.js"); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/index.js.map b/node_modules/viem/_cjs/tempo/actions/index.js.map new file mode 100644 index 0000000000000000000000000000000000000000..777d919f9a030bbe6e0ffce4995a445a5211aa71 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tempo/actions/index.ts"],"names":[],"mappings":";;;AACA,8CAA2C;AAC3C,kCAA+B;AAC/B,0CAAuC;AACvC,kCAA+B;AAC/B,oCAAiC;AACjC,wCAAqC;AACrC,kCAA+B;AAC/B,4CAAyC;AACzC,sCAAmC;AACnC,wCAAqC;AACrC,sDAAmD;AACnD,wCAAqC;AACrC,4CAAyC;AACzC,sCAAmC;AACnC,8CAA2C;AAC3C,wDAAqD;AACrD,wCAAqC;AACrC,oCAAiC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/multisig.js b/node_modules/viem/_cjs/tempo/actions/multisig.js new file mode 100644 index 0000000000000000000000000000000000000000..47ea69df46931872b3470195aeac8d42ae270e02 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/multisig.js @@ -0,0 +1,153 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getConfig = getConfig; +exports.getConfigCommitment = getConfigCommitment; +exports.getOperation = getOperation; +exports.updateConfig = updateConfig; +exports.updateConfigSync = updateConfigSync; +const tempo_1 = require("ox/tempo"); +const readContract_js_1 = require("../../actions/public/readContract.js"); +const writeContract_js_1 = require("../../actions/wallet/writeContract.js"); +const writeContractSync_js_1 = require("../../actions/wallet/writeContractSync.js"); +const parseEventLogs_js_1 = require("../../utils/abi/parseEventLogs.js"); +const Abis = require("../Abis.js"); +const Account_js_1 = require("../Account.js"); +const Addresses = require("../Addresses.js"); +const utils_js_1 = require("../internal/utils.js"); +async function getConfig(client, parameters) { + const config = await client.request({ + method: 'multisig_getConfig', + params: [{ address: parameters.address }], + }); + return config ? tempo_1.MultisigConfig.fromRpc(config) : null; +} +async function getConfigCommitment(client, parameters) { + const { account, ...rest } = parameters; + return (0, readContract_js_1.readContract)(client, { + ...rest, + ...getConfigCommitment.call({ account }), + }); +} +(function (getConfigCommitment) { + function call(args) { + return (0, utils_js_1.defineCall)({ + address: Addresses.nativeMultisig, + abi: Abis.nativeMultisig, + args: [args.account], + functionName: 'getConfigCommitment', + }); + } + getConfigCommitment.call = call; +})(getConfigCommitment || (exports.getConfigCommitment = getConfigCommitment = {})); +async function getOperation(client, parameters) { + const operation = await client.request({ + method: 'multisig_getOperation', + params: [parameters.hash], + }); + return operation ? tempo_1.MultisigOperation.fromRpc(operation) : null; +} +async function updateConfig(client, parameters) { + return updateConfig.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (updateConfig) { + async function inner(action, client, parameters) { + const { account: account_, currentConfig: currentConfig_, nextConfig, ...rest } = parameters; + const accountValue = account_ ?? client.account; + const account = (() => { + if (typeof accountValue === 'object' && + accountValue.source === 'multisig') + return accountValue; + return undefined; + })(); + const config = (() => { + if (currentConfig_) + return currentConfig_; + if (account?.config) + return account.config; + return undefined; + })(); + const address = (() => { + if (account) + return account.address; + if (typeof accountValue === 'string') + return accountValue; + if (accountValue) + return accountValue.address; + return undefined; + })(); + const currentConfig = await (async () => { + if (config) + return tempo_1.MultisigConfig.from(config); + if (!address) + throw new Error('A multisig account address or current config is required.'); + const cachedConfig = await getConfig(client, { address }); + if (!cachedConfig) + throw new Error(`No current multisig config is cached for account ${address}. Provide the current config.`); + return cachedConfig; + })(); + const resolvedAccount = (() => { + if (account) + return { ...account, config: currentConfig }; + if (typeof accountValue === 'object') + return accountValue; + if (address) + return (0, Account_js_1.fromMultisig)({ address, ...currentConfig }); + return undefined; + })(); + return (await action(client, { + ...rest, + ...(resolvedAccount ? { account: resolvedAccount } : {}), + ...updateConfig.call({ currentConfig, nextConfig }), + })); + } + updateConfig.inner = inner; + function call(args) { + const currentConfig = tempo_1.MultisigConfig.from(args.currentConfig); + const nextConfig = tempo_1.MultisigConfig.from({ + owners: args.nextConfig.owners, + salt: currentConfig.salt, + threshold: args.nextConfig.threshold, + version: currentConfig.version + 1n, + }); + return (0, utils_js_1.defineCall)({ + address: Addresses.nativeMultisig, + abi: Abis.nativeMultisig, + args: [currentConfig, nextConfig.threshold, nextConfig.owners], + functionName: 'updateConfig', + }); + } + updateConfig.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.nativeMultisig, + logs, + eventName: 'MultisigConfigUpdated', + strict: true, + }); + if (!log) + throw new Error('`MultisigConfigUpdated` event not found.'); + return log; + } + updateConfig.extractEvent = extractEvent; +})(updateConfig || (exports.updateConfig = updateConfig = {})); +async function updateConfigSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await updateConfig.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = updateConfig.extractEvent(receipt.logs); + return { + account: args.account, + config: tempo_1.MultisigConfig.from({ + owners: args.owners, + salt: args.salt, + threshold: args.threshold, + version: args.version, + }), + receipt, + }; +} +//# sourceMappingURL=multisig.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/multisig.js.map b/node_modules/viem/_cjs/tempo/actions/multisig.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d9d5ab19183e8ac8d8eb845a8df01fec3bb732ea --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/multisig.js.map @@ -0,0 +1 @@ +{"version":3,"file":"multisig.js","sourceRoot":"","sources":["../../../tempo/actions/multisig.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/nonce.js b/node_modules/viem/_cjs/tempo/actions/nonce.js new file mode 100644 index 0000000000000000000000000000000000000000..f0ee3a73decbeaf61b44c220ae12ceee798c5872 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/nonce.js @@ -0,0 +1,43 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getNonce = getNonce; +exports.watchNonceIncremented = watchNonceIncremented; +const readContract_js_1 = require("../../actions/public/readContract.js"); +const watchContractEvent_js_1 = require("../../actions/public/watchContractEvent.js"); +const Abis = require("../Abis.js"); +const Addresses = require("../Addresses.js"); +const utils_js_1 = require("../internal/utils.js"); +async function getNonce(client, parameters) { + const { account, nonceKey, ...rest } = parameters; + return (0, readContract_js_1.readContract)(client, { + ...rest, + ...getNonce.call({ account, nonceKey }), + }); +} +(function (getNonce) { + function call(args) { + const { account, nonceKey } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.nonceManager, + abi: Abis.nonce, + args: [account, nonceKey], + functionName: 'getNonce', + }); + } + getNonce.call = call; +})(getNonce || (exports.getNonce = getNonce = {})); +function watchNonceIncremented(client, parameters) { + const { onNonceIncremented, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.nonceManager, + abi: Abis.nonce, + eventName: 'NonceIncremented', + onLogs: (logs) => { + for (const log of logs) + onNonceIncremented(log.args, log); + }, + strict: true, + }); +} +//# sourceMappingURL=nonce.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/nonce.js.map b/node_modules/viem/_cjs/tempo/actions/nonce.js.map new file mode 100644 index 0000000000000000000000000000000000000000..bba2eaf7383bd6a59cc4897ef3cb2f182744e5b7 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/nonce.js.map @@ -0,0 +1 @@ +{"version":3,"file":"nonce.js","sourceRoot":"","sources":["../../../tempo/actions/nonce.ts"],"names":[],"mappings":";;AAyCA,4BAYC;AA2DD,sDAkBC;AA/HD,0EAAmE;AAEnE,sFAA+E;AAO/E,mCAAkC;AAClC,6CAA4C;AAE5C,mDAAiD;AA0B1C,KAAK,UAAU,QAAQ,CAI5B,MAAyC,EACzC,UAA+B;IAE/B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IACjD,OAAO,IAAA,8BAAY,EAAC,MAAM,EAAE;QAC1B,GAAG,IAAI;QACP,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;KACxC,CAAC,CAAA;AACJ,CAAC;AAED,WAAiB,QAAQ;IA8CvB,SAAgB,IAAI,CAAC,IAAU;QAC7B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAClC,OAAO,IAAA,qBAAU,EAAC;YAChB,OAAO,EAAE,SAAS,CAAC,YAAY;YAC/B,GAAG,EAAE,IAAI,CAAC,KAAK;YACf,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;YACzB,YAAY,EAAE,UAAU;SACzB,CAAC,CAAA;IACJ,CAAC;IARe,aAAI,OAQnB,CAAA;AACH,CAAC,EAvDgB,QAAQ,wBAAR,QAAQ,QAuDxB;AAED,SAAgB,qBAAqB,CAInC,MAAyC,EACzC,UAA4C;IAE5C,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IAClD,OAAO,IAAA,0CAAkB,EAAC,MAAM,EAAE;QAChC,GAAG,IAAI;QACP,OAAO,EAAE,SAAS,CAAC,YAAY;QAC/B,GAAG,EAAE,IAAI,CAAC,KAAK;QACf,SAAS,EAAE,kBAAkB;QAC7B,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACf,KAAK,MAAM,GAAG,IAAI,IAAI;gBAAE,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC3D,CAAC;QACD,MAAM,EAAE,IAAI;KACb,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/policy.js b/node_modules/viem/_cjs/tempo/actions/policy.js new file mode 100644 index 0000000000000000000000000000000000000000..bface4d996e3fae66e794431eaae09ccc3e2e35c --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/policy.js @@ -0,0 +1,354 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.create = create; +exports.createSync = createSync; +exports.setAdmin = setAdmin; +exports.setAdminSync = setAdminSync; +exports.modifyWhitelist = modifyWhitelist; +exports.modifyWhitelistSync = modifyWhitelistSync; +exports.modifyBlacklist = modifyBlacklist; +exports.modifyBlacklistSync = modifyBlacklistSync; +exports.getData = getData; +exports.isAuthorized = isAuthorized; +exports.watchCreate = watchCreate; +exports.watchAdminUpdated = watchAdminUpdated; +exports.watchWhitelistUpdated = watchWhitelistUpdated; +exports.watchBlacklistUpdated = watchBlacklistUpdated; +const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js"); +const readContract_js_1 = require("../../actions/public/readContract.js"); +const watchContractEvent_js_1 = require("../../actions/public/watchContractEvent.js"); +const writeContract_js_1 = require("../../actions/wallet/writeContract.js"); +const writeContractSync_js_1 = require("../../actions/wallet/writeContractSync.js"); +const parseEventLogs_js_1 = require("../../utils/abi/parseEventLogs.js"); +const Abis = require("../Abis.js"); +const Addresses = require("../Addresses.js"); +const utils_js_1 = require("../internal/utils.js"); +const policyTypeMap = { + whitelist: 0, + blacklist: 1, +}; +async function create(client, parameters) { + return create.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (create) { + async function inner(action, client, parameters) { + const { account = client.account, addresses, chain = client.chain, type, ...rest } = parameters; + if (!account) + throw new Error('`account` is required'); + const admin = (0, parseAccount_js_1.parseAccount)(account).address; + const call = create.call({ admin, type, addresses }); + return action(client, { + ...rest, + account, + chain, + ...call, + }); + } + create.inner = inner; + function call(args) { + const { admin, type, addresses } = args; + const config = (() => { + if (addresses) + return { + functionName: 'createPolicyWithAccounts', + args: [admin, policyTypeMap[type], addresses], + }; + return { + functionName: 'createPolicy', + args: [admin, policyTypeMap[type]], + }; + })(); + return (0, utils_js_1.defineCall)({ + address: Addresses.tip403Registry, + abi: Abis.tip403Registry, + ...config, + }); + } + create.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip403Registry, + logs, + eventName: 'PolicyCreated', + strict: true, + }); + if (!log) + throw new Error('`PolicyCreated` event not found.'); + return log; + } + create.extractEvent = extractEvent; +})(create || (exports.create = create = {})); +async function createSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await create.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = create.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function setAdmin(client, parameters) { + return setAdmin.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (setAdmin) { + async function inner(action, client, parameters) { + const { policyId, admin, ...rest } = parameters; + const call = setAdmin.call({ policyId, admin }); + return (await action(client, { + ...rest, + ...call, + })); + } + setAdmin.inner = inner; + function call(args) { + const { policyId, admin } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.tip403Registry, + abi: Abis.tip403Registry, + functionName: 'setPolicyAdmin', + args: [policyId, admin], + }); + } + setAdmin.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip403Registry, + logs, + eventName: 'PolicyAdminUpdated', + strict: true, + }); + if (!log) + throw new Error('`PolicyAdminUpdated` event not found.'); + return log; + } + setAdmin.extractEvent = extractEvent; +})(setAdmin || (exports.setAdmin = setAdmin = {})); +async function setAdminSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await setAdmin.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = setAdmin.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function modifyWhitelist(client, parameters) { + return modifyWhitelist.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (modifyWhitelist) { + async function inner(action, client, parameters) { + const { address: targetAccount, allowed, policyId, ...rest } = parameters; + const call = modifyWhitelist.call({ + address: targetAccount, + allowed, + policyId, + }); + return (await action(client, { + ...rest, + ...call, + })); + } + modifyWhitelist.inner = inner; + function call(args) { + const { policyId, address, allowed } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.tip403Registry, + abi: Abis.tip403Registry, + functionName: 'modifyPolicyWhitelist', + args: [policyId, address, allowed], + }); + } + modifyWhitelist.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip403Registry, + logs, + eventName: 'WhitelistUpdated', + strict: true, + }); + if (!log) + throw new Error('`WhitelistUpdated` event not found.'); + return log; + } + modifyWhitelist.extractEvent = extractEvent; +})(modifyWhitelist || (exports.modifyWhitelist = modifyWhitelist = {})); +async function modifyWhitelistSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await modifyWhitelist.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = modifyWhitelist.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function modifyBlacklist(client, parameters) { + return modifyBlacklist.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (modifyBlacklist) { + async function inner(action, client, parameters) { + const { address: targetAccount, policyId, restricted, ...rest } = parameters; + const call = modifyBlacklist.call({ + address: targetAccount, + policyId, + restricted, + }); + return (await action(client, { + ...rest, + ...call, + })); + } + modifyBlacklist.inner = inner; + function call(args) { + const { policyId, address, restricted } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.tip403Registry, + abi: Abis.tip403Registry, + functionName: 'modifyPolicyBlacklist', + args: [policyId, address, restricted], + }); + } + modifyBlacklist.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip403Registry, + logs, + eventName: 'BlacklistUpdated', + strict: true, + }); + if (!log) + throw new Error('`BlacklistUpdated` event not found.'); + return log; + } + modifyBlacklist.extractEvent = extractEvent; +})(modifyBlacklist || (exports.modifyBlacklist = modifyBlacklist = {})); +async function modifyBlacklistSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await modifyBlacklist.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = modifyBlacklist.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function getData(client, parameters) { + const { policyId, ...rest } = parameters; + const result = await (0, readContract_js_1.readContract)(client, { + ...rest, + ...getData.call({ policyId }), + }); + return { + admin: result[1], + type: result[0] === 0 ? 'whitelist' : 'blacklist', + }; +} +(function (getData) { + function call(args) { + const { policyId } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.tip403Registry, + abi: Abis.tip403Registry, + args: [policyId], + functionName: 'policyData', + }); + } + getData.call = call; +})(getData || (exports.getData = getData = {})); +async function isAuthorized(client, parameters) { + const { policyId, user, ...rest } = parameters; + return (0, readContract_js_1.readContract)(client, { + ...rest, + ...isAuthorized.call({ policyId, user }), + }); +} +(function (isAuthorized) { + function call(args) { + const { policyId, user } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.tip403Registry, + abi: Abis.tip403Registry, + args: [policyId, user], + functionName: 'isAuthorized', + }); + } + isAuthorized.call = call; +})(isAuthorized || (exports.isAuthorized = isAuthorized = {})); +function watchCreate(client, parameters) { + const { onPolicyCreated, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.tip403Registry, + abi: Abis.tip403Registry, + eventName: 'PolicyCreated', + onLogs: (logs) => { + for (const log of logs) + onPolicyCreated({ + ...log.args, + type: log.args.policyType === 0 ? 'whitelist' : 'blacklist', + }, log); + }, + strict: true, + }); +} +function watchAdminUpdated(client, parameters) { + const { onAdminUpdated, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.tip403Registry, + abi: Abis.tip403Registry, + eventName: 'PolicyAdminUpdated', + onLogs: (logs) => { + for (const log of logs) + onAdminUpdated(log.args, log); + }, + strict: true, + }); +} +function watchWhitelistUpdated(client, parameters) { + const { onWhitelistUpdated, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.tip403Registry, + abi: Abis.tip403Registry, + eventName: 'WhitelistUpdated', + onLogs: (logs) => { + for (const log of logs) + onWhitelistUpdated(log.args, log); + }, + strict: true, + }); +} +function watchBlacklistUpdated(client, parameters) { + const { onBlacklistUpdated, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.tip403Registry, + abi: Abis.tip403Registry, + eventName: 'BlacklistUpdated', + onLogs: (logs) => { + for (const log of logs) + onBlacklistUpdated(log.args, log); + }, + strict: true, + }); +} +//# sourceMappingURL=policy.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/policy.js.map b/node_modules/viem/_cjs/tempo/actions/policy.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8ddd1ac04ab18fa2f996189ca54d838a709f931b --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/policy.js.map @@ -0,0 +1 @@ +{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../tempo/actions/policy.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/receivePolicy.js b/node_modules/viem/_cjs/tempo/actions/receivePolicy.js new file mode 100644 index 0000000000000000000000000000000000000000..3ea7c2e6eb95f1a9ed63041c968d545a1cc0df4b --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/receivePolicy.js @@ -0,0 +1,393 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.burn = burn; +exports.burnSync = burnSync; +exports.claim = claim; +exports.claimSync = claimSync; +exports.get = get; +exports.getBlockedBalance = getBlockedBalance; +exports.set = set; +exports.setSync = setSync; +exports.validate = validate; +exports.watchBlocked = watchBlocked; +exports.watchBurned = watchBurned; +exports.watchClaimed = watchClaimed; +exports.watchUpdated = watchUpdated; +const tempo_1 = require("ox/tempo"); +const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js"); +const readContract_js_1 = require("../../actions/public/readContract.js"); +const watchContractEvent_js_1 = require("../../actions/public/watchContractEvent.js"); +const writeContract_js_1 = require("../../actions/wallet/writeContract.js"); +const writeContractSync_js_1 = require("../../actions/wallet/writeContractSync.js"); +const address_js_1 = require("../../constants/address.js"); +const parseEventLogs_js_1 = require("../../utils/abi/parseEventLogs.js"); +const index_js_1 = require("../../utils/index.js"); +const Abis = require("../Abis.js"); +const Addresses = require("../Addresses.js"); +const utils_js_1 = require("../internal/utils.js"); +const policyTypes = ['whitelist', 'blacklist']; +const rejectAllPolicyId = 0n; +const allowAllPolicyId = 1n; +const blockedReasons = ['none', 'tokenFilter', 'receivePolicy']; +const tip20Prefix = '0x20c000000000000000000000'; +const systemPrecompiles = [ + Addresses.accountKeychain, + Addresses.accountRegistrar, + Addresses.addressRegistry, + Addresses.feeManager, + Addresses.nonceManager, + Addresses.receivePolicyGuard, + Addresses.signatureVerifier, + Addresses.stablecoinDex, + Addresses.tip20ChannelReserve, + Addresses.tip20Factory, + Addresses.tip403Registry, + Addresses.validator, +]; +async function burn(client, parameters) { + return burn.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (burn) { + async function inner(action, client, parameters) { + const { account = client.account, chain = client.chain, receipt, ...rest } = parameters; + if (!account) + throw new Error('`account` is required'); + const call = burn.call({ receipt }); + return action(client, { + ...rest, + account, + chain, + ...call, + }); + } + burn.inner = inner; + function call(args) { + const { receipt } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.receivePolicyGuard, + abi: Abis.receivePolicyGuard, + functionName: 'burnBlockedReceipt', + args: [receipt], + }); + } + burn.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.receivePolicyGuard, + logs, + eventName: 'ReceiptBurned', + strict: true, + }); + if (!log) + throw new Error('`ReceiptBurned` event not found.'); + return log; + } + burn.extractEvent = extractEvent; +})(burn || (exports.burn = burn = {})); +async function burnSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await burn.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = burn.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function claim(client, parameters) { + return claim.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (claim) { + async function inner(action, client, parameters) { + const { account = client.account, chain = client.chain, to, receipt, ...rest } = parameters; + if (!account) + throw new Error('`account` is required'); + const call = claim.call({ to, receipt }); + return action(client, { + ...rest, + account, + chain, + ...call, + }); + } + claim.inner = inner; + function call(args) { + const { to, receipt } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.receivePolicyGuard, + abi: Abis.receivePolicyGuard, + functionName: 'claim', + args: [to, receipt], + }); + } + claim.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.receivePolicyGuard, + logs, + eventName: 'ReceiptClaimed', + strict: true, + }); + if (!log) + throw new Error('`ReceiptClaimed` event not found.'); + return log; + } + claim.extractEvent = extractEvent; +})(claim || (exports.claim = claim = {})); +async function claimSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await claim.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = claim.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function get(client, parameters) { + const { account: account_ = client.account, ...rest } = parameters; + if (!account_) + throw new Error('`account` is required.'); + const account = (0, parseAccount_js_1.parseAccount)(account_); + const [hasReceivePolicy, senderPolicyId, senderPolicyType, tokenPolicyId, tokenPolicyType, recoveryAuthority,] = await (0, readContract_js_1.readContract)(client, { + ...rest, + account: null, + ...get.call({ account: account.address }), + }); + return { + hasReceivePolicy, + senderPolicyId: toPolicyRef(senderPolicyId), + senderPolicyType: policyTypes[senderPolicyType] ?? 'whitelist', + tokenPolicyId: toPolicyRef(tokenPolicyId), + tokenPolicyType: policyTypes[tokenPolicyType] ?? 'whitelist', + claimer: toClaimer(recoveryAuthority, account.address), + recoveryAuthority, + }; +} +(function (get) { + function call(args) { + const { account } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.tip403Registry, + abi: Abis.tip403Registry, + functionName: 'receivePolicy', + args: [account], + }); + } + get.call = call; +})(get || (exports.get = get = {})); +async function getBlockedBalance(client, parameters) { + const { receipt, ...rest } = parameters; + return (0, readContract_js_1.readContract)(client, { + ...rest, + ...getBlockedBalance.call({ receipt }), + }); +} +(function (getBlockedBalance) { + function call(args) { + const { receipt } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.receivePolicyGuard, + abi: Abis.receivePolicyGuard, + functionName: 'balanceOf', + args: [receipt], + }); + } + getBlockedBalance.call = call; +})(getBlockedBalance || (exports.getBlockedBalance = getBlockedBalance = {})); +async function set(client, parameters) { + return set.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (set) { + async function inner(action, client, parameters) { + const { account = client.account, chain = client.chain, senderPolicyId = 'allow-all', tokenPolicyId = 'allow-all', claimer = 'sender', ...rest } = parameters; + if (!account) + throw new Error('`account` is required'); + const address = (0, parseAccount_js_1.parseAccount)(account).address; + const recoveryAuthority = resolveClaimer(claimer, address); + const call = set.call({ + senderPolicyId: resolvePolicyRef(senderPolicyId), + tokenFilterId: resolvePolicyRef(tokenPolicyId), + recoveryAuthority, + }); + return action(client, { + ...rest, + account, + chain, + ...call, + }); + } + set.inner = inner; + function call(args) { + const { senderPolicyId, tokenFilterId, recoveryAuthority } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.tip403Registry, + abi: Abis.tip403Registry, + functionName: 'setReceivePolicy', + args: [senderPolicyId, tokenFilterId, recoveryAuthority], + }); + } + set.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip403Registry, + logs, + eventName: 'ReceivePolicyUpdated', + strict: true, + }); + if (!log) + throw new Error('`ReceivePolicyUpdated` event not found.'); + return log; + } + set.extractEvent = extractEvent; +})(set || (exports.set = set = {})); +async function setSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await set.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { tokenFilterId, ...args } = set.extractEvent(receipt.logs).args; + return { + ...args, + senderPolicyId: toPolicyRef(args.senderPolicyId), + tokenPolicyId: toPolicyRef(tokenFilterId), + claimer: toClaimer(args.recoveryAuthority, args.account), + receipt, + }; +} +async function validate(client, parameters) { + const { token, sender, receiver, ...rest } = parameters; + const [authorized, blockedReason] = await (0, readContract_js_1.readContract)(client, { + ...rest, + ...validate.call({ token, sender, receiver }), + }); + return { + authorized, + blockedReason: blockedReasons[blockedReason] ?? 'none', + }; +} +(function (validate) { + function call(args) { + const { token, sender, receiver } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.tip403Registry, + abi: Abis.tip403Registry, + functionName: 'validateReceivePolicy', + args: [token, sender, receiver], + }); + } + validate.call = call; +})(validate || (exports.validate = validate = {})); +function watchBlocked(client, parameters) { + const { onBlocked, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.receivePolicyGuard, + abi: Abis.receivePolicyGuard, + eventName: 'TransferBlocked', + onLogs: (logs) => { + for (const log of logs) { + const { receipt, ...args } = log.args; + onBlocked({ ...args, claimReceipt: receipt }, log); + } + }, + strict: true, + }); +} +function watchBurned(client, parameters) { + const { onBurned, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.receivePolicyGuard, + abi: Abis.receivePolicyGuard, + eventName: 'ReceiptBurned', + onLogs: (logs) => { + for (const log of logs) + onBurned(log.args, log); + }, + strict: true, + }); +} +function watchClaimed(client, parameters) { + const { onClaimed, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.receivePolicyGuard, + abi: Abis.receivePolicyGuard, + eventName: 'ReceiptClaimed', + onLogs: (logs) => { + for (const log of logs) + onClaimed(log.args, log); + }, + strict: true, + }); +} +function watchUpdated(client, parameters) { + const { onUpdated, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.tip403Registry, + abi: Abis.tip403Registry, + eventName: 'ReceivePolicyUpdated', + onLogs: (logs) => { + for (const log of logs) { + const { tokenFilterId, ...args } = log.args; + onUpdated({ + ...args, + senderPolicyId: toPolicyRef(args.senderPolicyId), + tokenPolicyId: toPolicyRef(tokenFilterId), + claimer: toClaimer(args.recoveryAuthority, args.account), + }, log); + } + }, + strict: true, + }); +} +function resolvePolicyRef(ref) { + if (ref === 'reject-all') + return rejectAllPolicyId; + if (ref === 'allow-all') + return allowAllPolicyId; + return ref; +} +function toPolicyRef(id) { + if (id === rejectAllPolicyId) + return 'reject-all'; + if (id === allowAllPolicyId) + return 'allow-all'; + return id; +} +function resolveClaimer(claimer, self) { + const recoveryAuthority = claimer === 'sender' ? address_js_1.zeroAddress : claimer === 'self' ? self : claimer; + assertValidRecoveryAuthority(recoveryAuthority); + return recoveryAuthority; +} +function assertValidRecoveryAuthority(recoveryAuthority) { + if ((0, index_js_1.isAddressEqual)(recoveryAuthority, address_js_1.zeroAddress)) + return; + if (tempo_1.VirtualAddress.isVirtual(recoveryAuthority)) + throw new Error('Recovery authority cannot be a TIP-1022 virtual address.'); + if (recoveryAuthority.toLowerCase().startsWith(tip20Prefix)) + throw new Error('Recovery authority cannot be a TIP-20 token address.'); + if (systemPrecompiles.some((address) => (0, index_js_1.isAddressEqual)(address, recoveryAuthority))) + throw new Error('Recovery authority cannot be a Tempo system precompile.'); +} +function toClaimer(recoveryAuthority, account) { + if (recoveryAuthority === address_js_1.zeroAddress) + return 'sender'; + if ((0, index_js_1.isAddressEqual)(recoveryAuthority, account)) + return 'self'; + return recoveryAuthority; +} +//# sourceMappingURL=receivePolicy.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/receivePolicy.js.map b/node_modules/viem/_cjs/tempo/actions/receivePolicy.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ee957f5c23406a7174e12cb29c933b81f3b45821 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/receivePolicy.js.map @@ -0,0 +1 @@ +{"version":3,"file":"receivePolicy.js","sourceRoot":"","sources":["../../../tempo/actions/receivePolicy.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/reward.js b/node_modules/viem/_cjs/tempo/actions/reward.js new file mode 100644 index 0000000000000000000000000000000000000000..f85222c157e20199134639c4b002fe98e1655468 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/reward.js @@ -0,0 +1,237 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.claim = claim; +exports.claimSync = claimSync; +exports.distribute = distribute; +exports.distributeSync = distributeSync; +exports.getGlobalRewardPerToken = getGlobalRewardPerToken; +exports.getPendingRewards = getPendingRewards; +exports.getUserRewardInfo = getUserRewardInfo; +exports.setRecipient = setRecipient; +exports.setRecipientSync = setRecipientSync; +exports.watchRewardDistributed = watchRewardDistributed; +exports.watchRewardRecipientSet = watchRewardRecipientSet; +const readContract_js_1 = require("../../actions/public/readContract.js"); +const watchContractEvent_js_1 = require("../../actions/public/watchContractEvent.js"); +const writeContract_js_1 = require("../../actions/wallet/writeContract.js"); +const writeContractSync_js_1 = require("../../actions/wallet/writeContractSync.js"); +const parseEventLogs_js_1 = require("../../utils/abi/parseEventLogs.js"); +const Abis = require("../Abis.js"); +const utils_js_1 = require("../internal/utils.js"); +async function claim(client, parameters) { + return claim.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (claim) { + async function inner(action, client, parameters) { + const { token, ...rest } = parameters; + const call = claim.call({ token }); + return (await action(client, { + ...rest, + ...call, + })); + } + claim.inner = inner; + function call(args) { + const { token } = args; + return (0, utils_js_1.defineCall)({ + address: token, + abi: Abis.tip20, + args: [], + functionName: 'claimRewards', + }); + } + claim.call = call; +})(claim || (exports.claim = claim = {})); +async function claimSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await claim.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + return { + receipt, + }; +} +async function distribute(client, parameters) { + return distribute.inner(writeContract_js_1.writeContract, client, parameters); +} +async function distributeSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await distribute.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = distribute.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +(function (distribute) { + async function inner(action, client, parameters) { + const { amount, token, ...rest } = parameters; + const call = distribute.call({ amount, token }); + return (await action(client, { + ...rest, + ...call, + })); + } + distribute.inner = inner; + function call(args) { + const { amount, token } = args; + return (0, utils_js_1.defineCall)({ + address: token, + abi: Abis.tip20, + args: [amount], + functionName: 'distributeReward', + }); + } + distribute.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20, + logs, + eventName: 'RewardDistributed', + strict: true, + }); + if (!log) + throw new Error('`RewardDistributed` event not found.'); + return log; + } + distribute.extractEvent = extractEvent; +})(distribute || (exports.distribute = distribute = {})); +async function getGlobalRewardPerToken(client, parameters) { + return (0, readContract_js_1.readContract)(client, { + ...parameters, + ...getGlobalRewardPerToken.call(parameters), + }); +} +(function (getGlobalRewardPerToken) { + function call(args) { + const { token } = args; + return (0, utils_js_1.defineCall)({ + address: token, + abi: Abis.tip20, + args: [], + functionName: 'globalRewardPerToken', + }); + } + getGlobalRewardPerToken.call = call; +})(getGlobalRewardPerToken || (exports.getGlobalRewardPerToken = getGlobalRewardPerToken = {})); +async function getPendingRewards(client, parameters) { + return (0, readContract_js_1.readContract)(client, { + ...parameters, + ...getPendingRewards.call(parameters), + }); +} +(function (getPendingRewards) { + function call(args) { + const { account, token } = args; + return (0, utils_js_1.defineCall)({ + address: token, + abi: Abis.tip20, + args: [account], + functionName: 'getPendingRewards', + }); + } + getPendingRewards.call = call; +})(getPendingRewards || (exports.getPendingRewards = getPendingRewards = {})); +async function getUserRewardInfo(client, parameters) { + return (0, readContract_js_1.readContract)(client, { + ...parameters, + ...getUserRewardInfo.call(parameters), + }); +} +(function (getUserRewardInfo) { + function call(args) { + const { account, token } = args; + return (0, utils_js_1.defineCall)({ + address: token, + abi: Abis.tip20, + args: [account], + functionName: 'userRewardInfo', + }); + } + getUserRewardInfo.call = call; +})(getUserRewardInfo || (exports.getUserRewardInfo = getUserRewardInfo = {})); +async function setRecipient(client, parameters) { + return setRecipient.inner(writeContract_js_1.writeContract, client, parameters); +} +async function setRecipientSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await setRecipient.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = setRecipient.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +(function (setRecipient) { + async function inner(action, client, parameters) { + const { recipient, token, ...rest } = parameters; + const call = setRecipient.call({ recipient, token }); + return (await action(client, { + ...rest, + ...call, + })); + } + setRecipient.inner = inner; + function call(args) { + const { recipient, token } = args; + return (0, utils_js_1.defineCall)({ + address: token, + abi: Abis.tip20, + args: [recipient], + functionName: 'setRewardRecipient', + }); + } + setRecipient.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20, + logs, + eventName: 'RewardRecipientSet', + strict: true, + }); + if (!log) + throw new Error('`RewardRecipientSet` event not found.'); + return log; + } + setRecipient.extractEvent = extractEvent; +})(setRecipient || (exports.setRecipient = setRecipient = {})); +function watchRewardDistributed(client, parameters) { + const { onRewardDistributed, token, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: token, + abi: Abis.tip20, + eventName: 'RewardDistributed', + onLogs: (logs) => { + for (const log of logs) + onRewardDistributed(log.args, log); + }, + strict: true, + }); +} +function watchRewardRecipientSet(client, parameters) { + const { onRewardRecipientSet, token, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: token, + abi: Abis.tip20, + eventName: 'RewardRecipientSet', + onLogs: (logs) => { + for (const log of logs) + onRewardRecipientSet(log.args, log); + }, + strict: true, + }); +} +//# sourceMappingURL=reward.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/reward.js.map b/node_modules/viem/_cjs/tempo/actions/reward.js.map new file mode 100644 index 0000000000000000000000000000000000000000..1a6113d8bf49183028daf17ad40858541518e55a --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/reward.js.map @@ -0,0 +1 @@ +{"version":3,"file":"reward.js","sourceRoot":"","sources":["../../../tempo/actions/reward.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/simulate.js b/node_modules/viem/_cjs/tempo/actions/simulate.js new file mode 100644 index 0000000000000000000000000000000000000000..f1b0c2c56a74c937990149cf262df11612a60ffb --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/simulate.js @@ -0,0 +1,157 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.simulateBlocks = simulateBlocks; +exports.simulateCalls = simulateCalls; +const BlockOverrides = require("ox/BlockOverrides"); +const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js"); +const abi_js_1 = require("../../errors/abi.js"); +const contract_js_1 = require("../../errors/contract.js"); +const node_js_1 = require("../../errors/node.js"); +const decodeFunctionResult_js_1 = require("../../utils/abi/decodeFunctionResult.js"); +const encodeFunctionData_js_1 = require("../../utils/abi/encodeFunctionData.js"); +const concat_js_1 = require("../../utils/data/concat.js"); +const toHex_js_1 = require("../../utils/encoding/toHex.js"); +const getContractError_js_1 = require("../../utils/errors/getContractError.js"); +const getNodeError_js_1 = require("../../utils/errors/getNodeError.js"); +const block_js_1 = require("../../utils/formatters/block.js"); +const log_js_1 = require("../../utils/formatters/log.js"); +const transactionRequest_js_1 = require("../../utils/formatters/transactionRequest.js"); +const stateOverride_js_1 = require("../../utils/stateOverride.js"); +const assertRequest_js_1 = require("../../utils/transaction/assertRequest.js"); +async function simulateBlocks(client, parameters) { + const { blockNumber, blockTag = client.experimental_blockTag ?? 'latest', blocks, returnFullTransactions, traceTransfers, validation, } = parameters; + try { + const blockStateCalls = []; + for (const block of blocks) { + const blockOverrides = block.blockOverrides + ? BlockOverrides.toRpc(block.blockOverrides) + : undefined; + const calls = block.calls.map((call_) => { + const call = call_; + const account = call.account + ? (0, parseAccount_js_1.parseAccount)(call.account) + : client.account + ? (0, parseAccount_js_1.parseAccount)(client.account) + : undefined; + const data = call.abi ? (0, encodeFunctionData_js_1.encodeFunctionData)(call) : call.data; + const request = { + ...call, + account, + data: call.dataSuffix + ? (0, concat_js_1.concat)([data || '0x', call.dataSuffix]) + : data, + from: call.from ?? account?.address, + }; + (0, assertRequest_js_1.assertRequest)(request); + return (0, transactionRequest_js_1.formatTransactionRequest)(request); + }); + const stateOverrides = block.stateOverrides + ? (0, stateOverride_js_1.serializeStateOverride)(block.stateOverrides) + : undefined; + blockStateCalls.push({ + blockOverrides, + calls, + stateOverrides, + }); + } + const blockNumberHex = typeof blockNumber === 'bigint' ? (0, toHex_js_1.numberToHex)(blockNumber) : undefined; + const block = blockNumberHex || blockTag; + const result = await client.request({ + method: 'tempo_simulateV1', + params: [ + { + blockStateCalls, + returnFullTransactions, + traceTransfers, + validation, + }, + block, + ], + }); + return { + blocks: result.blocks.map((block, i) => ({ + ...(0, block_js_1.formatBlock)(block), + calls: block.calls?.map((call, j) => { + const { abi, args, functionName, to } = blocks[i].calls[j]; + const data = call.error?.data ?? call.returnData; + const gasUsed = BigInt(call.gasUsed); + const logs = call.logs?.map((log) => (0, log_js_1.formatLog)(log)); + const status = call.status === '0x1' ? 'success' : 'failure'; + const result = abi && status === 'success' && data !== '0x' + ? (0, decodeFunctionResult_js_1.decodeFunctionResult)({ + abi, + data, + functionName, + }) + : null; + const error = (() => { + if (status === 'success') + return undefined; + let error; + if (data === '0x') + error = new abi_js_1.AbiDecodingZeroDataError(); + else if (data) + error = new contract_js_1.RawContractError({ data }); + if (!error) + return undefined; + return (0, getContractError_js_1.getContractError)(error, { + abi: (abi ?? []), + address: to ?? '0x', + args, + functionName: functionName ?? '', + }); + })(); + return { + data, + gasUsed, + logs, + status, + ...(status === 'success' + ? { + result, + } + : { + error, + }), + }; + }), + })), + tokenMetadata: result.tokenMetadata ?? {}, + }; + } + catch (e) { + const cause = e; + const error = (0, getNodeError_js_1.getNodeError)(cause, {}); + if (error instanceof node_js_1.UnknownNodeError) + throw cause; + throw error; + } +} +async function simulateCalls(client, parameters) { + const { blockNumber, blockTag, calls, stateOverrides, traceTransfers, validation, } = parameters; + const account = parameters.account + ? (0, parseAccount_js_1.parseAccount)(parameters.account) + : undefined; + const result = await simulateBlocks(client, { + blockNumber, + blockTag: blockTag, + blocks: [ + { + calls: calls.map((call) => ({ + ...call, + from: account?.address, + })), + stateOverrides, + }, + ], + traceTransfers, + validation, + }); + const { calls: block_calls, ...block } = result.blocks[0]; + return { + block, + results: block_calls, + tokenMetadata: result.tokenMetadata, + }; +} +//# sourceMappingURL=simulate.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/simulate.js.map b/node_modules/viem/_cjs/tempo/actions/simulate.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d950298e7c2e7e09e9ffca0ee46e7d2a570ef899 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/simulate.js.map @@ -0,0 +1 @@ +{"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../tempo/actions/simulate.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/token.js b/node_modules/viem/_cjs/tempo/actions/token.js new file mode 100644 index 0000000000000000000000000000000000000000..9b9edcffc427aa4751369ed71a8a30f0351a8999 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/token.js @@ -0,0 +1,1379 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.approve = approve; +exports.approveSync = approveSync; +exports.burnBlocked = burnBlocked; +exports.burnBlockedSync = burnBlockedSync; +exports.burn = burn; +exports.burnSync = burnSync; +exports.changeTransferPolicy = changeTransferPolicy; +exports.changeTransferPolicySync = changeTransferPolicySync; +exports.create = create; +exports.createSync = createSync; +exports.getAllowance = getAllowance; +exports.getBalance = getBalance; +exports.getMetadata = getMetadata; +exports.getTotalSupply = getTotalSupply; +exports.getRoleAdmin = getRoleAdmin; +exports.hasRole = hasRole; +exports.grantRoles = grantRoles; +exports.grantRolesSync = grantRolesSync; +exports.mint = mint; +exports.mintSync = mintSync; +exports.pause = pause; +exports.pauseSync = pauseSync; +exports.renounceRoles = renounceRoles; +exports.renounceRolesSync = renounceRolesSync; +exports.revokeRoles = revokeRoles; +exports.revokeRolesSync = revokeRolesSync; +exports.setSupplyCap = setSupplyCap; +exports.setSupplyCapSync = setSupplyCapSync; +exports.setRoleAdmin = setRoleAdmin; +exports.setRoleAdminSync = setRoleAdminSync; +exports.transfer = transfer; +exports.transferSync = transferSync; +exports.unpause = unpause; +exports.unpauseSync = unpauseSync; +exports.prepareUpdateQuoteToken = prepareUpdateQuoteToken; +exports.prepareUpdateQuoteTokenSync = prepareUpdateQuoteTokenSync; +exports.updateQuoteToken = updateQuoteToken; +exports.updateQuoteTokenSync = updateQuoteTokenSync; +exports.watchApprove = watchApprove; +exports.watchBurn = watchBurn; +exports.watchCreate = watchCreate; +exports.watchMint = watchMint; +exports.watchAdminRole = watchAdminRole; +exports.watchRole = watchRole; +exports.watchTransfer = watchTransfer; +exports.watchUpdateQuoteToken = watchUpdateQuoteToken; +const Hex = require("ox/Hex"); +const tempo_1 = require("ox/tempo"); +const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js"); +const estimateContractGas_js_1 = require("../../actions/public/estimateContractGas.js"); +const multicall_js_1 = require("../../actions/public/multicall.js"); +const readContract_js_1 = require("../../actions/public/readContract.js"); +const simulateContract_js_1 = require("../../actions/public/simulateContract.js"); +const watchContractEvent_js_1 = require("../../actions/public/watchContractEvent.js"); +const internal_Token = require("../../actions/token/internal.js"); +const sendTransaction_js_1 = require("../../actions/wallet/sendTransaction.js"); +const sendTransactionSync_js_1 = require("../../actions/wallet/sendTransactionSync.js"); +const writeContract_js_1 = require("../../actions/wallet/writeContract.js"); +const writeContractSync_js_1 = require("../../actions/wallet/writeContractSync.js"); +const account_js_1 = require("../../errors/account.js"); +const encodeFunctionData_js_1 = require("../../utils/abi/encodeFunctionData.js"); +const parseEventLogs_js_1 = require("../../utils/abi/parseEventLogs.js"); +const formatUnits_js_1 = require("../../utils/unit/formatUnits.js"); +const Abis = require("../Abis.js"); +const Addresses = require("../Addresses.js"); +const utils_js_1 = require("../internal/utils.js"); +async function approve(client, parameters) { + return approve.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (approve) { + async function inner(action, client, parameters) { + return (await action(client, { + ...parameters, + ...approve.call(client, parameters), + })); + } + approve.inner = inner; + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { amount, spender, token } = args; + const { address, decimals } = (0, utils_js_1.resolveToken)(client, { token }); + return (0, utils_js_1.defineCall)({ + address, + abi: Abis.tip20, + functionName: 'approve', + args: [spender, internal_Token.toBaseUnits(amount, decimals)], + }); + } + approve.call = call; + async function estimateGas(client, parameters) { + return (0, estimateContractGas_js_1.estimateContractGas)(client, { + ...(0, utils_js_1.pickWriteParameters)(parameters), + ...approve.call(client, parameters), + }); + } + approve.estimateGas = estimateGas; + async function simulate(client, parameters) { + return (0, simulateContract_js_1.simulateContract)(client, { + ...(0, utils_js_1.pickWriteParameters)(parameters), + ...approve.call(client, parameters), + }); + } + approve.simulate = simulate; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20, + logs, + eventName: 'Approval', + }); + if (!log) + throw new Error('`Approval` event not found.'); + return log; + } + approve.extractEvent = extractEvent; +})(approve || (exports.approve = approve = {})); +async function approveSync(client, parameters) { + const { amount, token, throwOnReceiptRevert = true } = parameters; + const { decimals } = (0, utils_js_1.resolveToken)(client, { token }); + const resolved = internal_Token.resolveAmountDecimals(amount, decimals); + const receipt = await approve.inner(writeContractSync_js_1.writeContractSync, client, { + ...parameters, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = approve.extractEvent(receipt.logs); + return { + ...args, + ...(resolved === undefined + ? {} + : { decimals: resolved, formatted: (0, formatUnits_js_1.formatUnits)(args.amount, resolved) }), + receipt, + }; +} +async function burnBlocked(client, parameters) { + return burnBlocked.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (burnBlocked) { + async function inner(action, client, parameters) { + const { amount, from, token, ...rest } = parameters; + const call = burnBlocked.call(client, { amount, from, token }); + return (await action(client, { + ...rest, + ...call, + })); + } + burnBlocked.inner = inner; + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { from, amount, token } = args; + const { address, decimals } = (0, utils_js_1.resolveToken)(client, { token }); + return (0, utils_js_1.defineCall)({ + address, + abi: Abis.tip20, + functionName: 'burnBlocked', + args: [from, internal_Token.toBaseUnits(amount, decimals)], + }); + } + burnBlocked.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20, + logs, + eventName: 'BurnBlocked', + }); + if (!log) + throw new Error('`BurnBlocked` event not found.'); + return log; + } + burnBlocked.extractEvent = extractEvent; +})(burnBlocked || (exports.burnBlocked = burnBlocked = {})); +async function burnBlockedSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await burnBlocked.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = burnBlocked.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function burn(client, parameters) { + return burn.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (burn) { + async function inner(action, client, parameters) { + const { amount, memo, token, ...rest } = parameters; + const call = burn.call(client, { amount, memo, token }); + return (await action(client, { + ...rest, + ...call, + })); + } + burn.inner = inner; + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { amount, memo, token } = args; + const { address, decimals } = (0, utils_js_1.resolveToken)(client, { token }); + const value = internal_Token.toBaseUnits(amount, decimals); + const callArgs = memo + ? { + functionName: 'burnWithMemo', + args: [value, Hex.padLeft(memo, 32)], + } + : { + functionName: 'burn', + args: [value], + }; + return (0, utils_js_1.defineCall)({ + address, + abi: Abis.tip20, + ...callArgs, + }); + } + burn.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20, + logs, + eventName: 'Burn', + }); + if (!log) + throw new Error('`Burn` event not found.'); + return log; + } + burn.extractEvent = extractEvent; +})(burn || (exports.burn = burn = {})); +async function burnSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await burn.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = burn.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function changeTransferPolicy(client, parameters) { + return changeTransferPolicy.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (changeTransferPolicy) { + async function inner(action, client, parameters) { + const { policyId, token, ...rest } = parameters; + const call = changeTransferPolicy.call(client, { policyId, token }); + return (await action(client, { + ...rest, + ...call, + })); + } + changeTransferPolicy.inner = inner; + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { token, policyId } = args; + return (0, utils_js_1.defineCall)({ + address: (0, utils_js_1.resolveToken)(client, { token }).address, + abi: Abis.tip20, + functionName: 'changeTransferPolicyId', + args: [policyId], + }); + } + changeTransferPolicy.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20, + logs, + eventName: 'TransferPolicyUpdate', + }); + if (!log) + throw new Error('`TransferPolicyUpdate` event not found.'); + return log; + } + changeTransferPolicy.extractEvent = extractEvent; +})(changeTransferPolicy || (exports.changeTransferPolicy = changeTransferPolicy = {})); +async function changeTransferPolicySync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await changeTransferPolicy.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = changeTransferPolicy.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function create(client, parameters) { + return create.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (create) { + async function inner(action, client, parameters) { + const { account = client.account, admin: admin_ = client.account, chain = client.chain, ...rest } = parameters; + const admin = admin_ ? (0, parseAccount_js_1.parseAccount)(admin_) : undefined; + if (!admin) + throw new Error('admin is required.'); + const call = create.call(client, { ...rest, admin: admin.address }); + return (await action(client, { + ...parameters, + account, + chain, + ...call, + })); + } + create.inner = inner; + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { name, symbol, currency, logoURI, quoteToken = Addresses.pathUsd, admin, salt = Hex.random(32), } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.tip20Factory, + abi: Abis.tip20Factory, + args: typeof logoURI === 'string' + ? [ + name, + symbol, + currency, + (0, utils_js_1.resolveToken)(client, { token: quoteToken }).address, + admin, + salt, + logoURI, + ] + : [ + name, + symbol, + currency, + (0, utils_js_1.resolveToken)(client, { token: quoteToken }).address, + admin, + salt, + ], + functionName: 'createToken', + }); + } + create.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20Factory, + logs, + eventName: 'TokenCreated', + strict: true, + }); + if (!log) + throw new Error('`TokenCreated` event not found.'); + return log; + } + create.extractEvent = extractEvent; +})(create || (exports.create = create = {})); +async function createSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await create.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = create.extractEvent(receipt.logs); + const tokenId = tempo_1.TokenId.fromAddress(args.token); + return { + ...args, + receipt, + tokenId, + }; +} +async function getAllowance(client, parameters) { + const { account, decimals, spender, token, ...rest } = parameters; + const [amount, { decimals: resolved }] = await Promise.all([ + (0, readContract_js_1.readContract)(client, { + ...rest, + ...getAllowance.call(client, { account, spender, token }), + }), + (0, utils_js_1.resolveTokenWithDecimals)(client, { + decimals, + token, + }), + ]); + return internal_Token.toAmount(amount, resolved); +} +(function (getAllowance) { + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + return (0, utils_js_1.defineCall)({ + address: (0, utils_js_1.resolveToken)(client, args).address, + abi: Abis.tip20, + functionName: 'allowance', + args: [args.account, args.spender], + }); + } + getAllowance.call = call; +})(getAllowance || (exports.getAllowance = getAllowance = {})); +async function getBalance(client, parameters) { + const { account: account_ = client.account, decimals, token, ...rest } = parameters; + if (!account_) + throw new account_js_1.AccountNotFoundError(); + const account = (0, parseAccount_js_1.parseAccount)(account_).address; + const [amount, { decimals: resolved }] = await Promise.all([ + (0, readContract_js_1.readContract)(client, { + ...rest, + ...getBalance.call(client, { account, token }), + }), + (0, utils_js_1.resolveTokenWithDecimals)(client, { + decimals, + token, + }), + ]); + return internal_Token.toAmount(amount, resolved); +} +(function (getBalance) { + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const account_ = args.account ?? client?.account; + if (!account_) + throw new account_js_1.AccountNotFoundError(); + const account = (0, parseAccount_js_1.parseAccount)(account_).address; + return (0, utils_js_1.defineCall)({ + address: (0, utils_js_1.resolveToken)(client, args).address, + abi: Abis.tip20, + functionName: 'balanceOf', + args: [account], + }); + } + getBalance.call = call; +})(getBalance || (exports.getBalance = getBalance = {})); +async function getMetadata(client, parameters) { + const { token, ...rest } = parameters; + const { address } = (0, utils_js_1.resolveToken)(client, { token }); + const abi = Abis.tip20; + const declared = (0, utils_js_1.findDeclaredToken)(client, token); + const overrides = { + ...(declared?.decimals != null ? { decimals: declared.decimals } : {}), + ...(declared?.name != null ? { name: declared.name } : {}), + ...(declared?.symbol != null ? { symbol: declared.symbol } : {}), + }; + if (tempo_1.TokenId.fromAddress(address) === tempo_1.TokenId.fromAddress(Addresses.pathUsd)) + return readMetadataContracts(client, { + ...rest, + contracts: [ + { + address, + abi, + functionName: 'currency', + }, + { + address, + abi, + functionName: 'decimals', + }, + { + address, + abi, + functionName: 'logoURI', + }, + { + address, + abi, + functionName: 'name', + }, + { + address, + abi, + functionName: 'symbol', + }, + { + address, + abi, + functionName: 'totalSupply', + }, + ], + }).then(([currency, decimals, logoURI, name, symbol, totalSupply]) => ({ + name: unwrapMulticallResult(name), + symbol: unwrapMulticallResult(symbol), + currency: unwrapMulticallResult(currency), + decimals: unwrapMulticallResult(decimals), + logoURI: unwrapMulticallResult(logoURI, ''), + totalSupply: unwrapMulticallResult(totalSupply), + ...overrides, + })); + return readMetadataContracts(client, { + ...rest, + contracts: [ + { + address, + abi, + functionName: 'currency', + }, + { + address, + abi, + functionName: 'decimals', + }, + { + address, + abi, + functionName: 'logoURI', + }, + { + address, + abi, + functionName: 'quoteToken', + }, + { + address, + abi, + functionName: 'name', + }, + { + address, + abi, + functionName: 'paused', + }, + { + address, + abi, + functionName: 'supplyCap', + }, + { + address, + abi, + functionName: 'symbol', + }, + { + address, + abi, + functionName: 'totalSupply', + }, + { + address, + abi, + functionName: 'transferPolicyId', + }, + ], + }).then(([currency, decimals, logoURI, quoteToken, name, paused, supplyCap, symbol, totalSupply, transferPolicyId,]) => ({ + name: unwrapMulticallResult(name), + symbol: unwrapMulticallResult(symbol), + currency: unwrapMulticallResult(currency), + decimals: unwrapMulticallResult(decimals), + logoURI: unwrapMulticallResult(logoURI, ''), + quoteToken: unwrapMulticallResult(quoteToken), + totalSupply: unwrapMulticallResult(totalSupply), + paused: unwrapMulticallResult(paused), + supplyCap: unwrapMulticallResult(supplyCap), + transferPolicyId: unwrapMulticallResult(transferPolicyId), + ...overrides, + })); +} +async function readMetadataContracts(client, parameters) { + if (client.batch?.multicall === undefined) + return (0, multicall_js_1.multicall)(client, { + ...parameters, + allowFailure: true, + deployless: true, + }); + const { contracts, ...rest } = parameters; + const results = await Promise.allSettled(contracts.map((contract) => (0, readContract_js_1.readContract)(client, { + ...rest, + ...contract, + }))); + return results.map((result) => result.status === 'fulfilled' + ? { result: result.value, status: 'success' } + : { error: result.reason, status: 'failure' }); +} +function unwrapMulticallResult(response, ...fallback) { + if (response.status === 'failure') { + if (fallback.length > 0) + return fallback[0]; + throw response.error; + } + return response.result; +} +async function getTotalSupply(client, parameters) { + const { decimals, token, ...rest } = parameters; + const [amount, { decimals: resolved }] = await Promise.all([ + (0, readContract_js_1.readContract)(client, { + ...rest, + ...getTotalSupply.call(client, { token }), + }), + (0, utils_js_1.resolveTokenWithDecimals)(client, { + decimals, + token, + }), + ]); + return internal_Token.toAmount(amount, resolved); +} +(function (getTotalSupply) { + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + return (0, utils_js_1.defineCall)({ + address: (0, utils_js_1.resolveToken)(client, args).address, + abi: Abis.tip20, + args: [], + functionName: 'totalSupply', + }); + } + getTotalSupply.call = call; +})(getTotalSupply || (exports.getTotalSupply = getTotalSupply = {})); +async function getRoleAdmin(client, parameters) { + return (0, readContract_js_1.readContract)(client, { + ...parameters, + ...getRoleAdmin.call(client, parameters), + }); +} +(function (getRoleAdmin) { + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { role, token } = args; + return (0, utils_js_1.defineCall)({ + address: (0, utils_js_1.resolveToken)(client, { token }).address, + abi: Abis.tip20, + functionName: 'getRoleAdmin', + args: [tempo_1.TokenRole.serialize(role)], + }); + } + getRoleAdmin.call = call; +})(getRoleAdmin || (exports.getRoleAdmin = getRoleAdmin = {})); +async function hasRole(client, parameters) { + const { account = client.account } = parameters; + const address = account ? (0, parseAccount_js_1.parseAccount)(account).address : undefined; + if (!address) + throw new Error('account is required.'); + return (0, readContract_js_1.readContract)(client, { + ...parameters, + ...hasRole.call(client, { ...parameters, account: address }), + }); +} +(function (hasRole) { + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { account, role, token } = args; + return (0, utils_js_1.defineCall)({ + address: (0, utils_js_1.resolveToken)(client, { token }).address, + abi: Abis.tip20, + functionName: 'hasRole', + args: [account, tempo_1.TokenRole.serialize(role)], + }); + } + hasRole.call = call; +})(hasRole || (exports.hasRole = hasRole = {})); +async function grantRoles(client, parameters) { + return grantRoles.inner(sendTransaction_js_1.sendTransaction, client, parameters); +} +(function (grantRoles) { + async function inner(action, client, parameters) { + return (await action(client, { + ...parameters, + calls: parameters.roles.map((role) => { + const call = grantRoles.call(client, { ...parameters, role }); + return { + ...call, + data: (0, encodeFunctionData_js_1.encodeFunctionData)(call), + }; + }), + })); + } + grantRoles.inner = inner; + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { token, to, role } = args; + const roleHash = tempo_1.TokenRole.serialize(role); + return (0, utils_js_1.defineCall)({ + address: (0, utils_js_1.resolveToken)(client, { token }).address, + abi: Abis.tip20, + functionName: 'grantRole', + args: [roleHash, to], + }); + } + grantRoles.call = call; + function extractEvents(logs) { + const events = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20, + logs, + eventName: 'RoleMembershipUpdated', + }); + if (events.length === 0) + throw new Error('`RoleMembershipUpdated` events not found.'); + return events; + } + grantRoles.extractEvents = extractEvents; +})(grantRoles || (exports.grantRoles = grantRoles = {})); +async function grantRolesSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await grantRoles.inner(sendTransactionSync_js_1.sendTransactionSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const events = grantRoles.extractEvents(receipt.logs); + const value = events.map((event) => event.args); + return { + receipt, + value, + }; +} +async function mint(client, parameters) { + return mint.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (mint) { + async function inner(action, client, parameters) { + const { amount, memo, to, token, ...rest } = parameters; + const call = mint.call(client, { amount, memo, to, token }); + return (await action(client, { + ...rest, + ...call, + })); + } + mint.inner = inner; + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { to, amount, memo, token } = args; + const { address, decimals } = (0, utils_js_1.resolveToken)(client, { token }); + const value = internal_Token.toBaseUnits(amount, decimals); + const callArgs = memo + ? { + functionName: 'mintWithMemo', + args: [to, value, Hex.padLeft(memo, 32)], + } + : { + functionName: 'mint', + args: [to, value], + }; + return (0, utils_js_1.defineCall)({ + address, + abi: Abis.tip20, + ...callArgs, + }); + } + mint.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20, + logs, + eventName: 'Mint', + }); + if (!log) + throw new Error('`Mint` event not found.'); + return log; + } + mint.extractEvent = extractEvent; +})(mint || (exports.mint = mint = {})); +async function mintSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await mint.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = mint.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function pause(client, parameters) { + return pause.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (pause) { + async function inner(action, client, parameters) { + const { token, ...rest } = parameters; + const call = pause.call(client, { token }); + return (await action(client, { + ...rest, + ...call, + })); + } + pause.inner = inner; + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { token } = args; + return (0, utils_js_1.defineCall)({ + address: (0, utils_js_1.resolveToken)(client, { token }).address, + abi: Abis.tip20, + functionName: 'pause', + args: [], + }); + } + pause.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20, + logs, + eventName: 'PauseStateUpdate', + }); + if (!log) + throw new Error('`PauseStateUpdate` event not found.'); + return log; + } + pause.extractEvent = extractEvent; +})(pause || (exports.pause = pause = {})); +async function pauseSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await pause.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = pause.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function renounceRoles(client, parameters) { + return renounceRoles.inner(sendTransaction_js_1.sendTransaction, client, parameters); +} +(function (renounceRoles) { + async function inner(action, client, parameters) { + return (await action(client, { + ...parameters, + calls: parameters.roles.map((role) => { + const call = renounceRoles.call(client, { ...parameters, role }); + return { + ...call, + data: (0, encodeFunctionData_js_1.encodeFunctionData)(call), + }; + }), + })); + } + renounceRoles.inner = inner; + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { token, role } = args; + const roleHash = tempo_1.TokenRole.serialize(role); + return (0, utils_js_1.defineCall)({ + address: (0, utils_js_1.resolveToken)(client, { token }).address, + abi: Abis.tip20, + functionName: 'renounceRole', + args: [roleHash], + }); + } + renounceRoles.call = call; + function extractEvents(logs) { + const events = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20, + logs, + eventName: 'RoleMembershipUpdated', + }); + if (events.length === 0) + throw new Error('`RoleMembershipUpdated` events not found.'); + return events; + } + renounceRoles.extractEvents = extractEvents; +})(renounceRoles || (exports.renounceRoles = renounceRoles = {})); +async function renounceRolesSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await renounceRoles.inner(sendTransactionSync_js_1.sendTransactionSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const events = renounceRoles.extractEvents(receipt.logs); + const value = events.map((event) => event.args); + return { + receipt, + value, + }; +} +async function revokeRoles(client, parameters) { + return revokeRoles.inner(sendTransaction_js_1.sendTransaction, client, parameters); +} +(function (revokeRoles) { + async function inner(action, client, parameters) { + const { from: _, ...rest } = parameters; + return (await action(client, { + ...rest, + calls: parameters.roles.map((role) => { + const call = revokeRoles.call(client, { ...parameters, role }); + return { + ...call, + data: (0, encodeFunctionData_js_1.encodeFunctionData)(call), + }; + }), + })); + } + revokeRoles.inner = inner; + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { token, from, role } = args; + const roleHash = tempo_1.TokenRole.serialize(role); + return (0, utils_js_1.defineCall)({ + address: (0, utils_js_1.resolveToken)(client, { token }).address, + abi: Abis.tip20, + functionName: 'revokeRole', + args: [roleHash, from], + }); + } + revokeRoles.call = call; + function extractEvents(logs) { + const events = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20, + logs, + eventName: 'RoleMembershipUpdated', + }); + if (events.length === 0) + throw new Error('`RoleMembershipUpdated` events not found.'); + return events; + } + revokeRoles.extractEvents = extractEvents; +})(revokeRoles || (exports.revokeRoles = revokeRoles = {})); +async function revokeRolesSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await revokeRoles.inner(sendTransactionSync_js_1.sendTransactionSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const events = revokeRoles.extractEvents(receipt.logs); + const value = events.map((event) => event.args); + return { + receipt, + value, + }; +} +async function setSupplyCap(client, parameters) { + return setSupplyCap.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (setSupplyCap) { + async function inner(action, client, parameters) { + const { supplyCap, token, ...rest } = parameters; + const call = setSupplyCap.call(client, { supplyCap, token }); + return (await action(client, { + ...rest, + ...call, + })); + } + setSupplyCap.inner = inner; + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { token, supplyCap } = args; + return (0, utils_js_1.defineCall)({ + address: (0, utils_js_1.resolveToken)(client, { token }).address, + abi: Abis.tip20, + functionName: 'setSupplyCap', + args: [supplyCap], + }); + } + setSupplyCap.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20, + logs, + eventName: 'SupplyCapUpdate', + }); + if (!log) + throw new Error('`SupplyCapUpdate` event not found.'); + return log; + } + setSupplyCap.extractEvent = extractEvent; +})(setSupplyCap || (exports.setSupplyCap = setSupplyCap = {})); +async function setSupplyCapSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await setSupplyCap.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = setSupplyCap.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function setRoleAdmin(client, parameters) { + return setRoleAdmin.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (setRoleAdmin) { + async function inner(action, client, parameters) { + const { adminRole, role, token, ...rest } = parameters; + const call = setRoleAdmin.call(client, { adminRole, role, token }); + return (await action(client, { + ...rest, + ...call, + })); + } + setRoleAdmin.inner = inner; + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { token, role, adminRole } = args; + const roleHash = tempo_1.TokenRole.serialize(role); + const adminRoleHash = tempo_1.TokenRole.serialize(adminRole); + return (0, utils_js_1.defineCall)({ + address: (0, utils_js_1.resolveToken)(client, { token }).address, + abi: Abis.tip20, + functionName: 'setRoleAdmin', + args: [roleHash, adminRoleHash], + }); + } + setRoleAdmin.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20, + logs, + eventName: 'RoleAdminUpdated', + }); + if (!log) + throw new Error('`RoleAdminUpdated` event not found.'); + return log; + } + setRoleAdmin.extractEvent = extractEvent; +})(setRoleAdmin || (exports.setRoleAdmin = setRoleAdmin = {})); +async function setRoleAdminSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await setRoleAdmin.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = setRoleAdmin.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function transfer(client, parameters) { + return transfer.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (transfer) { + async function inner(action, client, parameters) { + return (await action(client, { + ...parameters, + ...transfer.call(client, parameters), + })); + } + transfer.inner = inner; + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { from, memo, to, token } = args; + const { address, decimals } = (0, utils_js_1.resolveToken)(client, { token }); + const value = internal_Token.toBaseUnits(args.amount, decimals); + const callArgs = (() => { + if (memo && from) + return { + functionName: 'transferFromWithMemo', + args: [from, to, value, Hex.padLeft(memo, 32)], + }; + if (memo) + return { + functionName: 'transferWithMemo', + args: [to, value, Hex.padLeft(memo, 32)], + }; + if (from) + return { + functionName: 'transferFrom', + args: [from, to, value], + }; + return { + functionName: 'transfer', + args: [to, value], + }; + })(); + return (0, utils_js_1.defineCall)({ + address, + abi: Abis.tip20, + ...callArgs, + }); + } + transfer.call = call; + async function estimateGas(client, parameters) { + return (0, estimateContractGas_js_1.estimateContractGas)(client, { + ...(0, utils_js_1.pickWriteParameters)(parameters), + ...transfer.call(client, parameters), + }); + } + transfer.estimateGas = estimateGas; + async function simulate(client, parameters) { + return (0, simulateContract_js_1.simulateContract)(client, { + ...(0, utils_js_1.pickWriteParameters)(parameters), + ...transfer.call(client, parameters), + }); + } + transfer.simulate = simulate; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20, + logs, + eventName: 'Transfer', + }); + if (!log) + throw new Error('`Transfer` event not found.'); + return log; + } + transfer.extractEvent = extractEvent; +})(transfer || (exports.transfer = transfer = {})); +async function transferSync(client, parameters) { + const { amount, token, throwOnReceiptRevert = true } = parameters; + const { decimals } = (0, utils_js_1.resolveToken)(client, { token }); + const resolved = internal_Token.resolveAmountDecimals(amount, decimals); + const receipt = await transfer.inner(writeContractSync_js_1.writeContractSync, client, { + ...parameters, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = transfer.extractEvent(receipt.logs); + return { + ...args, + ...(resolved === undefined + ? {} + : { decimals: resolved, formatted: (0, formatUnits_js_1.formatUnits)(args.amount, resolved) }), + receipt, + }; +} +async function unpause(client, parameters) { + return unpause.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (unpause) { + async function inner(action, client, parameters) { + const { token, ...rest } = parameters; + const call = unpause.call(client, { token }); + return (await action(client, { + ...rest, + ...call, + })); + } + unpause.inner = inner; + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { token } = args; + return (0, utils_js_1.defineCall)({ + address: (0, utils_js_1.resolveToken)(client, { token }).address, + abi: Abis.tip20, + functionName: 'unpause', + args: [], + }); + } + unpause.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20, + logs, + eventName: 'PauseStateUpdate', + }); + if (!log) + throw new Error('`PauseStateUpdate` event not found.'); + return log; + } + unpause.extractEvent = extractEvent; +})(unpause || (exports.unpause = unpause = {})); +async function unpauseSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await unpause.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = unpause.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function prepareUpdateQuoteToken(client, parameters) { + return prepareUpdateQuoteToken.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (prepareUpdateQuoteToken) { + async function inner(action, client, parameters) { + const { quoteToken, token, ...rest } = parameters; + const call = prepareUpdateQuoteToken.call(client, { quoteToken, token }); + return (await action(client, { + ...rest, + ...call, + })); + } + prepareUpdateQuoteToken.inner = inner; + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { token, quoteToken } = args; + return (0, utils_js_1.defineCall)({ + address: (0, utils_js_1.resolveToken)(client, { token }).address, + abi: Abis.tip20, + functionName: 'setNextQuoteToken', + args: [(0, utils_js_1.resolveToken)(client, { token: quoteToken }).address], + }); + } + prepareUpdateQuoteToken.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20, + logs, + eventName: 'NextQuoteTokenSet', + }); + if (!log) + throw new Error('`NextQuoteTokenSet` event not found.'); + return log; + } + prepareUpdateQuoteToken.extractEvent = extractEvent; +})(prepareUpdateQuoteToken || (exports.prepareUpdateQuoteToken = prepareUpdateQuoteToken = {})); +async function prepareUpdateQuoteTokenSync(client, parameters) { + const receipt = await prepareUpdateQuoteToken.inner(writeContractSync_js_1.writeContractSync, client, parameters); + if (receipt.status === 'pending') + return { receipt }; + const { args } = prepareUpdateQuoteToken.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +async function updateQuoteToken(client, parameters) { + return updateQuoteToken.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (updateQuoteToken) { + async function inner(action, client, parameters) { + const { token, ...rest } = parameters; + const call = updateQuoteToken.call(client, { token }); + return (await action(client, { + ...rest, + ...call, + })); + } + updateQuoteToken.inner = inner; + function call(...parameters) { + const [client, args] = (0, utils_js_1.resolveCallParameters)(parameters); + const { token } = args; + return (0, utils_js_1.defineCall)({ + address: (0, utils_js_1.resolveToken)(client, { token }).address, + abi: Abis.tip20, + functionName: 'completeQuoteTokenUpdate', + args: [], + }); + } + updateQuoteToken.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.tip20, + logs, + eventName: 'QuoteTokenUpdate', + }); + if (!log) + throw new Error('`QuoteTokenUpdateCompleted` event not found.'); + return log; + } + updateQuoteToken.extractEvent = extractEvent; +})(updateQuoteToken || (exports.updateQuoteToken = updateQuoteToken = {})); +async function updateQuoteTokenSync(client, parameters) { + const receipt = await updateQuoteToken.inner(writeContractSync_js_1.writeContractSync, client, parameters); + if (receipt.status === 'pending') + return { receipt }; + const { args } = updateQuoteToken.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +function watchApprove(client, parameters) { + const { onApproval, token, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: (0, utils_js_1.resolveToken)(client, { token }).address, + abi: Abis.tip20, + eventName: 'Approval', + onLogs: (logs) => { + for (const log of logs) + onApproval(log.args, log); + }, + strict: true, + }); +} +function watchBurn(client, parameters) { + const { onBurn, token, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: (0, utils_js_1.resolveToken)(client, { token }).address, + abi: Abis.tip20, + eventName: 'Burn', + onLogs: (logs) => { + for (const log of logs) + onBurn(log.args, log); + }, + strict: true, + }); +} +function watchCreate(client, parameters) { + const { onTokenCreated, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: Addresses.tip20Factory, + abi: Abis.tip20Factory, + eventName: 'TokenCreated', + onLogs: (logs) => { + for (const log of logs) + onTokenCreated(log.args, log); + }, + strict: true, + }); +} +function watchMint(client, parameters) { + const { onMint, token, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: (0, utils_js_1.resolveToken)(client, { token }).address, + abi: Abis.tip20, + eventName: 'Mint', + onLogs: (logs) => { + for (const log of logs) + onMint(log.args, log); + }, + strict: true, + }); +} +function watchAdminRole(client, parameters) { + const { onRoleAdminUpdated, token, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: (0, utils_js_1.resolveToken)(client, { token }).address, + abi: Abis.tip20, + eventName: 'RoleAdminUpdated', + onLogs: (logs) => { + for (const log of logs) + onRoleAdminUpdated(log.args, log); + }, + strict: true, + }); +} +function watchRole(client, parameters) { + const { onRoleUpdated, token, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: (0, utils_js_1.resolveToken)(client, { token }).address, + abi: Abis.tip20, + eventName: 'RoleMembershipUpdated', + onLogs: (logs) => { + for (const log of logs) { + const type = log.args.hasRole ? 'granted' : 'revoked'; + onRoleUpdated({ ...log.args, type }, log); + } + }, + strict: true, + }); +} +function watchTransfer(client, parameters) { + const { onTransfer, token, ...rest } = parameters; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address: (0, utils_js_1.resolveToken)(client, { token }).address, + abi: Abis.tip20, + eventName: 'Transfer', + onLogs: (logs) => { + for (const log of logs) + onTransfer(log.args, log); + }, + strict: true, + }); +} +function watchUpdateQuoteToken(client, parameters) { + const { onUpdateQuoteToken, token, ...rest } = parameters; + const address = (0, utils_js_1.resolveToken)(client, { token }).address; + return (0, watchContractEvent_js_1.watchContractEvent)(client, { + ...rest, + address, + abi: Abis.tip20, + onLogs: (logs) => { + for (const log of logs) { + if (log.eventName !== 'NextQuoteTokenSet' && + log.eventName !== 'QuoteTokenUpdate') + continue; + onUpdateQuoteToken({ + ...log.args, + completed: log.eventName === 'QuoteTokenUpdate', + }, log); + } + }, + strict: true, + }); +} +//# sourceMappingURL=token.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/token.js.map b/node_modules/viem/_cjs/tempo/actions/token.js.map new file mode 100644 index 0000000000000000000000000000000000000000..99100f71bdbe2d353552d05cdacf2397325a7baa --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/token.js.map @@ -0,0 +1 @@ +{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../tempo/actions/token.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/validator.js b/node_modules/viem/_cjs/tempo/actions/validator.js new file mode 100644 index 0000000000000000000000000000000000000000..65044b924ee16c0fe9604c3f389f5f9eebdd0c77 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/validator.js @@ -0,0 +1,308 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.add = add; +exports.addSync = addSync; +exports.changeOwner = changeOwner; +exports.changeOwnerSync = changeOwnerSync; +exports.changeStatus = changeStatus; +exports.changeStatusSync = changeStatusSync; +exports.getNextFullDkgCeremony = getNextFullDkgCeremony; +exports.getOwner = getOwner; +exports.get = get; +exports.getByIndex = getByIndex; +exports.getCount = getCount; +exports.list = list; +exports.setNextFullDkgCeremony = setNextFullDkgCeremony; +exports.setNextFullDkgCeremonySync = setNextFullDkgCeremonySync; +exports.update = update; +exports.updateSync = updateSync; +const readContract_js_1 = require("../../actions/public/readContract.js"); +const writeContract_js_1 = require("../../actions/wallet/writeContract.js"); +const writeContractSync_js_1 = require("../../actions/wallet/writeContractSync.js"); +const Abis = require("../Abis.js"); +const Addresses = require("../Addresses.js"); +const utils_js_1 = require("../internal/utils.js"); +async function add(client, parameters) { + return add.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (add) { + async function inner(action, client, parameters) { + const { newValidatorAddress, publicKey, active, inboundAddress, outboundAddress, ...rest } = parameters; + const callData = add.call({ + newValidatorAddress, + publicKey, + active, + inboundAddress, + outboundAddress, + }); + return (await action(client, { + ...rest, + ...callData, + })); + } + add.inner = inner; + function call(args) { + const { newValidatorAddress, publicKey, active, inboundAddress, outboundAddress, } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.validator, + abi: Abis.validatorConfig, + args: [ + newValidatorAddress, + publicKey, + active, + inboundAddress, + outboundAddress, + ], + functionName: 'addValidator', + }); + } + add.call = call; +})(add || (exports.add = add = {})); +async function addSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await add.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + return { receipt }; +} +async function changeOwner(client, parameters) { + return changeOwner.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (changeOwner) { + async function inner(action, client, parameters) { + const { newOwner, ...rest } = parameters; + const callData = changeOwner.call({ newOwner }); + return (await action(client, { + ...rest, + ...callData, + })); + } + changeOwner.inner = inner; + function call(args) { + const { newOwner } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.validator, + abi: Abis.validatorConfig, + args: [newOwner], + functionName: 'changeOwner', + }); + } + changeOwner.call = call; +})(changeOwner || (exports.changeOwner = changeOwner = {})); +async function changeOwnerSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await changeOwner.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + return { receipt }; +} +async function changeStatus(client, parameters) { + return changeStatus.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (changeStatus) { + async function inner(action, client, parameters) { + const { validator, active, ...rest } = parameters; + const callData = changeStatus.call({ validator, active }); + return (await action(client, { + ...rest, + ...callData, + })); + } + changeStatus.inner = inner; + function call(args) { + const { validator, active } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.validator, + abi: Abis.validatorConfig, + args: [validator, active], + functionName: 'changeValidatorStatus', + }); + } + changeStatus.call = call; +})(changeStatus || (exports.changeStatus = changeStatus = {})); +async function changeStatusSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await changeStatus.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + return { receipt }; +} +async function getNextFullDkgCeremony(client, parameters = {}) { + return (0, readContract_js_1.readContract)(client, { + ...parameters, + ...getNextFullDkgCeremony.call(), + }); +} +(function (getNextFullDkgCeremony) { + function call() { + return (0, utils_js_1.defineCall)({ + address: Addresses.validator, + abi: Abis.validatorConfig, + args: [], + functionName: 'getNextFullDkgCeremony', + }); + } + getNextFullDkgCeremony.call = call; +})(getNextFullDkgCeremony || (exports.getNextFullDkgCeremony = getNextFullDkgCeremony = {})); +async function getOwner(client, parameters = {}) { + return (0, readContract_js_1.readContract)(client, { + ...parameters, + ...getOwner.call(), + }); +} +(function (getOwner) { + function call() { + return (0, utils_js_1.defineCall)({ + address: Addresses.validator, + abi: Abis.validatorConfig, + args: [], + functionName: 'owner', + }); + } + getOwner.call = call; +})(getOwner || (exports.getOwner = getOwner = {})); +async function get(client, parameters) { + const { validator, ...rest } = parameters; + return (0, readContract_js_1.readContract)(client, { + ...rest, + ...get.call({ validator }), + }); +} +(function (get) { + function call(args) { + const { validator } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.validator, + abi: Abis.validatorConfig, + args: [validator], + functionName: 'validators', + }); + } + get.call = call; +})(get || (exports.get = get = {})); +async function getByIndex(client, parameters) { + const { index, ...rest } = parameters; + return (0, readContract_js_1.readContract)(client, { + ...rest, + ...getByIndex.call({ index }), + }); +} +(function (getByIndex) { + function call(args) { + const { index } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.validator, + abi: Abis.validatorConfig, + args: [index], + functionName: 'validatorsArray', + }); + } + getByIndex.call = call; +})(getByIndex || (exports.getByIndex = getByIndex = {})); +async function getCount(client, parameters = {}) { + return (0, readContract_js_1.readContract)(client, { + ...parameters, + ...getCount.call(), + }); +} +(function (getCount) { + function call() { + return (0, utils_js_1.defineCall)({ + address: Addresses.validator, + abi: Abis.validatorConfig, + args: [], + functionName: 'validatorCount', + }); + } + getCount.call = call; +})(getCount || (exports.getCount = getCount = {})); +async function list(client, parameters = {}) { + return (0, readContract_js_1.readContract)(client, { + ...parameters, + ...list.call(), + }); +} +(function (list) { + function call() { + return (0, utils_js_1.defineCall)({ + address: Addresses.validator, + abi: Abis.validatorConfig, + args: [], + functionName: 'getValidators', + }); + } + list.call = call; +})(list || (exports.list = list = {})); +async function setNextFullDkgCeremony(client, parameters) { + return setNextFullDkgCeremony.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (setNextFullDkgCeremony) { + async function inner(action, client, parameters) { + const { epoch, ...rest } = parameters; + const callData = setNextFullDkgCeremony.call({ epoch }); + return (await action(client, { + ...rest, + ...callData, + })); + } + setNextFullDkgCeremony.inner = inner; + function call(args) { + const { epoch } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.validator, + abi: Abis.validatorConfig, + args: [epoch], + functionName: 'setNextFullDkgCeremony', + }); + } + setNextFullDkgCeremony.call = call; +})(setNextFullDkgCeremony || (exports.setNextFullDkgCeremony = setNextFullDkgCeremony = {})); +async function setNextFullDkgCeremonySync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await setNextFullDkgCeremony.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + return { receipt }; +} +async function update(client, parameters) { + return update.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (update) { + async function inner(action, client, parameters) { + const { newValidatorAddress, publicKey, inboundAddress, outboundAddress, ...rest } = parameters; + const callData = update.call({ + newValidatorAddress, + publicKey, + inboundAddress, + outboundAddress, + }); + return (await action(client, { + ...rest, + ...callData, + })); + } + update.inner = inner; + function call(args) { + const { newValidatorAddress, publicKey, inboundAddress, outboundAddress } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.validator, + abi: Abis.validatorConfig, + args: [newValidatorAddress, publicKey, inboundAddress, outboundAddress], + functionName: 'updateValidator', + }); + } + update.call = call; +})(update || (exports.update = update = {})); +async function updateSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await update.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + return { receipt }; +} +//# sourceMappingURL=validator.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/validator.js.map b/node_modules/viem/_cjs/tempo/actions/validator.js.map new file mode 100644 index 0000000000000000000000000000000000000000..cfc310608d4d3b6bf6445a82af2500eb98c2a03e --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/validator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../tempo/actions/validator.ts"],"names":[],"mappings":";;AA+CA,kBAQC;AAgJD,0BAaC;AAwCD,kCAQC;AAuGD,0CAaC;AAyCD,oCAQC;AA2GD,4CAaC;AAoCD,wDAWC;AAoED,4BAWC;AAsED,kBAYC;AA+ED,gCAYC;AA8ED,4BAWC;AAoED,oBAWC;AAwED,wDAQC;AAuGD,gEAiBC;AA2CD,wBAQC;AA+HD,gCAaC;AAv3CD,0EAAmE;AAEnE,4EAAqE;AACrE,oFAA6E;AAM7E,mCAAkC;AAClC,6CAA4C;AAE5C,mDAAiD;AA+B1C,KAAK,UAAU,GAAG,CAIvB,MAAyC,EACzC,UAA0C;IAE1C,OAAO,GAAG,CAAC,KAAK,CAAC,gCAAa,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;AACrD,CAAC;AAED,WAAiB,GAAG;IAyBX,KAAK,UAAU,KAAK,CAKzB,MAAc,EACd,MAAyC,EACzC,UAAsC;QAEtC,MAAM,EACJ,mBAAmB,EACnB,SAAS,EACT,MAAM,EACN,cAAc,EACd,eAAe,EACf,GAAG,IAAI,EACR,GAAG,UAAU,CAAA;QACd,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;YACxB,mBAAmB;YACnB,SAAS;YACT,MAAM;YACN,cAAc;YACd,eAAe;SAChB,CAAC,CAAA;QACF,OAAO,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE;YAC3B,GAAG,IAAI;YACP,GAAG,QAAQ;SACH,CAAC,CAAU,CAAA;IACvB,CAAC;IA5BqB,SAAK,QA4B1B,CAAA;IAqCD,SAAgB,IAAI,CAAC,IAAU;QAC7B,MAAM,EACJ,mBAAmB,EACnB,SAAS,EACT,MAAM,EACN,cAAc,EACd,eAAe,GAChB,GAAG,IAAI,CAAA;QACR,OAAO,IAAA,qBAAU,EAAC;YAChB,OAAO,EAAE,SAAS,CAAC,SAAS;YAC5B,GAAG,EAAE,IAAI,CAAC,eAAe;YACzB,IAAI,EAAE;gBACJ,mBAAmB;gBACnB,SAAS;gBACT,MAAM;gBACN,cAAc;gBACd,eAAe;aAChB;YACD,YAAY,EAAE,cAAc;SAC7B,CAAC,CAAA;IACJ,CAAC;IApBe,QAAI,OAoBnB,CAAA;AACH,CAAC,EA/GgB,GAAG,mBAAH,GAAG,QA+GnB;AA+BM,KAAK,UAAU,OAAO,CAI3B,MAAyC,EACzC,UAA8C;IAE9C,MAAM,EAAE,oBAAoB,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IAC3D,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,wCAAiB,EAAE,MAAM,EAAE;QACzD,GAAG,IAAI;QACP,oBAAoB;KACZ,CAAC,CAAA;IACX,OAAO,EAAE,OAAO,EAAE,CAAA;AACpB,CAAC;AAwCM,KAAK,UAAU,WAAW,CAI/B,MAAyC,EACzC,UAAkD;IAElD,OAAO,WAAW,CAAC,KAAK,CAAC,gCAAa,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;AAC7D,CAAC;AAED,WAAiB,WAAW;IAiBnB,KAAK,UAAU,KAAK,CAKzB,MAAc,EACd,MAAyC,EACzC,UAAsC;QAEtC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;QACxC,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC/C,OAAO,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE;YAC3B,GAAG,IAAI;YACP,GAAG,QAAQ;SACH,CAAC,CAAU,CAAA;IACvB,CAAC;IAfqB,iBAAK,QAe1B,CAAA;IAiCD,SAAgB,IAAI,CAAC,IAAU;QAC7B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QACzB,OAAO,IAAA,qBAAU,EAAC;YAChB,OAAO,EAAE,SAAS,CAAC,SAAS;YAC5B,GAAG,EAAE,IAAI,CAAC,eAAe;YACzB,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChB,YAAY,EAAE,aAAa;SAC5B,CAAC,CAAA;IACJ,CAAC;IARe,gBAAI,OAQnB,CAAA;AACH,CAAC,EA1EgB,WAAW,2BAAX,WAAW,QA0E3B;AA2BM,KAAK,UAAU,eAAe,CAInC,MAAyC,EACzC,UAAsD;IAEtD,MAAM,EAAE,oBAAoB,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IAC3D,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,wCAAiB,EAAE,MAAM,EAAE;QACjE,GAAG,IAAI;QACP,oBAAoB;KACZ,CAAC,CAAA;IACX,OAAO,EAAE,OAAO,EAAE,CAAA;AACpB,CAAC;AAyCM,KAAK,UAAU,YAAY,CAIhC,MAAyC,EACzC,UAAmD;IAEnD,OAAO,YAAY,CAAC,KAAK,CAAC,gCAAa,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;AAC9D,CAAC;AAED,WAAiB,YAAY;IAmBpB,KAAK,UAAU,KAAK,CAKzB,MAAc,EACd,MAAyC,EACzC,UAAsC;QAEtC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;QACjD,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;QACzD,OAAO,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE;YAC3B,GAAG,IAAI;YACP,GAAG,QAAQ;SACH,CAAC,CAAU,CAAA;IACvB,CAAC;IAfqB,kBAAK,QAe1B,CAAA;IAkCD,SAAgB,IAAI,CAAC,IAAU;QAC7B,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QAClC,OAAO,IAAA,qBAAU,EAAC;YAChB,OAAO,EAAE,SAAS,CAAC,SAAS;YAC5B,GAAG,EAAE,IAAI,CAAC,eAAe;YACzB,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;YACzB,YAAY,EAAE,uBAAuB;SACtC,CAAC,CAAA;IACJ,CAAC;IARe,iBAAI,OAQnB,CAAA;AACH,CAAC,EA7EgB,YAAY,4BAAZ,YAAY,QA6E5B;AA4BM,KAAK,UAAU,gBAAgB,CAIpC,MAAyC,EACzC,UAAuD;IAEvD,MAAM,EAAE,oBAAoB,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IAC3D,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,wCAAiB,EAAE,MAAM,EAAE;QAClE,GAAG,IAAI;QACP,oBAAoB;KACZ,CAAC,CAAA;IACX,OAAO,EAAE,OAAO,EAAE,CAAA;AACpB,CAAC;AAoCM,KAAK,UAAU,sBAAsB,CAI1C,MAAyC,EACzC,aAAgD,EAAE;IAElD,OAAO,IAAA,8BAAY,EAAC,MAAM,EAAE;QAC1B,GAAG,UAAU;QACb,GAAG,sBAAsB,CAAC,IAAI,EAAE;KACjC,CAAC,CAAA;AACJ,CAAC;AAED,WAAiB,sBAAsB;IAmCrC,SAAgB,IAAI;QAClB,OAAO,IAAA,qBAAU,EAAC;YAChB,OAAO,EAAE,SAAS,CAAC,SAAS;YAC5B,GAAG,EAAE,IAAI,CAAC,eAAe;YACzB,IAAI,EAAE,EAAE;YACR,YAAY,EAAE,wBAAwB;SACvC,CAAC,CAAA;IACJ,CAAC;IAPe,2BAAI,OAOnB,CAAA;AACH,CAAC,EA3CgB,sBAAsB,sCAAtB,sBAAsB,QA2CtC;AAuBM,KAAK,UAAU,QAAQ,CAI5B,MAAyC,EACzC,aAAkC,EAAE;IAEpC,OAAO,IAAA,8BAAY,EAAC,MAAM,EAAE;QAC1B,GAAG,UAAU;QACb,GAAG,QAAQ,CAAC,IAAI,EAAE;KACnB,CAAC,CAAA;AACJ,CAAC;AAED,WAAiB,QAAQ;IAmCvB,SAAgB,IAAI;QAClB,OAAO,IAAA,qBAAU,EAAC;YAChB,OAAO,EAAE,SAAS,CAAC,SAAS;YAC5B,GAAG,EAAE,IAAI,CAAC,eAAe;YACzB,IAAI,EAAE,EAAE;YACR,YAAY,EAAE,OAAO;SACtB,CAAC,CAAA;IACJ,CAAC;IAPe,aAAI,OAOnB,CAAA;AACH,CAAC,EA3CgB,QAAQ,wBAAR,QAAQ,QA2CxB;AAyBM,KAAK,UAAU,GAAG,CAIvB,MAAyC,EACzC,UAA0B;IAE1B,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IACzC,OAAO,IAAA,8BAAY,EAAC,MAAM,EAAE;QAC1B,GAAG,IAAI;QACP,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;KAC3B,CAAC,CAAA;AACJ,CAAC;AAED,WAAiB,GAAG;IA2ClB,SAAgB,IAAI,CAAC,IAAU;QAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;QAC1B,OAAO,IAAA,qBAAU,EAAC;YAChB,OAAO,EAAE,SAAS,CAAC,SAAS;YAC5B,GAAG,EAAE,IAAI,CAAC,eAAe;YACzB,IAAI,EAAE,CAAC,SAAS,CAAC;YACjB,YAAY,EAAE,YAAY;SAC3B,CAAC,CAAA;IACJ,CAAC;IARe,QAAI,OAQnB,CAAA;AACH,CAAC,EApDgB,GAAG,mBAAH,GAAG,QAoDnB;AAyBM,KAAK,UAAU,UAAU,CAI9B,MAAyC,EACzC,UAAiC;IAEjC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IACrC,OAAO,IAAA,8BAAY,EAAC,MAAM,EAAE;QAC1B,GAAG,IAAI;QACP,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;KAC9B,CAAC,CAAA;AACJ,CAAC;AAED,WAAiB,UAAU;IA4CzB,SAAgB,IAAI,CAAC,IAAU;QAC7B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;QACtB,OAAO,IAAA,qBAAU,EAAC;YAChB,OAAO,EAAE,SAAS,CAAC,SAAS;YAC5B,GAAG,EAAE,IAAI,CAAC,eAAe;YACzB,IAAI,EAAE,CAAC,KAAK,CAAC;YACb,YAAY,EAAE,iBAAiB;SAChC,CAAC,CAAA;IACJ,CAAC;IARe,eAAI,OAQnB,CAAA;AACH,CAAC,EArDgB,UAAU,0BAAV,UAAU,QAqD1B;AAuBM,KAAK,UAAU,QAAQ,CAI5B,MAAyC,EACzC,aAAkC,EAAE;IAEpC,OAAO,IAAA,8BAAY,EAAC,MAAM,EAAE;QAC1B,GAAG,UAAU;QACb,GAAG,QAAQ,CAAC,IAAI,EAAE;KACnB,CAAC,CAAA;AACJ,CAAC;AAED,WAAiB,QAAQ;IAmCvB,SAAgB,IAAI;QAClB,OAAO,IAAA,qBAAU,EAAC;YAChB,OAAO,EAAE,SAAS,CAAC,SAAS;YAC5B,GAAG,EAAE,IAAI,CAAC,eAAe;YACzB,IAAI,EAAE,EAAE;YACR,YAAY,EAAE,gBAAgB;SAC/B,CAAC,CAAA;IACJ,CAAC;IAPe,aAAI,OAOnB,CAAA;AACH,CAAC,EA3CgB,QAAQ,wBAAR,QAAQ,QA2CxB;AAuBM,KAAK,UAAU,IAAI,CAIxB,MAAyC,EACzC,aAA8B,EAAE;IAEhC,OAAO,IAAA,8BAAY,EAAC,MAAM,EAAE;QAC1B,GAAG,UAAU;QACb,GAAG,IAAI,CAAC,IAAI,EAAE;KACf,CAAC,CAAA;AACJ,CAAC;AAED,WAAiB,IAAI;IAmCnB,SAAgB,IAAI;QAClB,OAAO,IAAA,qBAAU,EAAC;YAChB,OAAO,EAAE,SAAS,CAAC,SAAS;YAC5B,GAAG,EAAE,IAAI,CAAC,eAAe;YACzB,IAAI,EAAE,EAAE;YACR,YAAY,EAAE,eAAe;SAC9B,CAAC,CAAA;IACJ,CAAC;IAPe,SAAI,OAOnB,CAAA;AACH,CAAC,EA3CgB,IAAI,oBAAJ,IAAI,QA2CpB;AA2BM,KAAK,UAAU,sBAAsB,CAI1C,MAAyC,EACzC,UAA6D;IAE7D,OAAO,sBAAsB,CAAC,KAAK,CAAC,gCAAa,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;AACxE,CAAC;AAED,WAAiB,sBAAsB;IAiB9B,KAAK,UAAU,KAAK,CAKzB,MAAc,EACd,MAAyC,EACzC,UAAsC;QAEtC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;QACrC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACvD,OAAO,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE;YAC3B,GAAG,IAAI;YACP,GAAG,QAAQ;SACH,CAAC,CAAU,CAAA;IACvB,CAAC;IAfqB,4BAAK,QAe1B,CAAA;IAiCD,SAAgB,IAAI,CAAC,IAAU;QAC7B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;QACtB,OAAO,IAAA,qBAAU,EAAC;YAChB,OAAO,EAAE,SAAS,CAAC,SAAS;YAC5B,GAAG,EAAE,IAAI,CAAC,eAAe;YACzB,IAAI,EAAE,CAAC,KAAK,CAAC;YACb,YAAY,EAAE,wBAAwB;SACvC,CAAC,CAAA;IACJ,CAAC;IARe,2BAAI,OAQnB,CAAA;AACH,CAAC,EA1EgB,sBAAsB,sCAAtB,sBAAsB,QA0EtC;AA2BM,KAAK,UAAU,0BAA0B,CAI9C,MAAyC,EACzC,UAAiE;IAEjE,MAAM,EAAE,oBAAoB,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IAC3D,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAChD,wCAAiB,EACjB,MAAM,EACN;QACE,GAAG,IAAI;QACP,oBAAoB;KACZ,CACX,CAAA;IACD,OAAO,EAAE,OAAO,EAAE,CAAA;AACpB,CAAC;AA2CM,KAAK,UAAU,MAAM,CAI1B,MAAyC,EACzC,UAA6C;IAE7C,OAAO,MAAM,CAAC,KAAK,CAAC,gCAAa,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;AACxD,CAAC;AAED,WAAiB,MAAM;IAuBd,KAAK,UAAU,KAAK,CAKzB,MAAc,EACd,MAAyC,EACzC,UAAsC;QAEtC,MAAM,EACJ,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,eAAe,EACf,GAAG,IAAI,EACR,GAAG,UAAU,CAAA;QACd,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;YAC3B,mBAAmB;YACnB,SAAS;YACT,cAAc;YACd,eAAe;SAChB,CAAC,CAAA;QACF,OAAO,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE;YAC3B,GAAG,IAAI;YACP,GAAG,QAAQ;SACH,CAAC,CAAU,CAAA;IACvB,CAAC;IA1BqB,YAAK,QA0B1B,CAAA;IAoCD,SAAgB,IAAI,CAAC,IAAU;QAC7B,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,GACvE,IAAI,CAAA;QACN,OAAO,IAAA,qBAAU,EAAC;YAChB,OAAO,EAAE,SAAS,CAAC,SAAS;YAC5B,GAAG,EAAE,IAAI,CAAC,eAAe;YACzB,IAAI,EAAE,CAAC,mBAAmB,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,CAAC;YACvE,YAAY,EAAE,iBAAiB;SAChC,CAAC,CAAA;IACJ,CAAC;IATe,WAAI,OASnB,CAAA;AACH,CAAC,EA/FgB,MAAM,sBAAN,MAAM,QA+FtB;AA8BM,KAAK,UAAU,UAAU,CAI9B,MAAyC,EACzC,UAAiD;IAEjD,MAAM,EAAE,oBAAoB,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IAC3D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,wCAAiB,EAAE,MAAM,EAAE;QAC5D,GAAG,IAAI;QACP,oBAAoB;KACZ,CAAC,CAAA;IACX,OAAO,EAAE,OAAO,EAAE,CAAA;AACpB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/virtualAddress.js b/node_modules/viem/_cjs/tempo/actions/virtualAddress.js new file mode 100644 index 0000000000000000000000000000000000000000..7610d90247220347aa97e03e5e846e0c684e5cec --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/virtualAddress.js @@ -0,0 +1,94 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getMasterAddress = getMasterAddress; +exports.resolve = resolve; +exports.registerMaster = registerMaster; +exports.registerMasterSync = registerMasterSync; +const Hex = require("ox/Hex"); +const tempo_1 = require("ox/tempo"); +const readContract_js_1 = require("../../actions/public/readContract.js"); +const writeContract_js_1 = require("../../actions/wallet/writeContract.js"); +const writeContractSync_js_1 = require("../../actions/wallet/writeContractSync.js"); +const address_js_1 = require("../../constants/address.js"); +const parseEventLogs_js_1 = require("../../utils/abi/parseEventLogs.js"); +const Abis = require("../Abis.js"); +const Addresses = require("../Addresses.js"); +const utils_js_1 = require("../internal/utils.js"); +async function getMasterAddress(client, parameters) { + const address = await (0, readContract_js_1.readContract)(client, { + ...parameters, + ...getMasterAddress.call({ masterId: parameters.masterId }), + }); + if (address === address_js_1.zeroAddress) + return null; + return address; +} +(function (getMasterAddress) { + function call(args) { + const { masterId } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.addressRegistry, + abi: Abis.addressRegistry, + args: [masterId], + functionName: 'getMaster', + }); + } + getMasterAddress.call = call; +})(getMasterAddress || (exports.getMasterAddress = getMasterAddress = {})); +async function resolve(client, parameters) { + if (!tempo_1.VirtualAddress.isVirtual(parameters.address)) + return parameters.address; + const masterId = Hex.slice(parameters.address, 0, 4); + return getMasterAddress(client, { ...parameters, masterId }); +} +async function registerMaster(client, parameters) { + return registerMaster.inner(writeContract_js_1.writeContract, client, parameters); +} +(function (registerMaster) { + async function inner(action, client, parameters) { + const { salt, ...rest } = parameters; + const call = registerMaster.call({ salt }); + return (await action(client, { + ...rest, + ...call, + })); + } + registerMaster.inner = inner; + function call(args) { + const { salt } = args; + return (0, utils_js_1.defineCall)({ + address: Addresses.addressRegistry, + abi: Abis.addressRegistry, + functionName: 'registerVirtualMaster', + args: [salt], + }); + } + registerMaster.call = call; + function extractEvent(logs) { + const [log] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.addressRegistry, + logs, + eventName: 'MasterRegistered', + strict: true, + }); + if (!log) + throw new Error('`MasterRegistered` event not found.'); + return log; + } + registerMaster.extractEvent = extractEvent; +})(registerMaster || (exports.registerMaster = registerMaster = {})); +async function registerMasterSync(client, parameters) { + const { throwOnReceiptRevert = true, ...rest } = parameters; + const receipt = await registerMaster.inner(writeContractSync_js_1.writeContractSync, client, { + ...rest, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const { args } = registerMaster.extractEvent(receipt.logs); + return { + ...args, + receipt, + }; +} +//# sourceMappingURL=virtualAddress.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/virtualAddress.js.map b/node_modules/viem/_cjs/tempo/actions/virtualAddress.js.map new file mode 100644 index 0000000000000000000000000000000000000000..3ac81e82b08674cec256338e89487b0a0f667b4e --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/virtualAddress.js.map @@ -0,0 +1 @@ +{"version":3,"file":"virtualAddress.js","sourceRoot":"","sources":["../../../tempo/actions/virtualAddress.ts"],"names":[],"mappings":";;AA6CA,4CAaC;AA2DD,0BAWC;AAyCD,wCAQC;AAkHD,gDAmBC;AArTD,8BAA6B;AAC7B,oCAAyC;AAEzC,0EAAmE;AAEnE,4EAAqE;AACrE,oFAA6E;AAG7E,2DAAwD;AAKxD,yEAAkE;AAClE,mCAAkC;AAClC,6CAA4C;AAE5C,mDAAiD;AA0B1C,KAAK,UAAU,gBAAgB,CAIpC,MAAyC,EACzC,UAAuC;IAEvC,MAAM,OAAO,GAAG,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;QACzC,GAAG,UAAU;QACb,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;KAC5D,CAAC,CAAA;IACF,IAAI,OAAO,KAAK,wBAAW;QAAE,OAAO,IAAI,CAAA;IACxC,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,WAAiB,gBAAgB;IAmB/B,SAAgB,IAAI,CAAC,IAAU;QAC7B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QACzB,OAAO,IAAA,qBAAU,EAAC;YAChB,OAAO,EAAE,SAAS,CAAC,eAAe;YAClC,GAAG,EAAE,IAAI,CAAC,eAAe;YACzB,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChB,YAAY,EAAE,WAAW;SAC1B,CAAC,CAAA;IACJ,CAAC;IARe,qBAAI,OAQnB,CAAA;AACH,CAAC,EA5BgB,gBAAgB,gCAAhB,gBAAgB,QA4BhC;AA6BM,KAAK,UAAU,OAAO,CAI3B,MAAyC,EACzC,UAA8B;IAE9B,IAAI,CAAC,sBAAc,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,UAAU,CAAC,OAAO,CAAA;IAE5E,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACpD,OAAO,gBAAgB,CAAC,MAAM,EAAE,EAAE,GAAG,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAA;AAC9D,CAAC;AAyCM,KAAK,UAAU,cAAc,CAIlC,MAAyC,EACzC,UAAqD;IAErD,OAAO,cAAc,CAAC,KAAK,CAAC,gCAAa,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;AAChE,CAAC;AAED,WAAiB,cAAc;IAiBtB,KAAK,UAAU,KAAK,CAKzB,MAAc,EACd,MAAyC,EACzC,UAAqD;QAErD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;QACpC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1C,OAAO,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE;YAC3B,GAAG,IAAI;YACP,GAAG,IAAI;SACC,CAAC,CAAU,CAAA;IACvB,CAAC;IAfqB,oBAAK,QAe1B,CAAA;IAiCD,SAAgB,IAAI,CAAC,IAAU;QAC7B,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;QACrB,OAAO,IAAA,qBAAU,EAAC;YAChB,OAAO,EAAE,SAAS,CAAC,eAAe;YAClC,GAAG,EAAE,IAAI,CAAC,eAAe;YACzB,YAAY,EAAE,uBAAuB;YACrC,IAAI,EAAE,CAAC,IAAI,CAAC;SACb,CAAC,CAAA;IACJ,CAAC;IARe,mBAAI,OAQnB,CAAA;IAED,SAAgB,YAAY,CAAC,IAAwC;QACnE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,kCAAc,EAAC;YAC3B,GAAG,EAAE,IAAI,CAAC,eAAe;YACzB,IAAI;YACJ,SAAS,EAAE,kBAAkB;YAC7B,MAAM,EAAE,IAAI;SACb,CAAC,CAAA;QACF,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QAChE,OAAO,GAAG,CAAA;IACZ,CAAC;IATe,2BAAY,eAS3B,CAAA;AACH,CAAC,EArFgB,cAAc,8BAAd,cAAc,QAqF9B;AA2BM,KAAK,UAAU,kBAAkB,CAItC,MAAyC,EACzC,UAAyD;IAEzD,MAAM,EAAE,oBAAoB,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IAC3D,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,wCAAiB,EAAE,MAAM,EAAE;QACpE,GAAG,IAAI;QACP,oBAAoB;KACZ,CAAC,CAAA;IACX,IAAK,OAA8B,CAAC,MAAM,KAAK,SAAS;QACtD,OAAO,EAAE,OAAO,EAAW,CAAA;IAC7B,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1D,OAAO;QACL,GAAG,IAAI;QACP,OAAO;KACC,CAAA;AACZ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/wallet.js b/node_modules/viem/_cjs/tempo/actions/wallet.js new file mode 100644 index 0000000000000000000000000000000000000000..fc8a8b533fb30d7fefd91d1394d44870ff3e538b --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/wallet.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.transfer = transfer; +exports.swap = swap; +exports.deposit = deposit; +async function transfer(client, parameters) { + return client.request({ + method: 'wallet_transfer', + params: [parameters], + }, { retryCount: 0 }); +} +async function swap(client, parameters = {}) { + return client.request({ + method: 'wallet_swap', + params: [parameters], + }, { retryCount: 0 }); +} +async function deposit(client, parameters = {}) { + return client.request({ + method: 'wallet_deposit', + params: [parameters], + }, { retryCount: 0 }); +} +//# sourceMappingURL=wallet.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/wallet.js.map b/node_modules/viem/_cjs/tempo/actions/wallet.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6c651057490b0a22df306b6e247c684739084351 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/wallet.js.map @@ -0,0 +1 @@ +{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../tempo/actions/wallet.ts"],"names":[],"mappings":";;AA6CA,4BAeC;AAoGD,oBAeC;AAiDD,0BAeC;AAlMM,KAAK,UAAU,QAAQ,CAC5B,MAAgC,EAChC,UAA+B;IAE/B,OAAO,MAAM,CAAC,OAAO,CAKnB;QACE,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,CAAC,UAAU,CAAC;KACrB,EACD,EAAE,UAAU,EAAE,CAAC,EAAE,CAClB,CAAA;AACH,CAAC;AAoGM,KAAK,UAAU,IAAI,CACxB,MAAgC,EAChC,aAA8B,EAAE;IAEhC,OAAO,MAAM,CAAC,OAAO,CAKnB;QACE,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,CAAC,UAAU,CAAC;KACrB,EACD,EAAE,UAAU,EAAE,CAAC,EAAE,CAClB,CAAA;AACH,CAAC;AAiDM,KAAK,UAAU,OAAO,CAC3B,MAAgC,EAChC,aAAiC,EAAE;IAEnC,OAAO,MAAM,CAAC,OAAO,CAKnB;QACE,MAAM,EAAE,gBAAgB;QACxB,MAAM,EAAE,CAAC,UAAU,CAAC;KACrB,EACD,EAAE,UAAU,EAAE,CAAC,EAAE,CAClB,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/zone.js b/node_modules/viem/_cjs/tempo/actions/zone.js new file mode 100644 index 0000000000000000000000000000000000000000..e04a94902f923402105cae9a62b11f35f5ca3e36 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/zone.js @@ -0,0 +1,680 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.deposit = deposit; +exports.depositSync = depositSync; +exports.getEncryptionKey = getEncryptionKey; +exports.getPortalInfo = getPortalInfo; +exports.encryptedDeposit = encryptedDeposit; +exports.encryptedDepositSync = encryptedDepositSync; +exports.getAuthorizationTokenInfo = getAuthorizationTokenInfo; +exports.getWithdrawalFee = getWithdrawalFee; +exports.getZoneInfo = getZoneInfo; +exports.waitForTempoBlock = waitForTempoBlock; +exports.requestWithdrawal = requestWithdrawal; +exports.requestWithdrawalSync = requestWithdrawalSync; +exports.requestVerifiableWithdrawal = requestVerifiableWithdrawal; +exports.requestVerifiableWithdrawalSync = requestVerifiableWithdrawalSync; +exports.signAuthorizationToken = signAuthorizationToken; +const Bytes = require("ox/Bytes"); +const Hex = require("ox/Hex"); +const PublicKey = require("ox/PublicKey"); +const Secp256k1 = require("ox/Secp256k1"); +const tempo_1 = require("ox/tempo"); +const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js"); +const getContract_js_1 = require("../../actions/getContract.js"); +const multicall_js_1 = require("../../actions/public/multicall.js"); +const readContract_js_1 = require("../../actions/public/readContract.js"); +const prepareTransactionRequest_js_1 = require("../../actions/wallet/prepareTransactionRequest.js"); +const sendTransaction_js_1 = require("../../actions/wallet/sendTransaction.js"); +const sendTransactionSync_js_1 = require("../../actions/wallet/sendTransactionSync.js"); +const bytes_js_1 = require("../../constants/bytes.js"); +const parseEventLogs_js_1 = require("../../utils/abi/parseEventLogs.js"); +const observe_js_1 = require("../../utils/observe.js"); +const poll_js_1 = require("../../utils/poll.js"); +const withResolvers_js_1 = require("../../utils/promise/withResolvers.js"); +const stringify_js_1 = require("../../utils/stringify.js"); +const Abis = require("../Abis.js"); +const Addresses = require("../Addresses.js"); +const errors_js_1 = require("../errors.js"); +const utils_js_1 = require("../internal/utils.js"); +const WithdrawalSenderTag = require("../internal/WithdrawalSenderTag.js"); +const Store = require("../Store.js"); +const defaultWithdrawalGas = 10000000n; +const sequencerEncryptionKeyAbi = [ + { + name: 'sequencerEncryptionKey', + type: 'function', + stateMutability: 'view', + inputs: [], + outputs: [ + { type: 'bytes32', name: 'x' }, + { type: 'uint8', name: 'yParity' }, + ], + }, +]; +async function deposit(client, parameters) { + const { account = client.account, ...rest } = parameters; + const account_ = account ? (0, parseAccount_js_1.parseAccount)(account) : undefined; + if (!account_) + throw new Error('`account` is required.'); + const recipient = parameters.recipient ?? account_.address; + const tempoRefundRecipient = parameters.tempoRefundRecipient ?? account_.address; + const args = { + ...parameters, + recipient, + tempoRefundRecipient, + }; + return (0, sendTransaction_js_1.sendTransaction)(client, { + ...rest, + account, + calls: deposit.calls(args), + }); +} +(function (deposit) { + function calls(args) { + const { amount, memo = bytes_js_1.zeroHash, recipient, tempoRefundRecipient, token, zoneId, } = args; + const portalAddress = args.portalAddress ?? Addresses.zonePortal(zoneId); + const tokenAddress = tempo_1.TokenId.toAddress(token); + const approveCall = (0, utils_js_1.defineCall)({ + address: tokenAddress, + abi: Abis.tip20, + functionName: 'approve', + args: [portalAddress, amount], + }); + const depositCall = (0, utils_js_1.defineCall)({ + address: portalAddress, + abi: Abis.zonePortal, + functionName: 'deposit', + args: [tokenAddress, recipient, amount, memo, tempoRefundRecipient], + }); + return [approveCall, depositCall]; + } + deposit.calls = calls; +})(deposit || (exports.deposit = deposit = {})); +async function depositSync(client, parameters) { + const { account = client.account, throwOnReceiptRevert = true, ...rest } = parameters; + const account_ = account ? (0, parseAccount_js_1.parseAccount)(account) : undefined; + if (!account_) + throw new Error('`account` is required.'); + const recipient = parameters.recipient ?? account_.address; + const tempoRefundRecipient = parameters.tempoRefundRecipient ?? account_.address; + const args = { + ...parameters, + recipient, + tempoRefundRecipient, + }; + const receipt = await (0, sendTransactionSync_js_1.sendTransactionSync)(client, { + ...rest, + account, + throwOnReceiptRevert, + calls: deposit.calls(args), + }); + return { receipt }; +} +async function getEncryptionKey(client, parameters) { + const { account, portalAddress: portalAddress_, zoneId, ...rest } = parameters; + const portalAddress = portalAddress_ ?? Addresses.zonePortal(zoneId); + const [keyCountResult, publicKeyResult] = await (0, multicall_js_1.multicall)(client, { + ...rest, + account: account ? (0, parseAccount_js_1.parseAccount)(account).address : undefined, + allowFailure: true, + batchSize: 0, + contracts: getEncryptionKey.calls({ portalAddress }), + deployless: true, + }); + if (keyCountResult.status === 'failure') + throw keyCountResult.error; + const keyCount = keyCountResult.result; + if (keyCount === 0n || publicKeyResult.status === 'failure') + throw keyCount === 0n + ? new Error('No sequencer encryption key configured.') + : publicKeyResult.error; + const [x, prefix] = publicKeyResult.result; + PublicKey.assert({ prefix, x: Hex.toBigInt(x) }, { compressed: true }); + return { + keyIndex: keyCount - 1n, + publicKey: { prefix: prefix, x }, + }; +} +(function (getEncryptionKey) { + function calls(args) { + return [ + (0, utils_js_1.defineCall)({ + address: args.portalAddress, + abi: Abis.zonePortal, + functionName: 'encryptionKeyCount', + }), + (0, utils_js_1.defineCall)({ + address: args.portalAddress, + abi: sequencerEncryptionKeyAbi, + functionName: 'sequencerEncryptionKey', + }), + ]; + } + getEncryptionKey.calls = calls; +})(getEncryptionKey || (exports.getEncryptionKey = getEncryptionKey = {})); +async function getPortalInfo(client, parameters) { + const { portalAddress: portalAddress_, zoneId, ...rest } = parameters; + const portal = (0, getContract_js_1.getContract)({ + abi: Abis.zonePortal, + address: portalAddress_ ?? Addresses.zonePortal(zoneId), + client, + }); + const [admin, enabledTokenCount, messenger, pauseExpiry, paused, pendingAdmin, sequencerCount, sequencerSetVersion, sequencerThreshold, verifier,] = await Promise.all([ + portal.read.admin(rest), + portal.read.enabledTokenCount(rest), + portal.read.messenger(rest), + portal.read.pauseExpiry(rest), + portal.read.paused(rest), + portal.read.pendingAdmin(rest), + portal.read.sequencerCount(rest), + portal.read.sequencerSetVersion(rest), + portal.read.sequencerThreshold(rest), + portal.read.verifier(rest), + ]); + const [sequencers, enabledTokens] = await Promise.all([ + Promise.all(Array.from({ length: Number(sequencerCount) }, (_, index) => portal.read.sequencerAt([BigInt(index)], rest))), + Promise.all(Array.from({ length: Number(enabledTokenCount) }, (_, index) => portal.read.enabledTokenAt([BigInt(index)], rest))), + ]); + return { + admin, + enabledTokens, + messenger, + pauseExpiry, + paused, + pendingAdmin, + sequencers, + sequencerSetVersion, + sequencerThreshold, + verifier, + }; +} +async function encryptedDeposit(client, parameters) { + const chainId = client.chain?.id; + if (!chainId) + throw new Error('`chain` is required.'); + const { account = client.account, ...rest } = parameters; + const account_ = account ? (0, parseAccount_js_1.parseAccount)(account) : undefined; + if (!account_) + throw new Error('`account` is required.'); + const tempoRefundRecipient = parameters.tempoRefundRecipient ?? account_.address; + if ('encrypted' in parameters) { + if (parameters.chainId !== chainId) { + throw new Error('Prepared encrypted deposit chain ID does not match client chain.'); + } + return (0, sendTransaction_js_1.sendTransaction)(client, { + ...(0, utils_js_1.pickWriteParameters)(parameters), + calls: encryptedDeposit.calls({ + ...parameters, + tempoRefundRecipient, + }), + }); + } + const recipient = parameters.recipient ?? account_.address; + const prepared = await encryptedDeposit.prepare(client, { + amount: parameters.amount, + memo: parameters.memo, + portalAddress: parameters.portalAddress, + recipient, + sender: account_.address, + tempoRefundRecipient, + token: parameters.token, + zoneId: parameters.zoneId, + }); + return (0, sendTransaction_js_1.sendTransaction)(client, { + ...rest, + account, + calls: encryptedDeposit.calls(prepared), + }); +} +(function (encryptedDeposit) { + async function prepare(client, parameters) { + const chainId = client.chain?.id; + if (!chainId) + throw new Error('`chain` is required.'); + const { amount, memo, portalAddress: portalAddress_, recipient, sender: sender_ = client.account?.address, tempoRefundRecipient, token, zoneId, ...rest } = parameters; + if (!sender_) + throw new Error('`sender` is required.'); + const sender = sender_; + const portalAddress = portalAddress_ ?? Addresses.zonePortal(zoneId); + const { keyIndex, publicKey } = await getEncryptionKey(client, { + ...rest, + portalAddress, + zoneId, + }); + const encrypted = await encryptDepositPayload(publicKey, recipient, sender, portalAddress, keyIndex, memo); + return { + amount, + chainId, + encrypted, + keyIndex, + portalAddress, + sender, + tempoRefundRecipient, + token, + zoneId, + }; + } + encryptedDeposit.prepare = prepare; + async function prepareRecipient(client, parameters) { + const chainId = client.chain?.id; + if (!chainId) + throw new Error('`chain` is required.'); + const { memo, portalAddress: portalAddress_, recipient, sender: sender_ = client.account?.address, zoneId, ...rest } = parameters; + if (!sender_) + throw new Error('`sender` is required.'); + const sender = sender_; + const portalAddress = portalAddress_ ?? Addresses.zonePortal(zoneId); + const { keyIndex, publicKey } = await getEncryptionKey(client, { + ...rest, + portalAddress, + zoneId, + }); + const encrypted = await encryptDepositPayload(publicKey, recipient, sender, portalAddress, keyIndex, memo); + return { + chainId, + encrypted, + keyIndex, + portalAddress, + sender, + zoneId, + }; + } + encryptedDeposit.prepareRecipient = prepareRecipient; + function calls(args) { + const { amount, encrypted, keyIndex, tempoRefundRecipient, token, zoneId } = args; + const portalAddress = args.portalAddress ?? Addresses.zonePortal(zoneId); + const tokenAddress = tempo_1.TokenId.toAddress(token); + const encryptedPayload = { + ephemeralPubkeyX: encrypted.ephemeralPubkeyX, + ephemeralPubkeyYParity: encrypted.ephemeralPubkeyYParity, + ciphertext: encrypted.ciphertext, + nonce: encrypted.nonce, + tag: encrypted.tag, + }; + const approveCall = (0, utils_js_1.defineCall)({ + address: tokenAddress, + abi: Abis.tip20, + functionName: 'approve', + args: [portalAddress, amount], + }); + const depositCall = (0, utils_js_1.defineCall)({ + address: portalAddress, + abi: Abis.zonePortal, + functionName: 'depositEncrypted', + args: [ + tokenAddress, + amount, + keyIndex, + encryptedPayload, + tempoRefundRecipient, + ], + }); + return [approveCall, depositCall]; + } + encryptedDeposit.calls = calls; +})(encryptedDeposit || (exports.encryptedDeposit = encryptedDeposit = {})); +async function encryptedDepositSync(client, parameters) { + const chainId = client.chain?.id; + if (!chainId) + throw new Error('`chain` is required.'); + const { account = client.account, throwOnReceiptRevert = true, ...rest } = parameters; + const account_ = account ? (0, parseAccount_js_1.parseAccount)(account) : undefined; + if (!account_) + throw new Error('`account` is required.'); + const tempoRefundRecipient = parameters.tempoRefundRecipient ?? account_.address; + if ('encrypted' in parameters) { + if (parameters.chainId !== chainId) { + throw new Error('Prepared encrypted deposit chain ID does not match client chain.'); + } + const receipt = await (0, sendTransactionSync_js_1.sendTransactionSync)(client, { + ...(0, utils_js_1.pickWriteParameters)(parameters), + ...(0, utils_js_1.pickWriteSyncParameters)(parameters), + throwOnReceiptRevert, + calls: encryptedDeposit.calls({ + ...parameters, + tempoRefundRecipient, + }), + }); + return { receipt }; + } + const recipient = parameters.recipient ?? account_.address; + const prepared = await encryptedDeposit.prepare(client, { + amount: parameters.amount, + memo: parameters.memo, + portalAddress: parameters.portalAddress, + recipient, + sender: account_.address, + tempoRefundRecipient, + token: parameters.token, + zoneId: parameters.zoneId, + }); + const receipt = await (0, sendTransactionSync_js_1.sendTransactionSync)(client, { + ...rest, + account, + throwOnReceiptRevert, + calls: encryptedDeposit.calls(prepared), + }); + return { receipt }; +} +async function getAuthorizationTokenInfo(client) { + const info = await client.request({ + method: 'zone_getAuthorizationTokenInfo', + params: [], + }); + return { + account: info.account, + expiresAt: Hex.toBigInt(info.expiresAt), + }; +} +async function getWithdrawalFee(client, parameters = {}) { + const { callbackGas = 0n, ...rest } = parameters; + return (0, readContract_js_1.readContract)(client, { + ...rest, + address: Addresses.zoneOutbox, + abi: Abis.zoneOutbox, + functionName: 'calculateWithdrawalFee', + args: [callbackGas], + }); +} +async function getZoneInfo(client) { + const info = await client.request({ + method: 'zone_getZoneInfo', + params: [], + }); + const tempoBlockNumber = info.tempoBlockNumber ?? + (await client.request({ + method: 'zone_getDepositStatus', + params: ['0x0'], + })).zoneProcessedThrough; + return { + chainId: Hex.toNumber(info.chainId), + sequencers: 'sequencers' in info ? info.sequencers : [info.sequencer], + tempoBlockNumber: Hex.toBigInt(tempoBlockNumber), + zoneId: Hex.toNumber(info.zoneId), + zoneTokens: info.zoneTokens, + }; +} +async function waitForTempoBlock(client, parameters) { + const { pollingInterval = client.pollingInterval, tempoBlockNumber, timeout = 60_000, } = parameters; + const observerId = (0, stringify_js_1.stringify)([ + 'waitForTempoBlock', + client.uid, + tempoBlockNumber, + ]); + const { promise, reject, resolve } = (0, withResolvers_js_1.withResolvers)(); + let timer; + let unobserve; + const cleanup = () => { + clearTimeout(timer); + unobserve(); + }; + unobserve = (0, observe_js_1.observe)(observerId, { reject, resolve }, (emit) => { + const unpoll = (0, poll_js_1.poll)(async () => { + try { + const info = await getZoneInfo(client); + if (info.tempoBlockNumber < tempoBlockNumber) + return; + unpoll(); + emit.resolve(info); + } + catch (error) { + unpoll(); + emit.reject(error); + } + }, { + emitOnBegin: true, + interval: pollingInterval, + }); + return unpoll; + }); + timer = timeout + ? setTimeout(() => { + reject(new errors_js_1.WaitForTempoBlockTimeoutError({ tempoBlockNumber })); + }, timeout) + : undefined; + return await promise.finally(cleanup); +} +async function requestWithdrawal(client, parameters) { + const { account = client.account } = parameters; + const account_ = account ? (0, parseAccount_js_1.parseAccount)(account) : undefined; + if (!account) + throw new Error('`account` is required.'); + const to = parameters.to ?? account_?.address; + if (!to) + throw new Error('`to` is required.'); + const args = { ...parameters, to }; + return (0, sendTransaction_js_1.sendTransaction)(client, { + ...(0, utils_js_1.pickWriteParameters)(parameters), + calls: requestWithdrawal.calls(args), + gas: parameters.gas ?? defaultWithdrawalGas, + }); +} +(function (requestWithdrawal) { + function calls(args) { + const { amount, callbackGas = 0n, data = '0x', fallbackRecipient = args.to, memo = bytes_js_1.zeroHash, to, token, } = args; + return [ + (0, utils_js_1.defineCall)({ + address: tempo_1.TokenId.toAddress(token), + abi: Abis.tip20, + functionName: 'approve', + args: [Addresses.zoneOutbox, amount], + }), + (0, utils_js_1.defineCall)({ + address: Addresses.zoneOutbox, + abi: Abis.zoneOutbox, + functionName: 'requestWithdrawal', + args: [ + tempo_1.TokenId.toAddress(token), + to, + amount, + memo, + callbackGas, + fallbackRecipient, + data, + '0x', + ], + }), + ]; + } + requestWithdrawal.calls = calls; + async function prepare(client, parameters) { + const { account = client.account, amount, callbackGas = 0n, data = '0x', fallbackRecipient, memo = bytes_js_1.zeroHash, to: to_, token, ...transactionRequest } = parameters; + const account_ = account ? (0, parseAccount_js_1.parseAccount)(account) : undefined; + const to = to_ ?? account_?.address; + if (!to) + throw new Error('`to` is required.'); + const request = await (0, prepareTransactionRequest_js_1.prepareTransactionRequest)(client, { + ...transactionRequest, + account, + calls: requestWithdrawal.calls({ + amount, + callbackGas, + data, + fallbackRecipient, + memo, + to, + token, + }), + gas: transactionRequest.gas ?? defaultWithdrawalGas, + }); + const feePerGas = request.maxFeePerGas ?? request.gasPrice; + if (typeof request.gas !== 'bigint' || typeof feePerGas !== 'bigint') + throw new Error('Prepared transaction fee parameters are unavailable.'); + const maxFee = ceilDiv(request.gas * feePerGas, 1000000000000n); + return { + amount, + callbackGas, + data, + fallbackRecipient: fallbackRecipient ?? to, + maxFee, + memo, + request, + to, + token, + }; + } + requestWithdrawal.prepare = prepare; +})(requestWithdrawal || (exports.requestWithdrawal = requestWithdrawal = {})); +async function requestWithdrawalSync(client, parameters) { + const { account = client.account, throwOnReceiptRevert = true } = parameters; + if (!account) + throw new Error('`account` is required.'); + const account_ = (0, parseAccount_js_1.parseAccount)(account); + const to = parameters.to ?? account_.address; + if (!to) + throw new Error('`to` is required.'); + const args = { ...parameters, to }; + const receipt = await (0, sendTransactionSync_js_1.sendTransactionSync)(client, { + ...(0, utils_js_1.pickWriteParameters)(parameters), + ...(0, utils_js_1.pickWriteSyncParameters)(parameters), + calls: requestWithdrawal.calls(args), + gas: parameters.gas ?? defaultWithdrawalGas, + throwOnReceiptRevert, + }); + if (receipt.status === 'pending') + return { receipt }; + const [event] = (0, parseEventLogs_js_1.parseEventLogs)({ + abi: Abis.zoneOutbox, + logs: receipt.logs, + eventName: 'WithdrawalRequested', + strict: true, + }); + if (!event) + throw new Error('`WithdrawalRequested` event not found.'); + const senderTag = WithdrawalSenderTag.from({ + fallbackNonce: event.args.fallbackNonce, + sender: event.args.sender, + transactionHash: receipt.transactionHash, + }); + return { receipt, senderTag }; +} +async function requestVerifiableWithdrawal(client, parameters) { + const { account = client.account } = parameters; + const account_ = account ? (0, parseAccount_js_1.parseAccount)(account) : undefined; + if (!account) + throw new Error('`account` is required.'); + const to = parameters.to ?? account_?.address; + if (!to) + throw new Error('`to` is required.'); + const args = { ...parameters, to }; + return (0, sendTransaction_js_1.sendTransaction)(client, { + ...(0, utils_js_1.pickWriteParameters)(parameters), + calls: requestVerifiableWithdrawal.calls(args), + gas: parameters.gas ?? defaultWithdrawalGas, + }); +} +(function (requestVerifiableWithdrawal) { + function calls(args) { + const { amount, callbackGas = 0n, data = '0x', fallbackRecipient = args.to, memo = bytes_js_1.zeroHash, revealTo, to, token, } = args; + return [ + (0, utils_js_1.defineCall)({ + address: tempo_1.TokenId.toAddress(token), + abi: Abis.tip20, + functionName: 'approve', + args: [Addresses.zoneOutbox, amount], + }), + (0, utils_js_1.defineCall)({ + address: Addresses.zoneOutbox, + abi: Abis.zoneOutbox, + functionName: 'requestWithdrawal', + args: [ + tempo_1.TokenId.toAddress(token), + to, + amount, + memo, + callbackGas, + fallbackRecipient, + data, + revealTo, + ], + }), + ]; + } + requestVerifiableWithdrawal.calls = calls; +})(requestVerifiableWithdrawal || (exports.requestVerifiableWithdrawal = requestVerifiableWithdrawal = {})); +async function requestVerifiableWithdrawalSync(client, parameters) { + const { account = client.account, throwOnReceiptRevert = true } = parameters; + const account_ = account ? (0, parseAccount_js_1.parseAccount)(account) : undefined; + if (!account) + throw new Error('`account` is required.'); + const to = parameters.to ?? account_?.address; + if (!to) + throw new Error('`to` is required.'); + const args = { ...parameters, to }; + const receipt = await (0, sendTransactionSync_js_1.sendTransactionSync)(client, { + ...(0, utils_js_1.pickWriteParameters)(parameters), + ...(0, utils_js_1.pickWriteSyncParameters)(parameters), + calls: requestVerifiableWithdrawal.calls(args), + gas: parameters.gas ?? defaultWithdrawalGas, + throwOnReceiptRevert, + }); + return { receipt }; +} +async function signAuthorizationToken(client, parameters = {}) { + const { account = client.account, issuedAt = Math.floor(Date.now() / 1000), expiresAt = issuedAt + 86_400, store = Store.defaultStore(), } = parameters; + const chain = parameters.chain ?? client.chain; + if (!chain) + throw new Error('`signAuthorizationToken` requires a chain.'); + const zoneId = parameters.zoneId ?? tempo_1.ZoneId.fromChainId(chain.id); + const account_ = account ? (0, parseAccount_js_1.parseAccount)(account) : undefined; + if (!account_ || !account_.sign) + throw new Error('`account` with `sign` is required.'); + const storeKey = `auth:${account_.address.toLowerCase()}:${chain.id}`; + const authentication = tempo_1.ZoneRpcAuthentication.from({ + chainId: chain.id, + expiresAt, + issuedAt, + zoneId, + }); + const payload = tempo_1.ZoneRpcAuthentication.getSignPayload(authentication); + const signature = await account_.sign({ hash: payload }); + const token = tempo_1.ZoneRpcAuthentication.serialize(authentication, { + signature, + }); + await store.setItem(storeKey, token); + await store.setItem(`auth:token:${chain.id}`, token); + return { authentication, token }; +} +async function encryptDepositPayload(publicKey, recipient, sender, portalAddress, keyIndex, memo = bytes_js_1.zeroHash) { + const sequencerPublicKey = PublicKey.from({ + prefix: publicKey.prefix, + x: Hex.toBigInt(publicKey.x), + }); + const { privateKey: ephemeralPrivateKey, publicKey: ephemeralPublicKey } = Secp256k1.createKeyPair(); + const compressedEphemeral = PublicKey.compress(ephemeralPublicKey); + const sharedSecret = Secp256k1.getSharedSecret({ + privateKey: ephemeralPrivateKey, + publicKey: sequencerPublicKey, + as: 'Bytes', + }); + const hkdfKey = await globalThis.crypto.subtle.importKey('raw', sharedSecret.slice(1), 'HKDF', false, ['deriveKey']); + const aesKey = await globalThis.crypto.subtle.deriveKey({ + name: 'HKDF', + hash: 'SHA-256', + salt: new TextEncoder().encode('ecies-aes-key'), + info: buildDepositHkdfInfo(portalAddress, keyIndex, Hex.fromNumber(compressedEphemeral.x, { size: 32 }), sender), + }, hkdfKey, { name: 'AES-GCM', length: 256 }, false, ['encrypt']); + const nonce = Bytes.random(12); + const plaintext = buildDepositPlaintext(recipient, memo); + const ciphertextWithTag = new Uint8Array(await globalThis.crypto.subtle.encrypt({ name: 'AES-GCM', iv: nonce, tagLength: 128 }, aesKey, Bytes.from(plaintext))); + const ciphertext = ciphertextWithTag.slice(0, -16); + const tag = ciphertextWithTag.slice(-16); + return { + ciphertext: Hex.fromBytes(ciphertext), + ephemeralPubkeyX: Hex.fromNumber(compressedEphemeral.x, { size: 32 }), + ephemeralPubkeyYParity: compressedEphemeral.prefix, + nonce: Hex.fromBytes(nonce), + tag: Hex.fromBytes(tag), + }; +} +function buildDepositPlaintext(recipient, memo) { + return Bytes.concat(Bytes.from(recipient), Bytes.from(memo), new Uint8Array(12)); +} +function buildDepositHkdfInfo(portalAddress, keyIndex, ephemeralPubkeyX, sender) { + return Bytes.concat(Bytes.from(portalAddress), Bytes.fromNumber(keyIndex, { size: 32 }), Bytes.from(ephemeralPubkeyX), Bytes.from(sender)); +} +function ceilDiv(numerator, denominator) { + return (numerator + denominator - 1n) / denominator; +} +//# sourceMappingURL=zone.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/actions/zone.js.map b/node_modules/viem/_cjs/tempo/actions/zone.js.map new file mode 100644 index 0000000000000000000000000000000000000000..0ca1c9bf0e490f6a039be385a71af4b12df4a6d3 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/actions/zone.js.map @@ -0,0 +1 @@ +{"version":3,"file":"zone.js","sourceRoot":"","sources":["../../../tempo/actions/zone.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/chainConfig.js b/node_modules/viem/_cjs/tempo/chainConfig.js new file mode 100644 index 0000000000000000000000000000000000000000..07e2fe6e2e8e8ecc13dc650259db6d2042644b75 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/chainConfig.js @@ -0,0 +1,358 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.chainConfig = void 0; +const Hex = require("ox/Hex"); +const tempo_1 = require("ox/tempo"); +const getCode_js_1 = require("../actions/public/getCode.js"); +const getTransaction_js_1 = require("../actions/public/getTransaction.js"); +const verifyHash_js_1 = require("../actions/public/verifyHash.js"); +const number_js_1 = require("../constants/number.js"); +const isAddressEqual_js_1 = require("../utils/address/isAddressEqual.js"); +const defineChain_js_1 = require("../utils/chain/defineChain.js"); +const transaction_js_1 = require("../utils/formatters/transaction.js"); +const transactionReceipt_js_1 = require("../utils/formatters/transactionReceipt.js"); +const transactionRequest_js_1 = require("../utils/formatters/transactionRequest.js"); +const getAction_js_1 = require("../utils/getAction.js"); +const keccak256_js_1 = require("../utils/hash/keccak256.js"); +const accessKey_js_1 = require("./actions/accessKey.js"); +const multisig_js_1 = require("./actions/multisig.js"); +const Formatters = require("./Formatters.js"); +const Concurrent = require("./internal/concurrent.js"); +const Transaction = require("./Transaction.js"); +const maxExpirySecs = 25; +const serializeTransaction = ((transaction, signature) => Transaction.serialize(transaction, signature)); +exports.chainConfig = { + blockTime: 1_000, + extendSchema: (0, defineChain_js_1.extendSchema)(), + formatters: { + transaction: (0, transaction_js_1.defineTransaction)({ + exclude: ['aaAuthorizationList'], + format: Formatters.formatTransaction, + }), + transactionReceipt: (0, transactionReceipt_js_1.defineTransactionReceipt)({ + format: Formatters.formatTransactionReceipt, + }), + transactionRequest: (0, transactionRequest_js_1.defineTransactionRequest)({ + format: Formatters.formatTransactionRequest, + }), + }, + prepareTransactionRequest: [ + async (r, { client, phase }) => { + const request = r; + if (request.hash) { + if (!request.account || + typeof request.account === 'string' || + request.account.source !== 'multisig') + throw new Error('A local multisig account is required to approve a stored multisig transaction.'); + if (!request.owner || typeof request.owner === 'string') + throw new Error('A local owner account is required to approve a stored multisig transaction.'); + if (request.owner.source !== 'root' && + request.owner.source !== 'multisig') + throw new Error('A Tempo owner account is required to approve a stored multisig transaction.'); + const transaction = await (0, getAction_js_1.getAction)(client, getTransaction_js_1.getTransaction, 'getTransaction')({ hash: request.hash }); + const operation = 'multisig' in transaction + ? transaction.multisig + : undefined; + if (!operation) + throw new Error('Expected a multisig operation transaction.'); + if (!(0, isAddressEqual_js_1.isAddressEqual)(operation.account, request.account.address)) + throw new Error('Multisig operation account does not match the requested account.'); + const storedTransaction = Transaction.deserialize(operation.transaction); + const hash = tempo_1.MultisigOperation.getHash({ + account: operation.account, + config: operation.config, + transaction: operation.transaction, + type: 'transaction', + }); + if (hash.toLowerCase() !== request.hash.toLowerCase()) + throw new Error('Multisig operation hash does not match transaction.'); + return { + ...storedTransaction, + account: request.account, + from: operation.account, + multisigSimulation: getMultisigSimulation({ + account: operation.account, + config: operation.config, + local: request.account, + }), + owner: request.owner, + }; + } + if (phase === 'afterFillParameters') { + if (typeof request.gas !== 'undefined' && + request.feePayer && + !request.feePayerSignature) { + if (request.keyAuthorization?.signature.type === 'webAuthn') + request.gas = (request.gas ?? 0n) + 20000n; + else if (request.account?.source === 'accessKey') + request.gas = (request.gas ?? 0n) + 10000n; + } + return request; + } + const multisigIdentity = (() => { + if (request.account?.source === 'multisig') + return { + account: request.account.address, + config: request.account.config, + local: request.account, + }; + return undefined; + })(); + if (request.owner && !multisigIdentity) + throw new Error('A multisig account is required when an owner is provided.'); + if (request.owner && typeof request.owner === 'string') + throw new Error('A local owner account is required to approve a multisig transaction.'); + if (request.owner && + request.owner.source !== 'root' && + request.owner.source !== 'multisig') + throw new Error('A Tempo owner account is required to approve a multisig transaction.'); + const coordinatedMultisig = !!multisigIdentity && + !!request.owner && + client.transport.multisig === true; + if (multisigIdentity) { + const { account, local } = multisigIdentity; + if (!account) + throw new Error('A multisig account address is required with a current config.'); + const config = await (async () => { + if (multisigIdentity.config) + return multisigIdentity.config; + if (!coordinatedMultisig) + return undefined; + const cachedConfig = await (0, getAction_js_1.getAction)(client, multisig_js_1.getConfig, 'getConfig')({ address: account }); + if (!cachedConfig) + throw new Error(`No current multisig config is cached for account ${account}. Provide the current config.`); + return cachedConfig; + })(); + if (!config) + throw new Error('A multisig config is required to prepare a transaction.'); + request.from = account; + request.multisigSimulation = getMultisigSimulation({ + account, + config, + local, + }); + } + const useExpiringNonce = await (async () => { + if (request.nonceKey === 'expiring' || request.nonceKey === number_js_1.maxUint256) + return true; + if (typeof request.nonceKey !== 'undefined') + return false; + if (multisigIdentity) + return false; + if (request.feePayer && typeof request.nonceKey === 'undefined') + return true; + const account = request.account; + const address = typeof account === 'string' ? account : account?.address; + if (address && typeof request.nonceKey === 'undefined') + return await Concurrent.detect(address.toLowerCase()); + return false; + })(); + if (coordinatedMultisig && typeof request.nonceKey === 'undefined') { + request.nonceKey = Hex.toBigInt(Hex.random(31)) + 1n; + request.nonce = 0; + } + else if (useExpiringNonce) { + request.nonceKey = number_js_1.maxUint256; + request.nonce = 0; + if (typeof request.validAfter === 'undefined') + request.validAfter = randomValidAfter(); + if (typeof request.validBefore === 'undefined') + request.validBefore = Math.floor(Date.now() / 1000) + maxExpirySecs; + } + else if (typeof request.nonceKey !== 'undefined') { + request.nonce = typeof request.nonce === 'number' ? request.nonce : 0; + } + if (!request.keyAuthorization && + request.account?.source === 'accessKey') { + const keyAuthorizationManager = request.account.keyAuthorizationManager; + if (keyAuthorizationManager) { + const chainId = request.chainId ?? request.chain?.id; + if (typeof chainId !== 'undefined') { + const address = request.account.address; + const accessKey = request.account.accessKeyAddress; + const key = { address, accessKey, chainId }; + const keyAuthorization = await keyAuthorizationManager.get(key); + if (keyAuthorization) { + const now = BigInt(Math.floor(Date.now() / 1000)); + if (keyAuthorization.expiry != null && + BigInt(keyAuthorization.expiry) <= now) { + await keyAuthorizationManager.remove(key); + } + else { + const metadata = await (0, getAction_js_1.getAction)(client, accessKey_js_1.getMetadata, 'getMetadata')({ account: address, accessKey }); + if ((0, isAddressEqual_js_1.isAddressEqual)(metadata.address, accessKey) && + !metadata.isRevoked && + metadata.expiry > now) + await keyAuthorizationManager.remove(key); + else + request.keyAuthorization = keyAuthorization; + } + } + } + } + } + if (!request.feeToken && request.chain?.feeToken) + request.feeToken = request.chain.feeToken; + return request; + }, + { runAt: ['beforeFillTransaction', 'afterFillParameters'] }, + ], + serializers: { + transaction: serializeTransaction, + async transactionEnvelope({ serializedTransaction, transaction }) { + const request = transaction; + if (!request.multisigSimulation) + return serializedTransaction; + try { + tempo_1.SignatureEnvelope.deserialize(serializedTransaction); + } + catch { + const transaction = Transaction.deserialize(serializedTransaction); + if (transaction.signature?.type === 'multisig') + return serializedTransaction; + throw new Error('A Tempo owner account is required to approve a multisig transaction.'); + } + return await serializeTransaction({ + ...request, + signatures: [...(request.signatures ?? []), serializedTransaction], + }); + }, + }, + async verifyHash(client, parameters) { + const { address, hash, signature, mode } = parameters; + const envelope = (() => { + if (typeof signature !== 'string') + return; + try { + return tempo_1.SignatureEnvelope.deserialize(signature); + } + catch { + return undefined; + } + })(); + if (envelope) { + if (envelope?.type === 'keychain' && mode === 'allowAccessKey') { + const innerPayload = envelope.version === 'v2' + ? (0, keccak256_js_1.keccak256)(Hex.concat('0x04', hash, address)) + : hash; + const accessKeyAddress = (() => { + try { + return tempo_1.SignatureEnvelope.extractAddress({ + payload: innerPayload, + signature: envelope.inner, + }); + } + catch { + return undefined; + } + })(); + if (!accessKeyAddress) + return false; + const keyInfo = await (0, accessKey_js_1.getMetadata)(client, { + account: address, + accessKey: accessKeyAddress, + blockHash: parameters.blockHash, + blockNumber: parameters.blockNumber, + blockTag: parameters.blockTag, + requireCanonical: parameters.requireCanonical, + }); + if (keyInfo.isRevoked) + return false; + if (keyInfo.expiry <= BigInt(Math.floor(Date.now() / 1000))) + return false; + return tempo_1.SignatureEnvelope.verify(envelope.inner, { + address: accessKeyAddress, + payload: innerPayload, + }); + } + if (envelope.type === 'p256' || envelope.type === 'webAuthn') { + const code = await (0, getCode_js_1.getCode)(client, { + address, + blockHash: parameters.blockHash, + blockNumber: parameters.blockNumber, + blockTag: parameters.blockTag, + requireCanonical: parameters.requireCanonical, + }); + if (!code || + code === '0xef01007702c00000000000000000000000000000000000') + return tempo_1.SignatureEnvelope.verify(envelope, { + address, + payload: hash, + }); + } + } + return await (0, getAction_js_1.getAction)(client, verifyHash_js_1.verifyHash, 'verifyHash')({ ...parameters, chain: null }); + }, +}; +function getMultisigSimulation(options) { + const { account, config, local } = options; + return { + account, + approvals: selectOwners(config).map((owner) => { + const localOwner = local?.owners.find((account) => (0, isAddressEqual_js_1.isAddressEqual)(account.address, owner.owner)); + if (localOwner?.source === 'multisig') { + const nested = localOwner; + if (!nested.config) + throw new Error('A nested multisig config is required for gas estimation.'); + return { + type: 'multisig', + spec: { + account: nested.address, + approvals: selectOwners(nested.config).map((owner) => { + const nestedOwner = nested.owners.find((account) => (0, isAddressEqual_js_1.isAddressEqual)(account.address, owner.owner)); + if (nestedOwner?.source === 'multisig') + throw new Error('Multisig simulation nesting exceeds depth two.'); + return { + ...getSimulationKey(nestedOwner), + owner: owner.owner, + }; + }), + config: nested.config, + }, + }; + } + return { + ...getSimulationKey(localOwner), + owner: owner.owner, + type: 'primitive', + }; + }), + config, + }; +} +function getSimulationKey(account) { + const keyType = (() => { + if (account && + typeof account === 'object' && + 'keyType' in account && + typeof account.keyType === 'string') + return account.keyType; + return undefined; + })(); + if (!keyType || keyType === 'webAuthn') + return { keyData: '0x0578', keyType: 'webAuthn' }; + if (keyType === 'p256' || keyType === 'secp256k1') + return { keyType }; + return { keyData: '0x0578', keyType: 'webAuthn' }; +} +function randomValidAfter() { + const now = BigInt(Math.floor(Date.now() / 1_000)); + const latest = now - 60n; + if (latest <= 0n) + return 0; + return Number(BigInt(Hex.random(8)) % latest); +} +function selectOwners(config) { + const owners = [...config.owners].sort((a, b) => Number(b.weight) - Number(a.weight) || + a.owner.toLowerCase().localeCompare(b.owner.toLowerCase())); + const selected = []; + let weight = 0; + for (const owner of owners.slice(0, tempo_1.MultisigConfig.maxSignatures)) { + if (weight >= Number(config.threshold)) + break; + selected.push(owner); + weight += Number(owner.weight); + } + return selected.sort((a, b) => a.owner.toLowerCase().localeCompare(b.owner.toLowerCase())); +} +//# sourceMappingURL=chainConfig.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/chainConfig.js.map b/node_modules/viem/_cjs/tempo/chainConfig.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a27b81fd608c0285dbbcb7ee7f9d794fb84d9218 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/chainConfig.js.map @@ -0,0 +1 @@ +{"version":3,"file":"chainConfig.js","sourceRoot":"","sources":["../../tempo/chainConfig.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/chains/index.js b/node_modules/viem/_cjs/tempo/chains/index.js new file mode 100644 index 0000000000000000000000000000000000000000..759a6783f51f90507d63a02b52792569edcc8483 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/chains/index.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.tempoTestnet = exports.tempoModerato = exports.tempoMainnet = exports.tempoLocalnet = exports.tempoDevnet = exports.tempo = void 0; +var Chain_js_1 = require("../Chain.js"); +Object.defineProperty(exports, "tempo", { enumerable: true, get: function () { return Chain_js_1.tempo; } }); +Object.defineProperty(exports, "tempoDevnet", { enumerable: true, get: function () { return Chain_js_1.tempoDevnet; } }); +Object.defineProperty(exports, "tempoLocalnet", { enumerable: true, get: function () { return Chain_js_1.tempoLocalnet; } }); +Object.defineProperty(exports, "tempoMainnet", { enumerable: true, get: function () { return Chain_js_1.tempoMainnet; } }); +Object.defineProperty(exports, "tempoModerato", { enumerable: true, get: function () { return Chain_js_1.tempoModerato; } }); +Object.defineProperty(exports, "tempoTestnet", { enumerable: true, get: function () { return Chain_js_1.tempoTestnet; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/chains/index.js.map b/node_modules/viem/_cjs/tempo/chains/index.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f65f948aefb21efd6401213ea82c0bb27d0bdeb2 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/chains/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tempo/chains/index.ts"],"names":[],"mappings":";;;AACA,wCAOoB;AANlB,iGAAA,KAAK,OAAA;AACL,uGAAA,WAAW,OAAA;AACX,yGAAA,aAAa,OAAA;AACb,wGAAA,YAAY,OAAA;AACZ,yGAAA,aAAa,OAAA;AACb,wGAAA,YAAY,OAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/errors.js b/node_modules/viem/_cjs/tempo/errors.js new file mode 100644 index 0000000000000000000000000000000000000000..e4f34fe15d6d93aca8cfcf0595e55b902f8851d2 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/errors.js @@ -0,0 +1,88 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FeeTokenPausedError = exports.FeeTokenNotUsdError = exports.FeeTokenNotTip20Error = exports.InvalidFeeTokenError = exports.WaitForPrivateRedeemTimeoutError = exports.WaitForTempoBlockTimeoutError = exports.WaitForPrivateDepositTimeoutError = exports.GetVaultEngineChangedError = void 0; +const base_js_1 = require("../errors/base.js"); +class GetVaultEngineChangedError extends base_js_1.BaseError { + constructor({ vault }) { + super(`Engine of vault "${vault}" changed while reading.`, { + metaMessages: [ + 'An engine migration raced the snapshot; state from two different engines cannot be mixed.', + 'Retry the read.', + ], + name: 'GetVaultEngineChangedError', + }); + } +} +exports.GetVaultEngineChangedError = GetVaultEngineChangedError; +class WaitForPrivateDepositTimeoutError extends base_js_1.BaseError { + constructor({ actionId, gateway }) { + super(`Timed out while waiting for Zone deposit "${actionId}" at gateway "${gateway}".`, { name: 'WaitForPrivateDepositTimeoutError' }); + } +} +exports.WaitForPrivateDepositTimeoutError = WaitForPrivateDepositTimeoutError; +class WaitForTempoBlockTimeoutError extends base_js_1.BaseError { + constructor({ tempoBlockNumber }) { + super(`Timed out while waiting for Tempo block "${tempoBlockNumber}" to be imported by the zone.`, { name: 'WaitForTempoBlockTimeoutError' }); + } +} +exports.WaitForTempoBlockTimeoutError = WaitForTempoBlockTimeoutError; +class WaitForPrivateRedeemTimeoutError extends base_js_1.BaseError { + constructor({ actionId, gateway }) { + super(`Timed out while waiting for Zone redemption "${actionId}" at gateway "${gateway}".`, { name: 'WaitForPrivateRedeemTimeoutError' }); + } +} +exports.WaitForPrivateRedeemTimeoutError = WaitForPrivateRedeemTimeoutError; +class InvalidFeeTokenError extends base_js_1.BaseError { + constructor({ cause, token, }) { + super(`Fee token "${token}" is invalid.`, { + cause, + docsPath: '/tempo/transactions', + docsSlug: 'pay-fees-with-stablecoins', + metaMessages: [ + 'Fee tokens must be unpaused USD-denominated TIP-20 tokens.', + 'Use `client.fee.validateToken({ token })` before sending transactions or setting fee preferences.', + ], + name: 'InvalidFeeTokenError', + }); + } +} +exports.InvalidFeeTokenError = InvalidFeeTokenError; +class FeeTokenNotTip20Error extends base_js_1.BaseError { + constructor({ token }) { + super(`Fee token "${token}" is not a TIP-20 token.`, { + docsPath: '/tempo/transactions', + docsSlug: 'pay-fees-with-stablecoins', + metaMessages: [ + 'Fee tokens must be TIP-20 token addresses or token IDs.', + 'TIP-20 token addresses use the `0x20c0...` address prefix.', + ], + name: 'FeeTokenNotTip20Error', + }); + } +} +exports.FeeTokenNotTip20Error = FeeTokenNotTip20Error; +class FeeTokenNotUsdError extends base_js_1.BaseError { + constructor({ currency, token, }) { + super(`Fee token "${token}" is denominated in "${currency}", not "USD".`, { + docsPath: '/tempo/transactions', + docsSlug: 'pay-fees-with-stablecoins', + metaMessages: [ + 'Only USD-denominated TIP-20 tokens can be used as fee tokens.', + ], + name: 'FeeTokenNotUsdError', + }); + } +} +exports.FeeTokenNotUsdError = FeeTokenNotUsdError; +class FeeTokenPausedError extends base_js_1.BaseError { + constructor({ token }) { + super(`Fee token "${token}" is paused.`, { + docsPath: '/tempo/transactions', + docsSlug: 'pay-fees-with-stablecoins', + metaMessages: ['Paused TIP-20 tokens cannot be used as fee tokens.'], + name: 'FeeTokenPausedError', + }); + } +} +exports.FeeTokenPausedError = FeeTokenPausedError; +//# sourceMappingURL=errors.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/errors.js.map b/node_modules/viem/_cjs/tempo/errors.js.map new file mode 100644 index 0000000000000000000000000000000000000000..fc241edd6099e4d626df0b02f27b7db672ef53f5 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/errors.js.map @@ -0,0 +1 @@ +{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../tempo/errors.ts"],"names":[],"mappings":";;;AAEA,+CAA6C;AAM7C,MAAa,0BAA2B,SAAQ,mBAAS;IACvD,YAAY,EAAE,KAAK,EAAsB;QACvC,KAAK,CAAC,oBAAoB,KAAK,0BAA0B,EAAE;YACzD,YAAY,EAAE;gBACZ,2FAA2F;gBAC3F,iBAAiB;aAClB;YACD,IAAI,EAAE,4BAA4B;SACnC,CAAC,CAAA;IACJ,CAAC;CACF;AAVD,gEAUC;AAQD,MAAa,iCAAkC,SAAQ,mBAAS;IAC9D,YAAY,EAAE,QAAQ,EAAE,OAAO,EAA2C;QACxE,KAAK,CACH,6CAA6C,QAAQ,iBAAiB,OAAO,IAAI,EACjF,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAC9C,CAAA;IACH,CAAC;CACF;AAPD,8EAOC;AAOD,MAAa,6BAA8B,SAAQ,mBAAS;IAC1D,YAAY,EAAE,gBAAgB,EAAgC;QAC5D,KAAK,CACH,4CAA4C,gBAAgB,+BAA+B,EAC3F,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAC1C,CAAA;IACH,CAAC;CACF;AAPD,sEAOC;AAQD,MAAa,gCAAiC,SAAQ,mBAAS;IAC7D,YAAY,EAAE,QAAQ,EAAE,OAAO,EAA2C;QACxE,KAAK,CACH,gDAAgD,QAAQ,iBAAiB,OAAO,IAAI,EACpF,EAAE,IAAI,EAAE,kCAAkC,EAAE,CAC7C,CAAA;IACH,CAAC;CACF;AAPD,4EAOC;AAKD,MAAa,oBAAqB,SAAQ,mBAAS;IACjD,YAAY,EACV,KAAK,EACL,KAAK,GAIN;QACC,KAAK,CAAC,cAAc,KAAK,eAAe,EAAE;YACxC,KAAK;YACL,QAAQ,EAAE,qBAAqB;YAC/B,QAAQ,EAAE,2BAA2B;YACrC,YAAY,EAAE;gBACZ,4DAA4D;gBAC5D,mGAAmG;aACpG;YACD,IAAI,EAAE,sBAAsB;SAC7B,CAAC,CAAA;IACJ,CAAC;CACF;AAnBD,oDAmBC;AAKD,MAAa,qBAAsB,SAAQ,mBAAS;IAClD,YAAY,EAAE,KAAK,EAAqB;QACtC,KAAK,CAAC,cAAc,KAAK,0BAA0B,EAAE;YACnD,QAAQ,EAAE,qBAAqB;YAC/B,QAAQ,EAAE,2BAA2B;YACrC,YAAY,EAAE;gBACZ,yDAAyD;gBACzD,4DAA4D;aAC7D;YACD,IAAI,EAAE,uBAAuB;SAC9B,CAAC,CAAA;IACJ,CAAC;CACF;AAZD,sDAYC;AAKD,MAAa,mBAAoB,SAAQ,mBAAS;IAChD,YAAY,EACV,QAAQ,EACR,KAAK,GAIN;QACC,KAAK,CAAC,cAAc,KAAK,wBAAwB,QAAQ,eAAe,EAAE;YACxE,QAAQ,EAAE,qBAAqB;YAC/B,QAAQ,EAAE,2BAA2B;YACrC,YAAY,EAAE;gBACZ,+DAA+D;aAChE;YACD,IAAI,EAAE,qBAAqB;SAC5B,CAAC,CAAA;IACJ,CAAC;CACF;AAjBD,kDAiBC;AAKD,MAAa,mBAAoB,SAAQ,mBAAS;IAChD,YAAY,EAAE,KAAK,EAAqB;QACtC,KAAK,CAAC,cAAc,KAAK,cAAc,EAAE;YACvC,QAAQ,EAAE,qBAAqB;YAC/B,QAAQ,EAAE,2BAA2B;YACrC,YAAY,EAAE,CAAC,oDAAoD,CAAC;YACpE,IAAI,EAAE,qBAAqB;SAC5B,CAAC,CAAA;IACJ,CAAC;CACF;AATD,kDASC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/index.js b/node_modules/viem/_cjs/tempo/index.js new file mode 100644 index 0000000000000000000000000000000000000000..954090d8d9b2ecda3461e0fc319662ef6a77d5b1 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/index.js @@ -0,0 +1,72 @@ +"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.Zone = exports.WebCryptoP256 = exports.WebAuthnP256 = exports.withRelay = exports.withMultisig = exports.withFeePayer = exports.walletNamespaceCompat = exports.http = exports.Transport = exports.Transaction = exports.TokenIds = exports.Store = exports.Selectors = exports.Scopes = exports.P256 = exports.Multisig = exports.KeyAuthorizationManager = exports.Hardfork = exports.Formatters = exports.Expiry = exports.tempoActions = exports.createClient = exports.Chain = exports.Capabilities = exports.Actions = exports.Addresses = exports.Account = exports.Abis = exports.webSocket = exports.fallback = exports.custom = exports.VirtualMaster = exports.VirtualAddress = exports.TokenId = exports.Tick = exports.TempoAddress = exports.ReceivePolicyReceipt = exports.Period = exports.MultisigOperation = exports.MultisigConfig = exports.EarnShares = exports.Channel = exports.Secp256k1 = exports.PublicKey = exports.Bytes = void 0; +var ox_1 = require("ox"); +Object.defineProperty(exports, "Bytes", { enumerable: true, get: function () { return ox_1.Bytes; } }); +Object.defineProperty(exports, "PublicKey", { enumerable: true, get: function () { return ox_1.PublicKey; } }); +Object.defineProperty(exports, "Secp256k1", { enumerable: true, get: function () { return ox_1.Secp256k1; } }); +var tempo_1 = require("ox/tempo"); +Object.defineProperty(exports, "Channel", { enumerable: true, get: function () { return tempo_1.Channel; } }); +Object.defineProperty(exports, "EarnShares", { enumerable: true, get: function () { return tempo_1.EarnShares; } }); +Object.defineProperty(exports, "MultisigConfig", { enumerable: true, get: function () { return tempo_1.MultisigConfig; } }); +Object.defineProperty(exports, "MultisigOperation", { enumerable: true, get: function () { return tempo_1.MultisigOperation; } }); +Object.defineProperty(exports, "Period", { enumerable: true, get: function () { return tempo_1.Period; } }); +Object.defineProperty(exports, "ReceivePolicyReceipt", { enumerable: true, get: function () { return tempo_1.ReceivePolicyReceipt; } }); +Object.defineProperty(exports, "TempoAddress", { enumerable: true, get: function () { return tempo_1.TempoAddress; } }); +Object.defineProperty(exports, "Tick", { enumerable: true, get: function () { return tempo_1.Tick; } }); +Object.defineProperty(exports, "TokenId", { enumerable: true, get: function () { return tempo_1.TokenId; } }); +Object.defineProperty(exports, "VirtualAddress", { enumerable: true, get: function () { return tempo_1.VirtualAddress; } }); +Object.defineProperty(exports, "VirtualMaster", { enumerable: true, get: function () { return tempo_1.VirtualMaster; } }); +var custom_js_1 = require("../clients/transports/custom.js"); +Object.defineProperty(exports, "custom", { enumerable: true, get: function () { return custom_js_1.custom; } }); +var fallback_js_1 = require("../clients/transports/fallback.js"); +Object.defineProperty(exports, "fallback", { enumerable: true, get: function () { return fallback_js_1.fallback; } }); +var webSocket_js_1 = require("../clients/transports/webSocket.js"); +Object.defineProperty(exports, "webSocket", { enumerable: true, get: function () { return webSocket_js_1.webSocket; } }); +exports.Abis = require("./Abis.js"); +exports.Account = require("./Account.js"); +exports.Addresses = require("./Addresses.js"); +exports.Actions = require("./actions/index.js"); +exports.Capabilities = require("./Capabilities.js"); +exports.Chain = require("./Chain.js"); +var Client_js_1 = require("./Client.js"); +Object.defineProperty(exports, "createClient", { enumerable: true, get: function () { return Client_js_1.createClient; } }); +var Decorator_js_1 = require("./Decorator.js"); +Object.defineProperty(exports, "tempoActions", { enumerable: true, get: function () { return Decorator_js_1.decorator; } }); +exports.Expiry = require("./Expiry.js"); +__exportStar(require("./errors.js"), exports); +exports.Formatters = require("./Formatters.js"); +exports.Hardfork = require("./Hardfork.js"); +exports.KeyAuthorizationManager = require("./KeyAuthorizationManager.js"); +exports.Multisig = require("./Multisig.js"); +exports.P256 = require("./P256.js"); +exports.Scopes = require("./Scopes.js"); +exports.Selectors = require("./Selectors.js"); +exports.Store = require("./Store.js"); +exports.TokenIds = require("./TokenIds.js"); +exports.Transaction = require("./Transaction.js"); +exports.Transport = require("./Transport.js"); +var Transport_js_1 = require("./Transport.js"); +Object.defineProperty(exports, "http", { enumerable: true, get: function () { return Transport_js_1.http; } }); +Object.defineProperty(exports, "walletNamespaceCompat", { enumerable: true, get: function () { return Transport_js_1.walletNamespaceCompat; } }); +Object.defineProperty(exports, "withFeePayer", { enumerable: true, get: function () { return Transport_js_1.withFeePayer; } }); +Object.defineProperty(exports, "withMultisig", { enumerable: true, get: function () { return Transport_js_1.withMultisig; } }); +Object.defineProperty(exports, "withRelay", { enumerable: true, get: function () { return Transport_js_1.withRelay; } }); +exports.WebAuthnP256 = require("./WebAuthnP256.js"); +exports.WebCryptoP256 = require("./WebCryptoP256.js"); +exports.Zone = require("./Zone.js"); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/index.js.map b/node_modules/viem/_cjs/tempo/index.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d72cf9a84859687ce8727d07803e4a27b27c9e48 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../tempo/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,yBAAgD;AAAvC,2FAAA,KAAK,OAAA;AAAE,+FAAA,SAAS,OAAA;AAAE,+FAAA,SAAS,OAAA;AAYpC,kCAYiB;AAXf,gGAAA,OAAO,OAAA;AACP,mGAAA,UAAU,OAAA;AACV,uGAAA,cAAc,OAAA;AACd,0GAAA,iBAAiB,OAAA;AACjB,+FAAA,MAAM,OAAA;AACN,6GAAA,oBAAoB,OAAA;AACpB,qGAAA,YAAY,OAAA;AACZ,6FAAA,IAAI,OAAA;AACJ,gGAAA,OAAO,OAAA;AACP,uGAAA,cAAc,OAAA;AACd,sGAAA,aAAa,OAAA;AAMf,6DAKwC;AADtC,mGAAA,MAAM,OAAA;AAER,iEAK0C;AADxC,uGAAA,QAAQ,OAAA;AAOV,mEAK2C;AADzC,yGAAA,SAAS,OAAA;AAEX,oCAAiC;AACjC,0CAAuC;AACvC,8CAA2C;AAC3C,gDAA6C;AAC7C,oDAAiD;AACjD,sCAAmC;AACnC,yCAKoB;AADlB,yGAAA,YAAY,OAAA;AAEd,+CAGuB;AADrB,4GAAA,SAAS,OAAgB;AAE3B,wCAAqC;AACrC,8CAA2B;AAC3B,gDAA6C;AAC7C,4CAAyC;AACzC,0EAAuE;AAEvE,4CAAyC;AACzC,oCAAiC;AAEjC,wCAAqC;AAErC,8CAA2C;AAC3C,sCAAmC;AACnC,4CAAyC;AA8BzC,kDAA+C;AAC/C,8CAA2C;AAC3C,+CAOuB;AALrB,oGAAA,IAAI,OAAA;AACJ,qHAAA,qBAAqB,OAAA;AACrB,4GAAA,YAAY,OAAA;AACZ,4GAAA,YAAY,OAAA;AACZ,yGAAA,SAAS,OAAA;AAEX,oDAAiD;AACjD,sDAAmD;AACnD,oCAAiC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/internal/WithdrawalSenderTag.js b/node_modules/viem/_cjs/tempo/internal/WithdrawalSenderTag.js new file mode 100644 index 0000000000000000000000000000000000000000..85dc4ff7fdb9a132863cce11a413d9734ab03277 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/internal/WithdrawalSenderTag.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.from = from; +const ox_1 = require("ox"); +function from(options) { + const { fallbackNonce, sender, transactionHash } = options; + return ox_1.Hash.keccak256(ox_1.AbiParameters.encodePacked(['address', 'bytes32', 'uint64'], [sender, transactionHash, fallbackNonce])); +} +//# sourceMappingURL=WithdrawalSenderTag.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/internal/WithdrawalSenderTag.js.map b/node_modules/viem/_cjs/tempo/internal/WithdrawalSenderTag.js.map new file mode 100644 index 0000000000000000000000000000000000000000..08b152e40bb9e2dfc13d2512f2bc276a707e9ee1 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/internal/WithdrawalSenderTag.js.map @@ -0,0 +1 @@ +{"version":3,"file":"WithdrawalSenderTag.js","sourceRoot":"","sources":["../../../tempo/internal/WithdrawalSenderTag.ts"],"names":[],"mappings":";;AAIA,oBAQC;AAXD,2BAAkD;AAGlD,SAAgB,IAAI,CAAC,OAAqB;IACxC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAA;IAC1D,OAAO,SAAI,CAAC,SAAS,CACnB,kBAAa,CAAC,YAAY,CACxB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,EAChC,CAAC,MAAM,EAAE,eAAe,EAAE,aAAa,CAAC,CACzC,CACF,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/internal/concurrent.js b/node_modules/viem/_cjs/tempo/internal/concurrent.js new file mode 100644 index 0000000000000000000000000000000000000000..dfa700919c344ef4a29735d829832c8e9d0794b0 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/internal/concurrent.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.detect = detect; +const concurrentCounts = new Map(); +async function detect(key) { + concurrentCounts.set(key, (concurrentCounts.get(key) ?? 0) + 1); + await Promise.resolve(); + const isConcurrent = (concurrentCounts.get(key) ?? 0) > 1; + queueMicrotask(() => { + const count = concurrentCounts.get(key) ?? 0; + if (count <= 1) + concurrentCounts.delete(key); + else + concurrentCounts.set(key, count - 1); + }); + return isConcurrent; +} +//# sourceMappingURL=concurrent.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/internal/concurrent.js.map b/node_modules/viem/_cjs/tempo/internal/concurrent.js.map new file mode 100644 index 0000000000000000000000000000000000000000..cb62e2fbe90c4a226e549b01df850bf614427c7a --- /dev/null +++ b/node_modules/viem/_cjs/tempo/internal/concurrent.js.map @@ -0,0 +1 @@ +{"version":3,"file":"concurrent.js","sourceRoot":"","sources":["../../../tempo/internal/concurrent.ts"],"names":[],"mappings":";;AAaA,wBAUC;AAvBD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAA;AAa3C,KAAK,UAAU,MAAM,CAAC,GAAW;IACtC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAC/D,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;IACvB,MAAM,YAAY,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;IACzD,cAAc,CAAC,GAAG,EAAE;QAClB,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,KAAK,IAAI,CAAC;YAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;;YACvC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IACF,OAAO,YAAY,CAAA;AACrB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/internal/types.js b/node_modules/viem/_cjs/tempo/internal/types.js new file mode 100644 index 0000000000000000000000000000000000000000..11e638d1ee44ae0dcb1feb5aef676ea74a7d4df3 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/internal/types.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/internal/types.js.map b/node_modules/viem/_cjs/tempo/internal/types.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e318418105953ef2fb2885c1df94fa25dd0ff323 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/internal/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../tempo/internal/types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/internal/utils.js b/node_modules/viem/_cjs/tempo/internal/utils.js new file mode 100644 index 0000000000000000000000000000000000000000..57a130687e809125dee772a44b0e07b8da212ca0 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/internal/utils.js @@ -0,0 +1,152 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.resolveToken = resolveToken; +exports.findDeclaredToken = findDeclaredToken; +exports.resolveTokenWithDecimals = resolveTokenWithDecimals; +exports.pickWriteParameters = pickWriteParameters; +exports.pickWriteSyncParameters = pickWriteSyncParameters; +exports.resolveCallParameters = resolveCallParameters; +exports.defineCall = defineCall; +exports.normalizeValue = normalizeValue; +const tempo_1 = require("ox/tempo"); +const readContract_js_1 = require("../../actions/public/readContract.js"); +const isAddressEqual_js_1 = require("../../utils/address/isAddressEqual.js"); +const index_js_1 = require("../../utils/index.js"); +const Abis = require("../Abis.js"); +function resolveToken(client, parameters) { + const { decimals, token } = parameters; + if (client && typeof token === 'string') { + const declared = findDeclaredTokenBySymbol(client, token); + if (declared) + return { + address: declared.address, + decimals: decimals ?? declared.decimals, + }; + } + const address = tempo_1.TokenId.toAddress(token); + return { + address, + decimals: decimals ?? (client ? inferDecimals(client, address) : undefined), + }; +} +function findDeclaredToken(client, token) { + const tokens = client.tokens; + const chainId = client.chain?.id; + if (!tokens || chainId === undefined) + return undefined; + if (typeof token === 'string') { + const declared = findDeclaredTokenBySymbol(client, token); + if (declared) + return declared; + } + const address = tempo_1.TokenId.toAddress(token); + for (const token_ of tokens) { + const resolved = resolveTokenForChain(token_, chainId); + if (resolved && (0, isAddressEqual_js_1.isAddressEqual)(resolved.address, address)) + return resolved; + } + return undefined; +} +function findDeclaredTokenBySymbol(client, symbol) { + const tokens = client.tokens; + const chainId = client.chain?.id; + if (!tokens || chainId === undefined) + return undefined; + const lowerSymbol = symbol.toLowerCase(); + for (const token of tokens) { + if (token.symbol?.toLowerCase() === lowerSymbol) + return resolveTokenForChain(token, chainId); + } + return undefined; +} +function resolveTokenForChain(token, chainId) { + const address = token.addresses[chainId]; + if (!address) + return undefined; + return { + address, + currency: token.currency, + decimals: token.decimals, + name: token.name, + popular: token.popular, + symbol: token.symbol, + }; +} +function inferDecimals(client, address) { + const tokens = client.tokens; + const chainId = client.chain?.id; + if (tokens && chainId !== undefined) + for (const token of tokens) { + const resolved = resolveTokenForChain(token, chainId); + if (resolved && (0, isAddressEqual_js_1.isAddressEqual)(resolved.address, address)) + return resolved.decimals; + } + return undefined; +} +async function resolveTokenWithDecimals(client, parameters) { + const { address, decimals } = resolveToken(client, parameters); + if (decimals !== undefined) + return { address, decimals }; + return { + address, + decimals: await (0, readContract_js_1.readContract)(client, { + abi: Abis.tip20, + address, + functionName: 'decimals', + }), + }; +} +function pickWriteParameters(parameters) { + const { account, chain, feePayer, feeToken, gas, keyAuthorization, maxFeePerGas, maxPriorityFeePerGas, nonce, nonceKey, owner, validAfter, validBefore, } = parameters; + return { + account, + chain, + feePayer, + feeToken, + gas, + keyAuthorization, + maxFeePerGas, + maxPriorityFeePerGas, + nonce, + nonceKey, + owner, + validAfter, + validBefore, + }; +} +function pickWriteSyncParameters(parameters) { + const { pollingInterval, timeout } = parameters; + return { pollingInterval, timeout }; +} +function resolveCallParameters(parameters) { + if (parameters.length === 2) + return parameters; + return [undefined, parameters[0]]; +} +function defineCall(call) { + return { + ...call, + data: (0, index_js_1.encodeFunctionData)(call), + to: call.address, + }; +} +function normalizeValue(value) { + if (Array.isArray(value)) + return value.map(normalizeValue); + if (typeof value === 'function') + return undefined; + if (typeof value !== 'object' || value === null) + return value; + if (Object.getPrototypeOf(value) !== Object.prototype) + try { + return structuredClone(value); + } + catch { + return undefined; + } + const normalized = {}; + for (const [k, v] of Object.entries(value)) + normalized[k] = normalizeValue(v); + return normalized; +} +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/internal/utils.js.map b/node_modules/viem/_cjs/tempo/internal/utils.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c60456accf1bcb83336d66ad0b265796f7374155 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/internal/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../tempo/internal/utils.ts"],"names":[],"mappings":";;AAqCA,oCAoBC;AAsBD,8CAmBC;AAmED,4DAcC;AAQD,kDA+BC;AAGD,0DAGC;AAyBD,sDAQC;AAED,gCAyBC;AAQD,wCAcC;AAjTD,oCAAkC;AAElC,0EAAmE;AAWnE,6EAAsE;AACtE,mDAAyD;AACzD,mCAAkC;AAqBlC,SAAgB,YAAY,CAC1B,MAAwD,EACxD,UAAmC;IAEnC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,UAAU,CAAA;IAEtC,IAAI,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACzD,IAAI,QAAQ;YACV,OAAO;gBACL,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,QAAQ;aACxC,CAAA;IACL,CAAC;IAED,MAAM,OAAO,GAAG,eAAO,CAAC,SAAS,CAAC,KAAiC,CAAC,CAAA;IACpE,OAAO;QACL,OAAO;QACP,QAAQ,EAAE,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KAC5E,CAAA;AACH,CAAC;AAsBD,SAAgB,iBAAiB,CAC/B,MAA4C,EAC5C,KAA+C;IAE/C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,CAAA;IAChC,IAAI,CAAC,MAAM,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAEtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,yBAAyB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACzD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAA;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG,eAAO,CAAC,SAAS,CAAC,KAAiC,CAAC,CAAA;IACpE,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACtD,IAAI,QAAQ,IAAI,IAAA,kCAAc,EAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;YAAE,OAAO,QAAQ,CAAA;IAC5E,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAMD,SAAS,yBAAyB,CAChC,MAA4C,EAC5C,MAAc;IAEd,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,CAAA;IAChC,IAAI,CAAC,MAAM,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAEtD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;IACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,WAAW;YAC7C,OAAO,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC/C,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAMD,SAAS,oBAAoB,CAC3B,KAAY,EACZ,OAAe;IAEf,MAAM,OAAO,GAAI,KAAK,CAAC,SAAqC,CAAC,OAAO,CAAC,CAAA;IACrE,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAA;IAC9B,OAAO;QACL,OAAO;QACP,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAA;AACH,CAAC;AAOD,SAAS,aAAa,CACpB,MAA4C,EAC5C,OAAgB;IAEhB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,CAAA;IAChC,IAAI,MAAM,IAAI,OAAO,KAAK,SAAS;QACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACrD,IAAI,QAAQ,IAAI,IAAA,kCAAc,EAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;gBACvD,OAAO,QAAQ,CAAC,QAAQ,CAAA;QAC5B,CAAC;IACH,OAAO,SAAS,CAAA;AAClB,CAAC;AAOM,KAAK,UAAU,wBAAwB,CAC5C,MAA4C,EAC5C,UAAmC;IAEnC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC9D,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;IACxD,OAAO;QACL,OAAO;QACP,QAAQ,EAAE,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;YACnC,GAAG,EAAE,IAAI,CAAC,KAAK;YACf,OAAO;YACP,YAAY,EAAE,UAAU;SACzB,CAAC;KACH,CAAA;AACH,CAAC;AAQD,SAAgB,mBAAmB,CAAC,UAAmC;IACrE,MAAM,EACJ,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,QAAQ,EACR,KAAK,EACL,UAAU,EACV,WAAW,GACZ,GAAG,UAAU,CAAA;IACd,OAAO;QACL,OAAO;QACP,KAAK;QACL,QAAQ;QACR,QAAQ;QACR,GAAG;QACH,gBAAgB;QAChB,YAAY;QACZ,oBAAoB;QACpB,KAAK;QACL,QAAQ;QACR,KAAK;QACL,UAAU;QACV,WAAW;KACZ,CAAA;AACH,CAAC;AAGD,SAAgB,uBAAuB,CAAC,UAAmC;IACzE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAC/C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,CAAA;AACrC,CAAC;AAyBD,SAAgB,qBAAqB,CAInC,UAAwC;IAExC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,UAAU,CAAA;IAC9C,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AACnC,CAAC;AAED,SAAgB,UAAU,CASxB,IAEqE;IASrE,OAAO;QACL,GAAI,IAAY;QAChB,IAAI,EAAE,IAAA,6BAAkB,EAAC,IAAa,CAAC;QACvC,EAAE,EAAE,IAAI,CAAC,OAAO;KACR,CAAA;AACZ,CAAC;AAQD,SAAgB,cAAc,CAAO,KAAW;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,cAAc,CAAU,CAAA;IACnE,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,OAAO,SAAkB,CAAA;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC7D,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS;QACnD,IAAI,CAAC;YACH,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAkB,CAAA;QAC3B,CAAC;IAEH,MAAM,UAAU,GAA4B,EAAE,CAAA;IAC9C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,UAAU,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;IAC7E,OAAO,UAAmB,CAAA;AAC5B,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/multisig/Config.js b/node_modules/viem/_cjs/tempo/multisig/Config.js new file mode 100644 index 0000000000000000000000000000000000000000..9adbcf707d68c0a1f86927c6ae59ddc1f0c5626b --- /dev/null +++ b/node_modules/viem/_cjs/tempo/multisig/Config.js @@ -0,0 +1,80 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.InvalidStoreValueError = void 0; +exports.read = read; +exports.write = write; +const Address = require("ox/Address"); +const Hash = require("ox/Hash"); +const Json = require("ox/Json"); +const tempo_1 = require("ox/tempo"); +const base_js_1 = require("../../errors/base.js"); +const maxStoredValueLength = 65_536; +const zeroCommitment = `0x${'00'.repeat(32)}`; +async function read(store, options) { + const { address, commitment } = options; + const value = await store.getItem(key({ address, commitment })); + if (value === null || value === undefined) + return null; + const config = deserialize(value); + assertKey({ address, commitment, config }); + return config; +} +async function write(store, options) { + const { address, commitment } = options; + const config = tempo_1.MultisigConfig.from(options.config); + assertKey({ address, commitment, config }); + await store.setItem(key({ address, commitment }), serialize(config)); +} +function assertKey(options) { + const { address, commitment, config } = options; + if (!Address.validate(address) || !Hash.validate(commitment)) + throw new InvalidStoreValueError(); + if (config.version === 0n) { + if (commitment.toLowerCase() !== zeroCommitment || + !Address.isEqual(tempo_1.MultisigConfig.getAddress(config), address)) + throw new InvalidStoreValueError(); + return; + } + if (tempo_1.MultisigConfig.getCommitment(config).toLowerCase() !== + commitment.toLowerCase()) + throw new InvalidStoreValueError(); +} +function deserialize(value) { + try { + if (value.length > maxStoredValueLength) + throw new InvalidStoreValueError(); + return tempo_1.MultisigConfig.fromRpc(Json.parse(value)); + } + catch (cause) { + if (cause instanceof InvalidStoreValueError) + throw cause; + throw new InvalidStoreValueError({ cause }); + } +} +function key(options) { + const { address, commitment } = options; + return `multisig:config:${address.toLowerCase()}:${commitment.toLowerCase()}`; +} +function serialize(config) { + try { + const value = Json.stringify(tempo_1.MultisigConfig.toRpc(config)); + if (value.length > maxStoredValueLength) + throw new InvalidStoreValueError(); + return value; + } + catch (cause) { + if (cause instanceof InvalidStoreValueError) + throw cause; + throw new InvalidStoreValueError({ cause }); + } +} +class InvalidStoreValueError extends base_js_1.BaseError { + constructor(options = {}) { + super('Stored multisig config is malformed or mismatched.', { + cause: options.cause, + name: 'Multisig.Config.InvalidStoreValueError', + }); + } +} +exports.InvalidStoreValueError = InvalidStoreValueError; +//# sourceMappingURL=Config.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/multisig/Config.js.map b/node_modules/viem/_cjs/tempo/multisig/Config.js.map new file mode 100644 index 0000000000000000000000000000000000000000..25a8ff63fa1762db59a8e84c4fc1cd1f979bf650 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/multisig/Config.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../tempo/multisig/Config.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/multisig/Operation.js b/node_modules/viem/_cjs/tempo/multisig/Operation.js new file mode 100644 index 0000000000000000000000000000000000000000..effe1c046034b963748ca1268defc18c9ce536f4 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/multisig/Operation.js @@ -0,0 +1,163 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StoreConflictError = exports.InvalidStoreValueError = void 0; +exports.read = read; +exports.update = update; +exports.readSubmission = readSubmission; +exports.removeSubmission = removeSubmission; +exports.writeSubmission = writeSubmission; +const Json = require("ox/Json"); +const tempo_1 = require("ox/tempo"); +const base_js_1 = require("../../errors/base.js"); +const maxStoredValueLength = 1_048_576; +const maxUpdateAttempts = 32; +const pendingOperationTtl = 30 * 24 * 60 * 60 * 1_000; +async function read(store, hash) { + const value = await store.getItem(operationKey(hash)); + if (value === null || value === undefined) + return null; + const operation = deserialize(value); + if (operation.hash.toLowerCase() !== hash.toLowerCase()) + throw new InvalidStoreValueError(); + return operation; +} +async function update(store, hash, update) { + const key = operationKey(hash); + for (let attempt = 0; attempt < maxUpdateAttempts; attempt++) { + const value = (await store.getItem(key)) ?? null; + const current = value === null ? null : deserialize(value); + if (current && current.hash.toLowerCase() !== hash.toLowerCase()) + throw new InvalidStoreValueError(); + const value_ = await update(current); + let next; + try { + next = tempo_1.MultisigOperation.from(value_); + } + catch (cause) { + throw new InvalidStoreValueError({ cause }); + } + if (next.hash.toLowerCase() !== hash.toLowerCase()) + throw new InvalidStoreValueError(); + const serialized = serialize(next); + const options = next.status === 'success' + ? undefined + : { expiresAt: Date.now() + pendingOperationTtl }; + if (await store.compareAndSet(key, value, serialized, options)) + return next; + } + throw new StoreConflictError(); +} +async function readSubmission(store, operation, submissionId) { + const value = await store.getItem(submissionKey(operation.hash, submissionId)); + if (value === null || value === undefined) + return null; + try { + if (value.length > maxStoredValueLength) + throw new InvalidStoreValueError(); + const transaction = tempo_1.TxEnvelopeTempo.deserialize(value); + if (transaction.signature?.type !== 'multisig') + throw new InvalidStoreValueError(); + const serialized = tempo_1.MultisigOperation.serializeTransaction(operation, { + approvals: transaction.signature.signatures.map((signature) => tempo_1.SignatureEnvelope.serialize(signature)), + }); + if (serialized.toLowerCase() !== value.toLowerCase()) + throw new InvalidStoreValueError(); + return tempo_1.TxEnvelopeTempo.hash(transaction); + } + catch (cause) { + if (cause instanceof InvalidStoreValueError) + throw cause; + throw new InvalidStoreValueError({ cause }); + } +} +async function removeSubmission(store, hash, submissionId) { + await store.removeItem(submissionKey(hash, submissionId)); +} +async function writeSubmission(store, hash, submissionId, transaction) { + try { + if (transaction.length > maxStoredValueLength) + throw new InvalidStoreValueError(); + const envelope = tempo_1.TxEnvelopeTempo.deserialize(transaction); + if (!envelope.signature) + throw new InvalidStoreValueError(); + tempo_1.TxEnvelopeTempo.hash(envelope); + const written = await store.compareAndSet(submissionKey(hash, submissionId), null, transaction, { expiresAt: Date.now() + pendingOperationTtl }); + if (!written) + throw new InvalidStoreValueError(); + } + catch (cause) { + if (cause instanceof InvalidStoreValueError) + throw cause; + throw new InvalidStoreValueError({ cause }); + } +} +function deserialize(value) { + try { + if (value.length > maxStoredValueLength) + throw new InvalidStoreValueError(); + const operation = tempo_1.MultisigOperation.from(Json.parse(value)); + assertHash(operation); + return operation; + } + catch (cause) { + if (cause instanceof InvalidStoreValueError) + throw cause; + throw new InvalidStoreValueError({ cause }); + } +} +function serialize(operation) { + try { + const operation_ = tempo_1.MultisigOperation.from(operation); + assertHash(operation_); + const value = Json.stringify(operation_); + if (value.length > maxStoredValueLength) + throw new InvalidStoreValueError(); + return value; + } + catch (cause) { + if (cause instanceof InvalidStoreValueError) + throw cause; + throw new InvalidStoreValueError({ cause }); + } +} +function assertHash(operation) { + const hash = tempo_1.MultisigOperation.getHash(operation.type === 'transaction' + ? { + account: operation.account, + config: operation.config, + transaction: operation.transaction, + type: operation.type, + } + : { + account: operation.account, + config: operation.config, + keyAuthorization: operation.keyAuthorization, + type: operation.type, + }); + if (hash.toLowerCase() !== operation.hash.toLowerCase()) + throw new InvalidStoreValueError(); +} +function operationKey(hash) { + return `multisig:operation:${hash.toLowerCase()}`; +} +function submissionKey(hash, submissionId) { + return `multisig:submission:${hash.toLowerCase()}:${submissionId.toLowerCase()}`; +} +class InvalidStoreValueError extends base_js_1.BaseError { + constructor(options = {}) { + super('Stored multisig operation is malformed or unsupported.', { + cause: options.cause, + name: 'Multisig.Operation.InvalidStoreValueError', + }); + } +} +exports.InvalidStoreValueError = InvalidStoreValueError; +class StoreConflictError extends base_js_1.BaseError { + constructor() { + super('Multisig operation could not be updated after repeated conflicts.', { + name: 'Multisig.Operation.StoreConflictError', + }); + } +} +exports.StoreConflictError = StoreConflictError; +//# sourceMappingURL=Operation.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tempo/multisig/Operation.js.map b/node_modules/viem/_cjs/tempo/multisig/Operation.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9b544b6a72353abbfd79a05c7570c9c3721ad162 --- /dev/null +++ b/node_modules/viem/_cjs/tempo/multisig/Operation.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Operation.js","sourceRoot":"","sources":["../../../tempo/multisig/Operation.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/defineToken.js b/node_modules/viem/_cjs/tokens/defineToken.js new file mode 100644 index 0000000000000000000000000000000000000000..e6e2ea58b21963bf783f30c94e1db0870949a5c8 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/defineToken.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.defineToken = defineToken; +function defineToken(token) { + const { addresses, currency, decimals, name, popular, symbol } = token; + function fn(chainId) { + const address = addresses[chainId]; + if (!address) + throw new Error(`Token has no address for chain id "${chainId}".`); + return { address, currency, decimals, name, popular, symbol }; + } + return Object.defineProperties(fn, { + addresses: { enumerable: true, value: addresses }, + currency: { enumerable: true, value: currency }, + decimals: { enumerable: true, value: decimals }, + name: { enumerable: true, value: name }, + popular: { enumerable: true, value: popular }, + symbol: { enumerable: true, value: symbol }, + }); +} +//# sourceMappingURL=defineToken.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/defineToken.js.map b/node_modules/viem/_cjs/tokens/defineToken.js.map new file mode 100644 index 0000000000000000000000000000000000000000..0afa9ffca0c93ca1af6b7df13f8a374fb17af077 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/defineToken.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defineToken.js","sourceRoot":"","sources":["../../tokens/defineToken.ts"],"names":[],"mappings":";;AAsEA,kCAkBC;AAlBD,SAAgB,WAAW,CACzB,KAAY;IAEZ,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IACtE,SAAS,EAAE,CAAC,OAAe;QACzB,MAAM,OAAO,GAAI,SAAqC,CAAC,OAAO,CAAC,CAAA;QAC/D,IAAI,CAAC,OAAO;YACV,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,IAAI,CAAC,CAAA;QACpE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;IAC/D,CAAC;IACD,OAAO,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE;QACjC,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE;QACjD,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC/C,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC/C,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;QACvC,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;QAC7C,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;KAC5C,CAAU,CAAA;AACb,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/alphausd.js b/node_modules/viem/_cjs/tokens/definitions/alphausd.js new file mode 100644 index 0000000000000000000000000000000000000000..381944d9f09f3d0aa6bdb2b180c134cdd02a3921 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/alphausd.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.alphausd = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.alphausd = (0, defineToken_js_1.defineToken)({ + addresses: { + 42431: '0x20c0000000000000000000000000000000000001', + }, + currency: 'USD', + decimals: 6, + name: 'AlphaUSD', + symbol: 'alphaUSD', +}); +//# sourceMappingURL=alphausd.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/alphausd.js.map b/node_modules/viem/_cjs/tokens/definitions/alphausd.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d134ed863c4ccdab49e0c8ab19500ae89e2ab77b --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/alphausd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"alphausd.js","sourceRoot":"","sources":["../../../tokens/definitions/alphausd.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,QAAQ,GAAiB,IAAA,4BAAW,EAAC;IAChD,SAAS,EAAE;QACT,KAAK,EAAE,4CAA4C;KACpD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,UAAU;CACnB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/betausd.js b/node_modules/viem/_cjs/tokens/definitions/betausd.js new file mode 100644 index 0000000000000000000000000000000000000000..5139518d074bc2b1cd169406ea15b08511360862 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/betausd.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.betausd = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.betausd = (0, defineToken_js_1.defineToken)({ + addresses: { + 42431: '0x20c0000000000000000000000000000000000002', + }, + currency: 'USD', + decimals: 6, + name: 'BetaUSD', + symbol: 'betaUSD', +}); +//# sourceMappingURL=betausd.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/betausd.js.map b/node_modules/viem/_cjs/tokens/definitions/betausd.js.map new file mode 100644 index 0000000000000000000000000000000000000000..46b2829f047b45cf8e5dde502b8ddb25e74838a6 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/betausd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"betausd.js","sourceRoot":"","sources":["../../../tokens/definitions/betausd.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,OAAO,GAAiB,IAAA,4BAAW,EAAC;IAC/C,SAAS,EAAE;QACT,KAAK,EAAE,4CAA4C;KACpD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;CAClB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/brla.js b/node_modules/viem/_cjs/tokens/definitions/brla.js new file mode 100644 index 0000000000000000000000000000000000000000..a4900052cd859b8b31d651500d3a007a3d37796f --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/brla.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.brla = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.brla = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c000000000000000000000f047dd7018e50367', + }, + currency: 'BRL', + decimals: 6, + name: 'BRLA Token', + symbol: 'BRLA', +}); +//# sourceMappingURL=brla.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/brla.js.map b/node_modules/viem/_cjs/tokens/definitions/brla.js.map new file mode 100644 index 0000000000000000000000000000000000000000..76a5c3867b2f1edcdc1cc56f2d9cccddfff17694 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/brla.js.map @@ -0,0 +1 @@ +{"version":3,"file":"brla.js","sourceRoot":"","sources":["../../../tokens/definitions/brla.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,IAAI,GAAiB,IAAA,4BAAW,EAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/cbbtc.js b/node_modules/viem/_cjs/tokens/definitions/cbbtc.js new file mode 100644 index 0000000000000000000000000000000000000000..f034b542bbaf3ba0c89a240ec417659187379864 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/cbbtc.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.cbbtc = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.cbbtc = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c000000000000000000000c412ec89d0c08be5', + }, + currency: 'BTC', + decimals: 6, + name: 'Coinbase Wrapped BTC', + symbol: 'cbBTC', +}); +//# sourceMappingURL=cbbtc.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/cbbtc.js.map b/node_modules/viem/_cjs/tokens/definitions/cbbtc.js.map new file mode 100644 index 0000000000000000000000000000000000000000..15d594548b578af6b3684e45c7e6316d774bd62e --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/cbbtc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cbbtc.js","sourceRoot":"","sources":["../../../tokens/definitions/cbbtc.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,KAAK,GAAiB,IAAA,4BAAW,EAAC;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,OAAO;CAChB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/chfau.js b/node_modules/viem/_cjs/tokens/definitions/chfau.js new file mode 100644 index 0000000000000000000000000000000000000000..0dd5a36e3a91fbfb68cd249ca76baefe1b928578 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/chfau.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.chfau = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.chfau = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c00000000000000000000042109aef2f8b28e1', + }, + currency: 'CHF', + decimals: 6, + name: 'AllUnity CHF', + symbol: 'CHFAU', +}); +//# sourceMappingURL=chfau.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/chfau.js.map b/node_modules/viem/_cjs/tokens/definitions/chfau.js.map new file mode 100644 index 0000000000000000000000000000000000000000..617cdbc74784564fcf7b59082e63f89a4396d99e --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/chfau.js.map @@ -0,0 +1 @@ +{"version":3,"file":"chfau.js","sourceRoot":"","sources":["../../../tokens/definitions/chfau.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,KAAK,GAAiB,IAAA,4BAAW,EAAC;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,OAAO;CAChB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/cirbtc.js b/node_modules/viem/_cjs/tokens/definitions/cirbtc.js new file mode 100644 index 0000000000000000000000000000000000000000..29f921426e988bf4b501bee01ffa52434eaa700d --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/cirbtc.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.cirbtc = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.cirbtc = (0, defineToken_js_1.defineToken)({ + addresses: { + 1: '0x72DFB2E44f59C5AD2bAFE84314E5b99a7cd5075E', + 5042002: '0xf0C4a4CE82A5746AbAAd9425360Ab04fbBA432BF', + 11155111: '0x3a3fe695F684Bf9b9e43CF43C2b895Ea5e392bB3', + }, + currency: 'BTC', + decimals: 8, + name: 'Circle Wrapped Bitcoin', + symbol: 'cirBTC', +}); +//# sourceMappingURL=cirbtc.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/cirbtc.js.map b/node_modules/viem/_cjs/tokens/definitions/cirbtc.js.map new file mode 100644 index 0000000000000000000000000000000000000000..939bc9cd8b6d8d6926400de2caa2f6d348ba7639 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/cirbtc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cirbtc.js","sourceRoot":"","sources":["../../../tokens/definitions/cirbtc.ts"],"names":[],"mappings":";;;AAAA,sDAA+C;AAUlC,QAAA,MAAM,GAAiB,IAAA,4BAAW,EAAC;IAC9C,SAAS,EAAE;QACT,CAAC,EAAE,4CAA4C;QAC/C,OAAO,EAAE,4CAA4C;QACrD,QAAQ,EAAE,4CAA4C;KACvD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,wBAAwB;IAC9B,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/cusd.js b/node_modules/viem/_cjs/tokens/definitions/cusd.js new file mode 100644 index 0000000000000000000000000000000000000000..c3a22cfb32770da5de871a8da997b6d9cd5e59c3 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/cusd.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.cusd = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.cusd = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c0000000000000000000000520792dcccccccc', + }, + currency: 'USD', + decimals: 6, + name: 'Cap USD', + symbol: 'cUSD', +}); +//# sourceMappingURL=cusd.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/cusd.js.map b/node_modules/viem/_cjs/tokens/definitions/cusd.js.map new file mode 100644 index 0000000000000000000000000000000000000000..3a4e0059a0a55a56f88471cdad48f12cdc8966e8 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/cusd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cusd.js","sourceRoot":"","sources":["../../../tokens/definitions/cusd.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,IAAI,GAAiB,IAAA,4BAAW,EAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/dlusd.js b/node_modules/viem/_cjs/tokens/definitions/dlusd.js new file mode 100644 index 0000000000000000000000000000000000000000..a59b4f5c5d90ff390de60e541ee62f8ee9aa404e --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/dlusd.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.dlusd = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.dlusd = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c0000000000000000000006fd9a167923ba194', + }, + currency: 'USD', + decimals: 6, + name: 'Deel USD', + symbol: 'DLUSD', +}); +//# sourceMappingURL=dlusd.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/dlusd.js.map b/node_modules/viem/_cjs/tokens/definitions/dlusd.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6ba1adbf6120efe4ee62e6e692809f3332d55235 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/dlusd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"dlusd.js","sourceRoot":"","sources":["../../../tokens/definitions/dlusd.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,KAAK,GAAiB,IAAA,4BAAW,EAAC;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,OAAO;CAChB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/eurau.js b/node_modules/viem/_cjs/tokens/definitions/eurau.js new file mode 100644 index 0000000000000000000000000000000000000000..6a3d62344bf4cdf8dab8a6cc72201c227cc2e52a --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/eurau.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.eurau = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.eurau = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c0000000000000000000009a4a4b17e0dc6651', + }, + currency: 'EUR', + decimals: 6, + name: 'AllUnity EUR', + symbol: 'EURAU', +}); +//# sourceMappingURL=eurau.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/eurau.js.map b/node_modules/viem/_cjs/tokens/definitions/eurau.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a91d970f03386abefdfb0b4a5cb15cbc736d0b44 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/eurau.js.map @@ -0,0 +1 @@ +{"version":3,"file":"eurau.js","sourceRoot":"","sources":["../../../tokens/definitions/eurau.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,KAAK,GAAiB,IAAA,4BAAW,EAAC;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,OAAO;CAChB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/eurc.js b/node_modules/viem/_cjs/tokens/definitions/eurc.js new file mode 100644 index 0000000000000000000000000000000000000000..dcc87b05dd58201b3baff5042209b460c92d71f2 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/eurc.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.eurc = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.eurc = (0, defineToken_js_1.defineToken)({ + addresses: { + 1: '0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c', + 25: '0xA6dE01a2d62C6B5f3525d768f34d276652C554c8', + 338: '0x31f7538adb53cF16350e6B0c89d03D91b7D12c46', + 480: '0x1C60ba0A0eD1019e8Eb035E6daF4155A5cE2380B', + 4801: '0xe479EcA5740Ac65d6E1823bea2f1C08Bc14e954F', + 8453: '0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42', + 43113: '0x5E44db7996c682E92a960b65AC713a54AD815c6B', + 43114: '0xC891EB4cbdEFf6e073e859e987815Ed1505c2ACD', + 84532: '0x808456652fdb597867f38412077A9182bf77359F', + 5042002: '0x89B50855Aa3bE2F677cD6303Cec089B5F319D72a', + 11155111: '0x08210F9170F89Ab7658F0B5E3fF39b0E03C594D4', + }, + currency: 'EUR', + decimals: 6, + name: 'EURC', + symbol: 'EURC', +}); +//# sourceMappingURL=eurc.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/eurc.js.map b/node_modules/viem/_cjs/tokens/definitions/eurc.js.map new file mode 100644 index 0000000000000000000000000000000000000000..73f8dc2a7df5ef6938750b76aff0f2026f16f0f7 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/eurc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"eurc.js","sourceRoot":"","sources":["../../../tokens/definitions/eurc.ts"],"names":[],"mappings":";;;AAAA,sDAA+C;AAUlC,QAAA,IAAI,GAAiB,IAAA,4BAAW,EAAC;IAC5C,SAAS,EAAE;QACT,CAAC,EAAE,4CAA4C;QAC/C,EAAE,EAAE,4CAA4C;QAChD,GAAG,EAAE,4CAA4C;QACjD,GAAG,EAAE,4CAA4C;QACjD,IAAI,EAAE,4CAA4C;QAClD,IAAI,EAAE,4CAA4C;QAClD,KAAK,EAAE,4CAA4C;QACnD,KAAK,EAAE,4CAA4C;QACnD,KAAK,EAAE,4CAA4C;QACnD,OAAO,EAAE,4CAA4C;QACrD,QAAQ,EAAE,4CAA4C;KACvD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/eurce.js b/node_modules/viem/_cjs/tokens/definitions/eurce.js new file mode 100644 index 0000000000000000000000000000000000000000..0c60473d853d8af93819c7bb5d4661c0244d8950 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/eurce.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.eurce = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.eurce = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c0000000000000000000001621e21f71cf12fb', + 42431: '0x20c000000000000000000000d72572838bbee59c', + }, + currency: 'EUR', + decimals: 6, + name: 'Bridged EURC (Stargate)', + symbol: 'EURC.e', +}); +//# sourceMappingURL=eurce.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/eurce.js.map b/node_modules/viem/_cjs/tokens/definitions/eurce.js.map new file mode 100644 index 0000000000000000000000000000000000000000..43512240b90ae748cdbd0cc88d3512a598b07ac8 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/eurce.js.map @@ -0,0 +1 @@ +{"version":3,"file":"eurce.js","sourceRoot":"","sources":["../../../tokens/definitions/eurce.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,KAAK,GAAiB,IAAA,4BAAW,EAAC;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;QAClD,KAAK,EAAE,4CAA4C;KACpD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,yBAAyB;IAC/B,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/frxusd.js b/node_modules/viem/_cjs/tokens/definitions/frxusd.js new file mode 100644 index 0000000000000000000000000000000000000000..2df8f20e62b598f3b135d7132455158cc9cdb25c --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/frxusd.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.frxusd = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.frxusd = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c0000000000000000000003554d28269e0f3c2', + }, + currency: 'USD', + decimals: 6, + name: 'Frax USD', + symbol: 'frxUSD', +}); +//# sourceMappingURL=frxusd.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/frxusd.js.map b/node_modules/viem/_cjs/tokens/definitions/frxusd.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c5705656514d46fe31adcfdc8ffe6d21333bbd5a --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/frxusd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"frxusd.js","sourceRoot":"","sources":["../../../tokens/definitions/frxusd.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,MAAM,GAAiB,IAAA,4BAAW,EAAC;IAC9C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/gbpa.js b/node_modules/viem/_cjs/tokens/definitions/gbpa.js new file mode 100644 index 0000000000000000000000000000000000000000..03987d1b00e50593a1853060f613787ea53a145d --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/gbpa.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.gbpa = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.gbpa = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c0000000000000000000000a6da882d075a4c3', + }, + currency: 'GBP', + decimals: 6, + name: 'Agant GBP', + symbol: 'GBPA', +}); +//# sourceMappingURL=gbpa.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/gbpa.js.map b/node_modules/viem/_cjs/tokens/definitions/gbpa.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d8687d6e3971dafb9aa821021ff6e6d9c31a8806 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/gbpa.js.map @@ -0,0 +1 @@ +{"version":3,"file":"gbpa.js","sourceRoot":"","sources":["../../../tokens/definitions/gbpa.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,IAAI,GAAiB,IAAA,4BAAW,EAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/gusd.js b/node_modules/viem/_cjs/tokens/definitions/gusd.js new file mode 100644 index 0000000000000000000000000000000000000000..de513e46496f7d551fe7424c61c6e3e120059ae1 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/gusd.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.gusd = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.gusd = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c0000000000000000000005c0bac7cef389a11', + }, + currency: 'USD', + decimals: 6, + name: 'Generic USD', + symbol: 'GUSD', +}); +//# sourceMappingURL=gusd.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/gusd.js.map b/node_modules/viem/_cjs/tokens/definitions/gusd.js.map new file mode 100644 index 0000000000000000000000000000000000000000..cc6ee7fe625084ff32395fa9a83894db53b7aca7 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/gusd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"gusd.js","sourceRoot":"","sources":["../../../tokens/definitions/gusd.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,IAAI,GAAiB,IAAA,4BAAW,EAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/iusd.js b/node_modules/viem/_cjs/tokens/definitions/iusd.js new file mode 100644 index 0000000000000000000000000000000000000000..b0f417295de34def49bf3f44b0e168aa37596832 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/iusd.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.iusd = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.iusd = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c000000000000000000000ab02d39df30bd17e', + }, + currency: 'USD', + decimals: 6, + name: 'InfiniFi USD', + symbol: 'iUSD', +}); +//# sourceMappingURL=iusd.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/iusd.js.map b/node_modules/viem/_cjs/tokens/definitions/iusd.js.map new file mode 100644 index 0000000000000000000000000000000000000000..241a19cef2913902a1e4fbe4cf72cfe3dd76eb12 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/iusd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"iusd.js","sourceRoot":"","sources":["../../../tokens/definitions/iusd.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,IAAI,GAAiB,IAAA,4BAAW,EAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/pathusd.js b/node_modules/viem/_cjs/tokens/definitions/pathusd.js new file mode 100644 index 0000000000000000000000000000000000000000..5c09a584eae18323cf9ce2697c6235076e0c5dbd --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/pathusd.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.pathusd = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.pathusd = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c0000000000000000000000000000000000000', + 42431: '0x20c0000000000000000000000000000000000000', + }, + currency: 'USD', + decimals: 6, + name: 'PathUSD', + symbol: 'pathUSD', +}); +//# sourceMappingURL=pathusd.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/pathusd.js.map b/node_modules/viem/_cjs/tokens/definitions/pathusd.js.map new file mode 100644 index 0000000000000000000000000000000000000000..1ec8479516adcc75275f03eaedecd48af1edd52b --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/pathusd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pathusd.js","sourceRoot":"","sources":["../../../tokens/definitions/pathusd.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,OAAO,GAAiB,IAAA,4BAAW,EAAC;IAC/C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;QAClD,KAAK,EAAE,4CAA4C;KACpD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;CAClB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/reusd.js b/node_modules/viem/_cjs/tokens/definitions/reusd.js new file mode 100644 index 0000000000000000000000000000000000000000..b7742e1c232ae86d3feb2f6db03304e4e69f5255 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/reusd.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.reusd = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.reusd = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c000000000000000000000383a23bacb546ab9', + }, + currency: 'USD', + decimals: 6, + name: 'Re Protocol reUSD', + symbol: 'reUSD', +}); +//# sourceMappingURL=reusd.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/reusd.js.map b/node_modules/viem/_cjs/tokens/definitions/reusd.js.map new file mode 100644 index 0000000000000000000000000000000000000000..149d9caa34cd6aba940f2b4038cc97faa9e4a7a9 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/reusd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"reusd.js","sourceRoot":"","sources":["../../../tokens/definitions/reusd.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,KAAK,GAAiB,IAAA,4BAAW,EAAC;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,OAAO;CAChB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/rusd.js b/node_modules/viem/_cjs/tokens/definitions/rusd.js new file mode 100644 index 0000000000000000000000000000000000000000..c6f476f5298cbb37193ff812645d91a516de9a81 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/rusd.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.rusd = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.rusd = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c0000000000000000000007f7ba549dd0251b9', + }, + currency: 'USD', + decimals: 6, + name: 'Reservoir Stablecoin', + symbol: 'rUSD', +}); +//# sourceMappingURL=rusd.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/rusd.js.map b/node_modules/viem/_cjs/tokens/definitions/rusd.js.map new file mode 100644 index 0000000000000000000000000000000000000000..31e9e7731d75182c1bf4309d494f9359a8de5a53 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/rusd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"rusd.js","sourceRoot":"","sources":["../../../tokens/definitions/rusd.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,IAAI,GAAiB,IAAA,4BAAW,EAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/sbc.js b/node_modules/viem/_cjs/tokens/definitions/sbc.js new file mode 100644 index 0000000000000000000000000000000000000000..dc590203a1f19e8cf1f74cba7cf40b584df77ed7 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/sbc.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.sbc = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.sbc = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c000000000000000000000ae247a1130450f09', + }, + currency: 'USD', + decimals: 6, + name: 'Stable Coin', + symbol: 'SBC', +}); +//# sourceMappingURL=sbc.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/sbc.js.map b/node_modules/viem/_cjs/tokens/definitions/sbc.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5c4831e8b429c048031a0fcc30a9a27536320782 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/sbc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sbc.js","sourceRoot":"","sources":["../../../tokens/definitions/sbc.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,GAAG,GAAiB,IAAA,4BAAW,EAAC;IAC3C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,KAAK;CACd,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/siusd.js b/node_modules/viem/_cjs/tokens/definitions/siusd.js new file mode 100644 index 0000000000000000000000000000000000000000..93f8c901eb96dd653582a12668e4510c22282f02 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/siusd.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.siusd = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.siusd = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c000000000000000000000048c8f36df1c9a4a', + }, + currency: 'siUSD', + decimals: 6, + name: 'InfiniFi Staked USD', + symbol: 'siUSD', +}); +//# sourceMappingURL=siusd.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/siusd.js.map b/node_modules/viem/_cjs/tokens/definitions/siusd.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7a78f7b73be9029a8c88adc659840b12b08d90c7 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/siusd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"siusd.js","sourceRoot":"","sources":["../../../tokens/definitions/siusd.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,KAAK,GAAiB,IAAA,4BAAW,EAAC;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,OAAO;CAChB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/stcusd.js b/node_modules/viem/_cjs/tokens/definitions/stcusd.js new file mode 100644 index 0000000000000000000000000000000000000000..89533a0fbdf91e09d1044a4a994efc7ef89cab58 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/stcusd.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.stcusd = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.stcusd = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c0000000000000000000008ee4fcff88888888', + }, + currency: 'stcUSD', + decimals: 6, + name: 'Staked Cap USD', + symbol: 'stcUSD', +}); +//# sourceMappingURL=stcusd.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/stcusd.js.map b/node_modules/viem/_cjs/tokens/definitions/stcusd.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b369742071163f385ec1acdc0fccf0b1d0cb4d03 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/stcusd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"stcusd.js","sourceRoot":"","sources":["../../../tokens/definitions/stcusd.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,MAAM,GAAiB,IAAA,4BAAW,EAAC;IAC9C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/susde.js b/node_modules/viem/_cjs/tokens/definitions/susde.js new file mode 100644 index 0000000000000000000000000000000000000000..22e8d76bdae9231f86697f4c1fec2e33992b648d --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/susde.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.susde = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.susde = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c000000000000000000000bd95bfb69fbe6ce3', + }, + currency: 'sUSDe', + decimals: 6, + name: 'Staked USDe', + symbol: 'sUSDe', +}); +//# sourceMappingURL=susde.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/susde.js.map b/node_modules/viem/_cjs/tokens/definitions/susde.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7d41df46ad8b670bedc6ee3f9127520894246030 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/susde.js.map @@ -0,0 +1 @@ +{"version":3,"file":"susde.js","sourceRoot":"","sources":["../../../tokens/definitions/susde.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,KAAK,GAAiB,IAAA,4BAAW,EAAC;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,OAAO;CAChB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/syrupusdc.js b/node_modules/viem/_cjs/tokens/definitions/syrupusdc.js new file mode 100644 index 0000000000000000000000000000000000000000..04282c597056e6803612addb9da09a64a023929c --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/syrupusdc.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.syrupusdc = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.syrupusdc = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c0000000000000000000008191667423f70e67', + }, + currency: 'syrupUSDC', + decimals: 6, + name: 'Syrup USDC', + symbol: 'syrupUSDC', +}); +//# sourceMappingURL=syrupusdc.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/syrupusdc.js.map b/node_modules/viem/_cjs/tokens/definitions/syrupusdc.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b41963e4942e9f8ebdab7de0e947931dafb42995 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/syrupusdc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"syrupusdc.js","sourceRoot":"","sources":["../../../tokens/definitions/syrupusdc.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,SAAS,GAAiB,IAAA,4BAAW,EAAC;IACjD,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,WAAW;CACpB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/thetausd.js b/node_modules/viem/_cjs/tokens/definitions/thetausd.js new file mode 100644 index 0000000000000000000000000000000000000000..0185fbe02f2809da1bd71d736f03c578cf6b6eec --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/thetausd.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.thetausd = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.thetausd = (0, defineToken_js_1.defineToken)({ + addresses: { + 42431: '0x20c0000000000000000000000000000000000003', + }, + currency: 'USD', + decimals: 6, + name: 'ThetaUSD', + symbol: 'thetaUSD', +}); +//# sourceMappingURL=thetausd.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/thetausd.js.map b/node_modules/viem/_cjs/tokens/definitions/thetausd.js.map new file mode 100644 index 0000000000000000000000000000000000000000..3c43d78fef585b0efceeb98a89e4722ef4b27d6a --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/thetausd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"thetausd.js","sourceRoot":"","sources":["../../../tokens/definitions/thetausd.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,QAAQ,GAAiB,IAAA,4BAAW,EAAC;IAChD,SAAS,EAAE;QACT,KAAK,EAAE,4CAA4C;KACpD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,UAAU;CACnB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/usd1.js b/node_modules/viem/_cjs/tokens/definitions/usd1.js new file mode 100644 index 0000000000000000000000000000000000000000..63b5be585653b2a16b0d4b851c3f9877caa4ca49 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/usd1.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.usd1 = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.usd1 = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c000000000000000000000111111111e910f0f', + }, + currency: 'USD', + decimals: 6, + name: 'USD1', + symbol: 'USD1', +}); +//# sourceMappingURL=usd1.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/usd1.js.map b/node_modules/viem/_cjs/tokens/definitions/usd1.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a4f6fc700b5f694bded526de1cab06a5bd9a9225 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/usd1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"usd1.js","sourceRoot":"","sources":["../../../tokens/definitions/usd1.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,IAAI,GAAiB,IAAA,4BAAW,EAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/usdb.js b/node_modules/viem/_cjs/tokens/definitions/usdb.js new file mode 100644 index 0000000000000000000000000000000000000000..d93dbe2353121a3d69e49248574f970e7909923d --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/usdb.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.usdb = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.usdb = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c0000000000000000000003158081efd85bfc2', + }, + currency: 'USD', + decimals: 6, + name: 'USDBridge', + symbol: 'USDB', +}); +//# sourceMappingURL=usdb.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/usdb.js.map b/node_modules/viem/_cjs/tokens/definitions/usdb.js.map new file mode 100644 index 0000000000000000000000000000000000000000..4d8a7936bed0762a67c7bbb71853c3373d795935 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/usdb.js.map @@ -0,0 +1 @@ +{"version":3,"file":"usdb.js","sourceRoot":"","sources":["../../../tokens/definitions/usdb.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,IAAI,GAAiB,IAAA,4BAAW,EAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/usdc.js b/node_modules/viem/_cjs/tokens/definitions/usdc.js new file mode 100644 index 0000000000000000000000000000000000000000..88b164ef19748dbc831234512bd785fd5abb4d96 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/usdc.js @@ -0,0 +1,66 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.usdc = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.usdc = (0, defineToken_js_1.defineToken)({ + addresses: { + 1: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', + 10: '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85', + 25: '0x3D7F2C478aAfdB65542BCB44bCeeC05849999d2D', + 50: '0xfA2958CB79b0491CC627c1557F441eF849Ca8eb1', + 51: '0xb5AB69F7bBada22B28e79C8FFAECe55eF1c771D4', + 130: '0x078D782b760474a361dDA0AF3839290b0EF57AD6', + 137: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359', + 143: '0x754704Bc059F8C67012fEd69BC8A327a5aafb603', + 146: '0x29219dd400f2Bf60E5a23d13Be72B486D4038894', + 196: '0xB6CEceAB302E2E4948951eE7843FC24E92933061', + 300: '0xAe045DE5638162fa134807Cb558E15A3F5A7F853', + 324: '0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4', + 338: '0xEb33dc5fac03833e132593659e1dE7256aB59794', + 480: '0x79A02482A880bCE3F13e09Da970dC34db4CD24d1', + 998: '0x2B3370eE501B4a559b57D449569354196457D8Ab', + 999: '0xb88339CB7199b77E23DB6E890353E22632Ba630f', + 1301: '0x31d0220469e10c4E71834a79b1f276d740d3768F', + 1328: '0x4fCF1784B31630811181f670Aea7A7bEF803eaED', + 1329: '0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392', + 1439: '0x0C382e685bbeeFE5d3d9C29e29E341fEE8E84C5d', + 1672: '0xC879C018dB60520F4355C26eD1a6D572cdAC1815', + 1776: '0xa00C59fF5a080D2b954d0c75e46E22a0c371235a', + 1952: '0xDec90b78111Ba2fc6FC6d84d8B9ec159A2d4b9B3', + 2818: '0xCfb1186F4e93D60E60a8bDd997427D1F33bc372B', + 2910: '0x7433b41C6c5e1d58D4Da99483609520255ab661B', + 3343: '0x98d2919b9A214E6Fa5384AC81E6864bA686Ad74c', + 4801: '0x66145f38cBAC35Ca6F1Dfb4914dF98F1614aeA88', + 8453: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', + 10143: '0x534b2f3A21130d7a60830c2Df862319e593943A3', + 33431: '0x2d9F7CAD728051AA35Ecdc472a14cf8cDF5CFD6B', + 42161: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831', + 42220: '0xcebA9300f2b948710d2653dD7B07f33A8B32118C', + 43113: '0x5425890298aed601595a70AB815c96711a31Bc65', + 43114: '0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E', + 57054: '0xA4879Fed32Ecbef99399e5cbC247E533421C4eC6', + 57073: '0x2D270e6886d130D724215A266106e6832161EAEd', + 59141: '0xFEce4462D57bD51A6A552365A011b95f0E16d9B7', + 59144: '0x176211869cA2b568f2A7D4EE941E073a821EE1ff', + 64165: '0x0BA304580ee7c9a980CF72e55f5Ed2E9fd30Bc51', + 80002: '0x41E94Eb019C0762f9Bfcf9Fb1E58725BfB0e7582', + 81224: '0xd996633a415985DBd7D6D12f4A4343E31f5037cf', + 84532: '0x036CbD53842c5426634e7929541eC2318f3dCF7e', + 98866: '0x222365EF19F7947e5484218551B56bb3965Aa7aF', + 98867: '0xcB5f30e335672893c7eb944B374c196392C19D18', + 421614: '0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d', + 688689: '0xcfC8330f4BCAB529c625D12781b1C19466A9Fc8B', + 763373: '0xFabab97dCE620294D2B0b0e46C68964e326300Ac', + 812242: '0x6d7f141b6819C2c9CC2f818e6ad549E7Ca090F8f', + 5042002: '0x3600000000000000000000000000000000000000', + 11142220: '0x01C5C0122039549AD1493B8220cABEdD739BC44E', + 11155111: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238', + 11155420: '0x5fd84259d66Cd46123540766Be93DFE6D43130D7', + }, + currency: 'USD', + decimals: 6, + name: 'USD Coin', + popular: true, + symbol: 'USDC', +}); +//# sourceMappingURL=usdc.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/usdc.js.map b/node_modules/viem/_cjs/tokens/definitions/usdc.js.map new file mode 100644 index 0000000000000000000000000000000000000000..4d15fb334ec478b5dc23be19b5cdd66e4b9bb246 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/usdc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"usdc.js","sourceRoot":"","sources":["../../../tokens/definitions/usdc.ts"],"names":[],"mappings":";;;AAAA,sDAA+C;AA+BlC,QAAA,IAAI,GAAiB,IAAA,4BAAW,EAAC;IAC5C,SAAS,EAAE;QACT,CAAC,EAAE,4CAA4C;QAC/C,EAAE,EAAE,4CAA4C;QAChD,EAAE,EAAE,4CAA4C;QAChD,EAAE,EAAE,4CAA4C;QAChD,EAAE,EAAE,4CAA4C;QAChD,GAAG,EAAE,4CAA4C;QACjD,GAAG,EAAE,4CAA4C;QACjD,GAAG,EAAE,4CAA4C;QACjD,GAAG,EAAE,4CAA4C;QACjD,GAAG,EAAE,4CAA4C;QACjD,GAAG,EAAE,4CAA4C;QACjD,GAAG,EAAE,4CAA4C;QACjD,GAAG,EAAE,4CAA4C;QACjD,GAAG,EAAE,4CAA4C;QACjD,GAAG,EAAE,4CAA4C;QACjD,GAAG,EAAE,4CAA4C;QACjD,IAAI,EAAE,4CAA4C;QAClD,IAAI,EAAE,4CAA4C;QAClD,IAAI,EAAE,4CAA4C;QAClD,IAAI,EAAE,4CAA4C;QAClD,IAAI,EAAE,4CAA4C;QAClD,IAAI,EAAE,4CAA4C;QAClD,IAAI,EAAE,4CAA4C;QAClD,IAAI,EAAE,4CAA4C;QAClD,IAAI,EAAE,4CAA4C;QAClD,IAAI,EAAE,4CAA4C;QAClD,IAAI,EAAE,4CAA4C;QAClD,IAAI,EAAE,4CAA4C;QAClD,KAAK,EAAE,4CAA4C;QACnD,KAAK,EAAE,4CAA4C;QACnD,KAAK,EAAE,4CAA4C;QACnD,KAAK,EAAE,4CAA4C;QACnD,KAAK,EAAE,4CAA4C;QACnD,KAAK,EAAE,4CAA4C;QACnD,KAAK,EAAE,4CAA4C;QACnD,KAAK,EAAE,4CAA4C;QACnD,KAAK,EAAE,4CAA4C;QACnD,KAAK,EAAE,4CAA4C;QACnD,KAAK,EAAE,4CAA4C;QACnD,KAAK,EAAE,4CAA4C;QACnD,KAAK,EAAE,4CAA4C;QACnD,KAAK,EAAE,4CAA4C;QACnD,KAAK,EAAE,4CAA4C;QACnD,KAAK,EAAE,4CAA4C;QACnD,MAAM,EAAE,4CAA4C;QACpD,MAAM,EAAE,4CAA4C;QACpD,MAAM,EAAE,4CAA4C;QACpD,MAAM,EAAE,4CAA4C;QACpD,OAAO,EAAE,4CAA4C;QACrD,QAAQ,EAAE,4CAA4C;QACtD,QAAQ,EAAE,4CAA4C;QACtD,QAAQ,EAAE,4CAA4C;KACvD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/usdce.js b/node_modules/viem/_cjs/tokens/definitions/usdce.js new file mode 100644 index 0000000000000000000000000000000000000000..d121a81997275406ea52c71a46198d3d14b1cede --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/usdce.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.usdce = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.usdce = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c000000000000000000000b9537d11c60e8b50', + 42431: '0x20c0000000000000000000009e8d7eb59b783726', + }, + currency: 'USD', + decimals: 6, + name: 'Bridged USDC (Stargate)', + symbol: 'USDC.e', +}); +//# sourceMappingURL=usdce.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/usdce.js.map b/node_modules/viem/_cjs/tokens/definitions/usdce.js.map new file mode 100644 index 0000000000000000000000000000000000000000..244f9f6b37bc42be544053673a25603f61bbbd06 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/usdce.js.map @@ -0,0 +1 @@ +{"version":3,"file":"usdce.js","sourceRoot":"","sources":["../../../tokens/definitions/usdce.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,KAAK,GAAiB,IAAA,4BAAW,EAAC;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;QAClD,KAAK,EAAE,4CAA4C;KACpD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,yBAAyB;IAC/B,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/usde.js b/node_modules/viem/_cjs/tokens/definitions/usde.js new file mode 100644 index 0000000000000000000000000000000000000000..64434c132cbb67896d17c6fbef0fe7089c59d1f7 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/usde.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.usde = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.usde = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c0000000000000000000002f52d5cc21a3207b', + }, + currency: 'USD', + decimals: 6, + name: 'USDe', + symbol: 'USDe', +}); +//# sourceMappingURL=usde.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/usde.js.map b/node_modules/viem/_cjs/tokens/definitions/usde.js.map new file mode 100644 index 0000000000000000000000000000000000000000..0e8ebf53b1acb4be3b56d6d0b46d6b15676c08c2 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/usde.js.map @@ -0,0 +1 @@ +{"version":3,"file":"usde.js","sourceRoot":"","sources":["../../../tokens/definitions/usde.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,IAAI,GAAiB,IAAA,4BAAW,EAAC;IAC5C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/usdt0.js b/node_modules/viem/_cjs/tokens/definitions/usdt0.js new file mode 100644 index 0000000000000000000000000000000000000000..ed4473dfc1cf27c504f650938eda0696f34c4a14 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/usdt0.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.usdt0 = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.usdt0 = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c00000000000000000000014f22ca97301eb73', + }, + currency: 'USD', + decimals: 6, + name: 'USDT0', + symbol: 'USDT0', +}); +//# sourceMappingURL=usdt0.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/usdt0.js.map b/node_modules/viem/_cjs/tokens/definitions/usdt0.js.map new file mode 100644 index 0000000000000000000000000000000000000000..3fc4c61ebdf4f5a2b326d26e0149a515473434d9 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/usdt0.js.map @@ -0,0 +1 @@ +{"version":3,"file":"usdt0.js","sourceRoot":"","sources":["../../../tokens/definitions/usdt0.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,KAAK,GAAiB,IAAA,4BAAW,EAAC;IAC7C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,OAAO;CAChB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/usyc.js b/node_modules/viem/_cjs/tokens/definitions/usyc.js new file mode 100644 index 0000000000000000000000000000000000000000..71e2f7bdc2eea53ff0d5ed8cca4df4c8dc68d533 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/usyc.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.usyc = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.usyc = (0, defineToken_js_1.defineToken)({ + addresses: { + 1: '0x136471a34f6ef19fE571EFFC1CA711fdb8E49f2b', + 56: '0x8D0fA28f221eB5735BC71d3a0Da67EE5bC821311', + 97: '0x109656Aba6F175c634c63C9874f29CeAAAB8E606', + 5042002: '0xe9185F0c5F296Ed1797AaE4238D26CCaBEadb86C', + 11155111: '0x38D3A3f8717F4DB1CcB4Ad7D8C755919440848A3', + }, + currency: 'USD', + decimals: 6, + name: 'US Yield Coin', + symbol: 'USYC', +}); +//# sourceMappingURL=usyc.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/usyc.js.map b/node_modules/viem/_cjs/tokens/definitions/usyc.js.map new file mode 100644 index 0000000000000000000000000000000000000000..2a553a70949fa10eccec5b207e51cf93c5f1084d --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/usyc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"usyc.js","sourceRoot":"","sources":["../../../tokens/definitions/usyc.ts"],"names":[],"mappings":";;;AAAA,sDAA+C;AAUlC,QAAA,IAAI,GAAiB,IAAA,4BAAW,EAAC;IAC5C,SAAS,EAAE;QACT,CAAC,EAAE,4CAA4C;QAC/C,EAAE,EAAE,4CAA4C;QAChD,EAAE,EAAE,4CAA4C;QAChD,OAAO,EAAE,4CAA4C;QACrD,QAAQ,EAAE,4CAA4C;KACvD;IACD,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,MAAM;CACf,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/wsrusd.js b/node_modules/viem/_cjs/tokens/definitions/wsrusd.js new file mode 100644 index 0000000000000000000000000000000000000000..40c568f3e69a0b53db6796728d1e084138914893 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/wsrusd.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.wsrusd = void 0; +const defineToken_js_1 = require("../defineToken.js"); +exports.wsrusd = (0, defineToken_js_1.defineToken)({ + addresses: { + 4217: '0x20c000000000000000000000aeed2ec36a54d0e5', + }, + currency: 'wsrUSD', + decimals: 6, + name: 'Wrapped Savings rUSD', + symbol: 'wsrUSD', +}); +//# sourceMappingURL=wsrusd.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/definitions/wsrusd.js.map b/node_modules/viem/_cjs/tokens/definitions/wsrusd.js.map new file mode 100644 index 0000000000000000000000000000000000000000..cc23b6f5c8ee3adb9364c830e8a9bdc4e553fdd2 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/definitions/wsrusd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"wsrusd.js","sourceRoot":"","sources":["../../../tokens/definitions/wsrusd.ts"],"names":[],"mappings":";;;AAEA,sDAA+C;AAElC,QAAA,MAAM,GAAiB,IAAA,4BAAW,EAAC;IAC9C,SAAS,EAAE;QACT,IAAI,EAAE,4CAA4C;KACnD;IACD,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,sBAAsB;IAC5B,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/index.js b/node_modules/viem/_cjs/tokens/index.js new file mode 100644 index 0000000000000000000000000000000000000000..d3bff82f31b26e0355f51cd1a838886f4bc5ba59 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/index.js @@ -0,0 +1,72 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.tokens = exports.wsrusd = exports.usyc = exports.usdt0 = exports.usde = exports.usdce = exports.usdc = exports.usdb = exports.usd1 = exports.thetausd = exports.syrupusdc = exports.susde = exports.stcusd = exports.siusd = exports.sbc = exports.rusd = exports.reusd = exports.pathusd = exports.iusd = exports.gusd = exports.gbpa = exports.frxusd = exports.eurce = exports.eurc = exports.eurau = exports.dlusd = exports.cusd = exports.cirbtc = exports.chfau = exports.cbbtc = exports.brla = exports.betausd = exports.alphausd = exports.defineToken = void 0; +var defineToken_js_1 = require("./defineToken.js"); +Object.defineProperty(exports, "defineToken", { enumerable: true, get: function () { return defineToken_js_1.defineToken; } }); +var alphausd_js_1 = require("./definitions/alphausd.js"); +Object.defineProperty(exports, "alphausd", { enumerable: true, get: function () { return alphausd_js_1.alphausd; } }); +var betausd_js_1 = require("./definitions/betausd.js"); +Object.defineProperty(exports, "betausd", { enumerable: true, get: function () { return betausd_js_1.betausd; } }); +var brla_js_1 = require("./definitions/brla.js"); +Object.defineProperty(exports, "brla", { enumerable: true, get: function () { return brla_js_1.brla; } }); +var cbbtc_js_1 = require("./definitions/cbbtc.js"); +Object.defineProperty(exports, "cbbtc", { enumerable: true, get: function () { return cbbtc_js_1.cbbtc; } }); +var chfau_js_1 = require("./definitions/chfau.js"); +Object.defineProperty(exports, "chfau", { enumerable: true, get: function () { return chfau_js_1.chfau; } }); +var cirbtc_js_1 = require("./definitions/cirbtc.js"); +Object.defineProperty(exports, "cirbtc", { enumerable: true, get: function () { return cirbtc_js_1.cirbtc; } }); +var cusd_js_1 = require("./definitions/cusd.js"); +Object.defineProperty(exports, "cusd", { enumerable: true, get: function () { return cusd_js_1.cusd; } }); +var dlusd_js_1 = require("./definitions/dlusd.js"); +Object.defineProperty(exports, "dlusd", { enumerable: true, get: function () { return dlusd_js_1.dlusd; } }); +var eurau_js_1 = require("./definitions/eurau.js"); +Object.defineProperty(exports, "eurau", { enumerable: true, get: function () { return eurau_js_1.eurau; } }); +var eurc_js_1 = require("./definitions/eurc.js"); +Object.defineProperty(exports, "eurc", { enumerable: true, get: function () { return eurc_js_1.eurc; } }); +var eurce_js_1 = require("./definitions/eurce.js"); +Object.defineProperty(exports, "eurce", { enumerable: true, get: function () { return eurce_js_1.eurce; } }); +var frxusd_js_1 = require("./definitions/frxusd.js"); +Object.defineProperty(exports, "frxusd", { enumerable: true, get: function () { return frxusd_js_1.frxusd; } }); +var gbpa_js_1 = require("./definitions/gbpa.js"); +Object.defineProperty(exports, "gbpa", { enumerable: true, get: function () { return gbpa_js_1.gbpa; } }); +var gusd_js_1 = require("./definitions/gusd.js"); +Object.defineProperty(exports, "gusd", { enumerable: true, get: function () { return gusd_js_1.gusd; } }); +var iusd_js_1 = require("./definitions/iusd.js"); +Object.defineProperty(exports, "iusd", { enumerable: true, get: function () { return iusd_js_1.iusd; } }); +var pathusd_js_1 = require("./definitions/pathusd.js"); +Object.defineProperty(exports, "pathusd", { enumerable: true, get: function () { return pathusd_js_1.pathusd; } }); +var reusd_js_1 = require("./definitions/reusd.js"); +Object.defineProperty(exports, "reusd", { enumerable: true, get: function () { return reusd_js_1.reusd; } }); +var rusd_js_1 = require("./definitions/rusd.js"); +Object.defineProperty(exports, "rusd", { enumerable: true, get: function () { return rusd_js_1.rusd; } }); +var sbc_js_1 = require("./definitions/sbc.js"); +Object.defineProperty(exports, "sbc", { enumerable: true, get: function () { return sbc_js_1.sbc; } }); +var siusd_js_1 = require("./definitions/siusd.js"); +Object.defineProperty(exports, "siusd", { enumerable: true, get: function () { return siusd_js_1.siusd; } }); +var stcusd_js_1 = require("./definitions/stcusd.js"); +Object.defineProperty(exports, "stcusd", { enumerable: true, get: function () { return stcusd_js_1.stcusd; } }); +var susde_js_1 = require("./definitions/susde.js"); +Object.defineProperty(exports, "susde", { enumerable: true, get: function () { return susde_js_1.susde; } }); +var syrupusdc_js_1 = require("./definitions/syrupusdc.js"); +Object.defineProperty(exports, "syrupusdc", { enumerable: true, get: function () { return syrupusdc_js_1.syrupusdc; } }); +var thetausd_js_1 = require("./definitions/thetausd.js"); +Object.defineProperty(exports, "thetausd", { enumerable: true, get: function () { return thetausd_js_1.thetausd; } }); +var usd1_js_1 = require("./definitions/usd1.js"); +Object.defineProperty(exports, "usd1", { enumerable: true, get: function () { return usd1_js_1.usd1; } }); +var usdb_js_1 = require("./definitions/usdb.js"); +Object.defineProperty(exports, "usdb", { enumerable: true, get: function () { return usdb_js_1.usdb; } }); +var usdc_js_1 = require("./definitions/usdc.js"); +Object.defineProperty(exports, "usdc", { enumerable: true, get: function () { return usdc_js_1.usdc; } }); +var usdce_js_1 = require("./definitions/usdce.js"); +Object.defineProperty(exports, "usdce", { enumerable: true, get: function () { return usdce_js_1.usdce; } }); +var usde_js_1 = require("./definitions/usde.js"); +Object.defineProperty(exports, "usde", { enumerable: true, get: function () { return usde_js_1.usde; } }); +var usdt0_js_1 = require("./definitions/usdt0.js"); +Object.defineProperty(exports, "usdt0", { enumerable: true, get: function () { return usdt0_js_1.usdt0; } }); +var usyc_js_1 = require("./definitions/usyc.js"); +Object.defineProperty(exports, "usyc", { enumerable: true, get: function () { return usyc_js_1.usyc; } }); +var wsrusd_js_1 = require("./definitions/wsrusd.js"); +Object.defineProperty(exports, "wsrusd", { enumerable: true, get: function () { return wsrusd_js_1.wsrusd; } }); +var sets_js_1 = require("./sets.js"); +Object.defineProperty(exports, "tokens", { enumerable: true, get: function () { return sets_js_1.tokens; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/index.js.map b/node_modules/viem/_cjs/tokens/index.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d1176c42bbcfb71080c11317e054d7d599f6a52e --- /dev/null +++ b/node_modules/viem/_cjs/tokens/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../tokens/index.ts"],"names":[],"mappings":";;;AACA,mDAAuE;AAA9D,6GAAA,WAAW,OAAA;AACpB,yDAAoD;AAA3C,uGAAA,QAAQ,OAAA;AACjB,uDAAkD;AAAzC,qGAAA,OAAO,OAAA;AAChB,iDAA4C;AAAnC,+FAAA,IAAI,OAAA;AACb,mDAA8C;AAArC,iGAAA,KAAK,OAAA;AACd,mDAA8C;AAArC,iGAAA,KAAK,OAAA;AACd,qDAAgD;AAAvC,mGAAA,MAAM,OAAA;AACf,iDAA4C;AAAnC,+FAAA,IAAI,OAAA;AACb,mDAA8C;AAArC,iGAAA,KAAK,OAAA;AACd,mDAA8C;AAArC,iGAAA,KAAK,OAAA;AACd,iDAA4C;AAAnC,+FAAA,IAAI,OAAA;AACb,mDAA8C;AAArC,iGAAA,KAAK,OAAA;AACd,qDAAgD;AAAvC,mGAAA,MAAM,OAAA;AACf,iDAA4C;AAAnC,+FAAA,IAAI,OAAA;AACb,iDAA4C;AAAnC,+FAAA,IAAI,OAAA;AACb,iDAA4C;AAAnC,+FAAA,IAAI,OAAA;AACb,uDAAkD;AAAzC,qGAAA,OAAO,OAAA;AAChB,mDAA8C;AAArC,iGAAA,KAAK,OAAA;AACd,iDAA4C;AAAnC,+FAAA,IAAI,OAAA;AACb,+CAA0C;AAAjC,6FAAA,GAAG,OAAA;AACZ,mDAA8C;AAArC,iGAAA,KAAK,OAAA;AACd,qDAAgD;AAAvC,mGAAA,MAAM,OAAA;AACf,mDAA8C;AAArC,iGAAA,KAAK,OAAA;AACd,2DAAsD;AAA7C,yGAAA,SAAS,OAAA;AAClB,yDAAoD;AAA3C,uGAAA,QAAQ,OAAA;AACjB,iDAA4C;AAAnC,+FAAA,IAAI,OAAA;AACb,iDAA4C;AAAnC,+FAAA,IAAI,OAAA;AACb,iDAA4C;AAAnC,+FAAA,IAAI,OAAA;AACb,mDAA8C;AAArC,iGAAA,KAAK,OAAA;AACd,iDAA4C;AAAnC,+FAAA,IAAI,OAAA;AACb,mDAA8C;AAArC,iGAAA,KAAK,OAAA;AACd,iDAA4C;AAAnC,+FAAA,IAAI,OAAA;AACb,qDAAgD;AAAvC,mGAAA,MAAM,OAAA;AACf,qCAAkC;AAAzB,iGAAA,MAAM,OAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/sets.js b/node_modules/viem/_cjs/tokens/sets.js new file mode 100644 index 0000000000000000000000000000000000000000..4be042a7002c5d1c6c1aec707e7c2dda0eabe3d9 --- /dev/null +++ b/node_modules/viem/_cjs/tokens/sets.js @@ -0,0 +1,102 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.tokens = void 0; +const alphausd_js_1 = require("./definitions/alphausd.js"); +const betausd_js_1 = require("./definitions/betausd.js"); +const brla_js_1 = require("./definitions/brla.js"); +const cbbtc_js_1 = require("./definitions/cbbtc.js"); +const chfau_js_1 = require("./definitions/chfau.js"); +const cirbtc_js_1 = require("./definitions/cirbtc.js"); +const cusd_js_1 = require("./definitions/cusd.js"); +const dlusd_js_1 = require("./definitions/dlusd.js"); +const eurau_js_1 = require("./definitions/eurau.js"); +const eurc_js_1 = require("./definitions/eurc.js"); +const eurce_js_1 = require("./definitions/eurce.js"); +const frxusd_js_1 = require("./definitions/frxusd.js"); +const gbpa_js_1 = require("./definitions/gbpa.js"); +const gusd_js_1 = require("./definitions/gusd.js"); +const iusd_js_1 = require("./definitions/iusd.js"); +const pathusd_js_1 = require("./definitions/pathusd.js"); +const reusd_js_1 = require("./definitions/reusd.js"); +const rusd_js_1 = require("./definitions/rusd.js"); +const sbc_js_1 = require("./definitions/sbc.js"); +const siusd_js_1 = require("./definitions/siusd.js"); +const stcusd_js_1 = require("./definitions/stcusd.js"); +const susde_js_1 = require("./definitions/susde.js"); +const syrupusdc_js_1 = require("./definitions/syrupusdc.js"); +const thetausd_js_1 = require("./definitions/thetausd.js"); +const usd1_js_1 = require("./definitions/usd1.js"); +const usdb_js_1 = require("./definitions/usdb.js"); +const usdc_js_1 = require("./definitions/usdc.js"); +const usdce_js_1 = require("./definitions/usdce.js"); +const usde_js_1 = require("./definitions/usde.js"); +const usdt0_js_1 = require("./definitions/usdt0.js"); +const usyc_js_1 = require("./definitions/usyc.js"); +const wsrusd_js_1 = require("./definitions/wsrusd.js"); +const all = [ + alphausd_js_1.alphausd, + betausd_js_1.betausd, + brla_js_1.brla, + cbbtc_js_1.cbbtc, + chfau_js_1.chfau, + cirbtc_js_1.cirbtc, + cusd_js_1.cusd, + dlusd_js_1.dlusd, + eurau_js_1.eurau, + eurc_js_1.eurc, + eurce_js_1.eurce, + frxusd_js_1.frxusd, + gbpa_js_1.gbpa, + gusd_js_1.gusd, + iusd_js_1.iusd, + pathusd_js_1.pathusd, + reusd_js_1.reusd, + rusd_js_1.rusd, + sbc_js_1.sbc, + siusd_js_1.siusd, + stcusd_js_1.stcusd, + susde_js_1.susde, + syrupusdc_js_1.syrupusdc, + thetausd_js_1.thetausd, + usd1_js_1.usd1, + usdb_js_1.usdb, + usdc_js_1.usdc, + usdce_js_1.usdce, + usde_js_1.usde, + usdt0_js_1.usdt0, + usyc_js_1.usyc, + wsrusd_js_1.wsrusd, +]; +const popular = [usdc_js_1.usdc]; +const tempo = [ + alphausd_js_1.alphausd, + betausd_js_1.betausd, + brla_js_1.brla, + cbbtc_js_1.cbbtc, + chfau_js_1.chfau, + cusd_js_1.cusd, + dlusd_js_1.dlusd, + eurau_js_1.eurau, + eurce_js_1.eurce, + frxusd_js_1.frxusd, + gbpa_js_1.gbpa, + gusd_js_1.gusd, + iusd_js_1.iusd, + pathusd_js_1.pathusd, + reusd_js_1.reusd, + rusd_js_1.rusd, + sbc_js_1.sbc, + siusd_js_1.siusd, + stcusd_js_1.stcusd, + susde_js_1.susde, + syrupusdc_js_1.syrupusdc, + thetausd_js_1.thetausd, + usd1_js_1.usd1, + usdb_js_1.usdb, + usdce_js_1.usdce, + usde_js_1.usde, + usdt0_js_1.usdt0, + wsrusd_js_1.wsrusd, +]; +exports.tokens = { all, popular, tempo }; +//# sourceMappingURL=sets.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/tokens/sets.js.map b/node_modules/viem/_cjs/tokens/sets.js.map new file mode 100644 index 0000000000000000000000000000000000000000..3df7f6330256e9ffb235d1997c45c6a4afa4c7bd --- /dev/null +++ b/node_modules/viem/_cjs/tokens/sets.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sets.js","sourceRoot":"","sources":["../../tokens/sets.ts"],"names":[],"mappings":";;;AAGA,2DAAoD;AACpD,yDAAkD;AAClD,mDAA4C;AAC5C,qDAA8C;AAC9C,qDAA8C;AAC9C,uDAAgD;AAChD,mDAA4C;AAC5C,qDAA8C;AAC9C,qDAA8C;AAC9C,mDAA4C;AAC5C,qDAA8C;AAC9C,uDAAgD;AAChD,mDAA4C;AAC5C,mDAA4C;AAC5C,mDAA4C;AAC5C,yDAAkD;AAClD,qDAA8C;AAC9C,mDAA4C;AAC5C,iDAA0C;AAC1C,qDAA8C;AAC9C,uDAAgD;AAChD,qDAA8C;AAC9C,6DAAsD;AACtD,2DAAoD;AACpD,mDAA4C;AAC5C,mDAA4C;AAC5C,mDAA4C;AAC5C,qDAA8C;AAC9C,mDAA4C;AAC5C,qDAA8C;AAC9C,mDAA4C;AAC5C,uDAAgD;AAGhD,MAAM,GAAG,GAAG;IACV,sBAAQ;IACR,oBAAO;IACP,cAAI;IACJ,gBAAK;IACL,gBAAK;IACL,kBAAM;IACN,cAAI;IACJ,gBAAK;IACL,gBAAK;IACL,cAAI;IACJ,gBAAK;IACL,kBAAM;IACN,cAAI;IACJ,cAAI;IACJ,cAAI;IACJ,oBAAO;IACP,gBAAK;IACL,cAAI;IACJ,YAAG;IACH,gBAAK;IACL,kBAAM;IACN,gBAAK;IACL,wBAAS;IACT,sBAAQ;IACR,cAAI;IACJ,cAAI;IACJ,cAAI;IACJ,gBAAK;IACL,cAAI;IACJ,gBAAK;IACL,cAAI;IACJ,kBAAM;CACmB,CAAA;AAG3B,MAAM,OAAO,GAAG,CAAC,cAAI,CAA2B,CAAA;AAGhD,MAAM,KAAK,GAAG;IACZ,sBAAQ;IACR,oBAAO;IACP,cAAI;IACJ,gBAAK;IACL,gBAAK;IACL,cAAI;IACJ,gBAAK;IACL,gBAAK;IACL,gBAAK;IACL,kBAAM;IACN,cAAI;IACJ,cAAI;IACJ,cAAI;IACJ,oBAAO;IACP,gBAAK;IACL,cAAI;IACJ,YAAG;IACH,gBAAK;IACL,kBAAM;IACN,gBAAK;IACL,wBAAS;IACT,sBAAQ;IACR,cAAI;IACJ,cAAI;IACJ,gBAAK;IACL,cAAI;IACJ,gBAAK;IACL,kBAAM;CACmB,CAAA;AAGd,QAAA,MAAM,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/account.js b/node_modules/viem/_cjs/types/account.js new file mode 100644 index 0000000000000000000000000000000000000000..86ffbb26f7b3df6cbb6603d1577451987ceb744a --- /dev/null +++ b/node_modules/viem/_cjs/types/account.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=account.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/account.js.map b/node_modules/viem/_cjs/types/account.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b4f7acd9859fdcaf4c36bf343728181b387563a2 --- /dev/null +++ b/node_modules/viem/_cjs/types/account.js.map @@ -0,0 +1 @@ +{"version":3,"file":"account.js","sourceRoot":"","sources":["../../types/account.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/authorization.js b/node_modules/viem/_cjs/types/authorization.js new file mode 100644 index 0000000000000000000000000000000000000000..871114897a06534528c267337750b3a8f584c942 --- /dev/null +++ b/node_modules/viem/_cjs/types/authorization.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=authorization.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/authorization.js.map b/node_modules/viem/_cjs/types/authorization.js.map new file mode 100644 index 0000000000000000000000000000000000000000..28557934d5f466d1c18ad82716909c3e844a0534 --- /dev/null +++ b/node_modules/viem/_cjs/types/authorization.js.map @@ -0,0 +1 @@ +{"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../types/authorization.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/block.js b/node_modules/viem/_cjs/types/block.js new file mode 100644 index 0000000000000000000000000000000000000000..e50e90b18a71a08b6c9e31cc41fe8fb6a7260666 --- /dev/null +++ b/node_modules/viem/_cjs/types/block.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=block.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/block.js.map b/node_modules/viem/_cjs/types/block.js.map new file mode 100644 index 0000000000000000000000000000000000000000..cb51de5ecb39c883e7401c8a7037299ed41f0643 --- /dev/null +++ b/node_modules/viem/_cjs/types/block.js.map @@ -0,0 +1 @@ +{"version":3,"file":"block.js","sourceRoot":"","sources":["../../types/block.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/calls.js b/node_modules/viem/_cjs/types/calls.js new file mode 100644 index 0000000000000000000000000000000000000000..11314370a2167e1e6eaf0ec1e0cb1d59f21a1a2e --- /dev/null +++ b/node_modules/viem/_cjs/types/calls.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=calls.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/calls.js.map b/node_modules/viem/_cjs/types/calls.js.map new file mode 100644 index 0000000000000000000000000000000000000000..926bc90049eedca2759babbece50f3e81390d507 --- /dev/null +++ b/node_modules/viem/_cjs/types/calls.js.map @@ -0,0 +1 @@ +{"version":3,"file":"calls.js","sourceRoot":"","sources":["../../types/calls.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/capabilities.js b/node_modules/viem/_cjs/types/capabilities.js new file mode 100644 index 0000000000000000000000000000000000000000..fd4521dfac815010680cdd4753590b64e30fc635 --- /dev/null +++ b/node_modules/viem/_cjs/types/capabilities.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=capabilities.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/capabilities.js.map b/node_modules/viem/_cjs/types/capabilities.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c89c31dbc6f6721b2c3e02a30b8406699cf4e8e8 --- /dev/null +++ b/node_modules/viem/_cjs/types/capabilities.js.map @@ -0,0 +1 @@ +{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../types/capabilities.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/chain.js b/node_modules/viem/_cjs/types/chain.js new file mode 100644 index 0000000000000000000000000000000000000000..87269576c1d94d0f96eb2c56bb953bb75f12aadf --- /dev/null +++ b/node_modules/viem/_cjs/types/chain.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=chain.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/chain.js.map b/node_modules/viem/_cjs/types/chain.js.map new file mode 100644 index 0000000000000000000000000000000000000000..04cacc93ae8dfd6ed6e891c8d9d53bd01cafbe4c --- /dev/null +++ b/node_modules/viem/_cjs/types/chain.js.map @@ -0,0 +1 @@ +{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../types/chain.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/contract.js b/node_modules/viem/_cjs/types/contract.js new file mode 100644 index 0000000000000000000000000000000000000000..b47942b128834276404d00755c404e5821d35fa4 --- /dev/null +++ b/node_modules/viem/_cjs/types/contract.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=contract.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/contract.js.map b/node_modules/viem/_cjs/types/contract.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f96e45d356652c1344eb8b065d873b7aec012b69 --- /dev/null +++ b/node_modules/viem/_cjs/types/contract.js.map @@ -0,0 +1 @@ +{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../types/contract.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/dataSuffix.js b/node_modules/viem/_cjs/types/dataSuffix.js new file mode 100644 index 0000000000000000000000000000000000000000..5653efd2ca6dba76bb2a5edcda73b66a98c2ec9a --- /dev/null +++ b/node_modules/viem/_cjs/types/dataSuffix.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=dataSuffix.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/dataSuffix.js.map b/node_modules/viem/_cjs/types/dataSuffix.js.map new file mode 100644 index 0000000000000000000000000000000000000000..19c8d651b6d530abfebe1bf2d0a32a1f6f3204e0 --- /dev/null +++ b/node_modules/viem/_cjs/types/dataSuffix.js.map @@ -0,0 +1 @@ +{"version":3,"file":"dataSuffix.js","sourceRoot":"","sources":["../../types/dataSuffix.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/eip1193.js b/node_modules/viem/_cjs/types/eip1193.js new file mode 100644 index 0000000000000000000000000000000000000000..24eb20a1ec7922d11466fe0ec5270b2b6b41995a --- /dev/null +++ b/node_modules/viem/_cjs/types/eip1193.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ProviderRpcError = void 0; +class ProviderRpcError extends Error { + constructor(code, message) { + super(message); + Object.defineProperty(this, "code", { + enumerable: true, + configurable: true, + writable: true, + value: void 0 + }); + Object.defineProperty(this, "details", { + enumerable: true, + configurable: true, + writable: true, + value: void 0 + }); + this.code = code; + this.details = message; + } +} +exports.ProviderRpcError = ProviderRpcError; +//# sourceMappingURL=eip1193.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/eip1193.js.map b/node_modules/viem/_cjs/types/eip1193.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8879d6adbf6e4763d4e8ede941de32a49d14ecdb --- /dev/null +++ b/node_modules/viem/_cjs/types/eip1193.js.map @@ -0,0 +1 @@ +{"version":3,"file":"eip1193.js","sourceRoot":"","sources":["../../types/eip1193.ts"],"names":[],"mappings":";;;AAoDA,MAAa,gBAAiB,SAAQ,KAAK;IAIzC,YAAY,IAAY,EAAE,OAAe;QACvC,KAAK,CAAC,OAAO,CAAC,CAAA;QAJhB;;;;;WAAY;QACZ;;;;;WAAe;QAIb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;CACF;AATD,4CASC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/eip4844.js b/node_modules/viem/_cjs/types/eip4844.js new file mode 100644 index 0000000000000000000000000000000000000000..f587d00d005e862c858cbe8a7d13e7a4ea77184a --- /dev/null +++ b/node_modules/viem/_cjs/types/eip4844.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=eip4844.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/eip4844.js.map b/node_modules/viem/_cjs/types/eip4844.js.map new file mode 100644 index 0000000000000000000000000000000000000000..eb81f6f9ef39512bf70e51c54187d2bf6de1948c --- /dev/null +++ b/node_modules/viem/_cjs/types/eip4844.js.map @@ -0,0 +1 @@ +{"version":3,"file":"eip4844.js","sourceRoot":"","sources":["../../types/eip4844.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/ens.js b/node_modules/viem/_cjs/types/ens.js new file mode 100644 index 0000000000000000000000000000000000000000..dadceedba68b2c29f60b56b952210765971e83f7 --- /dev/null +++ b/node_modules/viem/_cjs/types/ens.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=ens.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/ens.js.map b/node_modules/viem/_cjs/types/ens.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c205c62b50c50a6953df32c6a61a74c500e4977d --- /dev/null +++ b/node_modules/viem/_cjs/types/ens.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ens.js","sourceRoot":"","sources":["../../types/ens.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/fee.js b/node_modules/viem/_cjs/types/fee.js new file mode 100644 index 0000000000000000000000000000000000000000..609b30f5ed1c54d31decff4980dd34694a94a2cb --- /dev/null +++ b/node_modules/viem/_cjs/types/fee.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=fee.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/fee.js.map b/node_modules/viem/_cjs/types/fee.js.map new file mode 100644 index 0000000000000000000000000000000000000000..cff5f7c9a3296064df578c09773ccd711a36ddbe --- /dev/null +++ b/node_modules/viem/_cjs/types/fee.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fee.js","sourceRoot":"","sources":["../../types/fee.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/filter.js b/node_modules/viem/_cjs/types/filter.js new file mode 100644 index 0000000000000000000000000000000000000000..ec6b82687d741e6a80ec7e15c522b76297427476 --- /dev/null +++ b/node_modules/viem/_cjs/types/filter.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=filter.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/filter.js.map b/node_modules/viem/_cjs/types/filter.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f28e9faa196fe8220d138cfd29d309332dd3a6a7 --- /dev/null +++ b/node_modules/viem/_cjs/types/filter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../types/filter.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/kzg.js b/node_modules/viem/_cjs/types/kzg.js new file mode 100644 index 0000000000000000000000000000000000000000..08bb110f50bc74b90a23f2083039f643b8bce714 --- /dev/null +++ b/node_modules/viem/_cjs/types/kzg.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=kzg.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/kzg.js.map b/node_modules/viem/_cjs/types/kzg.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5416a9349c7f12d4b2861c1c39191bbe5589a1b1 --- /dev/null +++ b/node_modules/viem/_cjs/types/kzg.js.map @@ -0,0 +1 @@ +{"version":3,"file":"kzg.js","sourceRoot":"","sources":["../../types/kzg.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/log.js b/node_modules/viem/_cjs/types/log.js new file mode 100644 index 0000000000000000000000000000000000000000..0e1d12276d97e479b6f4a31b825d76e641b8e071 --- /dev/null +++ b/node_modules/viem/_cjs/types/log.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=log.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/log.js.map b/node_modules/viem/_cjs/types/log.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e912cb72d84413ebc57911ca07c1fc9447a434fe --- /dev/null +++ b/node_modules/viem/_cjs/types/log.js.map @@ -0,0 +1 @@ +{"version":3,"file":"log.js","sourceRoot":"","sources":["../../types/log.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/misc.js b/node_modules/viem/_cjs/types/misc.js new file mode 100644 index 0000000000000000000000000000000000000000..53879082d522fdad23146b29b75b3d8238fa73fc --- /dev/null +++ b/node_modules/viem/_cjs/types/misc.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=misc.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/misc.js.map b/node_modules/viem/_cjs/types/misc.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ccfbe709bdce1accd26c2a8a0937a42977d62678 --- /dev/null +++ b/node_modules/viem/_cjs/types/misc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../types/misc.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/multicall.js b/node_modules/viem/_cjs/types/multicall.js new file mode 100644 index 0000000000000000000000000000000000000000..1f185392455bdeff465b1f6383d24e9469054557 --- /dev/null +++ b/node_modules/viem/_cjs/types/multicall.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=multicall.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/multicall.js.map b/node_modules/viem/_cjs/types/multicall.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6c1df063d452ce8e9969626eb667b93146c020a3 --- /dev/null +++ b/node_modules/viem/_cjs/types/multicall.js.map @@ -0,0 +1 @@ +{"version":3,"file":"multicall.js","sourceRoot":"","sources":["../../types/multicall.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/proof.js b/node_modules/viem/_cjs/types/proof.js new file mode 100644 index 0000000000000000000000000000000000000000..a26c74734ea8c50be870a696ab6c6454e1f8cc0a --- /dev/null +++ b/node_modules/viem/_cjs/types/proof.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=proof.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/proof.js.map b/node_modules/viem/_cjs/types/proof.js.map new file mode 100644 index 0000000000000000000000000000000000000000..da50a4f1724f1bcf9995c26759e8e1bbbd2cd315 --- /dev/null +++ b/node_modules/viem/_cjs/types/proof.js.map @@ -0,0 +1 @@ +{"version":3,"file":"proof.js","sourceRoot":"","sources":["../../types/proof.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/register.js b/node_modules/viem/_cjs/types/register.js new file mode 100644 index 0000000000000000000000000000000000000000..eca1ee2e933aefd57269c865d556f569e21a0414 --- /dev/null +++ b/node_modules/viem/_cjs/types/register.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=register.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/register.js.map b/node_modules/viem/_cjs/types/register.js.map new file mode 100644 index 0000000000000000000000000000000000000000..bb767f1956271bfc9412483f3c4d5f90a48adbca --- /dev/null +++ b/node_modules/viem/_cjs/types/register.js.map @@ -0,0 +1 @@ +{"version":3,"file":"register.js","sourceRoot":"","sources":["../../types/register.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/rpc.js b/node_modules/viem/_cjs/types/rpc.js new file mode 100644 index 0000000000000000000000000000000000000000..43a02af1b6dc869eb328fc73247bf786f72affb9 --- /dev/null +++ b/node_modules/viem/_cjs/types/rpc.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=rpc.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/rpc.js.map b/node_modules/viem/_cjs/types/rpc.js.map new file mode 100644 index 0000000000000000000000000000000000000000..3acb9f914c54f3ff8d60295e9755b3021e0fbbef --- /dev/null +++ b/node_modules/viem/_cjs/types/rpc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../types/rpc.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/stateOverride.js b/node_modules/viem/_cjs/types/stateOverride.js new file mode 100644 index 0000000000000000000000000000000000000000..77cf61af37d5fc20eb5714e469cf32f903a8513f --- /dev/null +++ b/node_modules/viem/_cjs/types/stateOverride.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=stateOverride.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/stateOverride.js.map b/node_modules/viem/_cjs/types/stateOverride.js.map new file mode 100644 index 0000000000000000000000000000000000000000..57c8e7666e9cce356febf5c12f6a4c56dc269ab2 --- /dev/null +++ b/node_modules/viem/_cjs/types/stateOverride.js.map @@ -0,0 +1 @@ +{"version":3,"file":"stateOverride.js","sourceRoot":"","sources":["../../types/stateOverride.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/transaction.js b/node_modules/viem/_cjs/types/transaction.js new file mode 100644 index 0000000000000000000000000000000000000000..28e14033822825832b8a433ad3aa6e02e114479f --- /dev/null +++ b/node_modules/viem/_cjs/types/transaction.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=transaction.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/transaction.js.map b/node_modules/viem/_cjs/types/transaction.js.map new file mode 100644 index 0000000000000000000000000000000000000000..474380cff0603cac73b64770672beb41ae2674fe --- /dev/null +++ b/node_modules/viem/_cjs/types/transaction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../types/transaction.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/transport.js b/node_modules/viem/_cjs/types/transport.js new file mode 100644 index 0000000000000000000000000000000000000000..61dc71e280e1f5a139446e30eb038d2bd33b0ddf --- /dev/null +++ b/node_modules/viem/_cjs/types/transport.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=transport.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/transport.js.map b/node_modules/viem/_cjs/types/transport.js.map new file mode 100644 index 0000000000000000000000000000000000000000..0fab4db652da0cc219747fb6f5e883e9fc5e81fd --- /dev/null +++ b/node_modules/viem/_cjs/types/transport.js.map @@ -0,0 +1 @@ +{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../types/transport.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/typedData.js b/node_modules/viem/_cjs/types/typedData.js new file mode 100644 index 0000000000000000000000000000000000000000..53229ef154200df819cf50528b215a872f2f7117 --- /dev/null +++ b/node_modules/viem/_cjs/types/typedData.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=typedData.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/typedData.js.map b/node_modules/viem/_cjs/types/typedData.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8c596bcfa5a6e66c0ed89ff43704f7f41dbd9e84 --- /dev/null +++ b/node_modules/viem/_cjs/types/typedData.js.map @@ -0,0 +1 @@ +{"version":3,"file":"typedData.js","sourceRoot":"","sources":["../../types/typedData.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/utils.js b/node_modules/viem/_cjs/types/utils.js new file mode 100644 index 0000000000000000000000000000000000000000..ee02fa63aae438473e3a40af76b9a31b520d9269 --- /dev/null +++ b/node_modules/viem/_cjs/types/utils.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/utils.js.map b/node_modules/viem/_cjs/types/utils.js.map new file mode 100644 index 0000000000000000000000000000000000000000..4fc090a3dd9472026483860a37c4d6b83166ccf3 --- /dev/null +++ b/node_modules/viem/_cjs/types/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../types/utils.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/window.js b/node_modules/viem/_cjs/types/window.js new file mode 100644 index 0000000000000000000000000000000000000000..482f195782da986f340ed23453dcd7708719c858 --- /dev/null +++ b/node_modules/viem/_cjs/types/window.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=window.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/window.js.map b/node_modules/viem/_cjs/types/window.js.map new file mode 100644 index 0000000000000000000000000000000000000000..753af3acc4d0cdf24b78b3dca200654f66e6b903 --- /dev/null +++ b/node_modules/viem/_cjs/types/window.js.map @@ -0,0 +1 @@ +{"version":3,"file":"window.js","sourceRoot":"","sources":["../../types/window.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/withdrawal.js b/node_modules/viem/_cjs/types/withdrawal.js new file mode 100644 index 0000000000000000000000000000000000000000..8b336f8b5f593ae5fca9c608a0d469be5358d826 --- /dev/null +++ b/node_modules/viem/_cjs/types/withdrawal.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=withdrawal.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/types/withdrawal.js.map b/node_modules/viem/_cjs/types/withdrawal.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c8f2cf8b395ca06caf5e7e9c0826ae934b32c0c3 --- /dev/null +++ b/node_modules/viem/_cjs/types/withdrawal.js.map @@ -0,0 +1 @@ +{"version":3,"file":"withdrawal.js","sourceRoot":"","sources":["../../types/withdrawal.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/decodeAbiParameters.js b/node_modules/viem/_cjs/utils/abi/decodeAbiParameters.js new file mode 100644 index 0000000000000000000000000000000000000000..4eea9827482550e496638399e8fa17cf66743ee5 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/decodeAbiParameters.js @@ -0,0 +1,210 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.decodeAbiParameters = decodeAbiParameters; +const abi_js_1 = require("../../errors/abi.js"); +const getAddress_js_1 = require("../address/getAddress.js"); +const cursor_js_1 = require("../cursor.js"); +const size_js_1 = require("../data/size.js"); +const slice_js_1 = require("../data/slice.js"); +const fromBytes_js_1 = require("../encoding/fromBytes.js"); +const toBytes_js_1 = require("../encoding/toBytes.js"); +const toHex_js_1 = require("../encoding/toHex.js"); +const encodeAbiParameters_js_1 = require("./encodeAbiParameters.js"); +function decodeAbiParameters(params, data) { + const bytes = typeof data === 'string' ? (0, toBytes_js_1.hexToBytes)(data) : data; + const cursor = (0, cursor_js_1.createCursor)(bytes); + if ((0, size_js_1.size)(bytes) === 0 && params.length > 0) + throw new abi_js_1.AbiDecodingZeroDataError(); + if ((0, size_js_1.size)(data) && (0, size_js_1.size)(data) < 32) + throw new abi_js_1.AbiDecodingDataSizeTooSmallError({ + data: typeof data === 'string' ? data : (0, toHex_js_1.bytesToHex)(data), + params: params, + size: (0, size_js_1.size)(data), + }); + let consumed = 0; + const values = []; + for (let i = 0; i < params.length; ++i) { + const param = params[i]; + if (consumed < bytes.length) + cursor.setPosition(consumed); + const [data, consumed_] = decodeParameter(cursor, param, { + staticPosition: 0, + }); + consumed += consumed_; + values.push(data); + } + return values; +} +function decodeParameter(cursor, param, { staticPosition }) { + const arrayComponents = (0, encodeAbiParameters_js_1.getArrayComponents)(param.type); + if (arrayComponents) { + const [length, type] = arrayComponents; + return decodeArray(cursor, { ...param, type }, { length, staticPosition }); + } + if (param.type === 'tuple') + return decodeTuple(cursor, param, { staticPosition }); + if (param.type === 'address') + return decodeAddress(cursor); + if (param.type === 'bool') + return decodeBool(cursor); + if (param.type.startsWith('bytes')) + return decodeBytes(cursor, param, { staticPosition }); + if (param.type.startsWith('uint') || param.type.startsWith('int')) + return decodeNumber(cursor, param); + if (param.type === 'string') + return decodeString(cursor, { staticPosition }); + throw new abi_js_1.InvalidAbiDecodingTypeError(param.type, { + docsPath: '/docs/contract/decodeAbiParameters', + }); +} +const sizeOfLength = 32; +const sizeOfOffset = 32; +function decodeAddress(cursor) { + const value = cursor.readBytes(32); + return [(0, getAddress_js_1.checksumAddress)((0, toHex_js_1.bytesToHex)((0, slice_js_1.sliceBytes)(value, -20))), 32]; +} +function decodeArray(cursor, param, { length, staticPosition }) { + if (length === null) { + const offset = (0, fromBytes_js_1.bytesToNumber)(cursor.readBytes(sizeOfOffset)); + const start = staticPosition + offset; + const startOfData = start + sizeOfLength; + cursor.setPosition(start); + const length = (0, fromBytes_js_1.bytesToNumber)(cursor.readBytes(sizeOfLength)); + const dynamicChild = hasDynamicChild(param); + let consumed = 0; + const value = []; + for (let i = 0; i < length; ++i) { + cursor.setPosition(startOfData + (dynamicChild ? i * 32 : consumed)); + const [data, consumed_] = decodeParameter(cursor, param, { + staticPosition: startOfData, + }); + consumed += consumed_; + value.push(data); + if (consumed_ === 0) { + cursor.assertReadLimit(); + cursor._touch(); + } + } + cursor.setPosition(staticPosition + 32); + return [value, 32]; + } + if (hasDynamicChild(param)) { + const offset = (0, fromBytes_js_1.bytesToNumber)(cursor.readBytes(sizeOfOffset)); + const start = staticPosition + offset; + const value = []; + for (let i = 0; i < length; ++i) { + cursor.setPosition(start + i * 32); + const [data] = decodeParameter(cursor, param, { + staticPosition: start, + }); + value.push(data); + } + cursor.setPosition(staticPosition + 32); + return [value, 32]; + } + let consumed = 0; + const value = []; + for (let i = 0; i < length; ++i) { + const [data, consumed_] = decodeParameter(cursor, param, { + staticPosition: staticPosition + consumed, + }); + consumed += consumed_; + value.push(data); + if (consumed_ === 0) { + cursor.assertReadLimit(); + cursor._touch(); + } + } + return [value, consumed]; +} +function decodeBool(cursor) { + return [(0, fromBytes_js_1.bytesToBool)(cursor.readBytes(32), { size: 32 }), 32]; +} +function decodeBytes(cursor, param, { staticPosition }) { + const [_, size] = param.type.split('bytes'); + if (!size) { + const offset = (0, fromBytes_js_1.bytesToNumber)(cursor.readBytes(32)); + cursor.setPosition(staticPosition + offset); + const length = (0, fromBytes_js_1.bytesToNumber)(cursor.readBytes(32)); + if (length === 0) { + cursor.setPosition(staticPosition + 32); + return ['0x', 32]; + } + const data = cursor.readBytes(length); + cursor.setPosition(staticPosition + 32); + return [(0, toHex_js_1.bytesToHex)(data), 32]; + } + const value = (0, toHex_js_1.bytesToHex)(cursor.readBytes(Number.parseInt(size, 10), 32)); + return [value, 32]; +} +function decodeNumber(cursor, param) { + const signed = param.type.startsWith('int'); + const size = Number.parseInt(param.type.split('int')[1] || '256', 10); + const value = cursor.readBytes(32); + return [ + size > 48 + ? (0, fromBytes_js_1.bytesToBigInt)(value, { signed }) + : (0, fromBytes_js_1.bytesToNumber)(value, { signed }), + 32, + ]; +} +function decodeTuple(cursor, param, { staticPosition }) { + const hasUnnamedChild = param.components.length === 0 || param.components.some(({ name }) => !name); + const value = hasUnnamedChild ? [] : {}; + let consumed = 0; + if (hasDynamicChild(param)) { + const offset = (0, fromBytes_js_1.bytesToNumber)(cursor.readBytes(sizeOfOffset)); + const start = staticPosition + offset; + for (let i = 0; i < param.components.length; ++i) { + const component = param.components[i]; + cursor.setPosition(start + consumed); + const [data, consumed_] = decodeParameter(cursor, component, { + staticPosition: start, + }); + consumed += consumed_; + value[hasUnnamedChild ? i : component?.name] = data; + } + cursor.setPosition(staticPosition + 32); + return [value, 32]; + } + for (let i = 0; i < param.components.length; ++i) { + const component = param.components[i]; + const [data, consumed_] = decodeParameter(cursor, component, { + staticPosition, + }); + value[hasUnnamedChild ? i : component?.name] = data; + consumed += consumed_; + } + return [value, consumed]; +} +function decodeString(cursor, { staticPosition }) { + const offset = (0, fromBytes_js_1.bytesToNumber)(cursor.readBytes(32)); + const start = staticPosition + offset; + cursor.setPosition(start); + const length = (0, fromBytes_js_1.bytesToNumber)(cursor.readBytes(32)); + if (length === 0) { + cursor.setPosition(staticPosition + 32); + return ['', 32]; + } + const data = cursor.readBytes(length, 32); + const value = (0, fromBytes_js_1.bytesToString)(data); + cursor.setPosition(staticPosition + 32); + return [value, 32]; +} +function hasDynamicChild(param) { + const { type } = param; + if (type === 'string') + return true; + if (type === 'bytes') + return true; + if (type.endsWith('[]')) + return true; + if (type === 'tuple') + return param.components?.some(hasDynamicChild); + const arrayComponents = (0, encodeAbiParameters_js_1.getArrayComponents)(param.type); + if (arrayComponents && + hasDynamicChild({ ...param, type: arrayComponents[1] })) + return true; + return false; +} +//# sourceMappingURL=decodeAbiParameters.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/decodeAbiParameters.js.map b/node_modules/viem/_cjs/utils/abi/decodeAbiParameters.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8f687dd049178cbdba36b856b8bc2de6da20d38b --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/decodeAbiParameters.js.map @@ -0,0 +1 @@ +{"version":3,"file":"decodeAbiParameters.js","sourceRoot":"","sources":["../../../utils/abi/decodeAbiParameters.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/decodeDeployData.js b/node_modules/viem/_cjs/utils/abi/decodeDeployData.js new file mode 100644 index 0000000000000000000000000000000000000000..cb45f5ff37ddc36826da91a0cc4b9f10d0884a75 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/decodeDeployData.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.decodeDeployData = decodeDeployData; +const abi_js_1 = require("../../errors/abi.js"); +const decodeAbiParameters_js_1 = require("./decodeAbiParameters.js"); +const docsPath = '/docs/contract/decodeDeployData'; +function decodeDeployData(parameters) { + const { abi, bytecode, data } = parameters; + if (data === bytecode) + return { bytecode }; + const description = abi.find((x) => 'type' in x && x.type === 'constructor'); + if (!description) + throw new abi_js_1.AbiConstructorNotFoundError({ docsPath }); + if (!('inputs' in description)) + throw new abi_js_1.AbiConstructorParamsNotFoundError({ docsPath }); + if (!description.inputs || description.inputs.length === 0) + throw new abi_js_1.AbiConstructorParamsNotFoundError({ docsPath }); + const args = (0, decodeAbiParameters_js_1.decodeAbiParameters)(description.inputs, `0x${data.replace(bytecode, '')}`); + return { args, bytecode }; +} +//# sourceMappingURL=decodeDeployData.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/decodeDeployData.js.map b/node_modules/viem/_cjs/utils/abi/decodeDeployData.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b3fd89d24ca72011eaf0195f7da298b1502dd07e --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/decodeDeployData.js.map @@ -0,0 +1 @@ +{"version":3,"file":"decodeDeployData.js","sourceRoot":"","sources":["../../../utils/abi/decodeDeployData.ts"],"names":[],"mappings":";;AAyCA,4CAkBC;AAzDD,gDAK4B;AAI5B,qEAGiC;AAEjC,MAAM,QAAQ,GAAG,iCAAiC,CAAA;AAyBlD,SAAgB,gBAAgB,CAC9B,UAA2C;IAE3C,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,UAAwC,CAAA;IACxE,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,QAAQ,EAAqC,CAAA;IAE7E,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAA;IAC5E,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,oCAA2B,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IACrE,IAAI,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC;QAC5B,MAAM,IAAI,0CAAiC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC3D,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QACxD,MAAM,IAAI,0CAAiC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAE3D,MAAM,IAAI,GAAG,IAAA,4CAAmB,EAC9B,WAAW,CAAC,MAAM,EAClB,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAClC,CAAA;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAgD,CAAA;AACzE,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/decodeErrorResult.js b/node_modules/viem/_cjs/utils/abi/decodeErrorResult.js new file mode 100644 index 0000000000000000000000000000000000000000..a7ef528d85669ba56514202abb3211d013525965 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/decodeErrorResult.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.decodeErrorResult = decodeErrorResult; +const solidity_js_1 = require("../../constants/solidity.js"); +const abi_js_1 = require("../../errors/abi.js"); +const slice_js_1 = require("../data/slice.js"); +const toFunctionSelector_js_1 = require("../hash/toFunctionSelector.js"); +const decodeAbiParameters_js_1 = require("./decodeAbiParameters.js"); +const formatAbiItem_js_1 = require("./formatAbiItem.js"); +function decodeErrorResult(parameters) { + const { abi, data, cause } = parameters; + const signature = (0, slice_js_1.slice)(data, 0, 4); + if (signature === '0x') + throw new abi_js_1.AbiDecodingZeroDataError({ cause }); + const abi_ = [...(abi || []), solidity_js_1.solidityError, solidity_js_1.solidityPanic]; + const abiItem = abi_.find((x) => x.type === 'error' && signature === (0, toFunctionSelector_js_1.toFunctionSelector)((0, formatAbiItem_js_1.formatAbiItem)(x))); + if (!abiItem) + throw new abi_js_1.AbiErrorSignatureNotFoundError(signature, { + docsPath: '/docs/contract/decodeErrorResult', + cause, + }); + return { + abiItem, + args: 'inputs' in abiItem && abiItem.inputs && abiItem.inputs.length > 0 + ? (0, decodeAbiParameters_js_1.decodeAbiParameters)(abiItem.inputs, (0, slice_js_1.slice)(data, 4)) + : undefined, + errorName: abiItem.name, + }; +} +//# sourceMappingURL=decodeErrorResult.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/decodeErrorResult.js.map b/node_modules/viem/_cjs/utils/abi/decodeErrorResult.js.map new file mode 100644 index 0000000000000000000000000000000000000000..2720d954cb379710a78f1a85fb9e05118210f9e9 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/decodeErrorResult.js.map @@ -0,0 +1 @@ +{"version":3,"file":"decodeErrorResult.js","sourceRoot":"","sources":["../../../utils/abi/decodeErrorResult.ts"],"names":[],"mappings":";;AAiEA,8CA0BC;AAzFD,6DAA0E;AAC1E,gDAK4B;AAU5B,+CAAwC;AACxC,yEAGsC;AACtC,qEAGiC;AACjC,yDAA+E;AAsC/E,SAAgB,iBAAiB,CAC/B,UAA4C;IAE5C,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,UAAyC,CAAA;IAEtE,MAAM,SAAS,GAAG,IAAA,gBAAK,EAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACnC,IAAI,SAAS,KAAK,IAAI;QAAE,MAAM,IAAI,iCAAwB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IAErE,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,2BAAa,EAAE,2BAAa,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,SAAS,KAAK,IAAA,0CAAkB,EAAC,IAAA,gCAAa,EAAC,CAAC,CAAC,CAAC,CAC3E,CAAA;IACD,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,uCAA8B,CAAC,SAAS,EAAE;YAClD,QAAQ,EAAE,kCAAkC;YAC5C,KAAK;SACN,CAAC,CAAA;IACJ,OAAO;QACL,OAAO;QACP,IAAI,EACF,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAChE,CAAC,CAAC,IAAA,4CAAmB,EAAC,OAAO,CAAC,MAAM,EAAE,IAAA,gBAAK,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,SAAS;QACf,SAAS,EAAG,OAA4B,CAAC,IAAI;KACV,CAAA;AACvC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/decodeEventLog.js b/node_modules/viem/_cjs/utils/abi/decodeEventLog.js new file mode 100644 index 0000000000000000000000000000000000000000..8109e4398ccaa09a1ad14efdedf9cbe4c7b5a251 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/decodeEventLog.js @@ -0,0 +1,108 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.decodeEventLog = decodeEventLog; +const abi_js_1 = require("../../errors/abi.js"); +const cursor_js_1 = require("../../errors/cursor.js"); +const size_js_1 = require("../data/size.js"); +const toEventSelector_js_1 = require("../hash/toEventSelector.js"); +const decodeAbiParameters_js_1 = require("./decodeAbiParameters.js"); +const formatAbiItem_js_1 = require("./formatAbiItem.js"); +const docsPath = '/docs/contract/decodeEventLog'; +function decodeEventLog(parameters) { + const { abi, data, strict: strict_, topics, } = parameters; + const strict = strict_ ?? true; + const [signature, ...argTopics] = topics; + if (!signature) + throw new abi_js_1.AbiEventSignatureEmptyTopicsError({ docsPath }); + const abiItem = abi.find((x) => x.type === 'event' && + signature === (0, toEventSelector_js_1.toEventSelector)((0, formatAbiItem_js_1.formatAbiItem)(x))); + if (!(abiItem && 'name' in abiItem) || abiItem.type !== 'event') + throw new abi_js_1.AbiEventSignatureNotFoundError(signature, { docsPath }); + const { name, inputs } = abiItem; + const isUnnamed = inputs?.some((x) => !('name' in x && x.name)); + const args = isUnnamed ? [] : {}; + const indexedInputs = inputs + .map((x, i) => [x, i]) + .filter(([x]) => 'indexed' in x && x.indexed); + const missingIndexedInputs = []; + for (let i = 0; i < indexedInputs.length; i++) { + const [param, argIndex] = indexedInputs[i]; + const topic = argTopics[i]; + if (!topic) { + if (strict) + throw new abi_js_1.DecodeLogTopicsMismatch({ + abiItem, + param: param, + }); + missingIndexedInputs.push([param, argIndex]); + continue; + } + args[isUnnamed ? argIndex : param.name || argIndex] = decodeTopic({ + param, + value: topic, + }); + } + const nonIndexedInputs = inputs.filter((x) => !('indexed' in x && x.indexed)); + const inputsToDecode = strict + ? nonIndexedInputs + : [...missingIndexedInputs.map(([param]) => param), ...nonIndexedInputs]; + if (inputsToDecode.length > 0) { + if (data && data !== '0x') { + try { + const decodedData = (0, decodeAbiParameters_js_1.decodeAbiParameters)(inputsToDecode, data); + if (decodedData) { + let dataIndex = 0; + if (!strict) { + for (const [param, argIndex] of missingIndexedInputs) { + args[isUnnamed ? argIndex : param.name || argIndex] = + decodedData[dataIndex++]; + } + } + if (isUnnamed) { + for (let i = 0; i < inputs.length; i++) + if (args[i] === undefined && dataIndex < decodedData.length) + args[i] = decodedData[dataIndex++]; + } + else + for (let i = 0; i < nonIndexedInputs.length; i++) + args[nonIndexedInputs[i].name] = decodedData[dataIndex++]; + } + } + catch (err) { + if (strict) { + if (err instanceof abi_js_1.AbiDecodingDataSizeTooSmallError || + err instanceof cursor_js_1.PositionOutOfBoundsError) + throw new abi_js_1.DecodeLogDataMismatch({ + abiItem, + data: data, + params: inputsToDecode, + size: (0, size_js_1.size)(data), + }); + throw err; + } + } + } + else if (strict) { + throw new abi_js_1.DecodeLogDataMismatch({ + abiItem, + data: '0x', + params: inputsToDecode, + size: 0, + }); + } + } + return { + eventName: name, + args: Object.values(args).length > 0 ? args : undefined, + }; +} +function decodeTopic({ param, value }) { + if (param.type === 'string' || + param.type === 'bytes' || + param.type === 'tuple' || + param.type.match(/^(.*)\[(\d+)?\]$/)) + return value; + const decodedArg = (0, decodeAbiParameters_js_1.decodeAbiParameters)([param], value) || []; + return decodedArg[0]; +} +//# sourceMappingURL=decodeEventLog.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/decodeEventLog.js.map b/node_modules/viem/_cjs/utils/abi/decodeEventLog.js.map new file mode 100644 index 0000000000000000000000000000000000000000..81939a057b745c8d2216cec56540ba63cf13e8be --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/decodeEventLog.js.map @@ -0,0 +1 @@ +{"version":3,"file":"decodeEventLog.js","sourceRoot":"","sources":["../../../utils/abi/decodeEventLog.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/decodeFunctionData.js b/node_modules/viem/_cjs/utils/abi/decodeFunctionData.js new file mode 100644 index 0000000000000000000000000000000000000000..76dc333032f2546b67b2b0ae497e89af96ed625c --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/decodeFunctionData.js @@ -0,0 +1,27 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.decodeFunctionData = decodeFunctionData; +const abi_js_1 = require("../../errors/abi.js"); +const slice_js_1 = require("../data/slice.js"); +const toFunctionSelector_js_1 = require("../hash/toFunctionSelector.js"); +const decodeAbiParameters_js_1 = require("./decodeAbiParameters.js"); +const formatAbiItem_js_1 = require("./formatAbiItem.js"); +function decodeFunctionData(parameters) { + const { abi, data } = parameters; + const signature = (0, slice_js_1.slice)(data, 0, 4); + const description = abi.find((x) => x.type === 'function' && + signature === (0, toFunctionSelector_js_1.toFunctionSelector)((0, formatAbiItem_js_1.formatAbiItem)(x))); + if (!description) + throw new abi_js_1.AbiFunctionSignatureNotFoundError(signature, { + docsPath: '/docs/contract/decodeFunctionData', + }); + return { + functionName: description.name, + args: ('inputs' in description && + description.inputs && + description.inputs.length > 0 + ? (0, decodeAbiParameters_js_1.decodeAbiParameters)(description.inputs, (0, slice_js_1.slice)(data, 4)) + : undefined), + }; +} +//# sourceMappingURL=decodeFunctionData.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/decodeFunctionData.js.map b/node_modules/viem/_cjs/utils/abi/decodeFunctionData.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e95cc757c77b6936a195e35e81cd9faf61c04a5a --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/decodeFunctionData.js.map @@ -0,0 +1 @@ +{"version":3,"file":"decodeFunctionData.js","sourceRoot":"","sources":["../../../utils/abi/decodeFunctionData.ts"],"names":[],"mappings":";;AAuDA,gDAsBC;AA3ED,gDAAuE;AAQvE,+CAA6D;AAC7D,yEAGsC;AACtC,qEAGiC;AACjC,yDAA+E;AAoC/E,SAAgB,kBAAkB,CAChC,UAA6C;IAE7C,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,UAA0C,CAAA;IAChE,MAAM,SAAS,GAAG,IAAA,gBAAK,EAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACnC,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,UAAU;QACrB,SAAS,KAAK,IAAA,0CAAkB,EAAC,IAAA,gCAAa,EAAC,CAAC,CAAC,CAAC,CACrD,CAAA;IACD,IAAI,CAAC,WAAW;QACd,MAAM,IAAI,0CAAiC,CAAC,SAAS,EAAE;YACrD,QAAQ,EAAE,mCAAmC;SAC9C,CAAC,CAAA;IACJ,OAAO;QACL,YAAY,EAAG,WAAgC,CAAC,IAAI;QACpD,IAAI,EAAE,CAAC,QAAQ,IAAI,WAAW;YAC9B,WAAW,CAAC,MAAM;YAClB,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC3B,CAAC,CAAC,IAAA,4CAAmB,EAAC,WAAW,CAAC,MAAM,EAAE,IAAA,gBAAK,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACzD,CAAC,CAAC,SAAS,CAAmC;KACZ,CAAA;AACxC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/decodeFunctionResult.js b/node_modules/viem/_cjs/utils/abi/decodeFunctionResult.js new file mode 100644 index 0000000000000000000000000000000000000000..379d136c1ddb508a691d4cd183f39303b5cedbc2 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/decodeFunctionResult.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.decodeFunctionResult = decodeFunctionResult; +const abi_js_1 = require("../../errors/abi.js"); +const decodeAbiParameters_js_1 = require("./decodeAbiParameters.js"); +const getAbiItem_js_1 = require("./getAbiItem.js"); +const docsPath = '/docs/contract/decodeFunctionResult'; +function decodeFunctionResult(parameters) { + const { abi, args, functionName, data } = parameters; + let abiItem = abi[0]; + if (functionName) { + const item = (0, getAbiItem_js_1.getAbiItem)({ abi, args, name: functionName }); + if (!item) + throw new abi_js_1.AbiFunctionNotFoundError(functionName, { docsPath }); + abiItem = item; + } + if (abiItem.type !== 'function') + throw new abi_js_1.AbiFunctionNotFoundError(undefined, { docsPath }); + if (!abiItem.outputs) + throw new abi_js_1.AbiFunctionOutputsNotFoundError(abiItem.name, { docsPath }); + const values = (0, decodeAbiParameters_js_1.decodeAbiParameters)(abiItem.outputs, data); + if (values && values.length > 1) + return values; + if (values && values.length === 1) + return values[0]; + return undefined; +} +//# sourceMappingURL=decodeFunctionResult.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/decodeFunctionResult.js.map b/node_modules/viem/_cjs/utils/abi/decodeFunctionResult.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d87b3d781faa54ee1358ea8aafc5036f8f5f08a5 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/decodeFunctionResult.js.map @@ -0,0 +1 @@ +{"version":3,"file":"decodeFunctionResult.js","sourceRoot":"","sources":["../../../utils/abi/decodeFunctionResult.ts"],"names":[],"mappings":";;AA6HA,oDAwCC;AAnKD,gDAK4B;AAU5B,qEAGiC;AACjC,mDAAsE;AAEtE,MAAM,QAAQ,GAAG,qCAAqC,CAAA;AAsGtD,SAAgB,oBAAoB,CAiBlC,UAAmE;IAEnE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,GACrC,UAA4C,CAAA;IAE9C,IAAI,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACpB,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,IAAA,0BAAU,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;QAC1D,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,iCAAwB,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;QACzE,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU;QAC7B,MAAM,IAAI,iCAAwB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC7D,IAAI,CAAC,OAAO,CAAC,OAAO;QAClB,MAAM,IAAI,wCAA+B,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;IAEvE,MAAM,MAAM,GAAG,IAAA,4CAAmB,EAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACzD,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAC7B,OAAO,MAAiE,CAAA;IAC1E,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAC/B,OAAO,MAAM,CAAC,CAAC,CAA4D,CAAA;IAC7E,OAAO,SAAoE,CAAA;AAC7E,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/encodeAbiParameters.js b/node_modules/viem/_cjs/utils/abi/encodeAbiParameters.js new file mode 100644 index 0000000000000000000000000000000000000000..e153cb18a01525f8d252bf3b0fe3e9a18990e477 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/encodeAbiParameters.js @@ -0,0 +1,246 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.encodeAbiParameters = encodeAbiParameters; +exports.getArrayComponents = getArrayComponents; +const abi_js_1 = require("../../errors/abi.js"); +const address_js_1 = require("../../errors/address.js"); +const base_js_1 = require("../../errors/base.js"); +const encoding_js_1 = require("../../errors/encoding.js"); +const isAddress_js_1 = require("../address/isAddress.js"); +const concat_js_1 = require("../data/concat.js"); +const pad_js_1 = require("../data/pad.js"); +const size_js_1 = require("../data/size.js"); +const slice_js_1 = require("../data/slice.js"); +const toHex_js_1 = require("../encoding/toHex.js"); +const regex_js_1 = require("../regex.js"); +function encodeAbiParameters(params, values) { + if (params.length !== values.length) + throw new abi_js_1.AbiEncodingLengthMismatchError({ + expectedLength: params.length, + givenLength: values.length, + }); + const preparedParams = prepareParams({ + params: params, + values: values, + }); + return encodeParams(preparedParams); +} +function prepareParams({ params, values, }) { + const preparedParams = []; + for (let i = 0; i < params.length; i++) { + preparedParams.push(prepareParam({ param: params[i], value: values[i] })); + } + return preparedParams; +} +function prepareParam({ param, value, }) { + const arrayComponents = getArrayComponents(param.type); + if (arrayComponents) { + const [length, type] = arrayComponents; + return encodeArray(value, { length, param: { ...param, type } }); + } + if (param.type === 'tuple') { + return encodeTuple(value, { + param: param, + }); + } + if (param.type === 'address') { + return encodeAddress(value); + } + if (param.type === 'bool') { + return encodeBool(value); + } + if (param.type.startsWith('uint') || param.type.startsWith('int')) { + const signed = param.type.startsWith('int'); + const [, , size = '256'] = regex_js_1.integerRegex.exec(param.type) ?? []; + return encodeNumber(value, { + signed, + size: Number(size), + }); + } + if (param.type.startsWith('bytes')) { + return encodeBytes(value, { param }); + } + if (param.type === 'string') { + return encodeString(value); + } + throw new abi_js_1.InvalidAbiEncodingTypeError(param.type, { + docsPath: '/docs/contract/encodeAbiParameters', + }); +} +function encodeParams(preparedParams) { + let staticSize = 0; + for (let i = 0; i < preparedParams.length; i++) { + const { dynamic, encoded } = preparedParams[i]; + if (dynamic) + staticSize += 32; + else + staticSize += (0, size_js_1.size)(encoded); + } + const staticParams = []; + const dynamicParams = []; + let dynamicSize = 0; + for (let i = 0; i < preparedParams.length; i++) { + const { dynamic, encoded } = preparedParams[i]; + if (dynamic) { + staticParams.push((0, toHex_js_1.numberToHex)(staticSize + dynamicSize, { size: 32 })); + dynamicParams.push(encoded); + dynamicSize += (0, size_js_1.size)(encoded); + } + else { + staticParams.push(encoded); + } + } + return (0, concat_js_1.concatHex)([...staticParams, ...dynamicParams]); +} +function encodeAddress(value) { + if (!(0, isAddress_js_1.isAddress)(value)) + throw new address_js_1.InvalidAddressError({ address: value }); + return { dynamic: false, encoded: (0, pad_js_1.padHex)(value.toLowerCase()) }; +} +function encodeArray(value, { length, param, }) { + const dynamic = length === null; + if (!Array.isArray(value)) + throw new abi_js_1.InvalidArrayError(value); + if (!dynamic && value.length !== length) + throw new abi_js_1.AbiEncodingArrayLengthMismatchError({ + expectedLength: length, + givenLength: value.length, + type: `${param.type}[${length}]`, + }); + let dynamicChild = value.length === 0 && isDynamicType(param); + const preparedParams = []; + for (let i = 0; i < value.length; i++) { + const preparedParam = prepareParam({ param, value: value[i] }); + if (preparedParam.dynamic) + dynamicChild = true; + preparedParams.push(preparedParam); + } + if (dynamic || dynamicChild) { + const data = encodeParams(preparedParams); + if (dynamic) { + const length = (0, toHex_js_1.numberToHex)(preparedParams.length, { size: 32 }); + return { + dynamic: true, + encoded: (0, concat_js_1.concatHex)([length, data]), + }; + } + if (dynamicChild) + return { dynamic: true, encoded: data }; + } + return { + dynamic: false, + encoded: (0, concat_js_1.concatHex)(preparedParams.map(({ encoded }) => encoded)), + }; +} +function encodeBytes(value, { param }) { + const [, paramSize] = param.type.split('bytes'); + const bytesSize = (0, size_js_1.size)(value); + if (!paramSize) { + let value_ = value; + if (bytesSize % 32 !== 0) + value_ = (0, pad_js_1.padHex)(value_, { + dir: 'right', + size: Math.ceil((value.length - 2) / 2 / 32) * 32, + }); + return { + dynamic: true, + encoded: (0, concat_js_1.concatHex)([ + (0, pad_js_1.padHex)((0, toHex_js_1.numberToHex)(bytesSize, { size: 32 })), + value_, + ]), + }; + } + if (bytesSize !== Number.parseInt(paramSize, 10)) + throw new abi_js_1.AbiEncodingBytesSizeMismatchError({ + expectedSize: Number.parseInt(paramSize, 10), + value, + }); + return { dynamic: false, encoded: (0, pad_js_1.padHex)(value, { dir: 'right' }) }; +} +function encodeBool(value) { + if (typeof value !== 'boolean') + throw new base_js_1.BaseError(`Invalid boolean value: "${value}" (type: ${typeof value}). Expected: \`true\` or \`false\`.`); + return { dynamic: false, encoded: (0, pad_js_1.padHex)((0, toHex_js_1.boolToHex)(value)) }; +} +function encodeNumber(value, { signed, size = 256 }) { + if (typeof size === 'number') { + const max = 2n ** (BigInt(size) - (signed ? 1n : 0n)) - 1n; + const min = signed ? -max - 1n : 0n; + if (value > max || value < min) + throw new encoding_js_1.IntegerOutOfRangeError({ + max: max.toString(), + min: min.toString(), + signed, + size: size / 8, + value: value.toString(), + }); + } + return { + dynamic: false, + encoded: (0, toHex_js_1.numberToHex)(value, { + size: 32, + signed, + }), + }; +} +function encodeString(value) { + const hexValue = (0, toHex_js_1.stringToHex)(value); + const partsLength = Math.ceil((0, size_js_1.size)(hexValue) / 32); + const parts = []; + for (let i = 0; i < partsLength; i++) { + parts.push((0, pad_js_1.padHex)((0, slice_js_1.slice)(hexValue, i * 32, (i + 1) * 32), { + dir: 'right', + })); + } + return { + dynamic: true, + encoded: (0, concat_js_1.concatHex)([ + (0, pad_js_1.padHex)((0, toHex_js_1.numberToHex)((0, size_js_1.size)(hexValue), { size: 32 })), + ...parts, + ]), + }; +} +function encodeTuple(value, { param }) { + let dynamic = false; + const preparedParams = []; + for (let i = 0; i < param.components.length; i++) { + const param_ = param.components[i]; + const index = Array.isArray(value) ? i : param_.name; + const preparedParam = prepareParam({ + param: param_, + value: value[index], + }); + preparedParams.push(preparedParam); + if (preparedParam.dynamic) + dynamic = true; + } + return { + dynamic, + encoded: dynamic + ? encodeParams(preparedParams) + : (0, concat_js_1.concatHex)(preparedParams.map(({ encoded }) => encoded)), + }; +} +function getArrayComponents(type) { + const matches = type.match(/^(.*)\[(\d+)?\]$/); + return matches + ? + [matches[2] ? Number(matches[2]) : null, matches[1]] + : undefined; +} +function isDynamicType(param) { + const { type } = param; + if (type === 'string') + return true; + if (type === 'bytes') + return true; + if (type.endsWith('[]')) + return true; + if (type === 'tuple') + return param.components.some(isDynamicType); + const arrayComponents = getArrayComponents(type); + if (arrayComponents) + return isDynamicType({ ...param, type: arrayComponents[1] }); + return false; +} +//# sourceMappingURL=encodeAbiParameters.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/encodeAbiParameters.js.map b/node_modules/viem/_cjs/utils/abi/encodeAbiParameters.js.map new file mode 100644 index 0000000000000000000000000000000000000000..0ff3094f38f0485cdcacd441b9525d481ddbf667 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/encodeAbiParameters.js.map @@ -0,0 +1 @@ +{"version":3,"file":"encodeAbiParameters.js","sourceRoot":"","sources":["../../../utils/abi/encodeAbiParameters.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/encodeDeployData.js b/node_modules/viem/_cjs/utils/abi/encodeDeployData.js new file mode 100644 index 0000000000000000000000000000000000000000..ae7f9d904cfc087af06225d09bd55c8408090ff8 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/encodeDeployData.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.encodeDeployData = encodeDeployData; +const abi_js_1 = require("../../errors/abi.js"); +const concat_js_1 = require("../data/concat.js"); +const encodeAbiParameters_js_1 = require("./encodeAbiParameters.js"); +const docsPath = '/docs/contract/encodeDeployData'; +function encodeDeployData(parameters) { + const { abi, args, bytecode } = parameters; + if (!args || args.length === 0) + return bytecode; + const description = abi.find((x) => 'type' in x && x.type === 'constructor'); + if (!description) + throw new abi_js_1.AbiConstructorNotFoundError({ docsPath }); + if (!('inputs' in description)) + throw new abi_js_1.AbiConstructorParamsNotFoundError({ docsPath }); + if (!description.inputs || description.inputs.length === 0) + throw new abi_js_1.AbiConstructorParamsNotFoundError({ docsPath }); + const data = (0, encodeAbiParameters_js_1.encodeAbiParameters)(description.inputs, args); + return (0, concat_js_1.concatHex)([bytecode, data]); +} +//# sourceMappingURL=encodeDeployData.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/encodeDeployData.js.map b/node_modules/viem/_cjs/utils/abi/encodeDeployData.js.map new file mode 100644 index 0000000000000000000000000000000000000000..662aea3b09e40804d515ac48d6ee50c502c8fc0b --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/encodeDeployData.js.map @@ -0,0 +1 @@ +{"version":3,"file":"encodeDeployData.js","sourceRoot":"","sources":["../../../utils/abi/encodeDeployData.ts"],"names":[],"mappings":";;AAiDA,4CAeC;AA9DD,gDAI4B;AAK5B,iDAAsE;AACtE,qEAGiC;AAEjC,MAAM,QAAQ,GAAG,iCAAiC,CAAA;AAgClD,SAAgB,gBAAgB,CAC9B,UAA2C;IAE3C,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,UAAwC,CAAA;IACxE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAA;IAE/C,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAA;IAC5E,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,oCAA2B,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IACrE,IAAI,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC;QAC5B,MAAM,IAAI,0CAAiC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC3D,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QACxD,MAAM,IAAI,0CAAiC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAE3D,MAAM,IAAI,GAAG,IAAA,4CAAmB,EAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC1D,OAAO,IAAA,qBAAS,EAAC,CAAC,QAAQ,EAAE,IAAK,CAAC,CAAC,CAAA;AACrC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/encodeErrorResult.js b/node_modules/viem/_cjs/utils/abi/encodeErrorResult.js new file mode 100644 index 0000000000000000000000000000000000000000..1567999755e3b8dfec76aa96ada6f82f37f7d6d9 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/encodeErrorResult.js @@ -0,0 +1,32 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.encodeErrorResult = encodeErrorResult; +const abi_js_1 = require("../../errors/abi.js"); +const concat_js_1 = require("../data/concat.js"); +const toFunctionSelector_js_1 = require("../hash/toFunctionSelector.js"); +const encodeAbiParameters_js_1 = require("./encodeAbiParameters.js"); +const formatAbiItem_js_1 = require("./formatAbiItem.js"); +const getAbiItem_js_1 = require("./getAbiItem.js"); +const docsPath = '/docs/contract/encodeErrorResult'; +function encodeErrorResult(parameters) { + const { abi, errorName, args } = parameters; + let abiItem = abi[0]; + if (errorName) { + const item = (0, getAbiItem_js_1.getAbiItem)({ abi, args, name: errorName }); + if (!item) + throw new abi_js_1.AbiErrorNotFoundError(errorName, { docsPath }); + abiItem = item; + } + if (abiItem.type !== 'error') + throw new abi_js_1.AbiErrorNotFoundError(undefined, { docsPath }); + const definition = (0, formatAbiItem_js_1.formatAbiItem)(abiItem); + const signature = (0, toFunctionSelector_js_1.toFunctionSelector)(definition); + let data = '0x'; + if (args && args.length > 0) { + if (!abiItem.inputs) + throw new abi_js_1.AbiErrorInputsNotFoundError(abiItem.name, { docsPath }); + data = (0, encodeAbiParameters_js_1.encodeAbiParameters)(abiItem.inputs, args); + } + return (0, concat_js_1.concatHex)([signature, data]); +} +//# sourceMappingURL=encodeErrorResult.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/encodeErrorResult.js.map b/node_modules/viem/_cjs/utils/abi/encodeErrorResult.js.map new file mode 100644 index 0000000000000000000000000000000000000000..1b1f1a283f6eee4491a4e67df52e787ee76f42d3 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/encodeErrorResult.js.map @@ -0,0 +1 @@ +{"version":3,"file":"encodeErrorResult.js","sourceRoot":"","sources":["../../../utils/abi/encodeErrorResult.ts"],"names":[],"mappings":";;AAmEA,8CA4BC;AA7FD,gDAG4B;AAQ5B,iDAAsE;AACtE,yEAGsC;AACtC,qEAGiC;AACjC,yDAA+E;AAC/E,mDAAsE;AAEtE,MAAM,QAAQ,GAAG,kCAAkC,CAAA;AA0CnD,SAAgB,iBAAiB,CAI/B,UAAuD;IAEvD,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,UAAyC,CAAA;IAE1E,IAAI,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACpB,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,IAAA,0BAAU,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QACvD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,8BAAqB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;QACnE,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;QAC1B,MAAM,IAAI,8BAAqB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;IAE1D,MAAM,UAAU,GAAG,IAAA,gCAAa,EAAC,OAAO,CAAC,CAAA;IACzC,MAAM,SAAS,GAAG,IAAA,0CAAkB,EAAC,UAAU,CAAC,CAAA;IAEhD,IAAI,IAAI,GAAQ,IAAI,CAAA;IACpB,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,MAAM;YACjB,MAAM,IAAI,oCAA2B,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;QACnE,IAAI,GAAG,IAAA,4CAAmB,EAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAClD,CAAC;IACD,OAAO,IAAA,qBAAS,EAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;AACrC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/encodeEventTopics.js b/node_modules/viem/_cjs/utils/abi/encodeEventTopics.js new file mode 100644 index 0000000000000000000000000000000000000000..6a305a62caa73469391b1173845b6cf7ea9d8d0a --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/encodeEventTopics.js @@ -0,0 +1,56 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.encodeEventTopics = encodeEventTopics; +const abi_js_1 = require("../../errors/abi.js"); +const log_js_1 = require("../../errors/log.js"); +const toBytes_js_1 = require("../encoding/toBytes.js"); +const keccak256_js_1 = require("../hash/keccak256.js"); +const toEventSelector_js_1 = require("../hash/toEventSelector.js"); +const encodeAbiParameters_js_1 = require("./encodeAbiParameters.js"); +const formatAbiItem_js_1 = require("./formatAbiItem.js"); +const getAbiItem_js_1 = require("./getAbiItem.js"); +const docsPath = '/docs/contract/encodeEventTopics'; +function encodeEventTopics(parameters) { + const { abi, eventName, args } = parameters; + let abiItem = abi[0]; + if (eventName) { + const item = (0, getAbiItem_js_1.getAbiItem)({ abi, name: eventName }); + if (!item) + throw new abi_js_1.AbiEventNotFoundError(eventName, { docsPath }); + abiItem = item; + } + if (abiItem.type !== 'event') + throw new abi_js_1.AbiEventNotFoundError(undefined, { docsPath }); + let topics = []; + if (args && 'inputs' in abiItem) { + const indexedInputs = abiItem.inputs?.filter((param) => 'indexed' in param && param.indexed); + const args_ = Array.isArray(args) + ? args + : Object.values(args).length > 0 + ? (indexedInputs?.map((x) => args[x.name]) ?? []) + : []; + if (args_.length > 0) { + topics = + indexedInputs?.map((param, i) => { + if (Array.isArray(args_[i])) + return args_[i].map((_, j) => encodeArg({ param, value: args_[i][j] })); + return typeof args_[i] !== 'undefined' && args_[i] !== null + ? encodeArg({ param, value: args_[i] }) + : null; + }) ?? []; + } + } + if (abiItem.anonymous) + return topics; + const definition = (0, formatAbiItem_js_1.formatAbiItem)(abiItem); + const signature = (0, toEventSelector_js_1.toEventSelector)(definition); + return [signature, ...topics]; +} +function encodeArg({ param, value, }) { + if (param.type === 'string' || param.type === 'bytes') + return (0, keccak256_js_1.keccak256)((0, toBytes_js_1.toBytes)(value)); + if (param.type === 'tuple' || param.type.match(/^(.*)\[(\d+)?\]$/)) + throw new log_js_1.FilterTypeNotSupportedError(param.type); + return (0, encodeAbiParameters_js_1.encodeAbiParameters)([param], [value]); +} +//# sourceMappingURL=encodeEventTopics.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/encodeEventTopics.js.map b/node_modules/viem/_cjs/utils/abi/encodeEventTopics.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6b54a2f7fb87a3d021ce7d0e9c963c5a7c33597a --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/encodeEventTopics.js.map @@ -0,0 +1 @@ +{"version":3,"file":"encodeEventTopics.js","sourceRoot":"","sources":["../../../utils/abi/encodeEventTopics.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/encodeFunctionData.js b/node_modules/viem/_cjs/utils/abi/encodeFunctionData.js new file mode 100644 index 0000000000000000000000000000000000000000..5e55fcb4a3fb45bbd63eddd69d0741ea797d5d14 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/encodeFunctionData.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.encodeFunctionData = encodeFunctionData; +const concat_js_1 = require("../data/concat.js"); +const encodeAbiParameters_js_1 = require("./encodeAbiParameters.js"); +const prepareEncodeFunctionData_js_1 = require("./prepareEncodeFunctionData.js"); +function encodeFunctionData(parameters) { + const { args } = parameters; + const { abi, functionName } = (() => { + if (parameters.abi.length === 1 && + parameters.functionName?.startsWith('0x')) + return parameters; + return (0, prepareEncodeFunctionData_js_1.prepareEncodeFunctionData)(parameters); + })(); + const abiItem = abi[0]; + const signature = functionName; + const data = 'inputs' in abiItem && abiItem.inputs + ? (0, encodeAbiParameters_js_1.encodeAbiParameters)(abiItem.inputs, args ?? []) + : undefined; + return (0, concat_js_1.concatHex)([signature, data ?? '0x']); +} +//# sourceMappingURL=encodeFunctionData.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/encodeFunctionData.js.map b/node_modules/viem/_cjs/utils/abi/encodeFunctionData.js.map new file mode 100644 index 0000000000000000000000000000000000000000..167629141d62aef1fa3c6b4f01323b90ced6e193 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/encodeFunctionData.js.map @@ -0,0 +1 @@ +{"version":3,"file":"encodeFunctionData.js","sourceRoot":"","sources":["../../../utils/abi/encodeFunctionData.ts"],"names":[],"mappings":";;AAqEA,gDAyBC;AApFD,iDAAsE;AAEtE,qEAGiC;AAGjC,iFAA0E;AAmD1E,SAAgB,kBAAkB,CAIhC,UAA2D;IAE3D,MAAM,EAAE,IAAI,EAAE,GAAG,UAA0C,CAAA;IAE3D,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,CAAC,GAAG,EAAE;QAClC,IACE,UAAU,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC;YAC3B,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC;YAEzC,OAAO,UAA6C,CAAA;QACtD,OAAO,IAAA,wDAAyB,EAAC,UAAU,CAAC,CAAA;IAC9C,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACtB,MAAM,SAAS,GAAG,YAAY,CAAA;IAE9B,MAAM,IAAI,GACR,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM;QACnC,CAAC,CAAC,IAAA,4CAAmB,EAAC,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QACjD,CAAC,CAAC,SAAS,CAAA;IACf,OAAO,IAAA,qBAAS,EAAC,CAAC,SAAS,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAA;AAC7C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/encodeFunctionResult.js b/node_modules/viem/_cjs/utils/abi/encodeFunctionResult.js new file mode 100644 index 0000000000000000000000000000000000000000..bd233215e94c29d5d479dae77900177134fbe716 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/encodeFunctionResult.js @@ -0,0 +1,32 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.encodeFunctionResult = encodeFunctionResult; +const abi_js_1 = require("../../errors/abi.js"); +const encodeAbiParameters_js_1 = require("./encodeAbiParameters.js"); +const getAbiItem_js_1 = require("./getAbiItem.js"); +const docsPath = '/docs/contract/encodeFunctionResult'; +function encodeFunctionResult(parameters) { + const { abi, functionName, result } = parameters; + let abiItem = abi[0]; + if (functionName) { + const item = (0, getAbiItem_js_1.getAbiItem)({ abi, name: functionName }); + if (!item) + throw new abi_js_1.AbiFunctionNotFoundError(functionName, { docsPath }); + abiItem = item; + } + if (abiItem.type !== 'function') + throw new abi_js_1.AbiFunctionNotFoundError(undefined, { docsPath }); + if (!abiItem.outputs) + throw new abi_js_1.AbiFunctionOutputsNotFoundError(abiItem.name, { docsPath }); + const values = (() => { + if (abiItem.outputs.length === 0) + return []; + if (abiItem.outputs.length === 1) + return [result]; + if (Array.isArray(result)) + return result; + throw new abi_js_1.InvalidArrayError(result); + })(); + return (0, encodeAbiParameters_js_1.encodeAbiParameters)(abiItem.outputs, values); +} +//# sourceMappingURL=encodeFunctionResult.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/encodeFunctionResult.js.map b/node_modules/viem/_cjs/utils/abi/encodeFunctionResult.js.map new file mode 100644 index 0000000000000000000000000000000000000000..fc7a68cba3104a891cc63b704a83c15937b4cb9b --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/encodeFunctionResult.js.map @@ -0,0 +1 @@ +{"version":3,"file":"encodeFunctionResult.js","sourceRoot":"","sources":["../../../utils/abi/encodeFunctionResult.ts"],"names":[],"mappings":";;AAkEA,oDA8BC;AA9FD,gDAI4B;AAQ5B,qEAGiC;AACjC,mDAAsE;AAEtE,MAAM,QAAQ,GAAG,qCAAqC,CAAA;AA8CtD,SAAgB,oBAAoB,CAIlC,UAA6D;IAE7D,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,GACjC,UAA4C,CAAA;IAE9C,IAAI,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACpB,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,IAAA,0BAAU,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,iCAAwB,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;QACzE,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU;QAC7B,MAAM,IAAI,iCAAwB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;IAE7D,IAAI,CAAC,OAAO,CAAC,OAAO;QAClB,MAAM,IAAI,wCAA+B,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;IAEvE,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;QACnB,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAC3C,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACjD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAA;QACxC,MAAM,IAAI,0BAAiB,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,IAAA,4CAAmB,EAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;AACrD,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/encodePacked.js b/node_modules/viem/_cjs/utils/abi/encodePacked.js new file mode 100644 index 0000000000000000000000000000000000000000..2eb912aba525e08cda599ea84603ee5157f499b0 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/encodePacked.js @@ -0,0 +1,72 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.encodePacked = encodePacked; +const abi_js_1 = require("../../errors/abi.js"); +const address_js_1 = require("../../errors/address.js"); +const isAddress_js_1 = require("../address/isAddress.js"); +const concat_js_1 = require("../data/concat.js"); +const pad_js_1 = require("../data/pad.js"); +const toHex_js_1 = require("../encoding/toHex.js"); +const regex_js_1 = require("../regex.js"); +function encodePacked(types, values) { + if (types.length !== values.length) + throw new abi_js_1.AbiEncodingLengthMismatchError({ + expectedLength: types.length, + givenLength: values.length, + }); + const data = []; + for (let i = 0; i < types.length; i++) { + const type = types[i]; + const value = values[i]; + data.push(encode(type, value)); + } + return (0, concat_js_1.concatHex)(data); +} +function encode(type, value, isArray = false) { + if (type === 'address') { + const address = value; + if (!(0, isAddress_js_1.isAddress)(address)) + throw new address_js_1.InvalidAddressError({ address }); + return (0, pad_js_1.pad)(address.toLowerCase(), { + size: isArray ? 32 : null, + }); + } + if (type === 'string') + return (0, toHex_js_1.stringToHex)(value); + if (type === 'bytes') + return value; + if (type === 'bool') + return (0, pad_js_1.pad)((0, toHex_js_1.boolToHex)(value), { size: isArray ? 32 : 1 }); + const intMatch = type.match(regex_js_1.integerRegex); + if (intMatch) { + const [_type, baseType, bits = '256'] = intMatch; + const size = Number.parseInt(bits, 10) / 8; + return (0, toHex_js_1.numberToHex)(value, { + size: isArray ? 32 : size, + signed: baseType === 'int', + }); + } + const bytesMatch = type.match(regex_js_1.bytesRegex); + if (bytesMatch) { + const [_type, size] = bytesMatch; + if (Number.parseInt(size, 10) !== (value.length - 2) / 2) + throw new abi_js_1.BytesSizeMismatchError({ + expectedSize: Number.parseInt(size, 10), + givenSize: (value.length - 2) / 2, + }); + return (0, pad_js_1.pad)(value, { dir: 'right', size: isArray ? 32 : null }); + } + const arrayMatch = type.match(regex_js_1.arrayRegex); + if (arrayMatch && Array.isArray(value)) { + const [_type, childType] = arrayMatch; + const data = []; + for (let i = 0; i < value.length; i++) { + data.push(encode(childType, value[i], true)); + } + if (data.length === 0) + return '0x'; + return (0, concat_js_1.concatHex)(data); + } + throw new abi_js_1.UnsupportedPackedAbiType(type); +} +//# sourceMappingURL=encodePacked.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/encodePacked.js.map b/node_modules/viem/_cjs/utils/abi/encodePacked.js.map new file mode 100644 index 0000000000000000000000000000000000000000..1be955fcde8b00a1cde3552e9d9ad1ab446e6358 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/encodePacked.js.map @@ -0,0 +1 @@ +{"version":3,"file":"encodePacked.js","sourceRoot":"","sources":["../../../utils/abi/encodePacked.ts"],"names":[],"mappings":";;AA4DA,oCAgBC;AAhED,gDAM4B;AAC5B,wDAGgC;AAGhC,0DAA4E;AAC5E,iDAAsE;AACtE,2CAAuD;AACvD,mDAO6B;AAC7B,0CAAkE;AAwBlE,SAAgB,YAAY,CAE1B,KAAqB,EAAE,MAA0C;IACjE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;QAChC,MAAM,IAAI,uCAA8B,CAAC;YACvC,cAAc,EAAE,KAAK,CAAC,MAAgB;YACtC,WAAW,EAAE,MAAM,CAAC,MAAgB;SACrC,CAAC,CAAA;IAEJ,MAAM,IAAI,GAAU,EAAE,CAAA;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAI,KAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,IAAA,qBAAS,EAAC,IAAI,CAAC,CAAA;AACxB,CAAC;AAaD,SAAS,MAAM,CACb,IAAmB,EACnB,KAA6C,EAC7C,OAAO,GAAG,KAAK;IAEf,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,KAAgB,CAAA;QAChC,IAAI,CAAC,IAAA,wBAAS,EAAC,OAAO,CAAC;YAAE,MAAM,IAAI,gCAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QACnE,OAAO,IAAA,YAAG,EAAC,OAAO,CAAC,WAAW,EAAS,EAAE;YACvC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;SAC1B,CAAY,CAAA;IACf,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAA,sBAAW,EAAC,KAAe,CAAC,CAAA;IAC1D,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,KAAY,CAAA;IACzC,IAAI,IAAI,KAAK,MAAM;QACjB,OAAO,IAAA,YAAG,EAAC,IAAA,oBAAS,EAAC,KAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAErE,MAAM,QAAQ,GAAI,IAAe,CAAC,KAAK,CAAC,uBAAY,CAAC,CAAA;IACrD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAA;QAChD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;QAC1C,OAAO,IAAA,sBAAW,EAAC,KAAe,EAAE;YAClC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YACzB,MAAM,EAAE,QAAQ,KAAK,KAAK;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,UAAU,GAAI,IAAe,CAAC,KAAK,CAAC,qBAAU,CAAC,CAAA;IACrD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,UAAU,CAAA;QAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAE,KAAa,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC;YAC/D,MAAM,IAAI,+BAAsB,CAAC;gBAC/B,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACvC,SAAS,EAAE,CAAE,KAAa,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC;aAC3C,CAAC,CAAA;QACJ,OAAO,IAAA,YAAG,EAAC,KAAY,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAQ,CAAA;IAC9E,CAAC;IAED,MAAM,UAAU,GAAI,IAAe,CAAC,KAAK,CAAC,qBAAU,CAAC,CAAA;IACrD,IAAI,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,UAAU,CAAA;QACrC,MAAM,IAAI,GAAU,EAAE,CAAA;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;QAC9C,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAClC,OAAO,IAAA,qBAAS,EAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED,MAAM,IAAI,iCAAwB,CAAC,IAAI,CAAC,CAAA;AAC1C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/formatAbiItem.js b/node_modules/viem/_cjs/utils/abi/formatAbiItem.js new file mode 100644 index 0000000000000000000000000000000000000000..cd24c62977bd4e068ce60fd7b24b2c4f9fdc6aff --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/formatAbiItem.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.formatAbiItem = formatAbiItem; +exports.formatAbiParams = formatAbiParams; +const abi_js_1 = require("../../errors/abi.js"); +function formatAbiItem(abiItem, { includeName = false } = {}) { + if (abiItem.type !== 'function' && + abiItem.type !== 'event' && + abiItem.type !== 'error') + throw new abi_js_1.InvalidDefinitionTypeError(abiItem.type); + return `${abiItem.name}(${formatAbiParams(abiItem.inputs, { includeName })})`; +} +function formatAbiParams(params, { includeName = false } = {}) { + if (!params) + return ''; + return params + .map((param) => formatAbiParam(param, { includeName })) + .join(includeName ? ', ' : ','); +} +function formatAbiParam(param, { includeName }) { + if (param.type.startsWith('tuple')) { + return `(${formatAbiParams(param.components, { includeName })})${param.type.slice('tuple'.length)}`; + } + return param.type + (includeName && param.name ? ` ${param.name}` : ''); +} +//# sourceMappingURL=formatAbiItem.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/formatAbiItem.js.map b/node_modules/viem/_cjs/utils/abi/formatAbiItem.js.map new file mode 100644 index 0000000000000000000000000000000000000000..323cea7113a41a38a3e921c1e48eef6f1b3f38c2 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/formatAbiItem.js.map @@ -0,0 +1 @@ +{"version":3,"file":"formatAbiItem.js","sourceRoot":"","sources":["../../../utils/abi/formatAbiItem.ts"],"names":[],"mappings":";;AAcA,sCAYC;AAID,0CAQC;AApCD,gDAG4B;AAS5B,SAAgB,aAAa,CAC3B,OAAgB,EAChB,EAAE,WAAW,GAAG,KAAK,KAA4C,EAAE;IAEnE,IACE,OAAO,CAAC,IAAI,KAAK,UAAU;QAC3B,OAAO,CAAC,IAAI,KAAK,OAAO;QACxB,OAAO,CAAC,IAAI,KAAK,OAAO;QAExB,MAAM,IAAI,mCAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAEpD,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,GAAG,CAAA;AAC/E,CAAC;AAID,SAAgB,eAAe,CAC7B,MAA2C,EAC3C,EAAE,WAAW,GAAG,KAAK,KAA4C,EAAE;IAEnE,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IACtB,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;SACtD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AACnC,CAAC;AAID,SAAS,cAAc,CACrB,KAAmB,EACnB,EAAE,WAAW,EAA4B;IAEzC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,eAAe,CACvB,KAAmD,CAAC,UAAU,EAC/D,EAAE,WAAW,EAAE,CAChB,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAA;IACzC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AACzE,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/formatAbiItemWithArgs.js b/node_modules/viem/_cjs/utils/abi/formatAbiItemWithArgs.js new file mode 100644 index 0000000000000000000000000000000000000000..eeea9e144dc8e49381abf45f3d73a6138b52669b --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/formatAbiItemWithArgs.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.formatAbiItemWithArgs = formatAbiItemWithArgs; +const stringify_js_1 = require("../stringify.js"); +function formatAbiItemWithArgs({ abiItem, args, includeFunctionName = true, includeName = false, }) { + if (!('name' in abiItem)) + return; + if (!('inputs' in abiItem)) + return; + if (!abiItem.inputs) + return; + return `${includeFunctionName ? abiItem.name : ''}(${abiItem.inputs + .map((input, i) => `${includeName && input.name ? `${input.name}: ` : ''}${typeof args[i] === 'object' ? (0, stringify_js_1.stringify)(args[i]) : args[i]}`) + .join(', ')})`; +} +//# sourceMappingURL=formatAbiItemWithArgs.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/formatAbiItemWithArgs.js.map b/node_modules/viem/_cjs/utils/abi/formatAbiItemWithArgs.js.map new file mode 100644 index 0000000000000000000000000000000000000000..0f0fc207754443175cfd58b74d51849edf9241c5 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/formatAbiItemWithArgs.js.map @@ -0,0 +1 @@ +{"version":3,"file":"formatAbiItemWithArgs.js","sourceRoot":"","sources":["../../../utils/abi/formatAbiItemWithArgs.ts"],"names":[],"mappings":";;AAQA,sDAsBC;AA1BD,kDAA2C;AAI3C,SAAgB,qBAAqB,CAAC,EACpC,OAAO,EACP,IAAI,EACJ,mBAAmB,GAAG,IAAI,EAC1B,WAAW,GAAG,KAAK,GAMpB;IACC,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC;QAAE,OAAM;IAChC,IAAI,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC;QAAE,OAAM;IAClC,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAM;IAC3B,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,MAAM;SAChE,GAAG,CACF,CAAC,KAAmB,EAAE,CAAS,EAAE,EAAE,CACjC,GAAG,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,GACnD,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,wBAAS,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAC3D,EAAE,CACL;SACA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;AAClB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/getAbiItem.js b/node_modules/viem/_cjs/utils/abi/getAbiItem.js new file mode 100644 index 0000000000000000000000000000000000000000..ff1c03402a7d2b6d26ccc620a56b722cb04e58ed --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/getAbiItem.js @@ -0,0 +1,127 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getAbiItem = getAbiItem; +exports.isArgOfType = isArgOfType; +exports.getAmbiguousTypes = getAmbiguousTypes; +const abi_js_1 = require("../../errors/abi.js"); +const isHex_js_1 = require("../../utils/data/isHex.js"); +const isAddress_js_1 = require("../address/isAddress.js"); +const toEventSelector_js_1 = require("../hash/toEventSelector.js"); +const toFunctionSelector_js_1 = require("../hash/toFunctionSelector.js"); +function getAbiItem(parameters) { + const { abi, args = [], name } = parameters; + const isSelector = (0, isHex_js_1.isHex)(name, { strict: false }); + const abiItems = abi.filter((abiItem) => { + if (isSelector) { + if (abiItem.type === 'function') + return (0, toFunctionSelector_js_1.toFunctionSelector)(abiItem) === name; + if (abiItem.type === 'event') + return (0, toEventSelector_js_1.toEventSelector)(abiItem) === name; + return false; + } + return 'name' in abiItem && abiItem.name === name; + }); + if (abiItems.length === 0) + return undefined; + if (abiItems.length === 1) + return abiItems[0]; + let matchedAbiItem; + for (const abiItem of abiItems) { + if (!('inputs' in abiItem)) + continue; + if (!args || args.length === 0) { + if (!abiItem.inputs || abiItem.inputs.length === 0) + return abiItem; + continue; + } + if (!abiItem.inputs) + continue; + if (abiItem.inputs.length === 0) + continue; + if (abiItem.inputs.length !== args.length) + continue; + const matched = args.every((arg, index) => { + const abiParameter = 'inputs' in abiItem && abiItem.inputs[index]; + if (!abiParameter) + return false; + return isArgOfType(arg, abiParameter); + }); + if (matched) { + if (matchedAbiItem && + 'inputs' in matchedAbiItem && + matchedAbiItem.inputs) { + const ambiguousTypes = getAmbiguousTypes(abiItem.inputs, matchedAbiItem.inputs, args); + if (ambiguousTypes) + throw new abi_js_1.AbiItemAmbiguityError({ + abiItem, + type: ambiguousTypes[0], + }, { + abiItem: matchedAbiItem, + type: ambiguousTypes[1], + }); + } + matchedAbiItem = abiItem; + } + } + if (matchedAbiItem) + return matchedAbiItem; + return abiItems[0]; +} +function isArgOfType(arg, abiParameter) { + const argType = typeof arg; + const abiParameterType = abiParameter.type; + switch (abiParameterType) { + case 'address': + return (0, isAddress_js_1.isAddress)(arg, { strict: false }); + case 'bool': + return argType === 'boolean'; + case 'function': + return argType === 'string'; + case 'string': + return argType === 'string'; + default: { + if (abiParameterType === 'tuple' && 'components' in abiParameter) + return Object.values(abiParameter.components).every((component, index) => { + return (argType === 'object' && + isArgOfType(Object.values(arg)[index], component)); + }); + if (/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(abiParameterType)) + return argType === 'number' || argType === 'bigint'; + if (/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(abiParameterType)) + return argType === 'string' || arg instanceof Uint8Array; + if (/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(abiParameterType)) { + return (Array.isArray(arg) && + arg.every((x) => isArgOfType(x, { + ...abiParameter, + type: abiParameterType.replace(/(\[[0-9]{0,}\])$/, ''), + }))); + } + return false; + } + } +} +function getAmbiguousTypes(sourceParameters, targetParameters, args) { + for (const parameterIndex in sourceParameters) { + const sourceParameter = sourceParameters[parameterIndex]; + const targetParameter = targetParameters[parameterIndex]; + if (sourceParameter.type === 'tuple' && + targetParameter.type === 'tuple' && + 'components' in sourceParameter && + 'components' in targetParameter) + return getAmbiguousTypes(sourceParameter.components, targetParameter.components, args[parameterIndex]); + const types = [sourceParameter.type, targetParameter.type]; + const ambiguous = (() => { + if (types.includes('address') && types.includes('bytes20')) + return true; + if (types.includes('address') && types.includes('string')) + return (0, isAddress_js_1.isAddress)(args[parameterIndex], { strict: false }); + if (types.includes('address') && types.includes('bytes')) + return (0, isAddress_js_1.isAddress)(args[parameterIndex], { strict: false }); + return false; + })(); + if (ambiguous) + return types; + } + return; +} +//# sourceMappingURL=getAbiItem.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/getAbiItem.js.map b/node_modules/viem/_cjs/utils/abi/getAbiItem.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b2bc859714aa977e8ce6b751331011cdc95e8629 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/getAbiItem.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getAbiItem.js","sourceRoot":"","sources":["../../../utils/abi/getAbiItem.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/parseEventLogs.js b/node_modules/viem/_cjs/utils/abi/parseEventLogs.js new file mode 100644 index 0000000000000000000000000000000000000000..b4966f927640d4d4b81aa3a21fcb83cd02892a79 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/parseEventLogs.js @@ -0,0 +1,123 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseEventLogs = parseEventLogs; +const isAddressEqual_js_1 = require("../address/isAddressEqual.js"); +const toBytes_js_1 = require("../encoding/toBytes.js"); +const log_js_1 = require("../formatters/log.js"); +const keccak256_js_1 = require("../hash/keccak256.js"); +const toEventSelector_js_1 = require("../hash/toEventSelector.js"); +const decodeEventLog_js_1 = require("./decodeEventLog.js"); +function parseEventLogs(parameters) { + const { abi, args, logs, strict = true } = parameters; + const eventName = (() => { + if (!parameters.eventName) + return undefined; + if (Array.isArray(parameters.eventName)) + return parameters.eventName; + return [parameters.eventName]; + })(); + const abiTopics = abi + .filter((abiItem) => abiItem.type === 'event') + .map((abiItem) => ({ + abi: abiItem, + selector: (0, toEventSelector_js_1.toEventSelector)(abiItem), + })); + return logs + .map((log) => { + const formattedLog = typeof log.blockNumber === 'string' ? (0, log_js_1.formatLog)(log) : log; + const abiItems = abiTopics.filter((abiTopic) => formattedLog.topics[0] === abiTopic.selector); + if (abiItems.length === 0) + return null; + let event; + let abiItem; + for (const item of abiItems) { + try { + event = (0, decodeEventLog_js_1.decodeEventLog)({ + ...formattedLog, + abi: [item.abi], + strict: true, + }); + abiItem = item; + break; + } + catch { + } + } + if (!event && !strict) { + abiItem = abiItems[0]; + try { + event = (0, decodeEventLog_js_1.decodeEventLog)({ + data: formattedLog.data, + topics: formattedLog.topics, + abi: [abiItem.abi], + strict: false, + }); + } + catch { + const isUnnamed = abiItem.abi.inputs?.some((x) => !('name' in x && x.name)); + return { + ...formattedLog, + args: isUnnamed ? [] : {}, + eventName: abiItem.abi.name, + }; + } + } + if (!event || !abiItem) + return null; + if (eventName && !eventName.includes(event.eventName)) + return null; + if (!includesArgs({ + args: event.args, + inputs: abiItem.abi.inputs, + matchArgs: args, + })) + return null; + return { ...event, ...formattedLog }; + }) + .filter(Boolean); +} +function includesArgs(parameters) { + const { args, inputs, matchArgs } = parameters; + if (!matchArgs) + return true; + if (!args) + return false; + function isEqual(input, value, arg) { + try { + if (input.type === 'address') + return (0, isAddressEqual_js_1.isAddressEqual)(value, arg); + if (input.type === 'string' || input.type === 'bytes') + return (0, keccak256_js_1.keccak256)((0, toBytes_js_1.toBytes)(value)) === arg; + return value === arg; + } + catch { + return false; + } + } + if (Array.isArray(args) && Array.isArray(matchArgs)) { + return matchArgs.every((value, index) => { + if (value === null || value === undefined) + return true; + const input = inputs[index]; + if (!input) + return false; + const value_ = Array.isArray(value) ? value : [value]; + return value_.some((value) => isEqual(input, value, args[index])); + }); + } + if (typeof args === 'object' && + !Array.isArray(args) && + typeof matchArgs === 'object' && + !Array.isArray(matchArgs)) + return Object.entries(matchArgs).every(([key, value]) => { + if (value === null || value === undefined) + return true; + const input = inputs.find((input) => input.name === key); + if (!input) + return false; + const value_ = Array.isArray(value) ? value : [value]; + return value_.some((value) => isEqual(input, value, args[key])); + }); + return false; +} +//# sourceMappingURL=parseEventLogs.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/parseEventLogs.js.map b/node_modules/viem/_cjs/utils/abi/parseEventLogs.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e5d570316516dcbb0963aec4ff18f810b174a309 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/parseEventLogs.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parseEventLogs.js","sourceRoot":"","sources":["../../../utils/abi/parseEventLogs.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/prepareEncodeFunctionData.js b/node_modules/viem/_cjs/utils/abi/prepareEncodeFunctionData.js new file mode 100644 index 0000000000000000000000000000000000000000..f9846e3c6f37dde0eae553f9d0c094a3692ff2a0 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/prepareEncodeFunctionData.js @@ -0,0 +1,29 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.prepareEncodeFunctionData = prepareEncodeFunctionData; +const abi_js_1 = require("../../errors/abi.js"); +const toFunctionSelector_js_1 = require("../hash/toFunctionSelector.js"); +const formatAbiItem_js_1 = require("./formatAbiItem.js"); +const getAbiItem_js_1 = require("./getAbiItem.js"); +const docsPath = '/docs/contract/encodeFunctionData'; +function prepareEncodeFunctionData(parameters) { + const { abi, args, functionName } = parameters; + let abiItem = abi[0]; + if (functionName) { + const item = (0, getAbiItem_js_1.getAbiItem)({ + abi, + args, + name: functionName, + }); + if (!item) + throw new abi_js_1.AbiFunctionNotFoundError(functionName, { docsPath }); + abiItem = item; + } + if (abiItem.type !== 'function') + throw new abi_js_1.AbiFunctionNotFoundError(undefined, { docsPath }); + return { + abi: [abiItem], + functionName: (0, toFunctionSelector_js_1.toFunctionSelector)((0, formatAbiItem_js_1.formatAbiItem)(abiItem)), + }; +} +//# sourceMappingURL=prepareEncodeFunctionData.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/abi/prepareEncodeFunctionData.js.map b/node_modules/viem/_cjs/utils/abi/prepareEncodeFunctionData.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7f2fda925af2aaa187c8045c2c0f97b8acd28603 --- /dev/null +++ b/node_modules/viem/_cjs/utils/abi/prepareEncodeFunctionData.js.map @@ -0,0 +1 @@ +{"version":3,"file":"prepareEncodeFunctionData.js","sourceRoot":"","sources":["../../../utils/abi/prepareEncodeFunctionData.ts"],"names":[],"mappings":";;AAmFA,8DA2BC;AAvGD,gDAG4B;AAS5B,yEAGsC;AACtC,yDAA+E;AAC/E,mDAAsE;AAEtE,MAAM,QAAQ,GAAG,mCAAmC,CAAA;AAyDpD,SAAgB,yBAAyB,CAIvC,UAAkE;IAElE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,GAC/B,UAAiD,CAAA;IAEnD,IAAI,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACpB,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,IAAA,0BAAU,EAAC;YACtB,GAAG;YACH,IAAI;YACJ,IAAI,EAAE,YAAY;SACnB,CAAC,CAAA;QACF,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,iCAAwB,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;QACzE,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU;QAC7B,MAAM,IAAI,iCAAwB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;IAE7D,OAAO;QACL,GAAG,EAAE,CAAC,OAAO,CAAC;QACd,YAAY,EAAE,IAAA,0CAAkB,EAAC,IAAA,gCAAa,EAAC,OAAO,CAAC,CAAC;KACY,CAAA;AACxE,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/address/getAddress.js b/node_modules/viem/_cjs/utils/address/getAddress.js new file mode 100644 index 0000000000000000000000000000000000000000..ec23b6f5096715c75a4ad4f0bd221ab5634589cb --- /dev/null +++ b/node_modules/viem/_cjs/utils/address/getAddress.js @@ -0,0 +1,36 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.checksumAddress = checksumAddress; +exports.getAddress = getAddress; +const address_js_1 = require("../../errors/address.js"); +const toBytes_js_1 = require("../encoding/toBytes.js"); +const keccak256_js_1 = require("../hash/keccak256.js"); +const lru_js_1 = require("../lru.js"); +const isAddress_js_1 = require("./isAddress.js"); +const checksumAddressCache = new lru_js_1.LruMap(8192); +function checksumAddress(address_, chainId) { + if (checksumAddressCache.has(`${address_}.${chainId}`)) + return checksumAddressCache.get(`${address_}.${chainId}`); + const hexAddress = chainId + ? `${chainId}${address_.toLowerCase()}` + : address_.substring(2).toLowerCase(); + const hash = (0, keccak256_js_1.keccak256)((0, toBytes_js_1.stringToBytes)(hexAddress), 'bytes'); + const address = (chainId ? hexAddress.substring(`${chainId}0x`.length) : hexAddress).split(''); + for (let i = 0; i < 40; i += 2) { + if (hash[i >> 1] >> 4 >= 8 && address[i]) { + address[i] = address[i].toUpperCase(); + } + if ((hash[i >> 1] & 0x0f) >= 8 && address[i + 1]) { + address[i + 1] = address[i + 1].toUpperCase(); + } + } + const result = `0x${address.join('')}`; + checksumAddressCache.set(`${address_}.${chainId}`, result); + return result; +} +function getAddress(address, chainId) { + if (!(0, isAddress_js_1.isAddress)(address, { strict: false })) + throw new address_js_1.InvalidAddressError({ address }); + return checksumAddress(address, chainId); +} +//# sourceMappingURL=getAddress.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/address/getAddress.js.map b/node_modules/viem/_cjs/utils/address/getAddress.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d1511a19b82c4e32d657fb877d6e6a9ac9afa4b4 --- /dev/null +++ b/node_modules/viem/_cjs/utils/address/getAddress.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../../utils/address/getAddress.ts"],"names":[],"mappings":";;AAmBA,0CAqCC;AAOD,gCAiBC;AA9ED,wDAA6D;AAE7D,uDAG+B;AAC/B,uDAAyE;AACzE,sCAAkC;AAClC,iDAAmE;AAEnE,MAAM,oBAAoB,GAAiB,IAAI,eAAM,CAAU,IAAI,CAAC,CAAA;AAOpE,SAAgB,eAAe,CAC7B,QAAiB,EAWjB,OAA4B;IAE5B,IAAI,oBAAoB,CAAC,GAAG,CAAC,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAC;QACpD,OAAO,oBAAoB,CAAC,GAAG,CAAC,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAE,CAAA;IAE5D,MAAM,UAAU,GAAG,OAAO;QACxB,CAAC,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE;QACvC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACvC,MAAM,IAAI,GAAG,IAAA,wBAAS,EAAC,IAAA,0BAAa,EAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAA;IAE1D,MAAM,OAAO,GAAG,CACd,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CACnE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QACvC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QAC/C,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAW,CAAA;IAC/C,oBAAoB,CAAC,GAAG,CAAC,GAAG,QAAQ,IAAI,OAAO,EAAE,EAAE,MAAM,CAAC,CAAA;IAC1D,OAAO,MAAM,CAAA;AACf,CAAC;AAOD,SAAgB,UAAU,CACxB,OAAe,EAWf,OAAgB;IAEhB,IAAI,CAAC,IAAA,wBAAS,EAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACxC,MAAM,IAAI,gCAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAC5C,OAAO,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAC1C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/address/getContractAddress.js b/node_modules/viem/_cjs/utils/address/getContractAddress.js new file mode 100644 index 0000000000000000000000000000000000000000..9d1fd7e3f985d36a4890a237f23f4f8fa97e7fdf --- /dev/null +++ b/node_modules/viem/_cjs/utils/address/getContractAddress.js @@ -0,0 +1,41 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getContractAddress = getContractAddress; +exports.getCreateAddress = getCreateAddress; +exports.getCreate2Address = getCreate2Address; +const concat_js_1 = require("../data/concat.js"); +const isBytes_js_1 = require("../data/isBytes.js"); +const pad_js_1 = require("../data/pad.js"); +const slice_js_1 = require("../data/slice.js"); +const toBytes_js_1 = require("../encoding/toBytes.js"); +const toRlp_js_1 = require("../encoding/toRlp.js"); +const keccak256_js_1 = require("../hash/keccak256.js"); +const getAddress_js_1 = require("./getAddress.js"); +function getContractAddress(opts) { + if (opts.opcode === 'CREATE2') + return getCreate2Address(opts); + return getCreateAddress(opts); +} +function getCreateAddress(opts) { + const from = (0, toBytes_js_1.toBytes)((0, getAddress_js_1.getAddress)(opts.from)); + let nonce = (0, toBytes_js_1.toBytes)(opts.nonce); + if (nonce[0] === 0) + nonce = new Uint8Array([]); + return (0, getAddress_js_1.getAddress)(`0x${(0, keccak256_js_1.keccak256)((0, toRlp_js_1.toRlp)([from, nonce], 'bytes')).slice(26)}`); +} +function getCreate2Address(opts) { + const from = (0, toBytes_js_1.toBytes)((0, getAddress_js_1.getAddress)(opts.from)); + const salt = (0, pad_js_1.pad)((0, isBytes_js_1.isBytes)(opts.salt) ? opts.salt : (0, toBytes_js_1.toBytes)(opts.salt), { + size: 32, + }); + const bytecodeHash = (() => { + if ('bytecodeHash' in opts) { + if ((0, isBytes_js_1.isBytes)(opts.bytecodeHash)) + return opts.bytecodeHash; + return (0, toBytes_js_1.toBytes)(opts.bytecodeHash); + } + return (0, keccak256_js_1.keccak256)(opts.bytecode, 'bytes'); + })(); + return (0, getAddress_js_1.getAddress)((0, slice_js_1.slice)((0, keccak256_js_1.keccak256)((0, concat_js_1.concat)([(0, toBytes_js_1.toBytes)('0xff'), from, salt, bytecodeHash])), 12)); +} +//# sourceMappingURL=getContractAddress.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/address/getContractAddress.js.map b/node_modules/viem/_cjs/utils/address/getContractAddress.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6b1c6395c8ec3f93cdf01e88b74229455365496f --- /dev/null +++ b/node_modules/viem/_cjs/utils/address/getContractAddress.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getContractAddress.js","sourceRoot":"","sources":["../../../utils/address/getContractAddress.ts"],"names":[],"mappings":";;AAmCA,gDAGC;AASD,4CASC;AAaD,8CAiBC;AAnFD,iDAAgE;AAChE,mDAAmE;AACnE,2CAAuD;AACvD,+CAA6D;AAC7D,uDAAuE;AACvE,mDAAiE;AACjE,uDAAyE;AACzE,mDAAsE;AAyBtE,SAAgB,kBAAkB,CAAC,IAA+B;IAChE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAC7D,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC;AASD,SAAgB,gBAAgB,CAAC,IAA6B;IAC5D,MAAM,IAAI,GAAG,IAAA,oBAAO,EAAC,IAAA,0BAAU,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAE3C,IAAI,KAAK,GAAG,IAAA,oBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/B,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;IAE9C,OAAO,IAAA,0BAAU,EACf,KAAK,IAAA,wBAAS,EAAC,IAAA,gBAAK,EAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAa,CACrE,CAAA;AACH,CAAC;AAaD,SAAgB,iBAAiB,CAAC,IAA8B;IAC9D,MAAM,IAAI,GAAG,IAAA,oBAAO,EAAC,IAAA,0BAAU,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC3C,MAAM,IAAI,GAAG,IAAA,YAAG,EAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACpE,IAAI,EAAE,EAAE;KACT,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;QACzB,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,IAAA,oBAAO,EAAC,IAAI,CAAC,YAAY,CAAC;gBAAE,OAAO,IAAI,CAAC,YAAY,CAAA;YACxD,OAAO,IAAA,oBAAO,EAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACnC,CAAC;QACD,OAAO,IAAA,wBAAS,EAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,IAAA,0BAAU,EACf,IAAA,gBAAK,EAAC,IAAA,wBAAS,EAAC,IAAA,kBAAM,EAAC,CAAC,IAAA,oBAAO,EAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC1E,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/address/isAddress.js b/node_modules/viem/_cjs/utils/address/isAddress.js new file mode 100644 index 0000000000000000000000000000000000000000..157cbb8999fb879cec977231f70420f29f375daf --- /dev/null +++ b/node_modules/viem/_cjs/utils/address/isAddress.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isAddressCache = void 0; +exports.isAddress = isAddress; +const lru_js_1 = require("../lru.js"); +const getAddress_js_1 = require("./getAddress.js"); +const addressRegex = /^0x[a-fA-F0-9]{40}$/; +exports.isAddressCache = new lru_js_1.LruMap(8192); +function isAddress(address, options) { + const { strict = true } = options ?? {}; + const cacheKey = `${address}.${strict}`; + if (exports.isAddressCache.has(cacheKey)) + return exports.isAddressCache.get(cacheKey); + const result = (() => { + if (!addressRegex.test(address)) + return false; + if (address.toLowerCase() === address) + return true; + if (strict) + return (0, getAddress_js_1.checksumAddress)(address) === address; + return true; + })(); + exports.isAddressCache.set(cacheKey, result); + return result; +} +//# sourceMappingURL=isAddress.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/address/isAddress.js.map b/node_modules/viem/_cjs/utils/address/isAddress.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8764f821084d92b8f5aa66ea34a676e67d1fcba8 --- /dev/null +++ b/node_modules/viem/_cjs/utils/address/isAddress.js.map @@ -0,0 +1 @@ +{"version":3,"file":"isAddress.js","sourceRoot":"","sources":["../../../utils/address/isAddress.ts"],"names":[],"mappings":";;;AAqBA,8BAiBC;AApCD,sCAAkC;AAClC,mDAAiD;AAEjD,MAAM,YAAY,GAAG,qBAAqB,CAAA;AAG7B,QAAA,cAAc,GAAiB,IAAI,eAAM,CAAU,IAAI,CAAC,CAAA;AAarE,SAAgB,SAAS,CACvB,OAAe,EACf,OAAsC;IAEtC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;IACvC,MAAM,QAAQ,GAAG,GAAG,OAAO,IAAI,MAAM,EAAE,CAAA;IAEvC,IAAI,sBAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,sBAAc,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAA;IAEtE,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAA;QAC7C,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO;YAAE,OAAO,IAAI,CAAA;QAClD,IAAI,MAAM;YAAE,OAAO,IAAA,+BAAe,EAAC,OAAkB,CAAC,KAAK,OAAO,CAAA;QAClE,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,EAAE,CAAA;IACJ,sBAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACpC,OAAO,MAAM,CAAA;AACf,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/address/isAddressEqual.js b/node_modules/viem/_cjs/utils/address/isAddressEqual.js new file mode 100644 index 0000000000000000000000000000000000000000..25d5c8dee639b0ba6d267d9248926718faddb38a --- /dev/null +++ b/node_modules/viem/_cjs/utils/address/isAddressEqual.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isAddressEqual = isAddressEqual; +const address_js_1 = require("../../errors/address.js"); +const isAddress_js_1 = require("./isAddress.js"); +function isAddressEqual(a, b) { + if (!(0, isAddress_js_1.isAddress)(a, { strict: false })) + throw new address_js_1.InvalidAddressError({ address: a }); + if (!(0, isAddress_js_1.isAddress)(b, { strict: false })) + throw new address_js_1.InvalidAddressError({ address: b }); + return a.toLowerCase() === b.toLowerCase(); +} +//# sourceMappingURL=isAddressEqual.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/address/isAddressEqual.js.map b/node_modules/viem/_cjs/utils/address/isAddressEqual.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d195e4a84ce8bcc8d0c02ee258d7b542c30ff6b4 --- /dev/null +++ b/node_modules/viem/_cjs/utils/address/isAddressEqual.js.map @@ -0,0 +1 @@ +{"version":3,"file":"isAddressEqual.js","sourceRoot":"","sources":["../../../utils/address/isAddressEqual.ts"],"names":[],"mappings":";;AAYA,wCAMC;AAhBD,wDAGgC;AAEhC,iDAA0C;AAK1C,SAAgB,cAAc,CAAC,CAAU,EAAE,CAAU;IACnD,IAAI,CAAC,IAAA,wBAAS,EAAC,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAClC,MAAM,IAAI,gCAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;IAC/C,IAAI,CAAC,IAAA,wBAAS,EAAC,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAClC,MAAM,IAAI,gCAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;IAC/C,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;AAC5C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/authorization/hashAuthorization.js b/node_modules/viem/_cjs/utils/authorization/hashAuthorization.js new file mode 100644 index 0000000000000000000000000000000000000000..40aa724db982749a91542202beb7eb5bd0a70dd1 --- /dev/null +++ b/node_modules/viem/_cjs/utils/authorization/hashAuthorization.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.hashAuthorization = hashAuthorization; +const concat_js_1 = require("../data/concat.js"); +const toBytes_js_1 = require("../encoding/toBytes.js"); +const toHex_js_1 = require("../encoding/toHex.js"); +const toRlp_js_1 = require("../encoding/toRlp.js"); +const keccak256_js_1 = require("../hash/keccak256.js"); +function hashAuthorization(parameters) { + const { chainId, nonce, to } = parameters; + const address = parameters.contractAddress ?? parameters.address; + const hash = (0, keccak256_js_1.keccak256)((0, concat_js_1.concatHex)([ + '0x05', + (0, toRlp_js_1.toRlp)([ + chainId ? (0, toHex_js_1.numberToHex)(chainId) : '0x', + address, + nonce ? (0, toHex_js_1.numberToHex)(nonce) : '0x', + ]), + ])); + if (to === 'bytes') + return (0, toBytes_js_1.hexToBytes)(hash); + return hash; +} +//# sourceMappingURL=hashAuthorization.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/authorization/hashAuthorization.js.map b/node_modules/viem/_cjs/utils/authorization/hashAuthorization.js.map new file mode 100644 index 0000000000000000000000000000000000000000..805230e009a27680c6768ca2ae60ad9a111c5e42 --- /dev/null +++ b/node_modules/viem/_cjs/utils/authorization/hashAuthorization.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hashAuthorization.js","sourceRoot":"","sources":["../../../utils/authorization/hashAuthorization.ts"],"names":[],"mappings":";;AAgCA,8CAiBC;AA9CD,iDAAsE;AACtE,uDAA6E;AAC7E,mDAA6E;AAC7E,mDAAiE;AACjE,uDAAyE;AAyBzE,SAAgB,iBAAiB,CAC/B,UAA2C;IAE3C,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,UAAU,CAAA;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,IAAI,UAAU,CAAC,OAAO,CAAA;IAChE,MAAM,IAAI,GAAG,IAAA,wBAAS,EACpB,IAAA,qBAAS,EAAC;QACR,MAAM;QACN,IAAA,gBAAK,EAAC;YACJ,OAAO,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;YACrC,OAAO;YACP,KAAK,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;SAClC,CAAC;KACH,CAAC,CACH,CAAA;IACD,IAAI,EAAE,KAAK,OAAO;QAAE,OAAO,IAAA,uBAAU,EAAC,IAAI,CAAoC,CAAA;IAC9E,OAAO,IAAuC,CAAA;AAChD,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/authorization/recoverAuthorizationAddress.js b/node_modules/viem/_cjs/utils/authorization/recoverAuthorizationAddress.js new file mode 100644 index 0000000000000000000000000000000000000000..945b0cd89495706526ec3fd6026829b2e778efb3 --- /dev/null +++ b/node_modules/viem/_cjs/utils/authorization/recoverAuthorizationAddress.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.recoverAuthorizationAddress = recoverAuthorizationAddress; +const recoverAddress_js_1 = require("../signature/recoverAddress.js"); +const hashAuthorization_js_1 = require("./hashAuthorization.js"); +async function recoverAuthorizationAddress(parameters) { + const { authorization, signature } = parameters; + return (0, recoverAddress_js_1.recoverAddress)({ + hash: (0, hashAuthorization_js_1.hashAuthorization)(authorization), + signature: (signature ?? authorization), + }); +} +//# sourceMappingURL=recoverAuthorizationAddress.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/authorization/recoverAuthorizationAddress.js.map b/node_modules/viem/_cjs/utils/authorization/recoverAuthorizationAddress.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e7189b5f57d234dd2af1845e4f222c8d536e3584 --- /dev/null +++ b/node_modules/viem/_cjs/utils/authorization/recoverAuthorizationAddress.js.map @@ -0,0 +1 @@ +{"version":3,"file":"recoverAuthorizationAddress.js","sourceRoot":"","sources":["../../../utils/authorization/recoverAuthorizationAddress.ts"],"names":[],"mappings":";;AAoDA,kEAaC;AAvDD,sEAGuC;AACvC,iEAG+B;AAmCxB,KAAK,UAAU,2BAA2B,CAK/C,UAAgE;IAEhE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,UAAU,CAAA;IAE/C,OAAO,IAAA,kCAAc,EAAC;QACpB,IAAI,EAAE,IAAA,wCAAiB,EAAC,aAAqC,CAAC;QAC9D,SAAS,EAAE,CAAC,SAAS,IAAI,aAAa,CAAc;KACrD,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/authorization/serializeAuthorizationList.js b/node_modules/viem/_cjs/utils/authorization/serializeAuthorizationList.js new file mode 100644 index 0000000000000000000000000000000000000000..19c541156ca6ed72a070cb0a8b07d21dbacecd6e --- /dev/null +++ b/node_modules/viem/_cjs/utils/authorization/serializeAuthorizationList.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.serializeAuthorizationList = serializeAuthorizationList; +const toHex_js_1 = require("../encoding/toHex.js"); +const serializeTransaction_js_1 = require("../transaction/serializeTransaction.js"); +function serializeAuthorizationList(authorizationList) { + if (!authorizationList || authorizationList.length === 0) + return []; + const serializedAuthorizationList = []; + for (const authorization of authorizationList) { + const { chainId, nonce, ...signature } = authorization; + const contractAddress = authorization.address; + serializedAuthorizationList.push([ + chainId ? (0, toHex_js_1.toHex)(chainId) : '0x', + contractAddress, + nonce ? (0, toHex_js_1.toHex)(nonce) : '0x', + ...(0, serializeTransaction_js_1.toYParitySignatureArray)({}, signature), + ]); + } + return serializedAuthorizationList; +} +//# sourceMappingURL=serializeAuthorizationList.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/authorization/serializeAuthorizationList.js.map b/node_modules/viem/_cjs/utils/authorization/serializeAuthorizationList.js.map new file mode 100644 index 0000000000000000000000000000000000000000..660255d3ca0b14d2f56061adf63e0da639a74059 --- /dev/null +++ b/node_modules/viem/_cjs/utils/authorization/serializeAuthorizationList.js.map @@ -0,0 +1 @@ +{"version":3,"file":"serializeAuthorizationList.js","sourceRoot":"","sources":["../../../utils/authorization/serializeAuthorizationList.ts"],"names":[],"mappings":";;AAeA,gEAkBC;AA5BD,mDAA4C;AAC5C,oFAAgF;AAShF,SAAgB,0BAA0B,CACxC,iBAA+D;IAE/D,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEnE,MAAM,2BAA2B,GAAG,EAAE,CAAA;IACtC,KAAK,MAAM,aAAa,IAAI,iBAAiB,EAAE,CAAC;QAC9C,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,GAAG,aAAa,CAAA;QACtD,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,CAAA;QAC7C,2BAA2B,CAAC,IAAI,CAAC;YAC/B,OAAO,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;YAC/B,eAAe;YACf,KAAK,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;YAC3B,GAAG,IAAA,iDAAuB,EAAC,EAAE,EAAE,SAAS,CAAC;SAC1C,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,2BAAyE,CAAA;AAClF,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/authorization/verifyAuthorization.js b/node_modules/viem/_cjs/utils/authorization/verifyAuthorization.js new file mode 100644 index 0000000000000000000000000000000000000000..78868467cb90e4513a37fc1509fe8034c87ca51d --- /dev/null +++ b/node_modules/viem/_cjs/utils/authorization/verifyAuthorization.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.verifyAuthorization = verifyAuthorization; +const getAddress_js_1 = require("../address/getAddress.js"); +const isAddressEqual_js_1 = require("../address/isAddressEqual.js"); +const recoverAuthorizationAddress_js_1 = require("./recoverAuthorizationAddress.js"); +async function verifyAuthorization({ address, authorization, signature, }) { + return (0, isAddressEqual_js_1.isAddressEqual)((0, getAddress_js_1.getAddress)(address), await (0, recoverAuthorizationAddress_js_1.recoverAuthorizationAddress)({ + authorization, + signature, + })); +} +//# sourceMappingURL=verifyAuthorization.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/authorization/verifyAuthorization.js.map b/node_modules/viem/_cjs/utils/authorization/verifyAuthorization.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9ccf59cce6a462181528eb6c08d9714c331f32d8 --- /dev/null +++ b/node_modules/viem/_cjs/utils/authorization/verifyAuthorization.js.map @@ -0,0 +1 @@ +{"version":3,"file":"verifyAuthorization.js","sourceRoot":"","sources":["../../../utils/authorization/verifyAuthorization.ts"],"names":[],"mappings":";;AAoCA,kDAYC;AA7CD,4DAA+E;AAC/E,oEAGqC;AACrC,qFAIyC;AAwBlC,KAAK,UAAU,mBAAmB,CAAC,EACxC,OAAO,EACP,aAAa,EACb,SAAS,GACqB;IAC9B,OAAO,IAAA,kCAAc,EACnB,IAAA,0BAAU,EAAC,OAAO,CAAC,EACnB,MAAM,IAAA,4DAA2B,EAAC;QAChC,aAAa;QACb,SAAS;KACV,CAAC,CACH,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/blob/blobsToCommitments.js b/node_modules/viem/_cjs/utils/blob/blobsToCommitments.js new file mode 100644 index 0000000000000000000000000000000000000000..540c79f84439c539643e95a71f24718f1f76d331 --- /dev/null +++ b/node_modules/viem/_cjs/utils/blob/blobsToCommitments.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.blobsToCommitments = blobsToCommitments; +const toBytes_js_1 = require("../encoding/toBytes.js"); +const toHex_js_1 = require("../encoding/toHex.js"); +function blobsToCommitments(parameters) { + const { kzg } = parameters; + const to = parameters.to ?? (typeof parameters.blobs[0] === 'string' ? 'hex' : 'bytes'); + const blobs = (typeof parameters.blobs[0] === 'string' + ? parameters.blobs.map((x) => (0, toBytes_js_1.hexToBytes)(x)) + : parameters.blobs); + const commitments = []; + for (const blob of blobs) + commitments.push(Uint8Array.from(kzg.blobToKzgCommitment(blob))); + return (to === 'bytes' + ? commitments + : commitments.map((x) => (0, toHex_js_1.bytesToHex)(x))); +} +//# sourceMappingURL=blobsToCommitments.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/blob/blobsToCommitments.js.map b/node_modules/viem/_cjs/utils/blob/blobsToCommitments.js.map new file mode 100644 index 0000000000000000000000000000000000000000..4c6d0ae1c1ba942e78614908af2b0d31a1155ab8 --- /dev/null +++ b/node_modules/viem/_cjs/utils/blob/blobsToCommitments.js.map @@ -0,0 +1 @@ +{"version":3,"file":"blobsToCommitments.js","sourceRoot":"","sources":["../../../utils/blob/blobsToCommitments.ts"],"names":[],"mappings":";;AA2CA,gDA2BC;AAnED,uDAA6E;AAC7E,mDAA2E;AAuC3E,SAAgB,kBAAkB,CAMhC,UAAmD;IAEnD,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAA;IAE1B,MAAM,EAAE,GACN,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAC9E,MAAM,KAAK,GAAG,CACZ,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;QACrC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAU,EAAC,CAAQ,CAAC,CAAC;QACnD,CAAC,CAAC,UAAU,CAAC,KAAK,CACN,CAAA;IAEhB,MAAM,WAAW,GAAgB,EAAE,CAAA;IACnC,KAAK,MAAM,IAAI,IAAI,KAAK;QACtB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAElE,OAAO,CAAC,EAAE,KAAK,OAAO;QACpB,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpB,IAAA,qBAAU,EAAC,CAAC,CAAC,CACd,CAA2C,CAAA;AAClD,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/blob/blobsToProofs.js b/node_modules/viem/_cjs/utils/blob/blobsToProofs.js new file mode 100644 index 0000000000000000000000000000000000000000..8035865ff86b8a3fdf09e23456aeff1f24121797 --- /dev/null +++ b/node_modules/viem/_cjs/utils/blob/blobsToProofs.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.blobsToProofs = blobsToProofs; +const toBytes_js_1 = require("../encoding/toBytes.js"); +const toHex_js_1 = require("../encoding/toHex.js"); +function blobsToProofs(parameters) { + const { kzg } = parameters; + const to = parameters.to ?? (typeof parameters.blobs[0] === 'string' ? 'hex' : 'bytes'); + const blobs = (typeof parameters.blobs[0] === 'string' + ? parameters.blobs.map((x) => (0, toBytes_js_1.hexToBytes)(x)) + : parameters.blobs); + const commitments = (typeof parameters.commitments[0] === 'string' + ? parameters.commitments.map((x) => (0, toBytes_js_1.hexToBytes)(x)) + : parameters.commitments); + const proofs = []; + for (let i = 0; i < blobs.length; i++) { + const blob = blobs[i]; + const commitment = commitments[i]; + proofs.push(Uint8Array.from(kzg.computeBlobKzgProof(blob, commitment))); + } + return (to === 'bytes' + ? proofs + : proofs.map((x) => (0, toHex_js_1.bytesToHex)(x))); +} +//# sourceMappingURL=blobsToProofs.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/blob/blobsToProofs.js.map b/node_modules/viem/_cjs/utils/blob/blobsToProofs.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9cd0eae988e4bc59f7a1842e9c9a37edf07e49db --- /dev/null +++ b/node_modules/viem/_cjs/utils/blob/blobsToProofs.js.map @@ -0,0 +1 @@ +{"version":3,"file":"blobsToProofs.js","sourceRoot":"","sources":["../../../utils/blob/blobsToProofs.ts"],"names":[],"mappings":";;AAyDA,sCAmCC;AAzFD,uDAA6E;AAC7E,mDAA2E;AAqD3E,SAAgB,aAAa,CAO3B,UAA2D;IAE3D,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAA;IAE1B,MAAM,EAAE,GACN,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAE9E,MAAM,KAAK,GAAG,CACZ,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;QACrC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAU,EAAC,CAAQ,CAAC,CAAC;QACnD,CAAC,CAAC,UAAU,CAAC,KAAK,CACN,CAAA;IAChB,MAAM,WAAW,GAAG,CAClB,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ;QAC3C,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAU,EAAC,CAAQ,CAAC,CAAC;QACzD,CAAC,CAAC,UAAU,CAAC,WAAW,CACZ,CAAA;IAEhB,MAAM,MAAM,GAAgB,EAAE,CAAA;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QACjC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,OAAO,CAAC,EAAE,KAAK,OAAO;QACpB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,qBAAU,EAAC,CAAC,CAAC,CAAC,CAAsC,CAAA;AAC5E,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/blob/commitmentToVersionedHash.js b/node_modules/viem/_cjs/utils/blob/commitmentToVersionedHash.js new file mode 100644 index 0000000000000000000000000000000000000000..9aace20292acb75c9d05a23ca7449fc37fe26e14 --- /dev/null +++ b/node_modules/viem/_cjs/utils/blob/commitmentToVersionedHash.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.commitmentToVersionedHash = commitmentToVersionedHash; +const toHex_js_1 = require("../encoding/toHex.js"); +const sha256_js_1 = require("../hash/sha256.js"); +function commitmentToVersionedHash(parameters) { + const { commitment, version = 1 } = parameters; + const to = parameters.to ?? (typeof commitment === 'string' ? 'hex' : 'bytes'); + const versionedHash = (0, sha256_js_1.sha256)(commitment, 'bytes'); + versionedHash.set([version], 0); + return (to === 'bytes' ? versionedHash : (0, toHex_js_1.bytesToHex)(versionedHash)); +} +//# sourceMappingURL=commitmentToVersionedHash.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/blob/commitmentToVersionedHash.js.map b/node_modules/viem/_cjs/utils/blob/commitmentToVersionedHash.js.map new file mode 100644 index 0000000000000000000000000000000000000000..222bb0f6e653817884986b09efdd1f76bfb75f9b --- /dev/null +++ b/node_modules/viem/_cjs/utils/blob/commitmentToVersionedHash.js.map @@ -0,0 +1 @@ +{"version":3,"file":"commitmentToVersionedHash.js","sourceRoot":"","sources":["../../../utils/blob/commitmentToVersionedHash.ts"],"names":[],"mappings":";;AA6CA,8DAgBC;AA3DD,mDAA2E;AAC3E,iDAAgE;AA0ChE,SAAgB,yBAAyB,CAMvC,UAA+D;IAE/D,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,UAAU,CAAA;IAC9C,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAE9E,MAAM,aAAa,GAAG,IAAA,kBAAM,EAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IACjD,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/B,OAAO,CACL,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAA,qBAAU,EAAC,aAAa,CAAC,CAChB,CAAA;AAC9C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/blob/commitmentsToVersionedHashes.js b/node_modules/viem/_cjs/utils/blob/commitmentsToVersionedHashes.js new file mode 100644 index 0000000000000000000000000000000000000000..aeeb7e0584be8350f61f66cf3be8460883112f16 --- /dev/null +++ b/node_modules/viem/_cjs/utils/blob/commitmentsToVersionedHashes.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.commitmentsToVersionedHashes = commitmentsToVersionedHashes; +const commitmentToVersionedHash_js_1 = require("./commitmentToVersionedHash.js"); +function commitmentsToVersionedHashes(parameters) { + const { commitments, version } = parameters; + const to = parameters.to ?? (typeof commitments[0] === 'string' ? 'hex' : 'bytes'); + const hashes = []; + for (const commitment of commitments) { + hashes.push((0, commitmentToVersionedHash_js_1.commitmentToVersionedHash)({ + commitment, + to, + version, + })); + } + return hashes; +} +//# sourceMappingURL=commitmentsToVersionedHashes.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/blob/commitmentsToVersionedHashes.js.map b/node_modules/viem/_cjs/utils/blob/commitmentsToVersionedHashes.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9e836b649f6db3f3b9ff997a51b50554d0e6bc68 --- /dev/null +++ b/node_modules/viem/_cjs/utils/blob/commitmentsToVersionedHashes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"commitmentsToVersionedHashes.js","sourceRoot":"","sources":["../../../utils/blob/commitmentsToVersionedHashes.ts"],"names":[],"mappings":";;AAgDA,oEAwBC;AAtED,iFAGuC;AA2CvC,SAAgB,4BAA4B,CAM1C,UAAmE;IAEnE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAE3C,MAAM,EAAE,GACN,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAEzE,MAAM,MAAM,GAAyB,EAAE,CAAA;IACvC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CACT,IAAA,wDAAyB,EAAC;YACxB,UAAU;YACV,EAAE;YACF,OAAO;SACR,CAAQ,CACV,CAAA;IACH,CAAC;IACD,OAAO,MAAa,CAAA;AACtB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/blob/fromBlobs.js b/node_modules/viem/_cjs/utils/blob/fromBlobs.js new file mode 100644 index 0000000000000000000000000000000000000000..f197f30ec1a2de8a88ffbf7196b3a96cdd34dc36 --- /dev/null +++ b/node_modules/viem/_cjs/utils/blob/fromBlobs.js @@ -0,0 +1,39 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fromBlobs = fromBlobs; +const cursor_js_1 = require("../cursor.js"); +const toBytes_js_1 = require("../encoding/toBytes.js"); +const toHex_js_1 = require("../encoding/toHex.js"); +function fromBlobs(parameters) { + const to = parameters.to ?? (typeof parameters.blobs[0] === 'string' ? 'hex' : 'bytes'); + const blobs = (typeof parameters.blobs[0] === 'string' + ? parameters.blobs.map((x) => (0, toBytes_js_1.hexToBytes)(x)) + : parameters.blobs); + const length = blobs.reduce((length, blob) => length + blob.length, 0); + const data = (0, cursor_js_1.createCursor)(new Uint8Array(length)); + let active = true; + for (const [index, blob] of blobs.entries()) { + const cursor = (0, cursor_js_1.createCursor)(blob); + const isLastBlob = index === blobs.length - 1; + while (active && cursor.position < blob.length) { + cursor.incrementPosition(1); + let consume = 31; + if (blob.length - cursor.position < 31) + consume = blob.length - cursor.position; + for (const _ in Array.from({ length: consume })) { + const byte = cursor.readByte(); + const isTerminator = isLastBlob && + byte === 0x80 && + !cursor.inspectBytes(cursor.remaining).includes(0x80); + if (isTerminator) { + active = false; + break; + } + data.pushByte(byte); + } + } + } + const trimmedData = data.bytes.slice(0, data.position); + return (to === 'hex' ? (0, toHex_js_1.bytesToHex)(trimmedData) : trimmedData); +} +//# sourceMappingURL=fromBlobs.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/blob/fromBlobs.js.map b/node_modules/viem/_cjs/utils/blob/fromBlobs.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d3c38a99ccb061137f55737321876317e366851a --- /dev/null +++ b/node_modules/viem/_cjs/utils/blob/fromBlobs.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fromBlobs.js","sourceRoot":"","sources":["../../../utils/blob/fromBlobs.ts"],"names":[],"mappings":";;AA6BA,8BAiDC;AA5ED,4CAAuE;AACvE,uDAA6E;AAC7E,mDAA2E;AAyB3E,SAAgB,SAAS,CAKvB,UAA0C;IAC1C,MAAM,EAAE,GACN,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAC9E,MAAM,KAAK,GAAG,CACZ,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;QACrC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAU,EAAC,CAAQ,CAAC,CAAC;QACnD,CAAC,CAAC,UAAU,CAAC,KAAK,CACN,CAAA;IAEhB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACtE,MAAM,IAAI,GAAG,IAAA,wBAAY,EAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;IACjD,IAAI,MAAM,GAAG,IAAI,CAAA;IAEjB,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAA;QAEjC,MAAM,UAAU,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;QAC7C,OAAO,MAAM,IAAI,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAE/C,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;YAE3B,IAAI,OAAO,GAAG,EAAE,CAAA;YAChB,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,GAAG,EAAE;gBACpC,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAA;YAEzC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;gBAC9B,MAAM,YAAY,GAChB,UAAU;oBACV,IAAI,KAAK,IAAI;oBACb,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBACvD,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,GAAG,KAAK,CAAA;oBACd,MAAK;gBACP,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtD,OAAO,CACL,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,IAAA,qBAAU,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAC1B,CAAA;AAC9B,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/blob/sidecarsToVersionedHashes.js b/node_modules/viem/_cjs/utils/blob/sidecarsToVersionedHashes.js new file mode 100644 index 0000000000000000000000000000000000000000..a644dbe80d0462a504a706443582cc416f43dce7 --- /dev/null +++ b/node_modules/viem/_cjs/utils/blob/sidecarsToVersionedHashes.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.sidecarsToVersionedHashes = sidecarsToVersionedHashes; +const commitmentToVersionedHash_js_1 = require("./commitmentToVersionedHash.js"); +function sidecarsToVersionedHashes(parameters) { + const { sidecars, version } = parameters; + const to = parameters.to ?? (typeof sidecars[0].blob === 'string' ? 'hex' : 'bytes'); + const hashes = []; + for (const { commitment } of sidecars) { + hashes.push((0, commitmentToVersionedHash_js_1.commitmentToVersionedHash)({ + commitment, + to, + version, + })); + } + return hashes; +} +//# sourceMappingURL=sidecarsToVersionedHashes.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/blob/sidecarsToVersionedHashes.js.map b/node_modules/viem/_cjs/utils/blob/sidecarsToVersionedHashes.js.map new file mode 100644 index 0000000000000000000000000000000000000000..609e9ebedb618e58a9e4e66bd23b1edaa25970b3 --- /dev/null +++ b/node_modules/viem/_cjs/utils/blob/sidecarsToVersionedHashes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sidecarsToVersionedHashes.js","sourceRoot":"","sources":["../../../utils/blob/sidecarsToVersionedHashes.ts"],"names":[],"mappings":";;AAyCA,8DAwBC;AA9DD,iFAGuC;AAmCvC,SAAgB,yBAAyB,CAMvC,UAA6D;IAE7D,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAExC,MAAM,EAAE,GACN,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAE3E,MAAM,MAAM,GAAyB,EAAE,CAAA;IACvC,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CACT,IAAA,wDAAyB,EAAC;YACxB,UAAU;YACV,EAAE;YACF,OAAO;SACR,CAAQ,CACV,CAAA;IACH,CAAC;IACD,OAAO,MAAa,CAAA;AACtB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/blob/toBlobSidecars.js b/node_modules/viem/_cjs/utils/blob/toBlobSidecars.js new file mode 100644 index 0000000000000000000000000000000000000000..4717712776e12ca1b2aacc33fc721d58b7baab50 --- /dev/null +++ b/node_modules/viem/_cjs/utils/blob/toBlobSidecars.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toBlobSidecars = toBlobSidecars; +const blobsToCommitments_js_1 = require("./blobsToCommitments.js"); +const blobsToProofs_js_1 = require("./blobsToProofs.js"); +const toBlobs_js_1 = require("./toBlobs.js"); +function toBlobSidecars(parameters) { + const { data, kzg, to } = parameters; + const blobs = parameters.blobs ?? (0, toBlobs_js_1.toBlobs)({ data: data, to }); + const commitments = parameters.commitments ?? (0, blobsToCommitments_js_1.blobsToCommitments)({ blobs, kzg: kzg, to }); + const proofs = parameters.proofs ?? (0, blobsToProofs_js_1.blobsToProofs)({ blobs, commitments, kzg: kzg, to }); + const sidecars = []; + for (let i = 0; i < blobs.length; i++) + sidecars.push({ + blob: blobs[i], + commitment: commitments[i], + proof: proofs[i], + }); + return sidecars; +} +//# sourceMappingURL=toBlobSidecars.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/blob/toBlobSidecars.js.map b/node_modules/viem/_cjs/utils/blob/toBlobSidecars.js.map new file mode 100644 index 0000000000000000000000000000000000000000..58200eaaacbec563d017967f34da978b4b6c8186 --- /dev/null +++ b/node_modules/viem/_cjs/utils/blob/toBlobSidecars.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toBlobSidecars.js","sourceRoot":"","sources":["../../../utils/blob/toBlobSidecars.ts"],"names":[],"mappings":";;AAiFA,wCA8BC;AA1GD,mEAGgC;AAChC,yDAA+E;AAC/E,6CAA6D;AAuE7D,SAAgB,cAAc,CAY5B,UAAqD;IAErD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,UAAU,CAAA;IACpC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,IAAA,oBAAO,EAAC,EAAE,IAAI,EAAE,IAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IAC9D,MAAM,WAAW,GACf,UAAU,CAAC,WAAW,IAAI,IAAA,0CAAkB,EAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACxE,MAAM,MAAM,GACV,UAAU,CAAC,MAAM,IAAI,IAAA,gCAAa,EAAC,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,GAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IAE3E,MAAM,QAAQ,GAAiB,EAAE,CAAA;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;QACnC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACd,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;YAC1B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;SACjB,CAAC,CAAA;IAEJ,OAAO,QAAwC,CAAA;AACjD,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/blob/toBlobs.js b/node_modules/viem/_cjs/utils/blob/toBlobs.js new file mode 100644 index 0000000000000000000000000000000000000000..0b303297fca7cf2249a86cc32a0190071e1f095a --- /dev/null +++ b/node_modules/viem/_cjs/utils/blob/toBlobs.js @@ -0,0 +1,47 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toBlobs = toBlobs; +const blob_js_1 = require("../../constants/blob.js"); +const blob_js_2 = require("../../errors/blob.js"); +const cursor_js_1 = require("../cursor.js"); +const size_js_1 = require("../data/size.js"); +const toBytes_js_1 = require("../encoding/toBytes.js"); +const toHex_js_1 = require("../encoding/toHex.js"); +function toBlobs(parameters) { + const to = parameters.to ?? (typeof parameters.data === 'string' ? 'hex' : 'bytes'); + const data = (typeof parameters.data === 'string' + ? (0, toBytes_js_1.hexToBytes)(parameters.data) + : parameters.data); + const size_ = (0, size_js_1.size)(data); + if (!size_) + throw new blob_js_2.EmptyBlobError(); + if (size_ > blob_js_1.maxBytesPerTransaction) + throw new blob_js_2.BlobSizeTooLargeError({ + maxSize: blob_js_1.maxBytesPerTransaction, + size: size_, + }); + const blobs = []; + let active = true; + let position = 0; + while (active) { + const blob = (0, cursor_js_1.createCursor)(new Uint8Array(blob_js_1.bytesPerBlob)); + let size = 0; + while (size < blob_js_1.fieldElementsPerBlob) { + const bytes = data.slice(position, position + (blob_js_1.bytesPerFieldElement - 1)); + blob.pushByte(0x00); + blob.pushBytes(bytes); + if (bytes.length < 31) { + blob.pushByte(0x80); + active = false; + break; + } + size++; + position += 31; + } + blobs.push(blob); + } + return (to === 'bytes' + ? blobs.map((x) => x.bytes) + : blobs.map((x) => (0, toHex_js_1.bytesToHex)(x.bytes))); +} +//# sourceMappingURL=toBlobs.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/blob/toBlobs.js.map b/node_modules/viem/_cjs/utils/blob/toBlobs.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9d154158db4e83a98982d8f85d3f9a78b04be17b --- /dev/null +++ b/node_modules/viem/_cjs/utils/blob/toBlobs.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toBlobs.js","sourceRoot":"","sources":["../../../utils/blob/toBlobs.ts"],"names":[],"mappings":";;AAsDA,0BA2DC;AAjHD,qDAKgC;AAChC,kDAK6B;AAG7B,4CAAuE;AACvE,6CAA0D;AAC1D,uDAA6E;AAC7E,mDAA2E;AAqC3E,SAAgB,OAAO,CAKrB,UAAuC;IACvC,MAAM,EAAE,GACN,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAC1E,MAAM,IAAI,GAAG,CACX,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ;QACjC,CAAC,CAAC,IAAA,uBAAU,EAAC,UAAU,CAAC,IAAI,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,IAAI,CACP,CAAA;IAEd,MAAM,KAAK,GAAG,IAAA,cAAI,EAAC,IAAI,CAAC,CAAA;IACxB,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,wBAAc,EAAE,CAAA;IACtC,IAAI,KAAK,GAAG,gCAAsB;QAChC,MAAM,IAAI,+BAAqB,CAAC;YAC9B,OAAO,EAAE,gCAAsB;YAC/B,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;IAEJ,MAAM,KAAK,GAAG,EAAE,CAAA;IAEhB,IAAI,MAAM,GAAG,IAAI,CAAA;IACjB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,OAAO,MAAM,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,IAAA,wBAAY,EAAC,IAAI,UAAU,CAAC,sBAAY,CAAC,CAAC,CAAA;QAEvD,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,OAAO,IAAI,GAAG,8BAAoB,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,8BAAoB,GAAG,CAAC,CAAC,CAAC,CAAA;YAGzE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAGnB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAIrB,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBACnB,MAAM,GAAG,KAAK,CAAA;gBACd,MAAK;YACP,CAAC;YAED,IAAI,EAAE,CAAA;YACN,QAAQ,IAAI,EAAE,CAAA;QAChB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IAED,OAAO,CACL,EAAE,KAAK,OAAO;QACZ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,qBAAU,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CACnC,CAAA;AACV,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/block/formatBlockParameter.js b/node_modules/viem/_cjs/utils/block/formatBlockParameter.js new file mode 100644 index 0000000000000000000000000000000000000000..1136099a4b8a784c65ce563eecda769937e6c2d4 --- /dev/null +++ b/node_modules/viem/_cjs/utils/block/formatBlockParameter.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.formatBlockParameter = formatBlockParameter; +const base_js_1 = require("../../errors/base.js"); +const toHex_js_1 = require("../encoding/toHex.js"); +function formatBlockParameter(parameters) { + const { blockHash, blockNumber, blockTag, requireCanonical } = parameters; + if (requireCanonical !== undefined && !blockHash) + throw new base_js_1.BaseError('`requireCanonical` can only be provided when `blockHash` is set.'); + if (blockHash) + return requireCanonical ? { blockHash, requireCanonical } : { blockHash }; + if (typeof blockNumber === 'bigint') + return (0, toHex_js_1.numberToHex)(blockNumber); + return blockTag ?? 'latest'; +} +//# sourceMappingURL=formatBlockParameter.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/block/formatBlockParameter.js.map b/node_modules/viem/_cjs/utils/block/formatBlockParameter.js.map new file mode 100644 index 0000000000000000000000000000000000000000..43dea39dbe4ea7d01564ca89ea600bfc57b452d9 --- /dev/null +++ b/node_modules/viem/_cjs/utils/block/formatBlockParameter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"formatBlockParameter.js","sourceRoot":"","sources":["../../../utils/block/formatBlockParameter.ts"],"names":[],"mappings":";;AA8CA,oDAgBC;AA9DD,kDAAoE;AAKpE,mDAAkD;AAyClD,SAAgB,oBAAoB,CAClC,UAA0C;IAE1C,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAA;IAEzE,IAAI,gBAAgB,KAAK,SAAS,IAAI,CAAC,SAAS;QAC9C,MAAM,IAAI,mBAAS,CACjB,kEAAkE,CACnE,CAAA;IAEH,IAAI,SAAS;QACX,OAAO,gBAAgB,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAA;IAE3E,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,OAAO,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAA;IAEpE,OAAO,QAAQ,IAAI,QAAQ,CAAA;AAC7B,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/buildRequest.js b/node_modules/viem/_cjs/utils/buildRequest.js new file mode 100644 index 0000000000000000000000000000000000000000..c1285a73145bcbba4e1663df5364aa19f11a0b2c --- /dev/null +++ b/node_modules/viem/_cjs/utils/buildRequest.js @@ -0,0 +1,169 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.buildRequest = buildRequest; +exports.shouldRetry = shouldRetry; +const base_js_1 = require("../errors/base.js"); +const request_js_1 = require("../errors/request.js"); +const rpc_js_1 = require("../errors/rpc.js"); +const utils_js_1 = require("../errors/utils.js"); +const withDedupe_js_1 = require("./promise/withDedupe.js"); +const withRetry_js_1 = require("./promise/withRetry.js"); +const stringify_js_1 = require("./stringify.js"); +function buildRequest(request, options = {}) { + return async (args, overrideOptions = {}) => { + const { dedupe = false, methods, retryDelay = 150, retryCount = 3, signal, uid, } = { + ...options, + ...overrideOptions, + }; + const { method } = args; + if (methods?.exclude?.includes(method)) + throw new rpc_js_1.MethodNotSupportedRpcError(new Error('method not supported'), { + method, + }); + if (methods?.include && !methods.include.includes(method)) + throw new rpc_js_1.MethodNotSupportedRpcError(new Error('method not supported'), { + method, + }); + if (signal?.aborted) + throw (0, utils_js_1.getAbortError)(signal); + const requestId = dedupe + ? hashString(`${uid}.${(0, stringify_js_1.stringify)(args)}`) + : undefined; + return (0, withDedupe_js_1.withDedupe)(() => (0, withRetry_js_1.withRetry)(async () => { + try { + return await request(args, signal ? { signal } : undefined); + } + catch (err_) { + if (signal?.aborted) + throw (0, utils_js_1.getAbortError)(signal); + if ((0, utils_js_1.isAbortError)(err_)) + throw err_; + const err = err_; + switch (err.code) { + case rpc_js_1.ParseRpcError.code: + throw new rpc_js_1.ParseRpcError(err); + case rpc_js_1.InvalidRequestRpcError.code: + throw new rpc_js_1.InvalidRequestRpcError(err); + case rpc_js_1.MethodNotFoundRpcError.code: + throw new rpc_js_1.MethodNotFoundRpcError(err, { method: args.method }); + case rpc_js_1.InvalidParamsRpcError.code: + throw new rpc_js_1.InvalidParamsRpcError(err); + case rpc_js_1.InternalRpcError.code: + throw new rpc_js_1.InternalRpcError(err); + case rpc_js_1.InvalidInputRpcError.code: + throw new rpc_js_1.InvalidInputRpcError(err); + case rpc_js_1.ResourceNotFoundRpcError.code: + throw new rpc_js_1.ResourceNotFoundRpcError(err); + case rpc_js_1.ResourceUnavailableRpcError.code: + throw new rpc_js_1.ResourceUnavailableRpcError(err); + case rpc_js_1.TransactionRejectedRpcError.code: + throw new rpc_js_1.TransactionRejectedRpcError(err); + case rpc_js_1.MethodNotSupportedRpcError.code: + throw new rpc_js_1.MethodNotSupportedRpcError(err, { + method: args.method, + }); + case rpc_js_1.LimitExceededRpcError.code: + throw new rpc_js_1.LimitExceededRpcError(err); + case rpc_js_1.JsonRpcVersionUnsupportedError.code: + throw new rpc_js_1.JsonRpcVersionUnsupportedError(err); + case rpc_js_1.UserRejectedRequestError.code: + throw new rpc_js_1.UserRejectedRequestError(err); + case rpc_js_1.UnauthorizedProviderError.code: + throw new rpc_js_1.UnauthorizedProviderError(err); + case rpc_js_1.UnsupportedProviderMethodError.code: + throw new rpc_js_1.UnsupportedProviderMethodError(err); + case rpc_js_1.ProviderDisconnectedError.code: + throw new rpc_js_1.ProviderDisconnectedError(err); + case rpc_js_1.ChainDisconnectedError.code: + throw new rpc_js_1.ChainDisconnectedError(err); + case rpc_js_1.SwitchChainError.code: + throw new rpc_js_1.SwitchChainError(err); + case rpc_js_1.UnsupportedNonOptionalCapabilityError.code: + throw new rpc_js_1.UnsupportedNonOptionalCapabilityError(err); + case rpc_js_1.UnsupportedChainIdError.code: + throw new rpc_js_1.UnsupportedChainIdError(err); + case rpc_js_1.DuplicateIdError.code: + throw new rpc_js_1.DuplicateIdError(err); + case rpc_js_1.UnknownBundleIdError.code: + throw new rpc_js_1.UnknownBundleIdError(err); + case rpc_js_1.BundleTooLargeError.code: + throw new rpc_js_1.BundleTooLargeError(err); + case rpc_js_1.AtomicReadyWalletRejectedUpgradeError.code: + throw new rpc_js_1.AtomicReadyWalletRejectedUpgradeError(err); + case rpc_js_1.AtomicityNotSupportedError.code: + throw new rpc_js_1.AtomicityNotSupportedError(err); + case 5000: + throw new rpc_js_1.UserRejectedRequestError(err); + case rpc_js_1.WalletConnectSessionSettlementError.code: + throw new rpc_js_1.WalletConnectSessionSettlementError(err); + default: + if (err_ instanceof base_js_1.BaseError) + throw err_; + throw new rpc_js_1.UnknownRpcError(err); + } + } + }, { + delay: ({ count, error }) => { + if (error && error instanceof request_js_1.HttpRequestError) { + const retryAfter = error?.headers?.get('Retry-After'); + if (retryAfter?.match(/\d/)) + return Number.parseInt(retryAfter, 10) * 1000; + } + return ~~(1 << count) * retryDelay; + }, + retryCount, + signal, + shouldRetry: ({ error }) => shouldRetry(error), + }), { enabled: dedupe, id: requestId }); + }; +} +function shouldRetry(error) { + if ((0, utils_js_1.isAbortError)(error)) + return false; + if ('code' in error && typeof error.code === 'number') { + if (error.code === -1) + return true; + if (error.code === rpc_js_1.LimitExceededRpcError.code) + return true; + if (error.code === rpc_js_1.InternalRpcError.code) + return true; + if (error.code === 429) + return true; + return false; + } + if (error instanceof request_js_1.HttpRequestError && error.status) { + if (error.status === 403) + return true; + if (error.status === 408) + return true; + if (error.status === 413) + return true; + if (error.status === 429) + return true; + if (error.status === 500) + return true; + if (error.status === 502) + return true; + if (error.status === 503) + return true; + if (error.status === 504) + return true; + return false; + } + return true; +} +function hashString(str, seed = 0) { + let h1 = 0xdeadbeef ^ seed; + let h2 = 0x41c6ce57 ^ seed; + for (let i = 0; i < str.length; i++) { + const ch = str.charCodeAt(i); + h1 = Math.imul(h1 ^ ch, 2654435761); + h2 = Math.imul(h2 ^ ch, 1597334677); + } + h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507); + h1 ^= Math.imul(h2 ^ (h2 >>> 16), 3266489909); + h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507); + h2 ^= Math.imul(h1 ^ (h1 >>> 16), 3266489909); + return (4294967296 * (2097151 & h2) + (h1 >>> 0)).toString(36); +} +//# sourceMappingURL=buildRequest.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/buildRequest.js.map b/node_modules/viem/_cjs/utils/buildRequest.js.map new file mode 100644 index 0000000000000000000000000000000000000000..882d889b7b5426783001a2b19c912c66dc25dccc --- /dev/null +++ b/node_modules/viem/_cjs/utils/buildRequest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"buildRequest.js","sourceRoot":"","sources":["../../utils/buildRequest.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ccip.js b/node_modules/viem/_cjs/utils/ccip.js new file mode 100644 index 0000000000000000000000000000000000000000..1318b750e15e1e463ea52ee1522593648e7d30da --- /dev/null +++ b/node_modules/viem/_cjs/utils/ccip.js @@ -0,0 +1,148 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.offchainLookupAbiItem = exports.offchainLookupSignature = void 0; +exports.offchainLookup = offchainLookup; +exports.ccipRequest = ccipRequest; +const call_js_1 = require("../actions/public/call.js"); +const ccip_js_1 = require("../errors/ccip.js"); +const request_js_1 = require("../errors/request.js"); +const utils_js_1 = require("../errors/utils.js"); +const decodeErrorResult_js_1 = require("./abi/decodeErrorResult.js"); +const encodeAbiParameters_js_1 = require("./abi/encodeAbiParameters.js"); +const isAddressEqual_js_1 = require("./address/isAddressEqual.js"); +const concat_js_1 = require("./data/concat.js"); +const isHex_js_1 = require("./data/isHex.js"); +const localBatchGatewayRequest_js_1 = require("./ens/localBatchGatewayRequest.js"); +const stringify_js_1 = require("./stringify.js"); +exports.offchainLookupSignature = '0x556f1830'; +exports.offchainLookupAbiItem = { + name: 'OffchainLookup', + type: 'error', + inputs: [ + { + name: 'sender', + type: 'address', + }, + { + name: 'urls', + type: 'string[]', + }, + { + name: 'callData', + type: 'bytes', + }, + { + name: 'callbackFunction', + type: 'bytes4', + }, + { + name: 'extraData', + type: 'bytes', + }, + ], +}; +async function offchainLookup(client, { blockNumber, blockTag, data, requestOptions, to, }) { + const { args } = (0, decodeErrorResult_js_1.decodeErrorResult)({ + data, + abi: [exports.offchainLookupAbiItem], + }); + const [sender, urls, callData, callbackSelector, extraData] = args; + const { ccipRead } = client; + const ccipRequest_ = ccipRead && typeof ccipRead?.request === 'function' + ? ccipRead.request + : ccipRequest; + try { + if (!(0, isAddressEqual_js_1.isAddressEqual)(to, sender)) + throw new ccip_js_1.OffchainLookupSenderMismatchError({ sender, to }); + const result = urls.includes(localBatchGatewayRequest_js_1.localBatchGatewayUrl) + ? await (0, localBatchGatewayRequest_js_1.localBatchGatewayRequest)({ + data: callData, + ccipRequest: (parameters) => ccipRequest_({ ...parameters, requestOptions }), + }) + : await ccipRequest_({ data: callData, requestOptions, sender, urls }); + const { data: data_ } = await (0, call_js_1.call)(client, { + blockNumber, + blockTag, + data: (0, concat_js_1.concat)([ + callbackSelector, + (0, encodeAbiParameters_js_1.encodeAbiParameters)([{ type: 'bytes' }, { type: 'bytes' }], [result, extraData]), + ]), + requestOptions, + to, + }); + return data_; + } + catch (err) { + if (requestOptions?.signal?.aborted) + throw (0, utils_js_1.getAbortError)(requestOptions.signal); + if ((0, utils_js_1.isAbortError)(err)) + throw err; + throw new ccip_js_1.OffchainLookupError({ + callbackSelector, + cause: err, + data, + extraData, + sender, + urls, + }); + } +} +async function ccipRequest({ data, requestOptions, sender, urls, }) { + let error = new Error('An unknown error occurred.'); + for (let i = 0; i < urls.length; i++) { + if (requestOptions?.signal?.aborted) + throw (0, utils_js_1.getAbortError)(requestOptions.signal); + const url = urls[i]; + const method = url.includes('{data}') ? 'GET' : 'POST'; + const body = method === 'POST' ? { data, sender } : undefined; + const headers = method === 'POST' ? { 'Content-Type': 'application/json' } : {}; + try { + const response = await fetch(url.replace('{sender}', sender.toLowerCase()).replace('{data}', data), { + body: JSON.stringify(body), + headers, + method, + ...(requestOptions?.signal ? { signal: requestOptions.signal } : {}), + }); + let result; + if (response.headers.get('Content-Type')?.startsWith('application/json')) { + result = (await response.json()).data; + } + else { + result = (await response.text()); + } + if (!response.ok) { + error = new request_js_1.HttpRequestError({ + body, + details: result?.error + ? (0, stringify_js_1.stringify)(result.error) + : response.statusText, + headers: response.headers, + status: response.status, + url, + }); + continue; + } + if (!(0, isHex_js_1.isHex)(result)) { + error = new ccip_js_1.OffchainLookupResponseMalformedError({ + result, + url, + }); + continue; + } + return result; + } + catch (err) { + if (requestOptions?.signal?.aborted) + throw (0, utils_js_1.getAbortError)(requestOptions.signal); + if ((0, utils_js_1.isAbortError)(err)) + throw err; + error = new request_js_1.HttpRequestError({ + body, + details: err.message, + url, + }); + } + } + throw error; +} +//# sourceMappingURL=ccip.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ccip.js.map b/node_modules/viem/_cjs/utils/ccip.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9eb2aa3bcfc42e3859a18b97d2c56dbf45751dec --- /dev/null +++ b/node_modules/viem/_cjs/utils/ccip.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ccip.js","sourceRoot":"","sources":["../../utils/ccip.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ccipTunnel.js b/node_modules/viem/_cjs/utils/ccipTunnel.js new file mode 100644 index 0000000000000000000000000000000000000000..d0d7711ed70f4edec65dea335f2c4d06297150c2 --- /dev/null +++ b/node_modules/viem/_cjs/utils/ccipTunnel.js @@ -0,0 +1,65 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ccipReadTunnel = ccipReadTunnel; +const abis_js_1 = require("../constants/abis.js"); +const solidity_js_1 = require("../constants/solidity.js"); +const request_js_1 = require("../errors/request.js"); +const decodeErrorResult_js_1 = require("./abi/decodeErrorResult.js"); +const decodeFunctionResult_js_1 = require("./abi/decodeFunctionResult.js"); +const encodeFunctionData_js_1 = require("./abi/encodeFunctionData.js"); +const ccip_js_1 = require("./ccip.js"); +const localBatchGatewayRequest_js_1 = require("./ens/localBatchGatewayRequest.js"); +function ccipReadTunnel({ batchGateways, ccipRequest = ccip_js_1.ccipRequest, }) { + return { + async request({ data, sender, urls }) { + if (urls.includes(localBatchGatewayRequest_js_1.localBatchGatewayUrl)) { + return ccipRequest({ + data, + sender, + urls: batchGateways, + }); + } + else { + const [failures, responses] = (0, decodeFunctionResult_js_1.decodeFunctionResult)({ + abi: abis_js_1.batchGatewayAbi, + functionName: 'query', + data: await ccipRequest({ + data: (0, encodeFunctionData_js_1.encodeFunctionData)({ + abi: abis_js_1.batchGatewayAbi, + functionName: 'query', + args: [[{ sender, data, urls }]], + }), + sender, + urls: batchGateways, + }), + }); + if (failures[0]) { + let error; + try { + const res = (0, decodeErrorResult_js_1.decodeErrorResult)({ + abi: [...abis_js_1.batchGatewayAbi, solidity_js_1.solidityError], + data: responses[0], + }); + if (res.errorName === 'HttpError') { + error = new request_js_1.HttpRequestError({ + body: { message: res.args[1] }, + status: res.args[0], + url: urls.join(' | '), + }); + } + else { + const message = res.args[0]; + if (message) { + error = new Error(message); + } + } + } + catch { } + throw error ?? new Error('An unknown error occurred.'); + } + return responses[0]; + } + }, + }; +} +//# sourceMappingURL=ccipTunnel.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ccipTunnel.js.map b/node_modules/viem/_cjs/utils/ccipTunnel.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5d2864f42c73007bcd3a47b6b5c414cbecfda8db --- /dev/null +++ b/node_modules/viem/_cjs/utils/ccipTunnel.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ccipTunnel.js","sourceRoot":"","sources":["../../utils/ccipTunnel.ts"],"names":[],"mappings":";;AAcA,wCAoDC;AAlED,kDAAsD;AACtD,0DAAwD;AACxD,qDAAuD;AACvD,qEAA8D;AAC9D,2EAAoE;AACpE,uEAAgE;AAChE,uCAAuD;AACvD,mFAAwE;AAOxE,SAAgB,cAAc,CAAC,EAC7B,aAAa,EACb,WAAW,GAAG,qBAAY,GACD;IACzB,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;YAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,kDAAoB,CAAC,EAAE,CAAC;gBACxC,OAAO,WAAW,CAAC;oBACjB,IAAI;oBACJ,MAAM;oBACN,IAAI,EAAE,aAAa;iBACpB,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,IAAA,8CAAoB,EAAC;oBACjD,GAAG,EAAE,yBAAe;oBACpB,YAAY,EAAE,OAAO;oBACrB,IAAI,EAAE,MAAM,WAAW,CAAC;wBACtB,IAAI,EAAE,IAAA,0CAAkB,EAAC;4BACvB,GAAG,EAAE,yBAAe;4BACpB,YAAY,EAAE,OAAO;4BACrB,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;yBACjC,CAAC;wBACF,MAAM;wBACN,IAAI,EAAE,aAAa;qBACpB,CAAC;iBACH,CAAC,CAAA;gBACF,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChB,IAAI,KAAwB,CAAA;oBAC5B,IAAI,CAAC;wBACH,MAAM,GAAG,GAAG,IAAA,wCAAiB,EAAC;4BAC5B,GAAG,EAAE,CAAC,GAAG,yBAAe,EAAE,2BAAa,CAAC;4BACxC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;yBACnB,CAAC,CAAA;wBACF,IAAI,GAAG,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;4BAClC,KAAK,GAAG,IAAI,6BAAgB,CAAC;gCAC3B,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gCAC9B,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gCACnB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;6BACtB,CAAC,CAAA;wBACJ,CAAC;6BAAM,CAAC;4BACN,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;4BAC3B,IAAI,OAAO,EAAE,CAAC;gCACZ,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;4BAC5B,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC,CAAA,CAAC;oBACV,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;gBACxD,CAAC;gBACD,OAAO,SAAS,CAAC,CAAC,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/chain/assertCurrentChain.js b/node_modules/viem/_cjs/utils/chain/assertCurrentChain.js new file mode 100644 index 0000000000000000000000000000000000000000..16eec68ec934aaceb8ce4c5d20e443aa9b20998c --- /dev/null +++ b/node_modules/viem/_cjs/utils/chain/assertCurrentChain.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.assertCurrentChain = assertCurrentChain; +const chain_js_1 = require("../../errors/chain.js"); +function assertCurrentChain({ chain, currentChainId, }) { + if (!chain) + throw new chain_js_1.ChainNotFoundError(); + if (currentChainId !== chain.id) + throw new chain_js_1.ChainMismatchError({ chain, currentChainId }); +} +//# sourceMappingURL=assertCurrentChain.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/chain/assertCurrentChain.js.map b/node_modules/viem/_cjs/utils/chain/assertCurrentChain.js.map new file mode 100644 index 0000000000000000000000000000000000000000..43e6a0bcaee829e9af0bdd0f6f1a56d66e39ea68 --- /dev/null +++ b/node_modules/viem/_cjs/utils/chain/assertCurrentChain.js.map @@ -0,0 +1 @@ +{"version":3,"file":"assertCurrentChain.js","sourceRoot":"","sources":["../../../utils/chain/assertCurrentChain.ts"],"names":[],"mappings":";;AAmBA,gDAOC;AA1BD,oDAK8B;AAc9B,SAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,cAAc,GACe;IAC7B,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,6BAAkB,EAAE,CAAA;IAC1C,IAAI,cAAc,KAAK,KAAK,CAAC,EAAE;QAC7B,MAAM,IAAI,6BAAkB,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAA;AAC3D,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/chain/defineChain.js b/node_modules/viem/_cjs/utils/chain/defineChain.js new file mode 100644 index 0000000000000000000000000000000000000000..b1242ff49ec6fb728a9a3c2c8d83e15a6b1eff77 --- /dev/null +++ b/node_modules/viem/_cjs/utils/chain/defineChain.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.defineChain = defineChain; +exports.extendSchema = extendSchema; +function defineChain(chain) { + const chainInstance = { + formatters: undefined, + fees: undefined, + serializers: undefined, + ...chain, + }; + function extend(base) { + return (fnOrExtended) => { + const properties = (typeof fnOrExtended === 'function' ? fnOrExtended(base) : fnOrExtended); + const combined = { ...base, ...properties }; + return Object.assign(combined, { extend: extend(combined) }); + }; + } + return Object.assign(chainInstance, { + extend: extend(chainInstance), + }); +} +function extendSchema() { + return {}; +} +//# sourceMappingURL=defineChain.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/chain/defineChain.js.map b/node_modules/viem/_cjs/utils/chain/defineChain.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e63e67fce4a6af45f9c68579430efffe4ef0dc8e --- /dev/null +++ b/node_modules/viem/_cjs/utils/chain/defineChain.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defineChain.js","sourceRoot":"","sources":["../../../utils/chain/defineChain.ts"],"names":[],"mappings":";;AAcA,kCAyBC;AAED,oCAEC;AA7BD,SAAgB,WAAW,CAGzB,KAAY;IACZ,MAAM,aAAa,GAAG;QACpB,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,SAAS;QACtB,GAAG,KAAK;KAC0B,CAAA;IAEpC,SAAS,MAAM,CAAC,IAA0B;QAExC,OAAO,CAAC,YAAgD,EAAE,EAAE;YAC1D,MAAM,UAAU,GAAG,CACjB,OAAO,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAC7B,CAAA;YAC3C,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE,CAAA;YAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC9D,CAAC,CAAA;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE;QAClC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC;KAC9B,CAAU,CAAA;AACb,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,EAAY,CAAA;AACrB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/chain/extractChain.js b/node_modules/viem/_cjs/utils/chain/extractChain.js new file mode 100644 index 0000000000000000000000000000000000000000..a9a95c9efac584e50eb1428c14ddfcd06e738ca1 --- /dev/null +++ b/node_modules/viem/_cjs/utils/chain/extractChain.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractChain = extractChain; +function extractChain({ chains, id, }) { + return chains.find((chain) => chain.id === id); +} +//# sourceMappingURL=extractChain.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/chain/extractChain.js.map b/node_modules/viem/_cjs/utils/chain/extractChain.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ddbedabf26d0853c544fa56eef1f3fdc8c0eccf5 --- /dev/null +++ b/node_modules/viem/_cjs/utils/chain/extractChain.js.map @@ -0,0 +1 @@ +{"version":3,"file":"extractChain.js","sourceRoot":"","sources":["../../../utils/chain/extractChain.ts"],"names":[],"mappings":";;AAkBA,oCAcC;AAdD,SAAgB,YAAY,CAG1B,EACA,MAAM,EACN,EAAE,GACsC;IAIxC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAG5C,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/chain/filterChains.js b/node_modules/viem/_cjs/utils/chain/filterChains.js new file mode 100644 index 0000000000000000000000000000000000000000..411314d62fc3b20f8451a400bc9e3160e2a36d57 --- /dev/null +++ b/node_modules/viem/_cjs/utils/chain/filterChains.js @@ -0,0 +1,35 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.filterChains = filterChains; +function filterChains(parameters) { + const { chains, sort, testnet, token } = parameters; + const values = Array.isArray(chains) ? chains : Object.values(chains); + const filtered = []; + for (const chain of values) { + if (!isChain(chain)) + continue; + if (token && !(chain.id in token.addresses)) + continue; + if (testnet === true && chain.testnet !== true) + continue; + if (testnet === false && chain.testnet === true) + continue; + filtered.push(chain); + } + if (sort === 'id') + filtered.sort((a, b) => a.id - b.id); + if (sort === 'name') + filtered.sort((a, b) => a.name.localeCompare(b.name)); + return filtered; +} +function isChain(chain) { + return (typeof chain === 'object' && + chain !== null && + 'id' in chain && + typeof chain.id === 'number' && + 'name' in chain && + typeof chain.name === 'string' && + 'nativeCurrency' in chain && + 'rpcUrls' in chain); +} +//# sourceMappingURL=filterChains.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/chain/filterChains.js.map b/node_modules/viem/_cjs/utils/chain/filterChains.js.map new file mode 100644 index 0000000000000000000000000000000000000000..296ea187744fd2f049e825090c0bdbc65d605ad8 --- /dev/null +++ b/node_modules/viem/_cjs/utils/chain/filterChains.js.map @@ -0,0 +1 @@ +{"version":3,"file":"filterChains.js","sourceRoot":"","sources":["../../../utils/chain/filterChains.ts"],"names":[],"mappings":";;AA0BA,oCAmBC;AAnBD,SAAgB,YAAY,CAC1B,UAA4C;IAE5C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,UAAU,CAAA;IACnD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACrE,MAAM,QAAQ,GAAY,EAAE,CAAA;IAE5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAQ;QAC7B,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC;YAAE,SAAQ;QACrD,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI;YAAE,SAAQ;QACxD,IAAI,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI;YAAE,SAAQ;QACzD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IAED,IAAI,IAAI,KAAK,IAAI;QAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAA;IACvD,IAAI,IAAI,KAAK,MAAM;QAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAE1E,OAAO,QAAiB,CAAA;AAC1B,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,IAAI,IAAI,KAAK;QACb,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAC5B,MAAM,IAAI,KAAK;QACf,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,gBAAgB,IAAI,KAAK;QACzB,SAAS,IAAI,KAAK,CACnB,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/chain/getChainContractAddress.js b/node_modules/viem/_cjs/utils/chain/getChainContractAddress.js new file mode 100644 index 0000000000000000000000000000000000000000..fbda32ffb22ea641b98eeedd033d5d12f32d919f --- /dev/null +++ b/node_modules/viem/_cjs/utils/chain/getChainContractAddress.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getChainContractAddress = getChainContractAddress; +const chain_js_1 = require("../../errors/chain.js"); +function getChainContractAddress({ blockNumber, chain, contract: name, }) { + const contract = chain?.contracts?.[name]; + if (!contract) + throw new chain_js_1.ChainDoesNotSupportContract({ + chain, + contract: { name }, + }); + if (blockNumber && + contract.blockCreated && + contract.blockCreated > blockNumber) + throw new chain_js_1.ChainDoesNotSupportContract({ + blockNumber, + chain, + contract: { + name, + blockCreated: contract.blockCreated, + }, + }); + return contract.address; +} +//# sourceMappingURL=getChainContractAddress.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/chain/getChainContractAddress.js.map b/node_modules/viem/_cjs/utils/chain/getChainContractAddress.js.map new file mode 100644 index 0000000000000000000000000000000000000000..936ae003c46f8d0ea144644bcb97efc5e0d9d0eb --- /dev/null +++ b/node_modules/viem/_cjs/utils/chain/getChainContractAddress.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getChainContractAddress.js","sourceRoot":"","sources":["../../../utils/chain/getChainContractAddress.ts"],"names":[],"mappings":";;AASA,0DA+BC;AAxCD,oDAG8B;AAM9B,SAAgB,uBAAuB,CAAC,EACtC,WAAW,EACX,KAAK,EACL,QAAQ,EAAE,IAAI,GAKf;IACC,MAAM,QAAQ,GAAI,KAAK,EAAE,SAA2C,EAAE,CAAC,IAAI,CAAC,CAAA;IAC5E,IAAI,CAAC,QAAQ;QACX,MAAM,IAAI,sCAA2B,CAAC;YACpC,KAAK;YACL,QAAQ,EAAE,EAAE,IAAI,EAAE;SACnB,CAAC,CAAA;IAEJ,IACE,WAAW;QACX,QAAQ,CAAC,YAAY;QACrB,QAAQ,CAAC,YAAY,GAAG,WAAW;QAEnC,MAAM,IAAI,sCAA2B,CAAC;YACpC,WAAW;YACX,KAAK;YACL,QAAQ,EAAE;gBACR,IAAI;gBACJ,YAAY,EAAE,QAAQ,CAAC,YAAY;aACpC;SACF,CAAC,CAAA;IAEJ,OAAO,QAAQ,CAAC,OAAO,CAAA;AACzB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/cursor.js b/node_modules/viem/_cjs/utils/cursor.js new file mode 100644 index 0000000000000000000000000000000000000000..ee58b645e7a78681ea5e0ef8bfc05c9ef2a9c96a --- /dev/null +++ b/node_modules/viem/_cjs/utils/cursor.js @@ -0,0 +1,173 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createCursor = createCursor; +const cursor_js_1 = require("../errors/cursor.js"); +const staticCursor = { + bytes: new Uint8Array(), + dataView: new DataView(new ArrayBuffer(0)), + position: 0, + positionReadCount: new Map(), + recursiveReadCount: 0, + recursiveReadLimit: Number.POSITIVE_INFINITY, + assertReadLimit() { + if (this.recursiveReadCount >= this.recursiveReadLimit) + throw new cursor_js_1.RecursiveReadLimitExceededError({ + count: this.recursiveReadCount + 1, + limit: this.recursiveReadLimit, + }); + }, + assertPosition(position) { + if (position < 0 || position > this.bytes.length - 1) + throw new cursor_js_1.PositionOutOfBoundsError({ + length: this.bytes.length, + position, + }); + }, + decrementPosition(offset) { + if (offset < 0) + throw new cursor_js_1.NegativeOffsetError({ offset }); + const position = this.position - offset; + this.assertPosition(position); + this.position = position; + }, + getReadCount(position) { + return this.positionReadCount.get(position || this.position) || 0; + }, + incrementPosition(offset) { + if (offset < 0) + throw new cursor_js_1.NegativeOffsetError({ offset }); + const position = this.position + offset; + this.assertPosition(position); + this.position = position; + }, + inspectByte(position_) { + const position = position_ ?? this.position; + this.assertPosition(position); + return this.bytes[position]; + }, + inspectBytes(length, position_) { + const position = position_ ?? this.position; + this.assertPosition(position + length - 1); + return this.bytes.subarray(position, position + length); + }, + inspectUint8(position_) { + const position = position_ ?? this.position; + this.assertPosition(position); + return this.bytes[position]; + }, + inspectUint16(position_) { + const position = position_ ?? this.position; + this.assertPosition(position + 1); + return this.dataView.getUint16(position); + }, + inspectUint24(position_) { + const position = position_ ?? this.position; + this.assertPosition(position + 2); + return ((this.dataView.getUint16(position) << 8) + + this.dataView.getUint8(position + 2)); + }, + inspectUint32(position_) { + const position = position_ ?? this.position; + this.assertPosition(position + 3); + return this.dataView.getUint32(position); + }, + pushByte(byte) { + this.assertPosition(this.position); + this.bytes[this.position] = byte; + this.position++; + }, + pushBytes(bytes) { + this.assertPosition(this.position + bytes.length - 1); + this.bytes.set(bytes, this.position); + this.position += bytes.length; + }, + pushUint8(value) { + this.assertPosition(this.position); + this.bytes[this.position] = value; + this.position++; + }, + pushUint16(value) { + this.assertPosition(this.position + 1); + this.dataView.setUint16(this.position, value); + this.position += 2; + }, + pushUint24(value) { + this.assertPosition(this.position + 2); + this.dataView.setUint16(this.position, value >> 8); + this.dataView.setUint8(this.position + 2, value & ~4294967040); + this.position += 3; + }, + pushUint32(value) { + this.assertPosition(this.position + 3); + this.dataView.setUint32(this.position, value); + this.position += 4; + }, + readByte() { + this.assertReadLimit(); + this._touch(); + const value = this.inspectByte(); + this.position++; + return value; + }, + readBytes(length, size) { + this.assertReadLimit(); + this._touch(); + const value = this.inspectBytes(length); + this.position += size ?? length; + return value; + }, + readUint8() { + this.assertReadLimit(); + this._touch(); + const value = this.inspectUint8(); + this.position += 1; + return value; + }, + readUint16() { + this.assertReadLimit(); + this._touch(); + const value = this.inspectUint16(); + this.position += 2; + return value; + }, + readUint24() { + this.assertReadLimit(); + this._touch(); + const value = this.inspectUint24(); + this.position += 3; + return value; + }, + readUint32() { + this.assertReadLimit(); + this._touch(); + const value = this.inspectUint32(); + this.position += 4; + return value; + }, + get remaining() { + return this.bytes.length - this.position; + }, + setPosition(position) { + const oldPosition = this.position; + this.assertPosition(position); + this.position = position; + return () => (this.position = oldPosition); + }, + _touch() { + if (this.recursiveReadLimit === Number.POSITIVE_INFINITY) + return; + const count = this.getReadCount(); + this.positionReadCount.set(this.position, count + 1); + if (count > 0) + this.recursiveReadCount++; + }, +}; +function createCursor(bytes, { recursiveReadLimit = 8_192 } = {}) { + const cursor = Object.create(staticCursor); + cursor.bytes = bytes; + cursor.dataView = new DataView(bytes.buffer ?? bytes, bytes.byteOffset, bytes.byteLength); + cursor.positionReadCount = new Map(); + cursor.recursiveReadLimit = recursiveReadLimit; + return cursor; +} +//# sourceMappingURL=cursor.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/cursor.js.map b/node_modules/viem/_cjs/utils/cursor.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a06aa049c913f89e2b436921b93112c6aac4f82a --- /dev/null +++ b/node_modules/viem/_cjs/utils/cursor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../utils/cursor.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/data/concat.js b/node_modules/viem/_cjs/utils/data/concat.js new file mode 100644 index 0000000000000000000000000000000000000000..d77f20c8b927d3f4f9c8e9962cf0c36e88c34217 --- /dev/null +++ b/node_modules/viem/_cjs/utils/data/concat.js @@ -0,0 +1,27 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.concat = concat; +exports.concatBytes = concatBytes; +exports.concatHex = concatHex; +function concat(values) { + if (typeof values[0] === 'string') + return concatHex(values); + return concatBytes(values); +} +function concatBytes(values) { + let length = 0; + for (const arr of values) { + length += arr.length; + } + const result = new Uint8Array(length); + let offset = 0; + for (const arr of values) { + result.set(arr, offset); + offset += arr.length; + } + return result; +} +function concatHex(values) { + return `0x${values.reduce((acc, x) => acc + x.replace('0x', ''), '')}`; +} +//# sourceMappingURL=concat.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/data/concat.js.map b/node_modules/viem/_cjs/utils/data/concat.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b4356e2db6f113508f08d7b4fc7cc254b66e5252 --- /dev/null +++ b/node_modules/viem/_cjs/utils/data/concat.js.map @@ -0,0 +1 @@ +{"version":3,"file":"concat.js","sourceRoot":"","sources":["../../../utils/data/concat.ts"],"names":[],"mappings":";;AAYA,wBAMC;AAID,kCAYC;AAID,8BAKC;AA/BD,SAAgB,MAAM,CACpB,MAAwB;IAExB,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ;QAC/B,OAAO,SAAS,CAAC,MAAwB,CAA4B,CAAA;IACvE,OAAO,WAAW,CAAC,MAA8B,CAA4B,CAAA;AAC/E,CAAC;AAID,SAAgB,WAAW,CAAC,MAA4B;IACtD,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAA;IACtB,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;IACrC,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACvB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAA;IACtB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAID,SAAgB,SAAS,CAAC,MAAsB;IAC9C,OAAO,KAAM,MAAgB,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EACrC,EAAE,CACH,EAAE,CAAA;AACL,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/data/isBytes.js b/node_modules/viem/_cjs/utils/data/isBytes.js new file mode 100644 index 0000000000000000000000000000000000000000..2d32de3a4c2b9fe761359ecb3218c7646ce90c30 --- /dev/null +++ b/node_modules/viem/_cjs/utils/data/isBytes.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isBytes = isBytes; +function isBytes(value) { + if (!value) + return false; + if (typeof value !== 'object') + return false; + if (!('BYTES_PER_ELEMENT' in value)) + return false; + return (value.BYTES_PER_ELEMENT === 1 && value.constructor.name === 'Uint8Array'); +} +//# sourceMappingURL=isBytes.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/data/isBytes.js.map b/node_modules/viem/_cjs/utils/data/isBytes.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8c8eb2a9640ff954f7d3da831675d768cb3310fb --- /dev/null +++ b/node_modules/viem/_cjs/utils/data/isBytes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"isBytes.js","sourceRoot":"","sources":["../../../utils/data/isBytes.ts"],"names":[],"mappings":";;AAKA,0BAOC;AAPD,SAAgB,OAAO,CAAC,KAAc;IACpC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACxB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,CAAC,CAAC,mBAAmB,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACjD,OAAO,CACL,KAAK,CAAC,iBAAiB,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,YAAY,CACzE,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/data/isHex.js b/node_modules/viem/_cjs/utils/data/isHex.js new file mode 100644 index 0000000000000000000000000000000000000000..ce2677c27ab79eee6ac2899d73d3e8cf8e87571c --- /dev/null +++ b/node_modules/viem/_cjs/utils/data/isHex.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isHex = isHex; +function isHex(value, { strict = true } = {}) { + if (!value) + return false; + if (typeof value !== 'string') + return false; + return strict ? /^0x[0-9a-fA-F]*$/.test(value) : value.startsWith('0x'); +} +//# sourceMappingURL=isHex.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/data/isHex.js.map b/node_modules/viem/_cjs/utils/data/isHex.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8a8a33a7a3664894f5cb8ae2108557e99e9f7e05 --- /dev/null +++ b/node_modules/viem/_cjs/utils/data/isHex.js.map @@ -0,0 +1 @@ +{"version":3,"file":"isHex.js","sourceRoot":"","sources":["../../../utils/data/isHex.ts"],"names":[],"mappings":";;AAKA,sBAOC;AAPD,SAAgB,KAAK,CACnB,KAAc,EACd,EAAE,MAAM,GAAG,IAAI,KAAuC,EAAE;IAExD,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACxB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,OAAO,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AACzE,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/data/pad.js b/node_modules/viem/_cjs/utils/data/pad.js new file mode 100644 index 0000000000000000000000000000000000000000..7992d42a850f318e9bb2c48f91e6a4d66ed2bf78 --- /dev/null +++ b/node_modules/viem/_cjs/utils/data/pad.js @@ -0,0 +1,41 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.pad = pad; +exports.padHex = padHex; +exports.padBytes = padBytes; +const data_js_1 = require("../../errors/data.js"); +function pad(hexOrBytes, { dir, size = 32 } = {}) { + if (typeof hexOrBytes === 'string') + return padHex(hexOrBytes, { dir, size }); + return padBytes(hexOrBytes, { dir, size }); +} +function padHex(hex_, { dir, size = 32 } = {}) { + if (size === null) + return hex_; + const hex = hex_.replace('0x', ''); + if (hex.length > size * 2) + throw new data_js_1.SizeExceedsPaddingSizeError({ + size: Math.ceil(hex.length / 2), + targetSize: size, + type: 'hex', + }); + return `0x${hex[dir === 'right' ? 'padEnd' : 'padStart'](size * 2, '0')}`; +} +function padBytes(bytes, { dir, size = 32 } = {}) { + if (size === null) + return bytes; + if (bytes.length > size) + throw new data_js_1.SizeExceedsPaddingSizeError({ + size: bytes.length, + targetSize: size, + type: 'bytes', + }); + const paddedBytes = new Uint8Array(size); + for (let i = 0; i < size; i++) { + const padEnd = dir === 'right'; + paddedBytes[padEnd ? i : size - i - 1] = + bytes[padEnd ? i : bytes.length - i - 1]; + } + return paddedBytes; +} +//# sourceMappingURL=pad.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/data/pad.js.map b/node_modules/viem/_cjs/utils/data/pad.js.map new file mode 100644 index 0000000000000000000000000000000000000000..dd3260a7ad372b7ae2ef5eb03860d42765a4522e --- /dev/null +++ b/node_modules/viem/_cjs/utils/data/pad.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pad.js","sourceRoot":"","sources":["../../../utils/data/pad.ts"],"names":[],"mappings":";;AAiBA,kBAOC;AAID,wBAcC;AAID,4BAkBC;AAhED,kDAG6B;AAc7B,SAAgB,GAAG,CACjB,UAAiB,EACjB,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,KAAiB,EAAE;IAEnC,IAAI,OAAO,UAAU,KAAK,QAAQ;QAChC,OAAO,MAAM,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAyB,CAAA;IAClE,OAAO,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAyB,CAAA;AACpE,CAAC;AAID,SAAgB,MAAM,CAAC,IAAS,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,KAAiB,EAAE;IACnE,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAClC,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC;QACvB,MAAM,IAAI,qCAA2B,CAAC;YACpC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/B,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;IAEJ,OAAO,KAAK,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CACtD,IAAI,GAAG,CAAC,EACR,GAAG,CACJ,EAAS,CAAA;AACZ,CAAC;AAID,SAAgB,QAAQ,CACtB,KAAgB,EAChB,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,KAAiB,EAAE;IAEnC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI;QACrB,MAAM,IAAI,qCAA2B,CAAC;YACpC,IAAI,EAAE,KAAK,CAAC,MAAM;YAClB,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,OAAO;SACd,CAAC,CAAA;IACJ,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,GAAG,KAAK,OAAO,CAAA;QAC9B,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YACpC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IAC5C,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/data/size.js b/node_modules/viem/_cjs/utils/data/size.js new file mode 100644 index 0000000000000000000000000000000000000000..97746ee0fe76574e56385d10c47433b2e1117421 --- /dev/null +++ b/node_modules/viem/_cjs/utils/data/size.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.size = size; +const isHex_js_1 = require("./isHex.js"); +function size(value) { + if ((0, isHex_js_1.isHex)(value, { strict: false })) + return Math.ceil((value.length - 2) / 2); + return value.length; +} +//# sourceMappingURL=size.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/data/size.js.map b/node_modules/viem/_cjs/utils/data/size.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c342768e23bccee63a11eda4fd073ac0d675d5bf --- /dev/null +++ b/node_modules/viem/_cjs/utils/data/size.js.map @@ -0,0 +1 @@ +{"version":3,"file":"size.js","sourceRoot":"","sources":["../../../utils/data/size.ts"],"names":[],"mappings":";;AAaA,oBAGC;AAbD,yCAAuD;AAUvD,SAAgB,IAAI,CAAC,KAAsB;IACzC,IAAI,IAAA,gBAAK,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAC7E,OAAO,KAAK,CAAC,MAAM,CAAA;AACrB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/data/slice.js b/node_modules/viem/_cjs/utils/data/slice.js new file mode 100644 index 0000000000000000000000000000000000000000..7d28c19aebed62175c2b7156ba0d32d8882c9863 --- /dev/null +++ b/node_modules/viem/_cjs/utils/data/slice.js @@ -0,0 +1,53 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.slice = slice; +exports.sliceBytes = sliceBytes; +exports.sliceHex = sliceHex; +const data_js_1 = require("../../errors/data.js"); +const isHex_js_1 = require("./isHex.js"); +const size_js_1 = require("./size.js"); +function slice(value, start, end, { strict } = {}) { + if ((0, isHex_js_1.isHex)(value, { strict: false })) + return sliceHex(value, start, end, { + strict, + }); + return sliceBytes(value, start, end, { + strict, + }); +} +function assertStartOffset(value, start) { + if (typeof start === 'number' && start > 0 && start > (0, size_js_1.size)(value) - 1) + throw new data_js_1.SliceOffsetOutOfBoundsError({ + offset: start, + position: 'start', + size: (0, size_js_1.size)(value), + }); +} +function assertEndOffset(value, start, end) { + if (typeof start === 'number' && + typeof end === 'number' && + (0, size_js_1.size)(value) !== end - start) { + throw new data_js_1.SliceOffsetOutOfBoundsError({ + offset: end, + position: 'end', + size: (0, size_js_1.size)(value), + }); + } +} +function sliceBytes(value_, start, end, { strict } = {}) { + assertStartOffset(value_, start); + const value = value_.slice(start, end); + if (strict) + assertEndOffset(value, start, end); + return value; +} +function sliceHex(value_, start, end, { strict } = {}) { + assertStartOffset(value_, start); + const value = `0x${value_ + .replace('0x', '') + .slice((start ?? 0) * 2, (end ?? value_.length) * 2)}`; + if (strict) + assertEndOffset(value, start, end); + return value; +} +//# sourceMappingURL=slice.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/data/slice.js.map b/node_modules/viem/_cjs/utils/data/slice.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9a802947c4453a2e5d4eb7aa52547685a08d1ba5 --- /dev/null +++ b/node_modules/viem/_cjs/utils/data/slice.js.map @@ -0,0 +1 @@ +{"version":3,"file":"slice.js","sourceRoot":"","sources":["../../../utils/data/slice.ts"],"names":[],"mappings":";;AA2BA,sBAaC;AAmDD,gCAUC;AAcD,4BAYC;AA/HD,kDAG6B;AAI7B,yCAAuD;AACvD,uCAAoD;AAmBpD,SAAgB,KAAK,CACnB,KAAY,EACZ,KAA0B,EAC1B,GAAwB,EACxB,EAAE,MAAM,KAAuC,EAAE;IAEjD,IAAI,IAAA,gBAAK,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC,KAAY,EAAE,KAAK,EAAE,GAAG,EAAE;YACxC,MAAM;SACP,CAA2B,CAAA;IAC9B,OAAO,UAAU,CAAC,KAAkB,EAAE,KAAK,EAAE,GAAG,EAAE;QAChD,MAAM;KACP,CAA2B,CAAA;AAC9B,CAAC;AAOD,SAAS,iBAAiB,CAAC,KAAsB,EAAE,KAA0B;IAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,IAAA,cAAI,EAAC,KAAK,CAAC,GAAG,CAAC;QACnE,MAAM,IAAI,qCAA2B,CAAC;YACpC,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,IAAA,cAAI,EAAC,KAAK,CAAC;SAClB,CAAC,CAAA;AACN,CAAC;AAOD,SAAS,eAAe,CACtB,KAAsB,EACtB,KAA0B,EAC1B,GAAwB;IAExB,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,GAAG,KAAK,QAAQ;QACvB,IAAA,cAAI,EAAC,KAAK,CAAC,KAAK,GAAG,GAAG,KAAK,EAC3B,CAAC;QACD,MAAM,IAAI,qCAA2B,CAAC;YACpC,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,IAAA,cAAI,EAAC,KAAK,CAAC;SAClB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAcD,SAAgB,UAAU,CACxB,MAAiB,EACjB,KAA0B,EAC1B,GAAwB,EACxB,EAAE,MAAM,KAAuC,EAAE;IAEjD,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IACtC,IAAI,MAAM;QAAE,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;IAC9C,OAAO,KAAK,CAAA;AACd,CAAC;AAcD,SAAgB,QAAQ,CACtB,MAAW,EACX,KAA0B,EAC1B,GAAwB,EACxB,EAAE,MAAM,KAAuC,EAAE;IAEjD,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAChC,MAAM,KAAK,GAAG,KAAK,MAAM;SACtB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACjB,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAW,CAAA;IACjE,IAAI,MAAM;QAAE,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;IAC9C,OAAO,KAAK,CAAA;AACd,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/data/trim.js b/node_modules/viem/_cjs/utils/data/trim.js new file mode 100644 index 0000000000000000000000000000000000000000..3732065d47894c120b9da147a3b6812d3da4cbf0 --- /dev/null +++ b/node_modules/viem/_cjs/utils/data/trim.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.trim = trim; +function trim(hexOrBytes, { dir = 'left' } = {}) { + let data = typeof hexOrBytes === 'string' ? hexOrBytes.replace('0x', '') : hexOrBytes; + let sliceLength = 0; + for (let i = 0; i < data.length - 1; i++) { + if (data[dir === 'left' ? i : data.length - i - 1].toString() === '0') + sliceLength++; + else + break; + } + data = + dir === 'left' + ? data.slice(sliceLength) + : data.slice(0, data.length - sliceLength); + if (typeof hexOrBytes === 'string') { + if (data.length === 1 && dir === 'right') + data = `${data}0`; + return `0x${data.length % 2 === 1 ? `0${data}` : data}`; + } + return data; +} +//# sourceMappingURL=trim.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/data/trim.js.map b/node_modules/viem/_cjs/utils/data/trim.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6c32341939670202759cb37997be5b318550fab1 --- /dev/null +++ b/node_modules/viem/_cjs/utils/data/trim.js.map @@ -0,0 +1 @@ +{"version":3,"file":"trim.js","sourceRoot":"","sources":["../../../utils/data/trim.ts"],"names":[],"mappings":";;AAYA,oBAyBC;AAzBD,SAAgB,IAAI,CAClB,UAAiB,EACjB,EAAE,GAAG,GAAG,MAAM,KAAkB,EAAE;IAElC,IAAI,IAAI,GACN,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;IAE5E,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,GAAG;YACnE,WAAW,EAAE,CAAA;;YACV,MAAK;IACZ,CAAC;IACD,IAAI;QACF,GAAG,KAAK,MAAM;YACZ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,CAAA;IAE9C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,KAAK,OAAO;YAAE,IAAI,GAAG,GAAG,IAAI,GAAG,CAAA;QAC3D,OAAO,KACL,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IACvC,EAA2B,CAAA;IAC7B,CAAC;IACD,OAAO,IAA6B,CAAA;AACtC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/encoding/fromBytes.js b/node_modules/viem/_cjs/utils/encoding/fromBytes.js new file mode 100644 index 0000000000000000000000000000000000000000..bd0f28e3eb272ee0b7ddbcc6f1dfd45c3179bac3 --- /dev/null +++ b/node_modules/viem/_cjs/utils/encoding/fromBytes.js @@ -0,0 +1,55 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fromBytes = fromBytes; +exports.bytesToBigInt = bytesToBigInt; +exports.bytesToBool = bytesToBool; +exports.bytesToNumber = bytesToNumber; +exports.bytesToString = bytesToString; +const encoding_js_1 = require("../../errors/encoding.js"); +const trim_js_1 = require("../data/trim.js"); +const fromHex_js_1 = require("./fromHex.js"); +const toHex_js_1 = require("./toHex.js"); +function fromBytes(bytes, toOrOpts) { + const opts = typeof toOrOpts === 'string' ? { to: toOrOpts } : toOrOpts; + const to = opts.to; + if (to === 'number') + return bytesToNumber(bytes, opts); + if (to === 'bigint') + return bytesToBigInt(bytes, opts); + if (to === 'boolean') + return bytesToBool(bytes, opts); + if (to === 'string') + return bytesToString(bytes, opts); + return (0, toHex_js_1.bytesToHex)(bytes, opts); +} +function bytesToBigInt(bytes, opts = {}) { + if (typeof opts.size !== 'undefined') + (0, fromHex_js_1.assertSize)(bytes, { size: opts.size }); + const hex = (0, toHex_js_1.bytesToHex)(bytes); + return (0, fromHex_js_1.hexToBigInt)(hex, opts); +} +function bytesToBool(bytes_, opts = {}) { + let bytes = bytes_; + if (typeof opts.size !== 'undefined') { + (0, fromHex_js_1.assertSize)(bytes, { size: opts.size }); + bytes = (0, trim_js_1.trim)(bytes); + } + if (bytes.length > 1 || bytes[0] > 1) + throw new encoding_js_1.InvalidBytesBooleanError(bytes); + return Boolean(bytes[0]); +} +function bytesToNumber(bytes, opts = {}) { + if (typeof opts.size !== 'undefined') + (0, fromHex_js_1.assertSize)(bytes, { size: opts.size }); + const hex = (0, toHex_js_1.bytesToHex)(bytes); + return (0, fromHex_js_1.hexToNumber)(hex, opts); +} +function bytesToString(bytes_, opts = {}) { + let bytes = bytes_; + if (typeof opts.size !== 'undefined') { + (0, fromHex_js_1.assertSize)(bytes, { size: opts.size }); + bytes = (0, trim_js_1.trim)(bytes, { dir: 'right' }); + } + return new TextDecoder().decode(bytes); +} +//# sourceMappingURL=fromBytes.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/encoding/fromBytes.js.map b/node_modules/viem/_cjs/utils/encoding/fromBytes.js.map new file mode 100644 index 0000000000000000000000000000000000000000..847bcb4555e9977ef993d40da9c0cfcf5a16b763 --- /dev/null +++ b/node_modules/viem/_cjs/utils/encoding/fromBytes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fromBytes.js","sourceRoot":"","sources":["../../../utils/encoding/fromBytes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/encoding/fromHex.js b/node_modules/viem/_cjs/utils/encoding/fromHex.js new file mode 100644 index 0000000000000000000000000000000000000000..3750a514bbf50296fbe965bb26b19d3ab878a6e2 --- /dev/null +++ b/node_modules/viem/_cjs/utils/encoding/fromHex.js @@ -0,0 +1,79 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.assertSize = assertSize; +exports.fromHex = fromHex; +exports.hexToBigInt = hexToBigInt; +exports.hexToBool = hexToBool; +exports.hexToNumber = hexToNumber; +exports.hexToString = hexToString; +const encoding_js_1 = require("../../errors/encoding.js"); +const size_js_1 = require("../data/size.js"); +const trim_js_1 = require("../data/trim.js"); +const toBytes_js_1 = require("./toBytes.js"); +function assertSize(hexOrBytes, { size }) { + if ((0, size_js_1.size)(hexOrBytes) > size) + throw new encoding_js_1.SizeOverflowError({ + givenSize: (0, size_js_1.size)(hexOrBytes), + maxSize: size, + }); +} +function fromHex(hex, toOrOpts) { + const opts = typeof toOrOpts === 'string' ? { to: toOrOpts } : toOrOpts; + const to = opts.to; + if (to === 'number') + return hexToNumber(hex, opts); + if (to === 'bigint') + return hexToBigInt(hex, opts); + if (to === 'string') + return hexToString(hex, opts); + if (to === 'boolean') + return hexToBool(hex, opts); + return (0, toBytes_js_1.hexToBytes)(hex, opts); +} +function hexToBigInt(hex, opts = {}) { + const { signed } = opts; + if (opts.size) + assertSize(hex, { size: opts.size }); + const value = BigInt(hex); + if (!signed) + return value; + const size = Math.ceil((hex.length - 2) / 2); + const max = (1n << (BigInt(size) * 8n - 1n)) - 1n; + if (value <= max) + return value; + return value - BigInt(`0x${'f'.padStart(size * 2, 'f')}`) - 1n; +} +function hexToBool(hex_, opts = {}) { + let hex = hex_; + if (opts.size) { + assertSize(hex, { size: opts.size }); + hex = (0, trim_js_1.trim)(hex); + } + if ((0, trim_js_1.trim)(hex) === '0x00') + return false; + if ((0, trim_js_1.trim)(hex) === '0x01') + return true; + throw new encoding_js_1.InvalidHexBooleanError(hex); +} +function hexToNumber(hex, opts = {}) { + const value = hexToBigInt(hex, opts); + const number = Number(value); + if (!Number.isSafeInteger(number)) + throw new encoding_js_1.IntegerOutOfRangeError({ + max: `${Number.MAX_SAFE_INTEGER}`, + min: `${Number.MIN_SAFE_INTEGER}`, + signed: opts.signed, + size: opts.size, + value: `${value}n`, + }); + return number; +} +function hexToString(hex, opts = {}) { + let bytes = (0, toBytes_js_1.hexToBytes)(hex); + if (opts.size) { + assertSize(bytes, { size: opts.size }); + bytes = (0, trim_js_1.trim)(bytes, { dir: 'right' }); + } + return new TextDecoder().decode(bytes); +} +//# sourceMappingURL=fromHex.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/encoding/fromHex.js.map b/node_modules/viem/_cjs/utils/encoding/fromHex.js.map new file mode 100644 index 0000000000000000000000000000000000000000..23960a9cba6f4a6748865dbb1f018a5faf0e91a2 --- /dev/null +++ b/node_modules/viem/_cjs/utils/encoding/fromHex.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fromHex.js","sourceRoot":"","sources":["../../../utils/encoding/fromHex.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/encoding/fromRlp.js b/node_modules/viem/_cjs/utils/encoding/fromRlp.js new file mode 100644 index 0000000000000000000000000000000000000000..c8bc6c527439c3692146f09c5469ee527f55cb47 --- /dev/null +++ b/node_modules/viem/_cjs/utils/encoding/fromRlp.js @@ -0,0 +1,72 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fromRlp = fromRlp; +const base_js_1 = require("../../errors/base.js"); +const encoding_js_1 = require("../../errors/encoding.js"); +const cursor_js_1 = require("../cursor.js"); +const toBytes_js_1 = require("./toBytes.js"); +const toHex_js_1 = require("./toHex.js"); +const rlpDepthLimit = 1_024; +function fromRlp(value, to = 'hex') { + const bytes = (() => { + if (typeof value === 'string') { + if (value.length > 3 && value.length % 2 !== 0) + throw new encoding_js_1.InvalidHexValueError(value); + return (0, toBytes_js_1.hexToBytes)(value); + } + return value; + })(); + const cursor = (0, cursor_js_1.createCursor)(bytes, { + recursiveReadLimit: Number.POSITIVE_INFINITY, + }); + const result = fromRlpCursor(cursor, to); + if (cursor.position < cursor.bytes.length) + throw new encoding_js_1.RlpTrailingBytesError({ + count: cursor.bytes.length - cursor.position, + }); + return result; +} +function fromRlpCursor(cursor, to = 'hex', recursiveDepth = 0) { + if (recursiveDepth >= rlpDepthLimit) + throw new encoding_js_1.RlpDepthLimitExceededError({ limit: rlpDepthLimit }); + if (cursor.bytes.length === 0) + return (to === 'hex' ? (0, toHex_js_1.bytesToHex)(cursor.bytes) : cursor.bytes); + const prefix = cursor.readByte(); + if (prefix < 0x80) + cursor.decrementPosition(1); + if (prefix < 0xc0) { + const length = readLength(cursor, prefix, 0x80); + const bytes = cursor.readBytes(length); + return (to === 'hex' ? (0, toHex_js_1.bytesToHex)(bytes) : bytes); + } + const length = readLength(cursor, prefix, 0xc0); + return readList(cursor, length, to, recursiveDepth + 1); +} +function readLength(cursor, prefix, offset) { + if (offset === 0x80 && prefix < 0x80) + return 1; + if (prefix <= offset + 55) + return prefix - offset; + if (prefix === offset + 55 + 1) + return cursor.readUint8(); + if (prefix === offset + 55 + 2) + return cursor.readUint16(); + if (prefix === offset + 55 + 3) + return cursor.readUint24(); + if (prefix === offset + 55 + 4) + return cursor.readUint32(); + throw new base_js_1.BaseError('Invalid RLP prefix'); +} +function readList(cursor, length, to, recursiveDepth) { + const position = cursor.position; + const value = []; + while (cursor.position - position < length) + value.push(fromRlpCursor(cursor, to, recursiveDepth)); + if (cursor.position - position !== length) + throw new encoding_js_1.RlpListBoundaryExceededError({ + consumed: cursor.position - position, + declared: length, + }); + return value; +} +//# sourceMappingURL=fromRlp.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/encoding/fromRlp.js.map b/node_modules/viem/_cjs/utils/encoding/fromRlp.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c4bded917040677d6220e2dea2043799c67eb1c4 --- /dev/null +++ b/node_modules/viem/_cjs/utils/encoding/fromRlp.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fromRlp.js","sourceRoot":"","sources":["../../../utils/encoding/fromRlp.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/encoding/toBytes.js b/node_modules/viem/_cjs/utils/encoding/toBytes.js new file mode 100644 index 0000000000000000000000000000000000000000..c0957fe2ee36924499d095caca2eb4ee359cab9d --- /dev/null +++ b/node_modules/viem/_cjs/utils/encoding/toBytes.js @@ -0,0 +1,82 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toBytes = toBytes; +exports.boolToBytes = boolToBytes; +exports.hexToBytes = hexToBytes; +exports.numberToBytes = numberToBytes; +exports.stringToBytes = stringToBytes; +const base_js_1 = require("../../errors/base.js"); +const isHex_js_1 = require("../data/isHex.js"); +const pad_js_1 = require("../data/pad.js"); +const fromHex_js_1 = require("./fromHex.js"); +const toHex_js_1 = require("./toHex.js"); +const encoder = new TextEncoder(); +function toBytes(value, opts = {}) { + if (typeof value === 'number' || typeof value === 'bigint') + return numberToBytes(value, opts); + if (typeof value === 'boolean') + return boolToBytes(value, opts); + if ((0, isHex_js_1.isHex)(value)) + return hexToBytes(value, opts); + return stringToBytes(value, opts); +} +function boolToBytes(value, opts = {}) { + const bytes = new Uint8Array(1); + bytes[0] = Number(value); + if (typeof opts.size === 'number') { + (0, fromHex_js_1.assertSize)(bytes, { size: opts.size }); + return (0, pad_js_1.pad)(bytes, { size: opts.size }); + } + return bytes; +} +const charCodeMap = { + zero: 48, + nine: 57, + A: 65, + F: 70, + a: 97, + f: 102, +}; +function charCodeToBase16(char) { + if (char >= charCodeMap.zero && char <= charCodeMap.nine) + return char - charCodeMap.zero; + if (char >= charCodeMap.A && char <= charCodeMap.F) + return char - (charCodeMap.A - 10); + if (char >= charCodeMap.a && char <= charCodeMap.f) + return char - (charCodeMap.a - 10); + return undefined; +} +function hexToBytes(hex_, opts = {}) { + let hex = hex_; + if (opts.size) { + (0, fromHex_js_1.assertSize)(hex, { size: opts.size }); + hex = (0, pad_js_1.pad)(hex, { dir: 'right', size: opts.size }); + } + let hexString = hex.slice(2); + if (hexString.length % 2) + hexString = `0${hexString}`; + const length = hexString.length / 2; + const bytes = new Uint8Array(length); + for (let index = 0, j = 0; index < length; index++) { + const nibbleLeft = charCodeToBase16(hexString.charCodeAt(j++)); + const nibbleRight = charCodeToBase16(hexString.charCodeAt(j++)); + if (nibbleLeft === undefined || nibbleRight === undefined) { + throw new base_js_1.BaseError(`Invalid byte sequence ("${hexString[j - 2]}${hexString[j - 1]}" in "${hexString}").`); + } + bytes[index] = nibbleLeft * 16 + nibbleRight; + } + return bytes; +} +function numberToBytes(value, opts) { + const hex = (0, toHex_js_1.numberToHex)(value, opts); + return hexToBytes(hex); +} +function stringToBytes(value, opts = {}) { + const bytes = encoder.encode(value); + if (typeof opts.size === 'number') { + (0, fromHex_js_1.assertSize)(bytes, { size: opts.size }); + return (0, pad_js_1.pad)(bytes, { dir: 'right', size: opts.size }); + } + return bytes; +} +//# sourceMappingURL=toBytes.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/encoding/toBytes.js.map b/node_modules/viem/_cjs/utils/encoding/toBytes.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e33cb9d72735ffc8ab12a62ab6de2084abb54117 --- /dev/null +++ b/node_modules/viem/_cjs/utils/encoding/toBytes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toBytes.js","sourceRoot":"","sources":["../../../utils/encoding/toBytes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/encoding/toHex.js b/node_modules/viem/_cjs/utils/encoding/toHex.js new file mode 100644 index 0000000000000000000000000000000000000000..aa10cee96f8a97e5b2fe469e2ba0cc2c7788cf86 --- /dev/null +++ b/node_modules/viem/_cjs/utils/encoding/toHex.js @@ -0,0 +1,76 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toHex = toHex; +exports.boolToHex = boolToHex; +exports.bytesToHex = bytesToHex; +exports.numberToHex = numberToHex; +exports.stringToHex = stringToHex; +const encoding_js_1 = require("../../errors/encoding.js"); +const pad_js_1 = require("../data/pad.js"); +const fromHex_js_1 = require("./fromHex.js"); +const hexes = Array.from({ length: 256 }, (_v, i) => i.toString(16).padStart(2, '0')); +function toHex(value, opts = {}) { + if (typeof value === 'number' || typeof value === 'bigint') + return numberToHex(value, opts); + if (typeof value === 'string') { + return stringToHex(value, opts); + } + if (typeof value === 'boolean') + return boolToHex(value, opts); + return bytesToHex(value, opts); +} +function boolToHex(value, opts = {}) { + const hex = `0x${Number(value)}`; + if (typeof opts.size === 'number') { + (0, fromHex_js_1.assertSize)(hex, { size: opts.size }); + return (0, pad_js_1.pad)(hex, { size: opts.size }); + } + return hex; +} +function bytesToHex(value, opts = {}) { + let string = ''; + for (let i = 0; i < value.length; i++) { + string += hexes[value[i]]; + } + const hex = `0x${string}`; + if (typeof opts.size === 'number') { + (0, fromHex_js_1.assertSize)(hex, { size: opts.size }); + return (0, pad_js_1.pad)(hex, { dir: 'right', size: opts.size }); + } + return hex; +} +function numberToHex(value_, opts = {}) { + const { signed, size } = opts; + const value = BigInt(value_); + let maxValue; + if (size) { + if (signed) + maxValue = (1n << (BigInt(size) * 8n - 1n)) - 1n; + else + maxValue = 2n ** (BigInt(size) * 8n) - 1n; + } + else if (typeof value_ === 'number') { + maxValue = BigInt(Number.MAX_SAFE_INTEGER); + } + const minValue = typeof maxValue === 'bigint' && signed ? -maxValue - 1n : 0; + if ((maxValue && value > maxValue) || value < minValue) { + const suffix = typeof value_ === 'bigint' ? 'n' : ''; + throw new encoding_js_1.IntegerOutOfRangeError({ + max: maxValue ? `${maxValue}${suffix}` : undefined, + min: `${minValue}${suffix}`, + signed, + size, + value: `${value_}${suffix}`, + }); + } + const hex = `0x${(signed && value < 0 ? (1n << BigInt(size * 8)) + BigInt(value) : value).toString(16)}`; + if (size) + return (0, pad_js_1.pad)(hex, { size }); + return hex; +} +const encoder = new TextEncoder(); +function stringToHex(value_, opts = {}) { + const value = encoder.encode(value_); + return bytesToHex(value, opts); +} +//# sourceMappingURL=toHex.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/encoding/toHex.js.map b/node_modules/viem/_cjs/utils/encoding/toHex.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5d5ab5c17c84c54a137a3e711a7bb4a2d07853f5 --- /dev/null +++ b/node_modules/viem/_cjs/utils/encoding/toHex.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toHex.js","sourceRoot":"","sources":["../../../utils/encoding/toHex.ts"],"names":[],"mappings":";;AAmDA,sBAWC;AAiCD,8BAOC;AA4BD,gCAYC;AAuCD,kCAkCC;AA8BD,kCAGC;AAxPD,0DAGiC;AAGjC,2CAAuD;AAEvD,6CAAmE;AAEnE,MAAM,KAAK,GAAiB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAChE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAChC,CAAA;AAuCD,SAAgB,KAAK,CACnB,KAAqD,EACrD,OAAwB,EAAE;IAE1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;QACxD,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACjC,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAC7D,OAAO,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;AAChC,CAAC;AAiCD,SAAgB,SAAS,CAAC,KAAc,EAAE,OAAsB,EAAE;IAChE,MAAM,GAAG,GAAQ,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;IACrC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAA,uBAAU,EAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACpC,OAAO,IAAA,YAAG,EAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IACtC,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AA4BD,SAAgB,UAAU,CAAC,KAAgB,EAAE,OAAuB,EAAE;IACpE,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,MAAM,EAAW,CAAA;IAElC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAA,uBAAU,EAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACpC,OAAO,IAAA,YAAG,EAAC,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IACpD,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAuCD,SAAgB,WAAW,CACzB,MAAuB,EACvB,OAAwB,EAAE;IAE1B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;IAE7B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAE5B,IAAI,QAAqC,CAAA;IACzC,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,MAAM;YAAE,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;;YACvD,QAAQ,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAA;IAChD,CAAC;SAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAE5E,IAAI,CAAC,QAAQ,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;QACvD,MAAM,MAAM,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QACpD,MAAM,IAAI,oCAAsB,CAAC;YAC/B,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;YAClD,GAAG,EAAE,GAAG,QAAQ,GAAG,MAAM,EAAE;YAC3B,MAAM;YACN,IAAI;YACJ,KAAK,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE;SAC5B,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CACf,MAAM,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CACvE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAS,CAAA;IACvB,IAAI,IAAI;QAAE,OAAO,IAAA,YAAG,EAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAQ,CAAA;IAC1C,OAAO,GAAG,CAAA;AACZ,CAAC;AASD,MAAM,OAAO,GAAiB,IAAI,WAAW,EAAE,CAAA;AAqB/C,SAAgB,WAAW,CAAC,MAAc,EAAE,OAAwB,EAAE;IACpE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACpC,OAAO,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;AAChC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/encoding/toRlp.js b/node_modules/viem/_cjs/utils/encoding/toRlp.js new file mode 100644 index 0000000000000000000000000000000000000000..7d4502cbe27eee434e089bc54dae6f989879838c --- /dev/null +++ b/node_modules/viem/_cjs/utils/encoding/toRlp.js @@ -0,0 +1,106 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toRlp = toRlp; +exports.bytesToRlp = bytesToRlp; +exports.hexToRlp = hexToRlp; +const base_js_1 = require("../../errors/base.js"); +const cursor_js_1 = require("../cursor.js"); +const toBytes_js_1 = require("./toBytes.js"); +const toHex_js_1 = require("./toHex.js"); +function toRlp(bytes, to = 'hex') { + const encodable = getEncodable(bytes); + const cursor = (0, cursor_js_1.createCursor)(new Uint8Array(encodable.length)); + encodable.encode(cursor); + if (to === 'hex') + return (0, toHex_js_1.bytesToHex)(cursor.bytes); + return cursor.bytes; +} +function bytesToRlp(bytes, to = 'bytes') { + return toRlp(bytes, to); +} +function hexToRlp(hex, to = 'hex') { + return toRlp(hex, to); +} +function getEncodable(bytes) { + if (Array.isArray(bytes)) + return getEncodableList(bytes.map((x) => getEncodable(x))); + return getEncodableBytes(bytes); +} +function getEncodableList(list) { + const bodyLength = list.reduce((acc, x) => acc + x.length, 0); + const sizeOfBodyLength = getSizeOfLength(bodyLength); + const length = (() => { + if (bodyLength <= 55) + return 1 + bodyLength; + return 1 + sizeOfBodyLength + bodyLength; + })(); + return { + length, + encode(cursor) { + if (bodyLength <= 55) { + cursor.pushByte(0xc0 + bodyLength); + } + else { + cursor.pushByte(0xc0 + 55 + sizeOfBodyLength); + if (sizeOfBodyLength === 1) + cursor.pushUint8(bodyLength); + else if (sizeOfBodyLength === 2) + cursor.pushUint16(bodyLength); + else if (sizeOfBodyLength === 3) + cursor.pushUint24(bodyLength); + else + cursor.pushUint32(bodyLength); + } + for (const { encode } of list) { + encode(cursor); + } + }, + }; +} +function getEncodableBytes(bytesOrHex) { + const bytes = typeof bytesOrHex === 'string' ? (0, toBytes_js_1.hexToBytes)(bytesOrHex) : bytesOrHex; + const sizeOfBytesLength = getSizeOfLength(bytes.length); + const length = (() => { + if (bytes.length === 1 && bytes[0] < 0x80) + return 1; + if (bytes.length <= 55) + return 1 + bytes.length; + return 1 + sizeOfBytesLength + bytes.length; + })(); + return { + length, + encode(cursor) { + if (bytes.length === 1 && bytes[0] < 0x80) { + cursor.pushBytes(bytes); + } + else if (bytes.length <= 55) { + cursor.pushByte(0x80 + bytes.length); + cursor.pushBytes(bytes); + } + else { + cursor.pushByte(0x80 + 55 + sizeOfBytesLength); + if (sizeOfBytesLength === 1) + cursor.pushUint8(bytes.length); + else if (sizeOfBytesLength === 2) + cursor.pushUint16(bytes.length); + else if (sizeOfBytesLength === 3) + cursor.pushUint24(bytes.length); + else + cursor.pushUint32(bytes.length); + cursor.pushBytes(bytes); + } + }, + }; +} +function getSizeOfLength(length) { + if (length < 2 ** 8) + return 1; + if (length < 2 ** 16) + return 2; + if (length < 2 ** 24) + return 3; + if (length < 2 ** 32) + return 4; + throw new base_js_1.BaseError('Length is too large.'); +} +//# sourceMappingURL=toRlp.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/encoding/toRlp.js.map b/node_modules/viem/_cjs/utils/encoding/toRlp.js.map new file mode 100644 index 0000000000000000000000000000000000000000..55b80ec3f4e8c8eba3650e2eb58d35e868f29616 --- /dev/null +++ b/node_modules/viem/_cjs/utils/encoding/toRlp.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toRlp.js","sourceRoot":"","sources":["../../../utils/encoding/toRlp.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/avatar/parseAvatarRecord.js b/node_modules/viem/_cjs/utils/ens/avatar/parseAvatarRecord.js new file mode 100644 index 0000000000000000000000000000000000000000..0f1a1beb473a4cfff9543f12aa71a60e87566a29 --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/avatar/parseAvatarRecord.js @@ -0,0 +1,33 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseAvatarRecord = parseAvatarRecord; +const utils_js_1 = require("./utils.js"); +async function parseAvatarRecord(client, { gatewayUrls, record, }) { + if (/eip155:/i.test(record)) + return parseNftAvatarUri(client, { gatewayUrls, record }); + return (0, utils_js_1.parseAvatarUri)({ uri: record, gatewayUrls }); +} +async function parseNftAvatarUri(client, { gatewayUrls, record, }) { + const nft = (0, utils_js_1.parseNftUri)(record); + const nftUri = await (0, utils_js_1.getNftTokenUri)(client, { nft }); + const { uri: resolvedNftUri, isOnChain, isEncoded, } = (0, utils_js_1.resolveAvatarUri)({ uri: nftUri, gatewayUrls }); + if (isOnChain && + (resolvedNftUri.includes('data:application/json;base64,') || + resolvedNftUri.startsWith('{'))) { + const encodedJson = isEncoded + ? + atob(resolvedNftUri.replace('data:application/json;base64,', '')) + : + resolvedNftUri; + const decoded = JSON.parse(encodedJson); + return (0, utils_js_1.parseAvatarUri)({ uri: (0, utils_js_1.getJsonImage)(decoded), gatewayUrls }); + } + let uriTokenId = nft.tokenID; + if (nft.namespace === 'erc1155') + uriTokenId = uriTokenId.replace('0x', '').padStart(64, '0'); + return (0, utils_js_1.getMetadataAvatarUri)({ + gatewayUrls, + uri: resolvedNftUri.replace(/(?:0x)?{id}/, uriTokenId), + }); +} +//# sourceMappingURL=parseAvatarRecord.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/avatar/parseAvatarRecord.js.map b/node_modules/viem/_cjs/utils/ens/avatar/parseAvatarRecord.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6737baafae40c8fceef6ad71b5c824a8f81bb536 --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/avatar/parseAvatarRecord.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parseAvatarRecord.js","sourceRoot":"","sources":["../../../../utils/ens/avatar/parseAvatarRecord.ts"],"names":[],"mappings":";;AAoCA,8CAaC;AA3CD,yCAamB;AAiBZ,KAAK,UAAU,iBAAiB,CACrC,MAAgC,EAChC,EACE,WAAW,EACX,MAAM,GAIP;IAED,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QACzB,OAAO,iBAAiB,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;IAC3D,OAAO,IAAA,yBAAc,EAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;AACrD,CAAC;AAWD,KAAK,UAAU,iBAAiB,CAC9B,MAAgC,EAChC,EACE,WAAW,EACX,MAAM,GAIP;IAGD,MAAM,GAAG,GAAG,IAAA,sBAAW,EAAC,MAAM,CAAC,CAAA;IAE/B,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAc,EAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IAEpD,MAAM,EACJ,GAAG,EAAE,cAAc,EACnB,SAAS,EACT,SAAS,GACV,GAAG,IAAA,2BAAgB,EAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;IAGlD,IACE,SAAS;QACT,CAAC,cAAc,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YACvD,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EACjC,CAAC;QACD,MAAM,WAAW,GAAG,SAAS;YAC3B,CAAC;gBACC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;YACnE,CAAC;gBACC,cAAc,CAAA;QAElB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACvC,OAAO,IAAA,yBAAc,EAAC,EAAE,GAAG,EAAE,IAAA,uBAAY,EAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,IAAI,UAAU,GAAG,GAAG,CAAC,OAAO,CAAA;IAC5B,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS;QAC7B,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IAE7D,OAAO,IAAA,+BAAoB,EAAC;QAC1B,WAAW;QACX,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC;KACvD,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/avatar/utils.js b/node_modules/viem/_cjs/utils/ens/avatar/utils.js new file mode 100644 index 0000000000000000000000000000000000000000..60a92e10558bde1571bc1e50af96eb45764c34bc --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/avatar/utils.js @@ -0,0 +1,185 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isImageUri = isImageUri; +exports.getGateway = getGateway; +exports.resolveAvatarUri = resolveAvatarUri; +exports.getJsonImage = getJsonImage; +exports.getMetadataAvatarUri = getMetadataAvatarUri; +exports.parseAvatarUri = parseAvatarUri; +exports.parseNftUri = parseNftUri; +exports.getNftTokenUri = getNftTokenUri; +const readContract_js_1 = require("../../../actions/public/readContract.js"); +const ens_js_1 = require("../../../errors/ens.js"); +const networkRegex = /(?https?:\/\/[^/]*|ipfs:\/|ipns:\/|ar:\/)?(?\/)?(?ipfs\/|ipns\/)?(?[\w\-.]+)(?\/.*)?/; +const ipfsHashRegex = /^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?[\w\-.]+))?(?\/.*)?$/; +const base64Regex = /^data:([a-zA-Z\-/+]*);base64,([^"].*)/; +const dataURIRegex = /^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/; +async function isImageUri(uri) { + try { + const res = await fetch(uri, { method: 'HEAD' }); + if (res.status === 200) { + const contentType = res.headers.get('content-type'); + return contentType?.startsWith('image/'); + } + return false; + } + catch (error) { + if (typeof error === 'object' && typeof error.response !== 'undefined') { + return false; + } + if (!Object.hasOwn(globalThis, 'Image')) + return false; + return new Promise((resolve) => { + const img = new Image(); + img.onload = () => { + resolve(true); + }; + img.onerror = () => { + resolve(false); + }; + img.src = uri; + }); + } +} +function getGateway(custom, defaultGateway) { + if (!custom) + return defaultGateway; + if (custom.endsWith('/')) + return custom.slice(0, -1); + return custom; +} +function resolveAvatarUri({ uri, gatewayUrls, }) { + const isEncoded = base64Regex.test(uri); + if (isEncoded) + return { uri, isOnChain: true, isEncoded }; + const ipfsGateway = getGateway(gatewayUrls?.ipfs, 'https://ipfs.io'); + const arweaveGateway = getGateway(gatewayUrls?.arweave, 'https://arweave.net'); + const networkRegexMatch = uri.match(networkRegex); + const { protocol, subpath, target, subtarget = '', } = networkRegexMatch?.groups || {}; + const isIPNS = protocol === 'ipns:/' || subpath === 'ipns/'; + const isIPFS = protocol === 'ipfs:/' || subpath === 'ipfs/' || ipfsHashRegex.test(uri); + if (uri.startsWith('http') && !isIPNS && !isIPFS) { + let replacedUri = uri; + if (gatewayUrls?.arweave) + replacedUri = uri.replace(/https:\/\/arweave.net/g, gatewayUrls?.arweave); + return { uri: replacedUri, isOnChain: false, isEncoded: false }; + } + if ((isIPNS || isIPFS) && target) { + return { + uri: `${ipfsGateway}/${isIPNS ? 'ipns' : 'ipfs'}/${target}${subtarget}`, + isOnChain: false, + isEncoded: false, + }; + } + if (protocol === 'ar:/' && target) { + return { + uri: `${arweaveGateway}/${target}${subtarget || ''}`, + isOnChain: false, + isEncoded: false, + }; + } + let parsedUri = uri.replace(dataURIRegex, ''); + if (parsedUri.startsWith(' res.json()); + const image = await parseAvatarUri({ + gatewayUrls, + uri: getJsonImage(res), + }); + return image; + } + catch { + throw new ens_js_1.EnsAvatarUriResolutionError({ uri }); + } +} +async function parseAvatarUri({ gatewayUrls, uri, }) { + const { uri: resolvedURI, isOnChain } = resolveAvatarUri({ uri, gatewayUrls }); + if (isOnChain) + return resolvedURI; + const isImage = await isImageUri(resolvedURI); + if (isImage) + return resolvedURI; + throw new ens_js_1.EnsAvatarUriResolutionError({ uri }); +} +function parseNftUri(uri_) { + let uri = uri_; + if (uri.startsWith('did:nft:')) { + uri = uri.replace('did:nft:', '').replace(/_/g, '/'); + } + const [reference, asset_namespace, tokenID] = uri.split('/'); + const [eip_namespace, chainID] = reference.split(':'); + const [erc_namespace, contractAddress] = asset_namespace.split(':'); + if (!eip_namespace || eip_namespace.toLowerCase() !== 'eip155') + throw new ens_js_1.EnsAvatarInvalidNftUriError({ reason: 'Only EIP-155 supported' }); + if (!chainID) + throw new ens_js_1.EnsAvatarInvalidNftUriError({ reason: 'Chain ID not found' }); + if (!contractAddress) + throw new ens_js_1.EnsAvatarInvalidNftUriError({ + reason: 'Contract address not found', + }); + if (!tokenID) + throw new ens_js_1.EnsAvatarInvalidNftUriError({ reason: 'Token ID not found' }); + if (!erc_namespace) + throw new ens_js_1.EnsAvatarInvalidNftUriError({ reason: 'ERC namespace not found' }); + return { + chainID: Number.parseInt(chainID, 10), + namespace: erc_namespace.toLowerCase(), + contractAddress: contractAddress, + tokenID, + }; +} +async function getNftTokenUri(client, { nft }) { + if (nft.namespace === 'erc721') { + return (0, readContract_js_1.readContract)(client, { + address: nft.contractAddress, + abi: [ + { + name: 'tokenURI', + type: 'function', + stateMutability: 'view', + inputs: [{ name: 'tokenId', type: 'uint256' }], + outputs: [{ name: '', type: 'string' }], + }, + ], + functionName: 'tokenURI', + args: [BigInt(nft.tokenID)], + }); + } + if (nft.namespace === 'erc1155') { + return (0, readContract_js_1.readContract)(client, { + address: nft.contractAddress, + abi: [ + { + name: 'uri', + type: 'function', + stateMutability: 'view', + inputs: [{ name: '_id', type: 'uint256' }], + outputs: [{ name: '', type: 'string' }], + }, + ], + functionName: 'uri', + args: [BigInt(nft.tokenID)], + }); + } + throw new ens_js_1.EnsAvatarUnsupportedNamespaceError({ namespace: nft.namespace }); +} +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/avatar/utils.js.map b/node_modules/viem/_cjs/utils/ens/avatar/utils.js.map new file mode 100644 index 0000000000000000000000000000000000000000..694b7f123d3be1b793ea68a6b803ddf2485a414a --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/avatar/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../utils/ens/avatar/utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/encodeLabelhash.js b/node_modules/viem/_cjs/utils/ens/encodeLabelhash.js new file mode 100644 index 0000000000000000000000000000000000000000..a0f4611daf29a1354352750c6c8bf7652f5dfbfe --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/encodeLabelhash.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.encodeLabelhash = encodeLabelhash; +function encodeLabelhash(hash) { + return `[${hash.slice(2)}]`; +} +//# sourceMappingURL=encodeLabelhash.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/encodeLabelhash.js.map b/node_modules/viem/_cjs/utils/ens/encodeLabelhash.js.map new file mode 100644 index 0000000000000000000000000000000000000000..651e9b3ccdbee08af78c4dd4d25651128c16ac9e --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/encodeLabelhash.js.map @@ -0,0 +1 @@ +{"version":3,"file":"encodeLabelhash.js","sourceRoot":"","sources":["../../../utils/ens/encodeLabelhash.ts"],"names":[],"mappings":";;AAKA,0CAEC;AAFD,SAAgB,eAAe,CAAC,IAAS;IACvC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA;AAC7B,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/encodedLabelToLabelhash.js b/node_modules/viem/_cjs/utils/ens/encodedLabelToLabelhash.js new file mode 100644 index 0000000000000000000000000000000000000000..2fb2b1a43e8a7e17b03eb935843fe1b7feff1e94 --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/encodedLabelToLabelhash.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.encodedLabelToLabelhash = encodedLabelToLabelhash; +const isHex_js_1 = require("../data/isHex.js"); +function encodedLabelToLabelhash(label) { + if (label.length !== 66) + return null; + if (label.indexOf('[') !== 0) + return null; + if (label.indexOf(']') !== 65) + return null; + const hash = `0x${label.slice(1, 65)}`; + if (!(0, isHex_js_1.isHex)(hash)) + return null; + return hash; +} +//# sourceMappingURL=encodedLabelToLabelhash.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/encodedLabelToLabelhash.js.map b/node_modules/viem/_cjs/utils/ens/encodedLabelToLabelhash.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5ab9e71e84e4d4fc17b807d251370c203ccdc925 --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/encodedLabelToLabelhash.js.map @@ -0,0 +1 @@ +{"version":3,"file":"encodedLabelToLabelhash.js","sourceRoot":"","sources":["../../../utils/ens/encodedLabelToLabelhash.ts"],"names":[],"mappings":";;AAMA,0DAOC;AAXD,+CAA6D;AAI7D,SAAgB,uBAAuB,CAAC,KAAa;IACnD,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAA;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACzC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE;QAAE,OAAO,IAAI,CAAA;IAC1C,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAA;IACtC,IAAI,CAAC,IAAA,gBAAK,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAC7B,OAAO,IAAI,CAAA;AACb,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/errors.js b/node_modules/viem/_cjs/utils/ens/errors.js new file mode 100644 index 0000000000000000000000000000000000000000..08c916172899bde68912d55c626fe016995859e4 --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/errors.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isNullUniversalResolverError = isNullUniversalResolverError; +const base_js_1 = require("../../errors/base.js"); +const contract_js_1 = require("../../errors/contract.js"); +function isNullUniversalResolverError(err) { + if (!(err instanceof base_js_1.BaseError)) + return false; + const cause = err.walk((e) => e instanceof contract_js_1.ContractFunctionRevertedError); + if (!(cause instanceof contract_js_1.ContractFunctionRevertedError)) + return false; + if (cause.data?.errorName === 'HttpError') + return true; + if (cause.data?.errorName === 'ResolverError') + return true; + if (cause.data?.errorName === 'ResolverNotContract') + return true; + if (cause.data?.errorName === 'ResolverNotFound') + return true; + if (cause.data?.errorName === 'ReverseAddressMismatch') + return true; + if (cause.data?.errorName === 'UnsupportedResolverProfile') + return true; + return false; +} +//# sourceMappingURL=errors.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/errors.js.map b/node_modules/viem/_cjs/utils/ens/errors.js.map new file mode 100644 index 0000000000000000000000000000000000000000..de92933c8a5227b58494b23def6c341009cbc589 --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/errors.js.map @@ -0,0 +1 @@ +{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../utils/ens/errors.ts"],"names":[],"mappings":";;AAUA,oEAaC;AAvBD,kDAAgD;AAChD,0DAAwE;AASxE,SAAgB,4BAA4B,CAAC,GAAY;IACvD,IAAI,CAAC,CAAC,GAAG,YAAY,mBAAS,CAAC;QAAE,OAAO,KAAK,CAAA;IAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,2CAA6B,CAAC,CAAA;IACzE,IAAI,CAAC,CAAC,KAAK,YAAY,2CAA6B,CAAC;QAAE,OAAO,KAAK,CAAA;IAEnE,IAAI,KAAK,CAAC,IAAI,EAAE,SAAS,KAAK,WAAW;QAAE,OAAO,IAAI,CAAA;IACtD,IAAI,KAAK,CAAC,IAAI,EAAE,SAAS,KAAK,eAAe;QAAE,OAAO,IAAI,CAAA;IAC1D,IAAI,KAAK,CAAC,IAAI,EAAE,SAAS,KAAK,qBAAqB;QAAE,OAAO,IAAI,CAAA;IAChE,IAAI,KAAK,CAAC,IAAI,EAAE,SAAS,KAAK,kBAAkB;QAAE,OAAO,IAAI,CAAA;IAC7D,IAAI,KAAK,CAAC,IAAI,EAAE,SAAS,KAAK,wBAAwB;QAAE,OAAO,IAAI,CAAA;IACnE,IAAI,KAAK,CAAC,IAAI,EAAE,SAAS,KAAK,4BAA4B;QAAE,OAAO,IAAI,CAAA;IAEvE,OAAO,KAAK,CAAA;AACd,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/labelhash.js b/node_modules/viem/_cjs/utils/ens/labelhash.js new file mode 100644 index 0000000000000000000000000000000000000000..bf15e650c3228d10bbbfd6b955a1fe5f9efacd61 --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/labelhash.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.labelhash = labelhash; +const toBytes_js_1 = require("../encoding/toBytes.js"); +const toHex_js_1 = require("../encoding/toHex.js"); +const keccak256_js_1 = require("../hash/keccak256.js"); +const encodedLabelToLabelhash_js_1 = require("./encodedLabelToLabelhash.js"); +function labelhash(label) { + const result = new Uint8Array(32).fill(0); + if (!label) + return (0, toHex_js_1.bytesToHex)(result); + return (0, encodedLabelToLabelhash_js_1.encodedLabelToLabelhash)(label) || (0, keccak256_js_1.keccak256)((0, toBytes_js_1.stringToBytes)(label)); +} +//# sourceMappingURL=labelhash.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/labelhash.js.map b/node_modules/viem/_cjs/utils/ens/labelhash.js.map new file mode 100644 index 0000000000000000000000000000000000000000..92017fa6dbe763a3a9b142130e5f9ab10deab8d1 --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/labelhash.js.map @@ -0,0 +1 @@ +{"version":3,"file":"labelhash.js","sourceRoot":"","sources":["../../../utils/ens/labelhash.ts"],"names":[],"mappings":";;AA4BA,8BAIC;AA/BD,uDAG+B;AAC/B,mDAA2E;AAC3E,uDAAyE;AACzE,6EAGqC;AAkBrC,SAAgB,SAAS,CAAC,KAAa;IACrC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAA,qBAAU,EAAC,MAAM,CAAC,CAAA;IACrC,OAAO,IAAA,oDAAuB,EAAC,KAAK,CAAC,IAAI,IAAA,wBAAS,EAAC,IAAA,0BAAa,EAAC,KAAK,CAAC,CAAC,CAAA;AAC1E,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/localBatchGatewayRequest.js b/node_modules/viem/_cjs/utils/ens/localBatchGatewayRequest.js new file mode 100644 index 0000000000000000000000000000000000000000..666c5ad96ec65b700458170ace3704d3483bbbb0 --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/localBatchGatewayRequest.js @@ -0,0 +1,47 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.localBatchGatewayUrl = void 0; +exports.localBatchGatewayRequest = localBatchGatewayRequest; +const abis_js_1 = require("../../constants/abis.js"); +const solidity_js_1 = require("../../constants/solidity.js"); +const decodeFunctionData_js_1 = require("../abi/decodeFunctionData.js"); +const encodeErrorResult_js_1 = require("../abi/encodeErrorResult.js"); +const encodeFunctionResult_js_1 = require("../abi/encodeFunctionResult.js"); +exports.localBatchGatewayUrl = 'x-batch-gateway:true'; +async function localBatchGatewayRequest(parameters) { + const { data, ccipRequest } = parameters; + const { args: [queries], } = (0, decodeFunctionData_js_1.decodeFunctionData)({ abi: abis_js_1.batchGatewayAbi, data }); + const failures = []; + const responses = []; + await Promise.all(queries.map(async (query, i) => { + try { + responses[i] = query.urls.includes(exports.localBatchGatewayUrl) + ? await localBatchGatewayRequest({ data: query.data, ccipRequest }) + : await ccipRequest(query); + failures[i] = false; + } + catch (err) { + failures[i] = true; + responses[i] = encodeError(err); + } + })); + return (0, encodeFunctionResult_js_1.encodeFunctionResult)({ + abi: abis_js_1.batchGatewayAbi, + functionName: 'query', + result: [failures, responses], + }); +} +function encodeError(error) { + if (error.name === 'HttpRequestError' && error.status) + return (0, encodeErrorResult_js_1.encodeErrorResult)({ + abi: abis_js_1.batchGatewayAbi, + errorName: 'HttpError', + args: [error.status, error.shortMessage], + }); + return (0, encodeErrorResult_js_1.encodeErrorResult)({ + abi: [solidity_js_1.solidityError], + errorName: 'Error', + args: ['shortMessage' in error ? error.shortMessage : error.message], + }); +} +//# sourceMappingURL=localBatchGatewayRequest.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/localBatchGatewayRequest.js.map b/node_modules/viem/_cjs/utils/ens/localBatchGatewayRequest.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b0b44d19fd61504be7d1c8dbd8951211eb7299f7 --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/localBatchGatewayRequest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"localBatchGatewayRequest.js","sourceRoot":"","sources":["../../../utils/ens/localBatchGatewayRequest.ts"],"names":[],"mappings":";;;AAcA,4DAiCC;AA/CD,qDAAyD;AACzD,6DAA2D;AAE3D,wEAAiE;AACjE,sEAA+D;AAC/D,4EAAqE;AAOxD,QAAA,oBAAoB,GAAG,sBAAsB,CAAA;AAEnD,KAAK,UAAU,wBAAwB,CAAC,UAK9C;IACC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,UAAU,CAAA;IAExC,MAAM,EACJ,IAAI,EAAE,CAAC,OAAO,CAAC,GAChB,GAAG,IAAA,0CAAkB,EAAC,EAAE,GAAG,EAAE,yBAAe,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtD,MAAM,QAAQ,GAAc,EAAE,CAAA;IAC9B,MAAM,SAAS,GAAU,EAAE,CAAA;IAC3B,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,4BAAoB,CAAC;gBACtD,CAAC,CAAC,MAAM,wBAAwB,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;gBACnE,CAAC,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,CAAA;YAC5B,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;YAClB,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,GAA2B,CAAC,CAAA;QACzD,CAAC;IACH,CAAC,CAAC,CACH,CAAA;IAED,OAAO,IAAA,8CAAoB,EAAC;QAC1B,GAAG,EAAE,yBAAe;QACpB,YAAY,EAAE,OAAO;QACrB,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;KAC9B,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAA2B;IAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,IAAI,KAAK,CAAC,MAAM;QACnD,OAAO,IAAA,wCAAiB,EAAC;YACvB,GAAG,EAAE,yBAAe;YACpB,SAAS,EAAE,WAAW;YACtB,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC;SACzC,CAAC,CAAA;IACJ,OAAO,IAAA,wCAAiB,EAAC;QACvB,GAAG,EAAE,CAAC,2BAAa,CAAC;QACpB,SAAS,EAAE,OAAO;QAClB,IAAI,EAAE,CAAC,cAAc,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;KACrE,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/namehash.js b/node_modules/viem/_cjs/utils/ens/namehash.js new file mode 100644 index 0000000000000000000000000000000000000000..b5e22ef492c5dbfe6af583e3183fbd471c56f988 --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/namehash.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.namehash = namehash; +const concat_js_1 = require("../data/concat.js"); +const toBytes_js_1 = require("../encoding/toBytes.js"); +const toHex_js_1 = require("../encoding/toHex.js"); +const keccak256_js_1 = require("../hash/keccak256.js"); +const encodedLabelToLabelhash_js_1 = require("./encodedLabelToLabelhash.js"); +function namehash(name) { + let result = new Uint8Array(32).fill(0); + if (!name) + return (0, toHex_js_1.bytesToHex)(result); + const labels = name.split('.'); + for (let i = labels.length - 1; i >= 0; i -= 1) { + const hashFromEncodedLabel = (0, encodedLabelToLabelhash_js_1.encodedLabelToLabelhash)(labels[i]); + const hashed = hashFromEncodedLabel + ? (0, toBytes_js_1.toBytes)(hashFromEncodedLabel) + : (0, keccak256_js_1.keccak256)((0, toBytes_js_1.stringToBytes)(labels[i]), 'bytes'); + result = (0, keccak256_js_1.keccak256)((0, concat_js_1.concat)([result, hashed]), 'bytes'); + } + return (0, toHex_js_1.bytesToHex)(result); +} +//# sourceMappingURL=namehash.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/namehash.js.map b/node_modules/viem/_cjs/utils/ens/namehash.js.map new file mode 100644 index 0000000000000000000000000000000000000000..33abfac17bbcda3d5d341741123cb844f3d45ee0 --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/namehash.js.map @@ -0,0 +1 @@ +{"version":3,"file":"namehash.js","sourceRoot":"","sources":["../../../utils/ens/namehash.ts"],"names":[],"mappings":";;AAoCA,4BAeC;AAjDD,iDAAgE;AAChE,uDAK+B;AAC/B,mDAA2E;AAC3E,uDAAyE;AACzE,6EAGqC;AAsBrC,SAAgB,QAAQ,CAAC,IAAY;IACnC,IAAI,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAc,CAAA;IACpD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAA,qBAAU,EAAC,MAAM,CAAC,CAAA;IAEpC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE9B,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,oBAAoB,GAAG,IAAA,oDAAuB,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/D,MAAM,MAAM,GAAG,oBAAoB;YACjC,CAAC,CAAC,IAAA,oBAAO,EAAC,oBAAoB,CAAC;YAC/B,CAAC,CAAC,IAAA,wBAAS,EAAC,IAAA,0BAAa,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAChD,MAAM,GAAG,IAAA,wBAAS,EAAC,IAAA,kBAAM,EAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IACvD,CAAC;IAED,OAAO,IAAA,qBAAU,EAAC,MAAM,CAAC,CAAA;AAC3B,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/normalize.js b/node_modules/viem/_cjs/utils/ens/normalize.js new file mode 100644 index 0000000000000000000000000000000000000000..a1f802f1793e7c7219b275db669064b398f719a2 --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/normalize.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.normalize = normalize; +const Ens = require("ox/Ens"); +function normalize(name) { + return Ens.normalize(name); +} +//# sourceMappingURL=normalize.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/normalize.js.map b/node_modules/viem/_cjs/utils/ens/normalize.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f267fb497e3cc345f28773fd707e8fb7f5510832 --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/normalize.js.map @@ -0,0 +1 @@ +{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../../utils/ens/normalize.ts"],"names":[],"mappings":";;AAeA,8BAEC;AAjBD,8BAA6B;AAe7B,SAAgB,SAAS,CAAC,IAAY;IACpC,OAAO,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/packetToBytes.js b/node_modules/viem/_cjs/utils/ens/packetToBytes.js new file mode 100644 index 0000000000000000000000000000000000000000..45515fc1f724cff824c50e1f58a289e8d838765c --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/packetToBytes.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.packetToBytes = packetToBytes; +const toBytes_js_1 = require("../encoding/toBytes.js"); +const encodeLabelhash_js_1 = require("./encodeLabelhash.js"); +const labelhash_js_1 = require("./labelhash.js"); +function packetToBytes(packet) { + const value = packet.replace(/^\.|\.$/gm, ''); + if (value.length === 0) + return new Uint8Array(1); + const bytes = new Uint8Array((0, toBytes_js_1.stringToBytes)(value).byteLength + 2); + let offset = 0; + const list = value.split('.'); + for (let i = 0; i < list.length; i++) { + let encoded = (0, toBytes_js_1.stringToBytes)(list[i]); + if (encoded.byteLength > 255) + encoded = (0, toBytes_js_1.stringToBytes)((0, encodeLabelhash_js_1.encodeLabelhash)((0, labelhash_js_1.labelhash)(list[i]))); + bytes[offset] = encoded.length; + bytes.set(encoded, offset + 1); + offset += encoded.length + 1; + } + if (bytes.byteLength !== offset + 1) + return bytes.slice(0, offset + 1); + return bytes; +} +//# sourceMappingURL=packetToBytes.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/packetToBytes.js.map b/node_modules/viem/_cjs/utils/ens/packetToBytes.js.map new file mode 100644 index 0000000000000000000000000000000000000000..2777728862f026fa22528405285dfbcc74a9485e --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/packetToBytes.js.map @@ -0,0 +1 @@ +{"version":3,"file":"packetToBytes.js","sourceRoot":"","sources":["../../../utils/ens/packetToBytes.ts"],"names":[],"mappings":";;AA6BA,sCAuBC;AAjDD,uDAG+B;AAC/B,6DAG6B;AAC7B,iDAAmE;AAkBnE,SAAgB,aAAa,CAAC,MAAc;IAE1C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IAEhD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAA,0BAAa,EAAC,KAAK,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;IAEjE,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,OAAO,GAAG,IAAA,0BAAa,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAGpC,IAAI,OAAO,CAAC,UAAU,GAAG,GAAG;YAC1B,OAAO,GAAG,IAAA,0BAAa,EAAC,IAAA,oCAAe,EAAC,IAAA,wBAAS,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9D,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAA;QAC9B,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;QAC9B,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,KAAK,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;IAEtE,OAAO,KAAK,CAAA;AACd,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/toCoinType.js b/node_modules/viem/_cjs/utils/ens/toCoinType.js new file mode 100644 index 0000000000000000000000000000000000000000..9953691ad33c9cbf2371d8d7276ad1505c69632e --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/toCoinType.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toCoinType = toCoinType; +const ens_js_1 = require("../../errors/ens.js"); +const SLIP44_MSB = 0x80000000; +function toCoinType(chainId) { + if (chainId === 1) + return 60n; + if (chainId >= SLIP44_MSB || chainId < 0) + throw new ens_js_1.EnsInvalidChainIdError({ chainId }); + return BigInt((0x80000000 | chainId) >>> 0); +} +//# sourceMappingURL=toCoinType.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/ens/toCoinType.js.map b/node_modules/viem/_cjs/utils/ens/toCoinType.js.map new file mode 100644 index 0000000000000000000000000000000000000000..131680a3f54d9fba2b106b31e6c0802db506c902 --- /dev/null +++ b/node_modules/viem/_cjs/utils/ens/toCoinType.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toCoinType.js","sourceRoot":"","sources":["../../../utils/ens/toCoinType.ts"],"names":[],"mappings":";;AAiBA,gCAKC;AAtBD,gDAG4B;AAK5B,MAAM,UAAU,GAAG,UAAU,CAAA;AAS7B,SAAgB,UAAU,CAAC,OAAe;IACxC,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,GAAG,CAAA;IAC7B,IAAI,OAAO,IAAI,UAAU,IAAI,OAAO,GAAG,CAAC;QACtC,MAAM,IAAI,+BAAsB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAC/C,OAAO,MAAM,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;AAC7C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/errors/getCallError.js b/node_modules/viem/_cjs/utils/errors/getCallError.js new file mode 100644 index 0000000000000000000000000000000000000000..aeae4c44522ad5dfb83cd40a6355d9509942f7a1 --- /dev/null +++ b/node_modules/viem/_cjs/utils/errors/getCallError.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getCallError = getCallError; +const contract_js_1 = require("../../errors/contract.js"); +const node_js_1 = require("../../errors/node.js"); +const getNodeError_js_1 = require("./getNodeError.js"); +function getCallError(err, { docsPath, ...args }) { + const cause = (() => { + const cause = (0, getNodeError_js_1.getNodeError)(err, args); + if (cause instanceof node_js_1.UnknownNodeError) + return err; + return cause; + })(); + return new contract_js_1.CallExecutionError(cause, { + docsPath, + ...args, + }); +} +//# sourceMappingURL=getCallError.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/errors/getCallError.js.map b/node_modules/viem/_cjs/utils/errors/getCallError.js.map new file mode 100644 index 0000000000000000000000000000000000000000..13f93c419be5d961f451047e9570699b24d7a9c7 --- /dev/null +++ b/node_modules/viem/_cjs/utils/errors/getCallError.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getCallError.js","sourceRoot":"","sources":["../../../utils/errors/getCallError.ts"],"names":[],"mappings":";;AAuBA,oCAsBC;AA3CD,0DAGiC;AACjC,kDAAuD;AAIvD,uDAI0B;AAS1B,SAAgB,YAAY,CAC1B,GAAQ,EACR,EACE,QAAQ,EACR,GAAG,IAAI,EAIR;IAED,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE;QAClB,MAAM,KAAK,GAAG,IAAA,8BAAY,EACxB,GAAsB,EACtB,IAA8B,CAC/B,CAAA;QACD,IAAI,KAAK,YAAY,0BAAgB;YAAE,OAAO,GAAsB,CAAA;QACpE,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,EAAE,CAAA;IACJ,OAAO,IAAI,gCAAkB,CAAC,KAAK,EAAE;QACnC,QAAQ;QACR,GAAG,IAAI;KACR,CAAgC,CAAA;AACnC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/errors/getContractError.js b/node_modules/viem/_cjs/utils/errors/getContractError.js new file mode 100644 index 0000000000000000000000000000000000000000..033f5487af008040f9c064da55aaa62a0aa69773 --- /dev/null +++ b/node_modules/viem/_cjs/utils/errors/getContractError.js @@ -0,0 +1,46 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getContractError = getContractError; +const abi_js_1 = require("../../errors/abi.js"); +const base_js_1 = require("../../errors/base.js"); +const contract_js_1 = require("../../errors/contract.js"); +const request_js_1 = require("../../errors/request.js"); +const rpc_js_1 = require("../../errors/rpc.js"); +const EXECUTION_REVERTED_ERROR_CODE = 3; +function getContractError(err, { abi, address, args, docsPath, functionName, sender, }) { + const error = (err instanceof contract_js_1.RawContractError + ? err + : err instanceof base_js_1.BaseError + ? err.walk((err) => 'data' in err) || err.walk() + : {}); + const { code, data, details, message, shortMessage } = error; + const cause = (() => { + if (err instanceof abi_js_1.AbiDecodingZeroDataError) + return new contract_js_1.ContractFunctionZeroDataError({ functionName, cause: err }); + if (([EXECUTION_REVERTED_ERROR_CODE, rpc_js_1.InternalRpcError.code].includes(code) && + (data || details || message || shortMessage)) || + (code === rpc_js_1.InvalidInputRpcError.code && + details === 'execution reverted' && + data)) { + return new contract_js_1.ContractFunctionRevertedError({ + abi, + data: typeof data === 'object' ? data.data : data, + functionName, + message: error instanceof request_js_1.RpcRequestError + ? details + : (shortMessage ?? message), + cause: err, + }); + } + return err; + })(); + return new contract_js_1.ContractFunctionExecutionError(cause, { + abi, + args, + contractAddress: address, + docsPath, + functionName, + sender, + }); +} +//# sourceMappingURL=getContractError.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/errors/getContractError.js.map b/node_modules/viem/_cjs/utils/errors/getContractError.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a6e752314325755fdeed12c771a4b8a33d647893 --- /dev/null +++ b/node_modules/viem/_cjs/utils/errors/getContractError.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getContractError.js","sourceRoot":"","sources":["../../../utils/errors/getContractError.ts"],"names":[],"mappings":";;AA6BA,4CA4DC;AAvFD,gDAA8D;AAC9D,kDAAgD;AAChD,0DAQiC;AACjC,wDAAyD;AACzD,gDAA4E;AAG5E,MAAM,6BAA6B,GAAG,CAAC,CAAA;AAYvC,SAAgB,gBAAgB,CAC9B,GAAQ,EACR,EACE,GAAG,EACH,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,MAAM,GAQP;IAED,MAAM,KAAK,GAAG,CACZ,GAAG,YAAY,8BAAgB;QAC7B,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,GAAG,YAAY,mBAAS;YACxB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,IAAK,GAAa,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE;YAC3D,CAAC,CAAC,EAAE,CACI,CAAA;IACd,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,GAClD,KAAyB,CAAA;IAE3B,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE;QAClB,IAAI,GAAG,YAAY,iCAAwB;YACzC,OAAO,IAAI,2CAA6B,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;QACxE,IACE,CAAC,CAAC,6BAA6B,EAAE,yBAAgB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YACpE,CAAC,IAAI,IAAI,OAAO,IAAI,OAAO,IAAI,YAAY,CAAC,CAAC;YAC/C,CAAC,IAAI,KAAK,6BAAoB,CAAC,IAAI;gBACjC,OAAO,KAAK,oBAAoB;gBAChC,IAAI,CAAC,EACP,CAAC;YACD,OAAO,IAAI,2CAA6B,CAAC;gBACvC,GAAG;gBACH,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBACjD,YAAY;gBACZ,OAAO,EACL,KAAK,YAAY,4BAAe;oBAC9B,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,CAAC,YAAY,IAAI,OAAO,CAAC;gBAC/B,KAAK,EAAE,GAAG;aACX,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,IAAI,4CAA8B,CAAC,KAAkB,EAAE;QAC5D,GAAG;QACH,IAAI;QACJ,eAAe,EAAE,OAAO;QACxB,QAAQ;QACR,YAAY;QACZ,MAAM;KACP,CAA+B,CAAA;AAClC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/errors/getEstimateGasError.js b/node_modules/viem/_cjs/utils/errors/getEstimateGasError.js new file mode 100644 index 0000000000000000000000000000000000000000..e1b404b10e38608ae394f8a591d6f1adb2fcbcd1 --- /dev/null +++ b/node_modules/viem/_cjs/utils/errors/getEstimateGasError.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getEstimateGasError = getEstimateGasError; +const estimateGas_js_1 = require("../../errors/estimateGas.js"); +const node_js_1 = require("../../errors/node.js"); +const getNodeError_js_1 = require("./getNodeError.js"); +function getEstimateGasError(err, { docsPath, ...args }) { + const cause = (() => { + const cause = (0, getNodeError_js_1.getNodeError)(err, args); + if (cause instanceof node_js_1.UnknownNodeError) + return err; + return cause; + })(); + return new estimateGas_js_1.EstimateGasExecutionError(cause, { + docsPath, + ...args, + }); +} +//# sourceMappingURL=getEstimateGasError.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/errors/getEstimateGasError.js.map b/node_modules/viem/_cjs/utils/errors/getEstimateGasError.js.map new file mode 100644 index 0000000000000000000000000000000000000000..29563e3ab2ebb5adec19a846fcfd324f493e0fd0 --- /dev/null +++ b/node_modules/viem/_cjs/utils/errors/getEstimateGasError.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getEstimateGasError.js","sourceRoot":"","sources":["../../../utils/errors/getEstimateGasError.ts"],"names":[],"mappings":";;AAsBA,kDAuBC;AA1CD,gEAGoC;AACpC,kDAAuD;AAIvD,uDAI0B;AAO1B,SAAgB,mBAAmB,CACjC,GAAQ,EACR,EACE,QAAQ,EACR,GAAG,IAAI,EAKR;IAED,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE;QAClB,MAAM,KAAK,GAAG,IAAA,8BAAY,EACxB,GAAsB,EACtB,IAA8B,CAC/B,CAAA;QACD,IAAI,KAAK,YAAY,0BAAgB;YAAE,OAAO,GAAsB,CAAA;QACpE,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,EAAE,CAAA;IACJ,OAAO,IAAI,0CAAyB,CAAC,KAAK,EAAE;QAC1C,QAAQ;QACR,GAAG,IAAI;KACR,CAAuC,CAAA;AAC1C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/errors/getNodeError.js b/node_modules/viem/_cjs/utils/errors/getNodeError.js new file mode 100644 index 0000000000000000000000000000000000000000..32dee1d7061a7a1c9e2df98d364627ca69c61f7c --- /dev/null +++ b/node_modules/viem/_cjs/utils/errors/getNodeError.js @@ -0,0 +1,64 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.containsNodeError = containsNodeError; +exports.getNodeError = getNodeError; +const base_js_1 = require("../../errors/base.js"); +const node_js_1 = require("../../errors/node.js"); +const request_js_1 = require("../../errors/request.js"); +const rpc_js_1 = require("../../errors/rpc.js"); +function containsNodeError(err) { + return (err instanceof rpc_js_1.TransactionRejectedRpcError || + err instanceof rpc_js_1.InvalidInputRpcError || + (err instanceof request_js_1.RpcRequestError && err.code === node_js_1.ExecutionRevertedError.code)); +} +function getNodeError(err, args) { + const message = (err.details || '').toLowerCase(); + const executionRevertedError = err instanceof base_js_1.BaseError + ? err.walk((e) => e?.code === + node_js_1.ExecutionRevertedError.code) + : err; + if (executionRevertedError instanceof base_js_1.BaseError) + return new node_js_1.ExecutionRevertedError({ + cause: err, + message: executionRevertedError.details, + }); + if (node_js_1.ExecutionRevertedError.nodeMessage.test(message)) + return new node_js_1.ExecutionRevertedError({ + cause: err, + message: err.details, + }); + if (node_js_1.FeeCapTooHighError.nodeMessage.test(message)) + return new node_js_1.FeeCapTooHighError({ + cause: err, + maxFeePerGas: args?.maxFeePerGas, + }); + if (node_js_1.FeeCapTooLowError.nodeMessage.test(message)) + return new node_js_1.FeeCapTooLowError({ + cause: err, + maxFeePerGas: args?.maxFeePerGas, + }); + if (node_js_1.NonceTooHighError.nodeMessage.test(message)) + return new node_js_1.NonceTooHighError({ cause: err, nonce: args?.nonce }); + if (node_js_1.NonceTooLowError.nodeMessage.test(message)) + return new node_js_1.NonceTooLowError({ cause: err, nonce: args?.nonce }); + if (node_js_1.NonceMaxValueError.nodeMessage.test(message)) + return new node_js_1.NonceMaxValueError({ cause: err, nonce: args?.nonce }); + if (node_js_1.InsufficientFundsError.nodeMessage.test(message)) + return new node_js_1.InsufficientFundsError({ cause: err }); + if (node_js_1.IntrinsicGasTooHighError.nodeMessage.test(message)) + return new node_js_1.IntrinsicGasTooHighError({ cause: err, gas: args?.gas }); + if (node_js_1.IntrinsicGasTooLowError.nodeMessage.test(message)) + return new node_js_1.IntrinsicGasTooLowError({ cause: err, gas: args?.gas }); + if (node_js_1.TransactionTypeNotSupportedError.nodeMessage.test(message)) + return new node_js_1.TransactionTypeNotSupportedError({ cause: err }); + if (node_js_1.TipAboveFeeCapError.nodeMessage.test(message)) + return new node_js_1.TipAboveFeeCapError({ + cause: err, + maxFeePerGas: args?.maxFeePerGas, + maxPriorityFeePerGas: args?.maxPriorityFeePerGas, + }); + return new node_js_1.UnknownNodeError({ + cause: err, + }); +} +//# sourceMappingURL=getNodeError.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/errors/getNodeError.js.map b/node_modules/viem/_cjs/utils/errors/getNodeError.js.map new file mode 100644 index 0000000000000000000000000000000000000000..73e6762fd025a7b8387210dd78976a5c699dfe04 --- /dev/null +++ b/node_modules/viem/_cjs/utils/errors/getNodeError.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getNodeError.js","sourceRoot":"","sources":["../../../utils/errors/getNodeError.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/errors/getTransactionError.js b/node_modules/viem/_cjs/utils/errors/getTransactionError.js new file mode 100644 index 0000000000000000000000000000000000000000..8c5ed9c04d05d16587165cfd23008c098566ecc5 --- /dev/null +++ b/node_modules/viem/_cjs/utils/errors/getTransactionError.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getTransactionError = getTransactionError; +const node_js_1 = require("../../errors/node.js"); +const transaction_js_1 = require("../../errors/transaction.js"); +const getNodeError_js_1 = require("./getNodeError.js"); +function getTransactionError(err, { docsPath, ...args }) { + const cause = (() => { + const cause = (0, getNodeError_js_1.getNodeError)(err, args); + if (cause instanceof node_js_1.UnknownNodeError) + return err; + return cause; + })(); + return new transaction_js_1.TransactionExecutionError(cause, { + docsPath, + ...args, + }); +} +//# sourceMappingURL=getTransactionError.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/errors/getTransactionError.js.map b/node_modules/viem/_cjs/utils/errors/getTransactionError.js.map new file mode 100644 index 0000000000000000000000000000000000000000..31de85fdbc8466798162bf374e0f66db771c1507 --- /dev/null +++ b/node_modules/viem/_cjs/utils/errors/getTransactionError.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getTransactionError.js","sourceRoot":"","sources":["../../../utils/errors/getTransactionError.ts"],"names":[],"mappings":";;AA+BA,kDAgBC;AA5CD,kDAAuD;AACvD,gEAGoC;AAIpC,uDAI0B;AAgB1B,SAAgB,mBAAmB,CACjC,GAAQ,EACR,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAiC;IAEpD,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE;QAClB,MAAM,KAAK,GAAG,IAAA,8BAAY,EACxB,GAAsB,EACtB,IAA8B,CAC/B,CAAA;QACD,IAAI,KAAK,YAAY,0BAAgB;YAAE,OAAO,GAAsB,CAAA;QACpE,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,EAAE,CAAA;IACJ,OAAO,IAAI,0CAAyB,CAAC,KAAK,EAAE;QAC1C,QAAQ;QACR,GAAG,IAAI;KACR,CAAuC,CAAA;AAC1C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/filters/createFilterRequestScope.js b/node_modules/viem/_cjs/utils/filters/createFilterRequestScope.js new file mode 100644 index 0000000000000000000000000000000000000000..cc58f30f5a1f1dd31908875d9525f8fcded618ec --- /dev/null +++ b/node_modules/viem/_cjs/utils/filters/createFilterRequestScope.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createFilterRequestScope = createFilterRequestScope; +function createFilterRequestScope(client, { method }) { + const requestMap = {}; + if (client.transport.type === 'fallback') + client.transport.onResponse?.(({ method: method_, response: id, status, transport, }) => { + if (status === 'success' && method === method_) + requestMap[id] = transport.request; + }); + return ((id) => requestMap[id] || client.request); +} +//# sourceMappingURL=createFilterRequestScope.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/filters/createFilterRequestScope.js.map b/node_modules/viem/_cjs/utils/filters/createFilterRequestScope.js.map new file mode 100644 index 0000000000000000000000000000000000000000..fbd2de3d6f2eb2da2c964becc6aa29c4c2fe198f --- /dev/null +++ b/node_modules/viem/_cjs/utils/filters/createFilterRequestScope.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createFilterRequestScope.js","sourceRoot":"","sources":["../../../utils/filters/createFilterRequestScope.ts"],"names":[],"mappings":";;AA6BA,4DAqBC;AArBD,SAAgB,wBAAwB,CACtC,MAAgC,EAChC,EAAE,MAAM,EAAsC;IAE9C,MAAM,UAAU,GAAkC,EAAE,CAAA;IAEpD,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU;QACtC,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,CAC3B,CAAC,EACC,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,EAAE,EACZ,MAAM,EACN,SAAS,GACmB,EAAE,EAAE;YAChC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO;gBAC5C,UAAU,CAAC,EAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAA;QAC7C,CAAC,CACF,CAAA;IAEH,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CACb,UAAU,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAuC,CAAA;AAC3E,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/formatters/block.js b/node_modules/viem/_cjs/utils/formatters/block.js new file mode 100644 index 0000000000000000000000000000000000000000..a14ade155b47d119bc7e2990234405978a02a493 --- /dev/null +++ b/node_modules/viem/_cjs/utils/formatters/block.js @@ -0,0 +1,36 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.defineBlock = void 0; +exports.formatBlock = formatBlock; +const formatter_js_1 = require("./formatter.js"); +const transaction_js_1 = require("./transaction.js"); +function formatBlock(block, _) { + const transactions = (block.transactions ?? []).map((transaction) => { + if (typeof transaction === 'string') + return transaction; + return (0, transaction_js_1.formatTransaction)(transaction); + }); + return { + ...block, + baseFeePerGas: block.baseFeePerGas ? BigInt(block.baseFeePerGas) : null, + blobGasUsed: block.blobGasUsed ? BigInt(block.blobGasUsed) : undefined, + difficulty: block.difficulty ? BigInt(block.difficulty) : undefined, + excessBlobGas: block.excessBlobGas + ? BigInt(block.excessBlobGas) + : undefined, + gasLimit: block.gasLimit ? BigInt(block.gasLimit) : undefined, + gasUsed: block.gasUsed ? BigInt(block.gasUsed) : undefined, + hash: block.hash ? block.hash : null, + logsBloom: block.logsBloom ? block.logsBloom : null, + nonce: block.nonce ? block.nonce : null, + number: block.number ? BigInt(block.number) : null, + size: block.size ? BigInt(block.size) : undefined, + timestamp: block.timestamp ? BigInt(block.timestamp) : undefined, + transactions, + totalDifficulty: block.totalDifficulty + ? BigInt(block.totalDifficulty) + : null, + }; +} +exports.defineBlock = (0, formatter_js_1.defineFormatter)('block', formatBlock); +//# sourceMappingURL=block.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/formatters/block.js.map b/node_modules/viem/_cjs/utils/formatters/block.js.map new file mode 100644 index 0000000000000000000000000000000000000000..170b595167fa5046c3494b8b1bbca4a4e952a54d --- /dev/null +++ b/node_modules/viem/_cjs/utils/formatters/block.js.map @@ -0,0 +1 @@ +{"version":3,"file":"block.js","sourceRoot":"","sources":["../../../utils/formatters/block.ts"],"names":[],"mappings":";;;AA0CA,kCA6BC;AA5DD,iDAA+E;AAC/E,qDAA+E;AA8B/E,SAAgB,WAAW,CACzB,KAA6B,EAC7B,CAAsB;IAEtB,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;QAClE,IAAI,OAAO,WAAW,KAAK,QAAQ;YAAE,OAAO,WAAW,CAAA;QACvD,OAAO,IAAA,kCAAiB,EAAC,WAAW,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IACF,OAAO;QACL,GAAG,KAAK;QACR,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;QACvE,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QACtE,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;QACnE,aAAa,EAAE,KAAK,CAAC,aAAa;YAChC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC;YAC7B,CAAC,CAAC,SAAS;QACb,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAC7D,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;QAC1D,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;QACpC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;QACnD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACvC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;QAClD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QACjD,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QAChE,YAAY;QACZ,eAAe,EAAE,KAAK,CAAC,eAAe;YACpC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;YAC/B,CAAC,CAAC,IAAI;KACA,CAAA;AACZ,CAAC;AAIY,QAAA,WAAW,GAAiB,IAAA,8BAAe,EAAC,OAAO,EAAE,WAAW,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/formatters/extract.js b/node_modules/viem/_cjs/utils/formatters/extract.js new file mode 100644 index 0000000000000000000000000000000000000000..2591f5841e9fbf8245582b963e337283eec4ab17 --- /dev/null +++ b/node_modules/viem/_cjs/utils/formatters/extract.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extract = extract; +function extract(value_, { format }) { + if (!format) + return {}; + const value = {}; + function extract_(formatted) { + const keys = Object.keys(formatted); + for (const key of keys) { + if (key in value_) + value[key] = value_[key]; + if (formatted[key] && + typeof formatted[key] === 'object' && + !Array.isArray(formatted[key])) + extract_(formatted[key]); + } + } + const formatted = format(value_ || {}); + extract_(formatted); + return value; +} +//# sourceMappingURL=extract.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/formatters/extract.js.map b/node_modules/viem/_cjs/utils/formatters/extract.js.map new file mode 100644 index 0000000000000000000000000000000000000000..cb63abb463eaabefc339f9de7d3dd5f379928d24 --- /dev/null +++ b/node_modules/viem/_cjs/utils/formatters/extract.js.map @@ -0,0 +1 @@ +{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../utils/formatters/extract.ts"],"names":[],"mappings":";;AAQA,0BAwBC;AAxBD,SAAgB,OAAO,CACrB,MAA+B,EAC/B,EAAE,MAAM,EAAqD;IAE7D,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IAEtB,MAAM,KAAK,GAA4B,EAAE,CAAA;IACzC,SAAS,QAAQ,CAAC,SAA8B;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,GAAG,IAAI,MAAM;gBAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YAC3C,IACE,SAAS,CAAC,GAAG,CAAC;gBACd,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,QAAQ;gBAClC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBAE9B,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;IACtC,QAAQ,CAAC,SAAS,CAAC,CAAA;IAEnB,OAAO,KAAK,CAAA;AACd,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/formatters/feeHistory.js b/node_modules/viem/_cjs/utils/formatters/feeHistory.js new file mode 100644 index 0000000000000000000000000000000000000000..c2e20764f251d387381f1d8844e20589b28f26cb --- /dev/null +++ b/node_modules/viem/_cjs/utils/formatters/feeHistory.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.formatFeeHistory = formatFeeHistory; +function formatFeeHistory(feeHistory) { + return { + baseFeePerGas: feeHistory.baseFeePerGas.map((value) => BigInt(value)), + gasUsedRatio: feeHistory.gasUsedRatio, + oldestBlock: BigInt(feeHistory.oldestBlock), + reward: feeHistory.reward?.map((reward) => reward.map((value) => BigInt(value))), + }; +} +//# sourceMappingURL=feeHistory.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/formatters/feeHistory.js.map b/node_modules/viem/_cjs/utils/formatters/feeHistory.js.map new file mode 100644 index 0000000000000000000000000000000000000000..41a037e56d8af795220801d104bcbc5f1f36c669 --- /dev/null +++ b/node_modules/viem/_cjs/utils/formatters/feeHistory.js.map @@ -0,0 +1 @@ +{"version":3,"file":"feeHistory.js","sourceRoot":"","sources":["../../../utils/formatters/feeHistory.ts"],"names":[],"mappings":";;AAMA,4CASC;AATD,SAAgB,gBAAgB,CAAC,UAAyB;IACxD,OAAO;QACL,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrE,YAAY,EAAE,UAAU,CAAC,YAAY;QACrC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;QAC3C,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACxC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACrC;KACF,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/formatters/formatter.js b/node_modules/viem/_cjs/utils/formatters/formatter.js new file mode 100644 index 0000000000000000000000000000000000000000..cf86aa912dbe74442900d827a6aa63a90e7f7f06 --- /dev/null +++ b/node_modules/viem/_cjs/utils/formatters/formatter.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.defineFormatter = defineFormatter; +function defineFormatter(type, format) { + return ({ exclude, format: overrides, }) => { + return { + exclude, + format: (args, action) => { + const formatted = format(args, action); + if (exclude) { + for (const key of exclude) { + delete formatted[key]; + } + } + return { + ...formatted, + ...overrides(args, action), + }; + }, + type, + }; + }; +} +//# sourceMappingURL=formatter.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/formatters/formatter.js.map b/node_modules/viem/_cjs/utils/formatters/formatter.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a658f64ad3a99fd4e906363d9eac9bcec5aa68ca --- /dev/null +++ b/node_modules/viem/_cjs/utils/formatters/formatter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../utils/formatters/formatter.ts"],"names":[],"mappings":";;AAKA,0CAqCC;AArCD,SAAgB,eAAe,CAC7B,IAAU,EACV,MAAqE;IAErE,OAAO,CAIL,EACA,OAAO,EACP,MAAM,EAAE,SAAS,GAOlB,EAAE,EAAE;QACH,OAAO;YACL,OAAO;YACP,MAAM,EAAE,CAAC,IAAwB,EAAE,MAA2B,EAAE,EAAE;gBAChE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAW,EAAE,MAAM,CAAC,CAAA;gBAC7C,IAAI,OAAO,EAAE,CAAC;oBACZ,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;wBAC1B,OAAQ,SAAiB,CAAC,GAAG,CAAC,CAAA;oBAChC,CAAC;gBACH,CAAC;gBACD,OAAO;oBACL,GAAG,SAAS;oBACZ,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;iBAG3B,CAAA;YACH,CAAC;YACD,IAAI;SACL,CAAA;IACH,CAAC,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/formatters/log.js b/node_modules/viem/_cjs/utils/formatters/log.js new file mode 100644 index 0000000000000000000000000000000000000000..2a4d7cbb50b75ed31c540f7ff2480884a51c41f8 --- /dev/null +++ b/node_modules/viem/_cjs/utils/formatters/log.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.formatLog = formatLog; +function formatLog(log, { args, eventName, } = {}) { + return { + ...log, + blockHash: log.blockHash ? log.blockHash : null, + blockNumber: log.blockNumber ? BigInt(log.blockNumber) : null, + blockTimestamp: log.blockTimestamp + ? BigInt(log.blockTimestamp) + : log.blockTimestamp === null + ? null + : undefined, + logIndex: log.logIndex ? Number(log.logIndex) : null, + transactionHash: log.transactionHash ? log.transactionHash : null, + transactionIndex: log.transactionIndex + ? Number(log.transactionIndex) + : null, + ...(eventName ? { args, eventName } : {}), + }; +} +//# sourceMappingURL=log.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/formatters/log.js.map b/node_modules/viem/_cjs/utils/formatters/log.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e3bd0fea1fa68552fdf814da38a7868bac54edd0 --- /dev/null +++ b/node_modules/viem/_cjs/utils/formatters/log.js.map @@ -0,0 +1 @@ +{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../utils/formatters/log.ts"],"names":[],"mappings":";;AAOA,8BAuBC;AAvBD,SAAgB,SAAS,CACvB,GAAyB,EACzB,EACE,IAAI,EACJ,SAAS,MACyD,EAAE;IAEtE,OAAO;QACL,GAAG,GAAG;QACN,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;QAC/C,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;QAC7D,cAAc,EAAE,GAAG,CAAC,cAAc;YAChC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;YAC5B,CAAC,CAAC,GAAG,CAAC,cAAc,KAAK,IAAI;gBAC3B,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,SAAS;QACf,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;QACpD,eAAe,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI;QACjE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACpC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;YAC9B,CAAC,CAAC,IAAI;QACR,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnC,CAAA;AACV,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/formatters/proof.js b/node_modules/viem/_cjs/utils/formatters/proof.js new file mode 100644 index 0000000000000000000000000000000000000000..316212df4344e7b0cf31a7b5820ef5e121083b72 --- /dev/null +++ b/node_modules/viem/_cjs/utils/formatters/proof.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.formatProof = formatProof; +const index_js_1 = require("../index.js"); +function formatStorageProof(storageProof) { + return storageProof.map((proof) => ({ + ...proof, + value: BigInt(proof.value), + })); +} +function formatProof(proof) { + return { + ...proof, + balance: proof.balance ? BigInt(proof.balance) : undefined, + nonce: proof.nonce ? (0, index_js_1.hexToNumber)(proof.nonce) : undefined, + storageProof: proof.storageProof + ? formatStorageProof(proof.storageProof) + : undefined, + }; +} +//# sourceMappingURL=proof.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/formatters/proof.js.map b/node_modules/viem/_cjs/utils/formatters/proof.js.map new file mode 100644 index 0000000000000000000000000000000000000000..42281e5e2297359b2d7f0f2aa572fda3c1fa02cd --- /dev/null +++ b/node_modules/viem/_cjs/utils/formatters/proof.js.map @@ -0,0 +1 @@ +{"version":3,"file":"proof.js","sourceRoot":"","sources":["../../../utils/formatters/proof.ts"],"names":[],"mappings":";;AAeA,kCASC;AApBD,0CAAyC;AAIzC,SAAS,kBAAkB,CAAC,YAAsC;IAChE,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClC,GAAG,KAAK;QACR,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;KAC3B,CAAC,CAAC,CAAA;AACL,CAAC;AAED,SAAgB,WAAW,CAAC,KAA6B;IACvD,OAAO;QACL,GAAG,KAAK;QACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;QAC1D,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,sBAAW,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;QACzD,YAAY,EAAE,KAAK,CAAC,YAAY;YAC9B,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC;YACxC,CAAC,CAAC,SAAS;KACL,CAAA;AACZ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/formatters/transaction.js b/node_modules/viem/_cjs/utils/formatters/transaction.js new file mode 100644 index 0000000000000000000000000000000000000000..0553a3a0ef10af7eae56ecba1997cbd680e9f04a --- /dev/null +++ b/node_modules/viem/_cjs/utils/formatters/transaction.js @@ -0,0 +1,90 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.defineTransaction = exports.transactionType = void 0; +exports.formatTransaction = formatTransaction; +const fromHex_js_1 = require("../encoding/fromHex.js"); +const formatter_js_1 = require("./formatter.js"); +exports.transactionType = { + '0x0': 'legacy', + '0x1': 'eip2930', + '0x2': 'eip1559', + '0x3': 'eip4844', + '0x4': 'eip7702', +}; +function formatTransaction(transaction, _) { + const transaction_ = { + ...transaction, + blockHash: transaction.blockHash ? transaction.blockHash : null, + blockNumber: transaction.blockNumber + ? BigInt(transaction.blockNumber) + : null, + ...(transaction.blockTimestamp != null && { + blockTimestamp: BigInt(transaction.blockTimestamp), + }), + chainId: transaction.chainId ? (0, fromHex_js_1.hexToNumber)(transaction.chainId) : undefined, + gas: transaction.gas ? BigInt(transaction.gas) : undefined, + gasPrice: transaction.gasPrice ? BigInt(transaction.gasPrice) : undefined, + maxFeePerBlobGas: transaction.maxFeePerBlobGas + ? BigInt(transaction.maxFeePerBlobGas) + : undefined, + maxFeePerGas: transaction.maxFeePerGas + ? BigInt(transaction.maxFeePerGas) + : undefined, + maxPriorityFeePerGas: transaction.maxPriorityFeePerGas + ? BigInt(transaction.maxPriorityFeePerGas) + : undefined, + nonce: transaction.nonce ? (0, fromHex_js_1.hexToNumber)(transaction.nonce) : undefined, + to: transaction.to ? transaction.to : null, + transactionIndex: transaction.transactionIndex + ? Number(transaction.transactionIndex) + : null, + type: transaction.type + ? exports.transactionType[transaction.type] + : undefined, + typeHex: transaction.type ? transaction.type : undefined, + value: transaction.value ? BigInt(transaction.value) : undefined, + v: transaction.v ? BigInt(transaction.v) : undefined, + }; + if (transaction.authorizationList) + transaction_.authorizationList = formatAuthorizationList(transaction.authorizationList); + transaction_.yParity = (() => { + if (transaction.yParity) + return Number(transaction.yParity); + if (typeof transaction_.v === 'bigint') { + if (transaction_.v === 0n || transaction_.v === 27n) + return 0; + if (transaction_.v === 1n || transaction_.v === 28n) + return 1; + if (transaction_.v >= 35n) + return transaction_.v % 2n === 0n ? 1 : 0; + } + return undefined; + })(); + if (transaction_.type === 'legacy') { + delete transaction_.accessList; + delete transaction_.maxFeePerBlobGas; + delete transaction_.maxFeePerGas; + delete transaction_.maxPriorityFeePerGas; + delete transaction_.yParity; + } + if (transaction_.type === 'eip2930') { + delete transaction_.maxFeePerBlobGas; + delete transaction_.maxFeePerGas; + delete transaction_.maxPriorityFeePerGas; + } + if (transaction_.type === 'eip1559') + delete transaction_.maxFeePerBlobGas; + return transaction_; +} +exports.defineTransaction = (0, formatter_js_1.defineFormatter)('transaction', formatTransaction); +function formatAuthorizationList(authorizationList) { + return authorizationList.map((authorization) => ({ + address: authorization.address, + chainId: Number(authorization.chainId), + nonce: Number(authorization.nonce), + r: authorization.r, + s: authorization.s, + yParity: Number(authorization.yParity), + })); +} +//# sourceMappingURL=transaction.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/formatters/transaction.js.map b/node_modules/viem/_cjs/utils/formatters/transaction.js.map new file mode 100644 index 0000000000000000000000000000000000000000..bb103566c14bc1ddd770c5c5a947981f43da1aa7 --- /dev/null +++ b/node_modules/viem/_cjs/utils/formatters/transaction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../utils/formatters/transaction.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/formatters/transactionReceipt.js b/node_modules/viem/_cjs/utils/formatters/transactionReceipt.js new file mode 100644 index 0000000000000000000000000000000000000000..a5a5a31f04467dd93697b8e67f8d68b825142d46 --- /dev/null +++ b/node_modules/viem/_cjs/utils/formatters/transactionReceipt.js @@ -0,0 +1,52 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.defineTransactionReceipt = exports.receiptStatuses = void 0; +exports.formatTransactionReceipt = formatTransactionReceipt; +const fromHex_js_1 = require("../encoding/fromHex.js"); +const formatter_js_1 = require("./formatter.js"); +const log_js_1 = require("./log.js"); +const transaction_js_1 = require("./transaction.js"); +exports.receiptStatuses = { + '0x0': 'reverted', + '0x1': 'success', +}; +function formatTransactionReceipt(transactionReceipt, _) { + const receipt = { + ...transactionReceipt, + blockNumber: transactionReceipt.blockNumber + ? BigInt(transactionReceipt.blockNumber) + : null, + contractAddress: transactionReceipt.contractAddress + ? transactionReceipt.contractAddress + : null, + cumulativeGasUsed: transactionReceipt.cumulativeGasUsed + ? BigInt(transactionReceipt.cumulativeGasUsed) + : null, + effectiveGasPrice: transactionReceipt.effectiveGasPrice + ? BigInt(transactionReceipt.effectiveGasPrice) + : null, + gasUsed: transactionReceipt.gasUsed + ? BigInt(transactionReceipt.gasUsed) + : null, + logs: transactionReceipt.logs + ? transactionReceipt.logs.map((log) => (0, log_js_1.formatLog)(log)) + : null, + to: transactionReceipt.to ? transactionReceipt.to : null, + transactionIndex: transactionReceipt.transactionIndex + ? (0, fromHex_js_1.hexToNumber)(transactionReceipt.transactionIndex) + : null, + status: transactionReceipt.status + ? exports.receiptStatuses[transactionReceipt.status] + : null, + type: transactionReceipt.type + ? transaction_js_1.transactionType[transactionReceipt.type] || transactionReceipt.type + : null, + }; + if (transactionReceipt.blobGasPrice) + receipt.blobGasPrice = BigInt(transactionReceipt.blobGasPrice); + if (transactionReceipt.blobGasUsed) + receipt.blobGasUsed = BigInt(transactionReceipt.blobGasUsed); + return receipt; +} +exports.defineTransactionReceipt = (0, formatter_js_1.defineFormatter)('transactionReceipt', formatTransactionReceipt); +//# sourceMappingURL=transactionReceipt.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/formatters/transactionReceipt.js.map b/node_modules/viem/_cjs/utils/formatters/transactionReceipt.js.map new file mode 100644 index 0000000000000000000000000000000000000000..0949441f55d8432fc07dd9481f8f63943c08ab6b --- /dev/null +++ b/node_modules/viem/_cjs/utils/formatters/transactionReceipt.js.map @@ -0,0 +1 @@ +{"version":3,"file":"transactionReceipt.js","sourceRoot":"","sources":["../../../utils/formatters/transactionReceipt.ts"],"names":[],"mappings":";;;AA6BA,4DA4CC;AAjED,uDAAoD;AAEpD,iDAA+E;AAC/E,qCAAoC;AACpC,qDAAkD;AAUrC,QAAA,eAAe,GAAG;IAC7B,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,SAAS;CACR,CAAA;AAIV,SAAgB,wBAAwB,CACtC,kBAAuD,EACvD,CAAsB;IAEtB,MAAM,OAAO,GAAG;QACd,GAAG,kBAAkB;QACrB,WAAW,EAAE,kBAAkB,CAAC,WAAW;YACzC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC;YACxC,CAAC,CAAC,IAAI;QACR,eAAe,EAAE,kBAAkB,CAAC,eAAe;YACjD,CAAC,CAAC,kBAAkB,CAAC,eAAe;YACpC,CAAC,CAAC,IAAI;QACR,iBAAiB,EAAE,kBAAkB,CAAC,iBAAiB;YACrD,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;YAC9C,CAAC,CAAC,IAAI;QACR,iBAAiB,EAAE,kBAAkB,CAAC,iBAAiB;YACrD,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;YAC9C,CAAC,CAAC,IAAI;QACR,OAAO,EAAE,kBAAkB,CAAC,OAAO;YACjC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACpC,CAAC,CAAC,IAAI;QACR,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC3B,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,kBAAS,EAAC,GAAG,CAAC,CAAC;YACtD,CAAC,CAAC,IAAI;QACR,EAAE,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QACxD,gBAAgB,EAAE,kBAAkB,CAAC,gBAAgB;YACnD,CAAC,CAAC,IAAA,wBAAW,EAAC,kBAAkB,CAAC,gBAAgB,CAAC;YAClD,CAAC,CAAC,IAAI;QACR,MAAM,EAAE,kBAAkB,CAAC,MAAM;YAC/B,CAAC,CAAC,uBAAe,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAC5C,CAAC,CAAC,IAAI;QACR,IAAI,EAAE,kBAAkB,CAAC,IAAI;YAC3B,CAAC,CAAC,gCAAe,CACb,kBAAkB,CAAC,IAAoC,CACxD,IAAI,kBAAkB,CAAC,IAAI;YAC9B,CAAC,CAAC,IAAI;KACa,CAAA;IAEvB,IAAI,kBAAkB,CAAC,YAAY;QACjC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAA;IAChE,IAAI,kBAAkB,CAAC,WAAW;QAChC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAE9D,OAAO,OAAO,CAAA;AAChB,CAAC;AAMY,QAAA,wBAAwB,GAAiB,IAAA,8BAAe,EACnE,oBAAoB,EACpB,wBAAwB,CACzB,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/formatters/transactionRequest.js b/node_modules/viem/_cjs/utils/formatters/transactionRequest.js new file mode 100644 index 0000000000000000000000000000000000000000..f1fe409c1261d6d51ca4d38b0022b1578a5a26f1 --- /dev/null +++ b/node_modules/viem/_cjs/utils/formatters/transactionRequest.js @@ -0,0 +1,75 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.defineTransactionRequest = exports.rpcTransactionType = void 0; +exports.formatTransactionRequest = formatTransactionRequest; +const toHex_js_1 = require("../encoding/toHex.js"); +const formatter_js_1 = require("./formatter.js"); +exports.rpcTransactionType = { + legacy: '0x0', + eip2930: '0x1', + eip1559: '0x2', + eip4844: '0x3', + eip7702: '0x4', +}; +function formatTransactionRequest(request, _) { + const rpcRequest = {}; + if (typeof request.authorizationList !== 'undefined') + rpcRequest.authorizationList = formatAuthorizationList(request.authorizationList); + if (typeof request.accessList !== 'undefined') + rpcRequest.accessList = request.accessList; + if (typeof request.blobVersionedHashes !== 'undefined') + rpcRequest.blobVersionedHashes = request.blobVersionedHashes; + if (typeof request.blobs !== 'undefined') { + if (typeof request.blobs[0] !== 'string') + rpcRequest.blobs = request.blobs.map((x) => (0, toHex_js_1.bytesToHex)(x)); + else + rpcRequest.blobs = request.blobs; + } + if (typeof request.data !== 'undefined') + rpcRequest.data = request.data; + if (request.account) + rpcRequest.from = request.account.address; + if (typeof request.from !== 'undefined') + rpcRequest.from = request.from; + if (typeof request.gas !== 'undefined') + rpcRequest.gas = (0, toHex_js_1.numberToHex)(request.gas); + if (typeof request.gasPrice !== 'undefined') + rpcRequest.gasPrice = (0, toHex_js_1.numberToHex)(request.gasPrice); + if (typeof request.maxFeePerBlobGas !== 'undefined') + rpcRequest.maxFeePerBlobGas = (0, toHex_js_1.numberToHex)(request.maxFeePerBlobGas); + if (typeof request.maxFeePerGas !== 'undefined') + rpcRequest.maxFeePerGas = (0, toHex_js_1.numberToHex)(request.maxFeePerGas); + if (typeof request.maxPriorityFeePerGas !== 'undefined') + rpcRequest.maxPriorityFeePerGas = (0, toHex_js_1.numberToHex)(request.maxPriorityFeePerGas); + if (typeof request.nonce !== 'undefined') + rpcRequest.nonce = (0, toHex_js_1.numberToHex)(request.nonce); + if (typeof request.to !== 'undefined') + rpcRequest.to = request.to; + if (typeof request.type !== 'undefined') + rpcRequest.type = exports.rpcTransactionType[request.type]; + if (typeof request.value !== 'undefined') + rpcRequest.value = (0, toHex_js_1.numberToHex)(request.value); + return rpcRequest; +} +exports.defineTransactionRequest = (0, formatter_js_1.defineFormatter)('transactionRequest', formatTransactionRequest); +function formatAuthorizationList(authorizationList) { + return authorizationList.map((authorization) => ({ + address: authorization.address, + r: authorization.r + ? (0, toHex_js_1.numberToHex)(BigInt(authorization.r)) + : authorization.r, + s: authorization.s + ? (0, toHex_js_1.numberToHex)(BigInt(authorization.s)) + : authorization.s, + chainId: (0, toHex_js_1.numberToHex)(authorization.chainId), + nonce: (0, toHex_js_1.numberToHex)(authorization.nonce), + ...(typeof authorization.yParity !== 'undefined' + ? { yParity: (0, toHex_js_1.numberToHex)(authorization.yParity) } + : {}), + ...(typeof authorization.v !== 'undefined' && + typeof authorization.yParity === 'undefined' + ? { v: (0, toHex_js_1.numberToHex)(authorization.v) } + : {}), + })); +} +//# sourceMappingURL=transactionRequest.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/formatters/transactionRequest.js.map b/node_modules/viem/_cjs/utils/formatters/transactionRequest.js.map new file mode 100644 index 0000000000000000000000000000000000000000..dec907fcf82b40a2ffe50c1697084fd5e767286a --- /dev/null +++ b/node_modules/viem/_cjs/utils/formatters/transactionRequest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"transactionRequest.js","sourceRoot":"","sources":["../../../utils/formatters/transactionRequest.ts"],"names":[],"mappings":";;;AA+CA,4DA2CC;AA5ED,mDAA8D;AAC9D,iDAA+E;AAsBlE,QAAA,kBAAkB,GAAG;IAChC,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;CACN,CAAA;AAIV,SAAgB,wBAAwB,CACtC,OAA6E,EAC7E,CAAsB;IAEtB,MAAM,UAAU,GAAG,EAA2B,CAAA;IAE9C,IAAI,OAAO,OAAO,CAAC,iBAAiB,KAAK,WAAW;QAClD,UAAU,CAAC,iBAAiB,GAAG,uBAAuB,CACpD,OAAO,CAAC,iBAAiB,CAC1B,CAAA;IACH,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,WAAW;QAC3C,UAAU,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;IAC5C,IAAI,OAAO,OAAO,CAAC,mBAAmB,KAAK,WAAW;QACpD,UAAU,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAA;IAC9D,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QACzC,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;YACtC,UAAU,CAAC,KAAK,GAAI,OAAO,CAAC,KAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1D,IAAA,qBAAU,EAAC,CAAC,CAAC,CACd,CAAA;;YACE,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IACvC,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW;QAAE,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IACvE,IAAI,OAAO,CAAC,OAAO;QAAE,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAA;IAC9D,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW;QAAE,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IACvE,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,WAAW;QACpC,UAAU,CAAC,GAAG,GAAG,IAAA,sBAAW,EAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC3C,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,WAAW;QACzC,UAAU,CAAC,QAAQ,GAAG,IAAA,sBAAW,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrD,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,WAAW;QACjD,UAAU,CAAC,gBAAgB,GAAG,IAAA,sBAAW,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACrE,IAAI,OAAO,OAAO,CAAC,YAAY,KAAK,WAAW;QAC7C,UAAU,CAAC,YAAY,GAAG,IAAA,sBAAW,EAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAC7D,IAAI,OAAO,OAAO,CAAC,oBAAoB,KAAK,WAAW;QACrD,UAAU,CAAC,oBAAoB,GAAG,IAAA,sBAAW,EAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAC7E,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,WAAW;QACtC,UAAU,CAAC,KAAK,GAAG,IAAA,sBAAW,EAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC/C,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,WAAW;QAAE,UAAU,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;IACjE,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW;QACrC,UAAU,CAAC,IAAI,GAAG,0BAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACpD,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,WAAW;QACtC,UAAU,CAAC,KAAK,GAAG,IAAA,sBAAW,EAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAE/C,OAAO,UAAU,CAAA;AACnB,CAAC;AAMY,QAAA,wBAAwB,GAAiB,IAAA,8BAAe,EACnE,oBAAoB,EACpB,wBAAwB,CACzB,CAAA;AAID,SAAS,uBAAuB,CAC9B,iBAAqD;IAErD,OAAO,iBAAiB,CAAC,GAAG,CAC1B,CAAC,aAAa,EAAE,EAAE,CAChB,CAAC;QACC,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,CAAC,EAAE,aAAa,CAAC,CAAC;YAChB,CAAC,CAAC,IAAA,sBAAW,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,aAAa,CAAC,CAAC;QACnB,CAAC,EAAE,aAAa,CAAC,CAAC;YAChB,CAAC,CAAC,IAAA,sBAAW,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,aAAa,CAAC,CAAC;QACnB,OAAO,EAAE,IAAA,sBAAW,EAAC,aAAa,CAAC,OAAO,CAAC;QAC3C,KAAK,EAAE,IAAA,sBAAW,EAAC,aAAa,CAAC,KAAK,CAAC;QACvC,GAAG,CAAC,OAAO,aAAa,CAAC,OAAO,KAAK,WAAW;YAC9C,CAAC,CAAC,EAAE,OAAO,EAAE,IAAA,sBAAW,EAAC,aAAa,CAAC,OAAO,CAAC,EAAE;YACjD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,KAAK,WAAW;YAC1C,OAAO,aAAa,CAAC,OAAO,KAAK,WAAW;YAC1C,CAAC,CAAC,EAAE,CAAC,EAAE,IAAA,sBAAW,EAAC,aAAa,CAAC,CAAC,CAAC,EAAE;YACrC,CAAC,CAAC,EAAE,CAAC;KACR,CAAQ,CACY,CAAA;AAC3B,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/getAction.js b/node_modules/viem/_cjs/utils/getAction.js new file mode 100644 index 0000000000000000000000000000000000000000..b20ddba5ab919c5fd3660d8767f2a285d87974dc --- /dev/null +++ b/node_modules/viem/_cjs/utils/getAction.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getAction = getAction; +function getAction(client, actionFn, name) { + const action_implicit = client[actionFn.name]; + if (typeof action_implicit === 'function') + return action_implicit; + const action_explicit = client[name]; + if (typeof action_explicit === 'function') + return action_explicit; + return (params) => actionFn(client, params); +} +//# sourceMappingURL=getAction.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/getAction.js.map b/node_modules/viem/_cjs/utils/getAction.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f27c39cb177b34d2c0afeb8efff6b4f4cb9fa349 --- /dev/null +++ b/node_modules/viem/_cjs/utils/getAction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getAction.js","sourceRoot":"","sources":["../../utils/getAction.ts"],"names":[],"mappings":";;AAeA,8BA0BC;AA1BD,SAAgB,SAAS,CAUvB,MAAc,EACd,QAAwD,EAIxD,IAA+D;IAE/D,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC7C,IAAI,OAAO,eAAe,KAAK,UAAU;QACvC,OAAO,eAAqD,CAAA;IAE9D,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IACpC,IAAI,OAAO,eAAe,KAAK,UAAU;QACvC,OAAO,eAAqD,CAAA;IAE9D,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAC7C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/hashSignature.js b/node_modules/viem/_cjs/utils/hash/hashSignature.js new file mode 100644 index 0000000000000000000000000000000000000000..a1a59e01195cd8a8d830bad55d90406bb8463b98 --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/hashSignature.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.hashSignature = hashSignature; +const toBytes_js_1 = require("../encoding/toBytes.js"); +const keccak256_js_1 = require("./keccak256.js"); +const hash = (value) => (0, keccak256_js_1.keccak256)((0, toBytes_js_1.toBytes)(value)); +function hashSignature(sig) { + return hash(sig); +} +//# sourceMappingURL=hashSignature.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/hashSignature.js.map b/node_modules/viem/_cjs/utils/hash/hashSignature.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b98643de02b7ab2923999d2c57fa52edc51fcc7b --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/hashSignature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hashSignature.js","sourceRoot":"","sources":["../../../utils/hash/hashSignature.ts"],"names":[],"mappings":";;AAWA,sCAEC;AAZD,uDAAuE;AACvE,iDAAmE;AAEnE,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAA,wBAAS,EAAC,IAAA,oBAAO,EAAC,KAAK,CAAC,CAAC,CAAA;AAOzD,SAAgB,aAAa,CAAC,GAAW;IACvC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;AAClB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/isHash.js b/node_modules/viem/_cjs/utils/hash/isHash.js new file mode 100644 index 0000000000000000000000000000000000000000..d05b50089a1b474bae7addbf77b5cd25e445c6d4 --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/isHash.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isHash = isHash; +const isHex_js_1 = require("../data/isHex.js"); +function isHash(hash) { + return (0, isHex_js_1.isHex)(hash) && hash.length === 66; +} +//# sourceMappingURL=isHash.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/isHash.js.map b/node_modules/viem/_cjs/utils/hash/isHash.js.map new file mode 100644 index 0000000000000000000000000000000000000000..794165a942239260acb853e442e4c8967ce250f1 --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/isHash.js.map @@ -0,0 +1 @@ +{"version":3,"file":"isHash.js","sourceRoot":"","sources":["../../../utils/hash/isHash.ts"],"names":[],"mappings":";;AAMA,wBAEC;AAND,+CAA6D;AAI7D,SAAgB,MAAM,CAAC,IAAY;IACjC,OAAO,IAAA,gBAAK,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,CAAA;AAC1C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/keccak256.js b/node_modules/viem/_cjs/utils/hash/keccak256.js new file mode 100644 index 0000000000000000000000000000000000000000..1ee898d99280509f694b286693a76579077cea3a --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/keccak256.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.keccak256 = keccak256; +const sha3_1 = require("@noble/hashes/sha3"); +const isHex_js_1 = require("../data/isHex.js"); +const toBytes_js_1 = require("../encoding/toBytes.js"); +const toHex_js_1 = require("../encoding/toHex.js"); +function keccak256(value, to_) { + const to = to_ || 'hex'; + const bytes = (0, sha3_1.keccak_256)((0, isHex_js_1.isHex)(value, { strict: false }) ? (0, toBytes_js_1.toBytes)(value) : value); + if (to === 'bytes') + return bytes; + return (0, toHex_js_1.toHex)(bytes); +} +//# sourceMappingURL=keccak256.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/keccak256.js.map b/node_modules/viem/_cjs/utils/hash/keccak256.js.map new file mode 100644 index 0000000000000000000000000000000000000000..92cbad5a0d4cfd862f905485b789b7badbc6f0a2 --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/keccak256.js.map @@ -0,0 +1 @@ +{"version":3,"file":"keccak256.js","sourceRoot":"","sources":["../../../utils/hash/keccak256.ts"],"names":[],"mappings":";;AAoBA,8BAUC;AA9BD,6CAA+C;AAI/C,+CAA6D;AAC7D,uDAAuE;AACvE,mDAAiE;AAcjE,SAAgB,SAAS,CACvB,KAAsB,EACtB,GAAoB;IAEpB,MAAM,EAAE,GAAG,GAAG,IAAI,KAAK,CAAA;IACvB,MAAM,KAAK,GAAG,IAAA,iBAAU,EACtB,IAAA,gBAAK,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CACzD,CAAA;IACD,IAAI,EAAE,KAAK,OAAO;QAAE,OAAO,KAA0B,CAAA;IACrD,OAAO,IAAA,gBAAK,EAAC,KAAK,CAAsB,CAAA;AAC1C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/normalizeSignature.js b/node_modules/viem/_cjs/utils/hash/normalizeSignature.js new file mode 100644 index 0000000000000000000000000000000000000000..0a9666a3ed759b8bc9929dc232d2511a04ee1383 --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/normalizeSignature.js @@ -0,0 +1,47 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.normalizeSignature = normalizeSignature; +const base_js_1 = require("../../errors/base.js"); +function normalizeSignature(signature) { + let active = true; + let current = ''; + let level = 0; + let result = ''; + let valid = false; + for (let i = 0; i < signature.length; i++) { + const char = signature[i]; + if (['(', ')', ','].includes(char)) + active = true; + if (char === '(') + level++; + if (char === ')') + level--; + if (!active) + continue; + if (level === 0) { + if (char === ' ' && ['event', 'function', ''].includes(result)) + result = ''; + else { + result += char; + if (char === ')') { + valid = true; + break; + } + } + continue; + } + if (char === ' ') { + if (signature[i - 1] !== ',' && current !== ',' && current !== ',(') { + current = ''; + active = false; + } + continue; + } + result += char; + current += char; + } + if (!valid) + throw new base_js_1.BaseError('Unable to normalize signature.'); + return result; +} +//# sourceMappingURL=normalizeSignature.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/normalizeSignature.js.map b/node_modules/viem/_cjs/utils/hash/normalizeSignature.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9118b8379582eefbf7ce2b37163ab90018756ed6 --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/normalizeSignature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"normalizeSignature.js","sourceRoot":"","sources":["../../../utils/hash/normalizeSignature.ts"],"names":[],"mappings":";;AAOA,gDAwDC;AA/DD,kDAAgD;AAOhD,SAAgB,kBAAkB,CAChC,SAAuC;IAEvC,IAAI,MAAM,GAAG,IAAI,CAAA;IACjB,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,KAAK,GAAG,KAAK,CAAA;IAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;QAGzB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,MAAM,GAAG,IAAI,CAAA;QAGjD,IAAI,IAAI,KAAK,GAAG;YAAE,KAAK,EAAE,CAAA;QACzB,IAAI,IAAI,KAAK,GAAG;YAAE,KAAK,EAAE,CAAA;QAGzB,IAAI,CAAC,MAAM;YAAE,SAAQ;QAGrB,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC5D,MAAM,GAAG,EAAE,CAAA;iBACR,CAAC;gBACJ,MAAM,IAAI,IAAI,CAAA;gBAGd,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBACjB,KAAK,GAAG,IAAI,CAAA;oBACZ,MAAK;gBACP,CAAC;YACH,CAAC;YAED,SAAQ;QACV,CAAC;QAGD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAEjB,IAAI,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACpE,OAAO,GAAG,EAAE,CAAA;gBACZ,MAAM,GAAG,KAAK,CAAA;YAChB,CAAC;YACD,SAAQ;QACV,CAAC;QAED,MAAM,IAAI,IAAI,CAAA;QACd,OAAO,IAAI,IAAI,CAAA;IACjB,CAAC;IAED,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,mBAAS,CAAC,gCAAgC,CAAC,CAAA;IAEjE,OAAO,MAAM,CAAA;AACf,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/ripemd160.js b/node_modules/viem/_cjs/utils/hash/ripemd160.js new file mode 100644 index 0000000000000000000000000000000000000000..afab9c08cc98c3a4df83b5dcf4faffe92c0ce2a4 --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/ripemd160.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ripemd160 = ripemd160; +const ripemd160_1 = require("@noble/hashes/ripemd160"); +const isHex_js_1 = require("../data/isHex.js"); +const toBytes_js_1 = require("../encoding/toBytes.js"); +const toHex_js_1 = require("../encoding/toHex.js"); +function ripemd160(value, to_) { + const to = to_ || 'hex'; + const bytes = (0, ripemd160_1.ripemd160)((0, isHex_js_1.isHex)(value, { strict: false }) ? (0, toBytes_js_1.toBytes)(value) : value); + if (to === 'bytes') + return bytes; + return (0, toHex_js_1.toHex)(bytes); +} +//# sourceMappingURL=ripemd160.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/ripemd160.js.map b/node_modules/viem/_cjs/utils/hash/ripemd160.js.map new file mode 100644 index 0000000000000000000000000000000000000000..22a8e1336bd3ebf66ec8d57835d62e719f42b5cf --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/ripemd160.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ripemd160.js","sourceRoot":"","sources":["../../../utils/hash/ripemd160.ts"],"names":[],"mappings":";;AAoBA,8BAUC;AA9BD,uDAAsE;AAItE,+CAA6D;AAC7D,uDAAuE;AACvE,mDAAiE;AAcjE,SAAgB,SAAS,CACvB,KAAsB,EACtB,GAAoB;IAEpB,MAAM,EAAE,GAAG,GAAG,IAAI,KAAK,CAAA;IACvB,MAAM,KAAK,GAAG,IAAA,qBAAe,EAC3B,IAAA,gBAAK,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CACzD,CAAA;IACD,IAAI,EAAE,KAAK,OAAO;QAAE,OAAO,KAA0B,CAAA;IACrD,OAAO,IAAA,gBAAK,EAAC,KAAK,CAAsB,CAAA;AAC1C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/sha256.js b/node_modules/viem/_cjs/utils/hash/sha256.js new file mode 100644 index 0000000000000000000000000000000000000000..a50e9c4d560418ee3b2245c4ecf5c4ce10818760 --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/sha256.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.sha256 = sha256; +const sha256_1 = require("@noble/hashes/sha256"); +const isHex_js_1 = require("../data/isHex.js"); +const toBytes_js_1 = require("../encoding/toBytes.js"); +const toHex_js_1 = require("../encoding/toHex.js"); +function sha256(value, to_) { + const to = to_ || 'hex'; + const bytes = (0, sha256_1.sha256)((0, isHex_js_1.isHex)(value, { strict: false }) ? (0, toBytes_js_1.toBytes)(value) : value); + if (to === 'bytes') + return bytes; + return (0, toHex_js_1.toHex)(bytes); +} +//# sourceMappingURL=sha256.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/sha256.js.map b/node_modules/viem/_cjs/utils/hash/sha256.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e95b5e05b623c09a76b0ce31408ffe3a2150cd94 --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/sha256.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sha256.js","sourceRoot":"","sources":["../../../utils/hash/sha256.ts"],"names":[],"mappings":";;AAoBA,wBAUC;AA9BD,iDAA6D;AAI7D,+CAA6D;AAC7D,uDAAuE;AACvE,mDAAiE;AAcjE,SAAgB,MAAM,CACpB,KAAsB,EACtB,GAAoB;IAEpB,MAAM,EAAE,GAAG,GAAG,IAAI,KAAK,CAAA;IACvB,MAAM,KAAK,GAAG,IAAA,eAAY,EACxB,IAAA,gBAAK,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CACzD,CAAA;IACD,IAAI,EAAE,KAAK,OAAO;QAAE,OAAO,KAAuB,CAAA;IAClD,OAAO,IAAA,gBAAK,EAAC,KAAK,CAAmB,CAAA;AACvC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/toEventHash.js b/node_modules/viem/_cjs/utils/hash/toEventHash.js new file mode 100644 index 0000000000000000000000000000000000000000..cfb8a3623b62743ed99fb3a00c41ae0ad31be9a9 --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/toEventHash.js @@ -0,0 +1,6 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toEventHash = void 0; +var toSignatureHash_js_1 = require("./toSignatureHash.js"); +Object.defineProperty(exports, "toEventHash", { enumerable: true, get: function () { return toSignatureHash_js_1.toSignatureHash; } }); +//# sourceMappingURL=toEventHash.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/toEventHash.js.map b/node_modules/viem/_cjs/utils/hash/toEventHash.js.map new file mode 100644 index 0000000000000000000000000000000000000000..cc0d8bb15348fb48e697ae0c1a0ae8c9fbe529dc --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/toEventHash.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toEventHash.js","sourceRoot":"","sources":["../../../utils/hash/toEventHash.ts"],"names":[],"mappings":";;;AACA,2DAG6B;AAD3B,iHAAA,eAAe,OAAe"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/toEventSelector.js b/node_modules/viem/_cjs/utils/hash/toEventSelector.js new file mode 100644 index 0000000000000000000000000000000000000000..198d6106ea885342482c9ee2d36b002230c0461f --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/toEventSelector.js @@ -0,0 +1,6 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toEventSelector = void 0; +const toSignatureHash_js_1 = require("./toSignatureHash.js"); +exports.toEventSelector = toSignatureHash_js_1.toSignatureHash; +//# sourceMappingURL=toEventSelector.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/toEventSelector.js.map b/node_modules/viem/_cjs/utils/hash/toEventSelector.js.map new file mode 100644 index 0000000000000000000000000000000000000000..05c8d915076f7a13601c2faa0fe076caab57b5b8 --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/toEventSelector.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toEventSelector.js","sourceRoot":"","sources":["../../../utils/hash/toEventSelector.ts"],"names":[],"mappings":";;;AACA,6DAG6B;AAWhB,QAAA,eAAe,GAAG,oCAAe,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/toEventSignature.js b/node_modules/viem/_cjs/utils/hash/toEventSignature.js new file mode 100644 index 0000000000000000000000000000000000000000..77ac9cf274ff67350524f5bf63fc6d2d7362ef64 --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/toEventSignature.js @@ -0,0 +1,6 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toEventSignature = void 0; +var toSignature_js_1 = require("./toSignature.js"); +Object.defineProperty(exports, "toEventSignature", { enumerable: true, get: function () { return toSignature_js_1.toSignature; } }); +//# sourceMappingURL=toEventSignature.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/toEventSignature.js.map b/node_modules/viem/_cjs/utils/hash/toEventSignature.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c3b0d689afc45bb70dbd896f0f9b58f1de557665 --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/toEventSignature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toEventSignature.js","sourceRoot":"","sources":["../../../utils/hash/toEventSignature.ts"],"names":[],"mappings":";;;AACA,mDAGyB;AADvB,kHAAA,WAAW,OAAoB"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/toFunctionHash.js b/node_modules/viem/_cjs/utils/hash/toFunctionHash.js new file mode 100644 index 0000000000000000000000000000000000000000..2d2c7b6025fbedb6ddfd81718273718af4866871 --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/toFunctionHash.js @@ -0,0 +1,6 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toFunctionHash = void 0; +var toSignatureHash_js_1 = require("./toSignatureHash.js"); +Object.defineProperty(exports, "toFunctionHash", { enumerable: true, get: function () { return toSignatureHash_js_1.toSignatureHash; } }); +//# sourceMappingURL=toFunctionHash.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/toFunctionHash.js.map b/node_modules/viem/_cjs/utils/hash/toFunctionHash.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d6a128e03e25f3e7892b468eafd996399c04b277 --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/toFunctionHash.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toFunctionHash.js","sourceRoot":"","sources":["../../../utils/hash/toFunctionHash.ts"],"names":[],"mappings":";;;AACA,2DAG6B;AAD3B,oHAAA,eAAe,OAAkB"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/toFunctionSelector.js b/node_modules/viem/_cjs/utils/hash/toFunctionSelector.js new file mode 100644 index 0000000000000000000000000000000000000000..767920c654f3548308026b84fd24c515d63505c2 --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/toFunctionSelector.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toFunctionSelector = void 0; +const slice_js_1 = require("../data/slice.js"); +const toSignatureHash_js_1 = require("./toSignatureHash.js"); +const toFunctionSelector = (fn) => (0, slice_js_1.slice)((0, toSignatureHash_js_1.toSignatureHash)(fn), 0, 4); +exports.toFunctionSelector = toFunctionSelector; +//# sourceMappingURL=toFunctionSelector.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/toFunctionSelector.js.map b/node_modules/viem/_cjs/utils/hash/toFunctionSelector.js.map new file mode 100644 index 0000000000000000000000000000000000000000..dd96d30fff90fe286ab4334336343ec74f04771c --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/toFunctionSelector.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toFunctionSelector.js","sourceRoot":"","sources":["../../../utils/hash/toFunctionSelector.ts"],"names":[],"mappings":";;;AAGA,+CAA6D;AAC7D,6DAG6B;AActB,MAAM,kBAAkB,GAAG,CAAC,EAAwB,EAAE,EAAE,CAC7D,IAAA,gBAAK,EAAC,IAAA,oCAAe,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AADrB,QAAA,kBAAkB,sBACG"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/toFunctionSignature.js b/node_modules/viem/_cjs/utils/hash/toFunctionSignature.js new file mode 100644 index 0000000000000000000000000000000000000000..194c6a29b06ea550ca0a96dd60945bddd132b769 --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/toFunctionSignature.js @@ -0,0 +1,6 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toFunctionSignature = void 0; +var toSignature_js_1 = require("./toSignature.js"); +Object.defineProperty(exports, "toFunctionSignature", { enumerable: true, get: function () { return toSignature_js_1.toSignature; } }); +//# sourceMappingURL=toFunctionSignature.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/toFunctionSignature.js.map b/node_modules/viem/_cjs/utils/hash/toFunctionSignature.js.map new file mode 100644 index 0000000000000000000000000000000000000000..91073a41935d561dc0dfa61ddf536b85fba01284 --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/toFunctionSignature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toFunctionSignature.js","sourceRoot":"","sources":["../../../utils/hash/toFunctionSignature.ts"],"names":[],"mappings":";;;AACA,mDAGyB;AADvB,qHAAA,WAAW,OAAuB"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/toSignature.js b/node_modules/viem/_cjs/utils/hash/toSignature.js new file mode 100644 index 0000000000000000000000000000000000000000..f3caa840978a246f0bd304b0c51fb3d605b461b1 --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/toSignature.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toSignature = void 0; +const abitype_1 = require("abitype"); +const normalizeSignature_js_1 = require("./normalizeSignature.js"); +const toSignature = (def) => { + const def_ = (() => { + if (typeof def === 'string') + return def; + return (0, abitype_1.formatAbiItem)(def); + })(); + return (0, normalizeSignature_js_1.normalizeSignature)(def_); +}; +exports.toSignature = toSignature; +//# sourceMappingURL=toSignature.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/toSignature.js.map b/node_modules/viem/_cjs/utils/hash/toSignature.js.map new file mode 100644 index 0000000000000000000000000000000000000000..502c5be8e826b645c4d1068c866147d454d822c8 --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/toSignature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toSignature.js","sourceRoot":"","sources":["../../../utils/hash/toSignature.ts"],"names":[],"mappings":";;;AAAA,qCAAwE;AAGxE,mEAGgC;AAqBzB,MAAM,WAAW,GAAG,CAAC,GAAoC,EAAE,EAAE;IAClE,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE;QACjB,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAA;QACvC,OAAO,IAAA,uBAAa,EAAC,GAAG,CAAC,CAAA;IAC3B,CAAC,CAAC,EAAE,CAAA;IACJ,OAAO,IAAA,0CAAkB,EAAC,IAAI,CAAC,CAAA;AACjC,CAAC,CAAA;AANY,QAAA,WAAW,eAMvB"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/toSignatureHash.js b/node_modules/viem/_cjs/utils/hash/toSignatureHash.js new file mode 100644 index 0000000000000000000000000000000000000000..0e46849a585e6b256df09d4305117848dd00185a --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/toSignatureHash.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toSignatureHash = toSignatureHash; +const hashSignature_js_1 = require("./hashSignature.js"); +const toSignature_js_1 = require("./toSignature.js"); +function toSignatureHash(fn) { + return (0, hashSignature_js_1.hashSignature)((0, toSignature_js_1.toSignature)(fn)); +} +//# sourceMappingURL=toSignatureHash.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/hash/toSignatureHash.js.map b/node_modules/viem/_cjs/utils/hash/toSignatureHash.js.map new file mode 100644 index 0000000000000000000000000000000000000000..eadf07a922adc1361ee4e17614cb8afe9abd4faa --- /dev/null +++ b/node_modules/viem/_cjs/utils/hash/toSignatureHash.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toSignatureHash.js","sourceRoot":"","sources":["../../../utils/hash/toSignatureHash.ts"],"names":[],"mappings":";;AAcA,0CAEC;AAbD,yDAA+E;AAC/E,qDAAyE;AAUzE,SAAgB,eAAe,CAAC,EAAmC;IACjE,OAAO,IAAA,gCAAa,EAAC,IAAA,4BAAW,EAAC,EAAE,CAAC,CAAC,CAAA;AACvC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/index.js b/node_modules/viem/_cjs/utils/index.js new file mode 100644 index 0000000000000000000000000000000000000000..8756e2d112f8fac11948e8e173d9b35530dcd899 --- /dev/null +++ b/node_modules/viem/_cjs/utils/index.js @@ -0,0 +1,272 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isHex = exports.isBytes = exports.concatHex = exports.concatBytes = exports.concat = exports.getChainContractAddress = exports.filterChains = exports.extractChain = exports.defineChain = exports.assertCurrentChain = exports.ccipReadTunnel = exports.offchainLookupSignature = exports.offchainLookupAbiItem = exports.offchainLookup = exports.ccipFetch = exports.ccipRequest = exports.buildRequest = exports.verifyAuthorization = exports.serializeAuthorizationList = exports.recoverAuthorizationAddress = exports.hashAuthorization = exports.isAddressEqual = exports.isAddress = exports.getCreateAddress = exports.getCreate2Address = exports.getContractAddress = exports.getAddress = exports.parseEventLogs = exports.getAbiItem = exports.formatAbiItemWithArgs = exports.formatAbiParams = exports.formatAbiItem = exports.encodePacked = exports.encodeFunctionResult = exports.encodeFunctionData = exports.encodeEventTopics = exports.encodeErrorResult = exports.encodeDeployData = exports.encodeAbiParameters = exports.decodeFunctionResult = exports.decodeFunctionData = exports.decodeEventLog = exports.decodeErrorResult = exports.decodeAbiParameters = exports.publicKeyToAddress = exports.parseAccount = exports.parseAbiParameters = exports.parseAbiParameter = exports.parseAbiItem = exports.parseAbi = void 0; +exports.isHash = exports.getAction = exports.formatTransactionRequest = exports.defineTransactionRequest = exports.defineTransactionReceipt = exports.transactionType = exports.formatTransaction = exports.defineTransaction = exports.formatLog = exports.defineFormatter = exports.extract = exports.formatBlock = exports.defineBlock = exports.getTransactionError = exports.getNodeError = exports.containsNodeError = exports.getEstimateGasError = exports.getContractError = exports.getCallError = exports.toRlp = exports.toHex = exports.stringToHex = exports.numberToHex = exports.bytesToHex = exports.boolToHex = exports.toBytes = exports.stringToBytes = exports.numberToBytes = exports.hexToBytes = exports.boolToBytes = exports.fromRlp = exports.hexToString = exports.hexToNumber = exports.hexToBool = exports.hexToBigInt = exports.fromHex = exports.fromBytes = exports.bytesToString = exports.bytesToNumber = exports.bytesToBool = exports.bytesToBigint = exports.bytesToBigInt = exports.trim = exports.sliceHex = exports.sliceBytes = exports.slice = exports.size = exports.padHex = exports.padBytes = exports.pad = void 0; +exports.serializeTransaction = exports.serializeAccessList = exports.parseTransaction = exports.getTransactionType = exports.getSerializedTransactionType = exports.assertTransactionLegacy = exports.assertTransactionEIP2930 = exports.assertTransactionEIP1559 = exports.assertRequest = exports.stringify = exports.verifyTypedData = exports.verifyMessage = exports.verifyHash = exports.serializeErc8010Signature = exports.serializeErc6492Signature = exports.recoverTypedDataAddress = exports.recoverPublicKey = exports.recoverMessageAddress = exports.recoverAddress = exports.parseErc8010Signature = exports.parseErc6492Signature = exports.isErc8010Signature = exports.isErc6492Signature = exports.hashTypedData = exports.hashStruct = exports.hashMessage = exports.getWebSocketRpcClient = exports.socketClientCache = exports.getSocketRpcClient = exports.getHttpRpcClient = exports.rpc = exports.getSocket = exports.integerRegex = exports.bytesRegex = exports.arrayRegex = exports.nonceManager = exports.createNonceManager = exports.getFunctionSignature = exports.toFunctionSignature = exports.getFunctionSelector = exports.toFunctionSelector = exports.toFunctionHash = exports.getEventSignature = exports.toEventSignature = exports.getEventSelector = exports.toEventSelector = exports.toEventHash = exports.sha256 = exports.ripemd160 = exports.keccak256 = void 0; +exports.parseUnits = exports.parseGwei = exports.parseEther = exports.formatUnits = exports.formatGwei = exports.formatEther = exports.validateTypedData = exports.serializeTypedData = void 0; +var abitype_1 = require("abitype"); +Object.defineProperty(exports, "parseAbi", { enumerable: true, get: function () { return abitype_1.parseAbi; } }); +Object.defineProperty(exports, "parseAbiItem", { enumerable: true, get: function () { return abitype_1.parseAbiItem; } }); +Object.defineProperty(exports, "parseAbiParameter", { enumerable: true, get: function () { return abitype_1.parseAbiParameter; } }); +Object.defineProperty(exports, "parseAbiParameters", { enumerable: true, get: function () { return abitype_1.parseAbiParameters; } }); +var parseAccount_js_1 = require("../accounts/utils/parseAccount.js"); +Object.defineProperty(exports, "parseAccount", { enumerable: true, get: function () { return parseAccount_js_1.parseAccount; } }); +var publicKeyToAddress_js_1 = require("../accounts/utils/publicKeyToAddress.js"); +Object.defineProperty(exports, "publicKeyToAddress", { enumerable: true, get: function () { return publicKeyToAddress_js_1.publicKeyToAddress; } }); +var decodeAbiParameters_js_1 = require("./abi/decodeAbiParameters.js"); +Object.defineProperty(exports, "decodeAbiParameters", { enumerable: true, get: function () { return decodeAbiParameters_js_1.decodeAbiParameters; } }); +var decodeErrorResult_js_1 = require("./abi/decodeErrorResult.js"); +Object.defineProperty(exports, "decodeErrorResult", { enumerable: true, get: function () { return decodeErrorResult_js_1.decodeErrorResult; } }); +var decodeEventLog_js_1 = require("./abi/decodeEventLog.js"); +Object.defineProperty(exports, "decodeEventLog", { enumerable: true, get: function () { return decodeEventLog_js_1.decodeEventLog; } }); +var decodeFunctionData_js_1 = require("./abi/decodeFunctionData.js"); +Object.defineProperty(exports, "decodeFunctionData", { enumerable: true, get: function () { return decodeFunctionData_js_1.decodeFunctionData; } }); +var decodeFunctionResult_js_1 = require("./abi/decodeFunctionResult.js"); +Object.defineProperty(exports, "decodeFunctionResult", { enumerable: true, get: function () { return decodeFunctionResult_js_1.decodeFunctionResult; } }); +var encodeAbiParameters_js_1 = require("./abi/encodeAbiParameters.js"); +Object.defineProperty(exports, "encodeAbiParameters", { enumerable: true, get: function () { return encodeAbiParameters_js_1.encodeAbiParameters; } }); +var encodeDeployData_js_1 = require("./abi/encodeDeployData.js"); +Object.defineProperty(exports, "encodeDeployData", { enumerable: true, get: function () { return encodeDeployData_js_1.encodeDeployData; } }); +var encodeErrorResult_js_1 = require("./abi/encodeErrorResult.js"); +Object.defineProperty(exports, "encodeErrorResult", { enumerable: true, get: function () { return encodeErrorResult_js_1.encodeErrorResult; } }); +var encodeEventTopics_js_1 = require("./abi/encodeEventTopics.js"); +Object.defineProperty(exports, "encodeEventTopics", { enumerable: true, get: function () { return encodeEventTopics_js_1.encodeEventTopics; } }); +var encodeFunctionData_js_1 = require("./abi/encodeFunctionData.js"); +Object.defineProperty(exports, "encodeFunctionData", { enumerable: true, get: function () { return encodeFunctionData_js_1.encodeFunctionData; } }); +var encodeFunctionResult_js_1 = require("./abi/encodeFunctionResult.js"); +Object.defineProperty(exports, "encodeFunctionResult", { enumerable: true, get: function () { return encodeFunctionResult_js_1.encodeFunctionResult; } }); +var encodePacked_js_1 = require("./abi/encodePacked.js"); +Object.defineProperty(exports, "encodePacked", { enumerable: true, get: function () { return encodePacked_js_1.encodePacked; } }); +var formatAbiItem_js_1 = require("./abi/formatAbiItem.js"); +Object.defineProperty(exports, "formatAbiItem", { enumerable: true, get: function () { return formatAbiItem_js_1.formatAbiItem; } }); +Object.defineProperty(exports, "formatAbiParams", { enumerable: true, get: function () { return formatAbiItem_js_1.formatAbiParams; } }); +var formatAbiItemWithArgs_js_1 = require("./abi/formatAbiItemWithArgs.js"); +Object.defineProperty(exports, "formatAbiItemWithArgs", { enumerable: true, get: function () { return formatAbiItemWithArgs_js_1.formatAbiItemWithArgs; } }); +var getAbiItem_js_1 = require("./abi/getAbiItem.js"); +Object.defineProperty(exports, "getAbiItem", { enumerable: true, get: function () { return getAbiItem_js_1.getAbiItem; } }); +var parseEventLogs_js_1 = require("./abi/parseEventLogs.js"); +Object.defineProperty(exports, "parseEventLogs", { enumerable: true, get: function () { return parseEventLogs_js_1.parseEventLogs; } }); +var getAddress_js_1 = require("./address/getAddress.js"); +Object.defineProperty(exports, "getAddress", { enumerable: true, get: function () { return getAddress_js_1.getAddress; } }); +var getContractAddress_js_1 = require("./address/getContractAddress.js"); +Object.defineProperty(exports, "getContractAddress", { enumerable: true, get: function () { return getContractAddress_js_1.getContractAddress; } }); +Object.defineProperty(exports, "getCreate2Address", { enumerable: true, get: function () { return getContractAddress_js_1.getCreate2Address; } }); +Object.defineProperty(exports, "getCreateAddress", { enumerable: true, get: function () { return getContractAddress_js_1.getCreateAddress; } }); +var isAddress_js_1 = require("./address/isAddress.js"); +Object.defineProperty(exports, "isAddress", { enumerable: true, get: function () { return isAddress_js_1.isAddress; } }); +var isAddressEqual_js_1 = require("./address/isAddressEqual.js"); +Object.defineProperty(exports, "isAddressEqual", { enumerable: true, get: function () { return isAddressEqual_js_1.isAddressEqual; } }); +var hashAuthorization_js_1 = require("./authorization/hashAuthorization.js"); +Object.defineProperty(exports, "hashAuthorization", { enumerable: true, get: function () { return hashAuthorization_js_1.hashAuthorization; } }); +var recoverAuthorizationAddress_js_1 = require("./authorization/recoverAuthorizationAddress.js"); +Object.defineProperty(exports, "recoverAuthorizationAddress", { enumerable: true, get: function () { return recoverAuthorizationAddress_js_1.recoverAuthorizationAddress; } }); +var serializeAuthorizationList_js_1 = require("./authorization/serializeAuthorizationList.js"); +Object.defineProperty(exports, "serializeAuthorizationList", { enumerable: true, get: function () { return serializeAuthorizationList_js_1.serializeAuthorizationList; } }); +var verifyAuthorization_js_1 = require("./authorization/verifyAuthorization.js"); +Object.defineProperty(exports, "verifyAuthorization", { enumerable: true, get: function () { return verifyAuthorization_js_1.verifyAuthorization; } }); +var buildRequest_js_1 = require("./buildRequest.js"); +Object.defineProperty(exports, "buildRequest", { enumerable: true, get: function () { return buildRequest_js_1.buildRequest; } }); +var ccip_js_1 = require("./ccip.js"); +Object.defineProperty(exports, "ccipRequest", { enumerable: true, get: function () { return ccip_js_1.ccipRequest; } }); +Object.defineProperty(exports, "ccipFetch", { enumerable: true, get: function () { return ccip_js_1.ccipRequest; } }); +Object.defineProperty(exports, "offchainLookup", { enumerable: true, get: function () { return ccip_js_1.offchainLookup; } }); +Object.defineProperty(exports, "offchainLookupAbiItem", { enumerable: true, get: function () { return ccip_js_1.offchainLookupAbiItem; } }); +Object.defineProperty(exports, "offchainLookupSignature", { enumerable: true, get: function () { return ccip_js_1.offchainLookupSignature; } }); +var ccipTunnel_js_1 = require("./ccipTunnel.js"); +Object.defineProperty(exports, "ccipReadTunnel", { enumerable: true, get: function () { return ccipTunnel_js_1.ccipReadTunnel; } }); +var assertCurrentChain_js_1 = require("./chain/assertCurrentChain.js"); +Object.defineProperty(exports, "assertCurrentChain", { enumerable: true, get: function () { return assertCurrentChain_js_1.assertCurrentChain; } }); +var defineChain_js_1 = require("./chain/defineChain.js"); +Object.defineProperty(exports, "defineChain", { enumerable: true, get: function () { return defineChain_js_1.defineChain; } }); +var extractChain_js_1 = require("./chain/extractChain.js"); +Object.defineProperty(exports, "extractChain", { enumerable: true, get: function () { return extractChain_js_1.extractChain; } }); +var filterChains_js_1 = require("./chain/filterChains.js"); +Object.defineProperty(exports, "filterChains", { enumerable: true, get: function () { return filterChains_js_1.filterChains; } }); +var getChainContractAddress_js_1 = require("./chain/getChainContractAddress.js"); +Object.defineProperty(exports, "getChainContractAddress", { enumerable: true, get: function () { return getChainContractAddress_js_1.getChainContractAddress; } }); +var concat_js_1 = require("./data/concat.js"); +Object.defineProperty(exports, "concat", { enumerable: true, get: function () { return concat_js_1.concat; } }); +Object.defineProperty(exports, "concatBytes", { enumerable: true, get: function () { return concat_js_1.concatBytes; } }); +Object.defineProperty(exports, "concatHex", { enumerable: true, get: function () { return concat_js_1.concatHex; } }); +var isBytes_js_1 = require("./data/isBytes.js"); +Object.defineProperty(exports, "isBytes", { enumerable: true, get: function () { return isBytes_js_1.isBytes; } }); +var isHex_js_1 = require("./data/isHex.js"); +Object.defineProperty(exports, "isHex", { enumerable: true, get: function () { return isHex_js_1.isHex; } }); +var pad_js_1 = require("./data/pad.js"); +Object.defineProperty(exports, "pad", { enumerable: true, get: function () { return pad_js_1.pad; } }); +Object.defineProperty(exports, "padBytes", { enumerable: true, get: function () { return pad_js_1.padBytes; } }); +Object.defineProperty(exports, "padHex", { enumerable: true, get: function () { return pad_js_1.padHex; } }); +var size_js_1 = require("./data/size.js"); +Object.defineProperty(exports, "size", { enumerable: true, get: function () { return size_js_1.size; } }); +var slice_js_1 = require("./data/slice.js"); +Object.defineProperty(exports, "slice", { enumerable: true, get: function () { return slice_js_1.slice; } }); +Object.defineProperty(exports, "sliceBytes", { enumerable: true, get: function () { return slice_js_1.sliceBytes; } }); +Object.defineProperty(exports, "sliceHex", { enumerable: true, get: function () { return slice_js_1.sliceHex; } }); +var trim_js_1 = require("./data/trim.js"); +Object.defineProperty(exports, "trim", { enumerable: true, get: function () { return trim_js_1.trim; } }); +var fromBytes_js_1 = require("./encoding/fromBytes.js"); +Object.defineProperty(exports, "bytesToBigInt", { enumerable: true, get: function () { return fromBytes_js_1.bytesToBigInt; } }); +Object.defineProperty(exports, "bytesToBigint", { enumerable: true, get: function () { return fromBytes_js_1.bytesToBigInt; } }); +Object.defineProperty(exports, "bytesToBool", { enumerable: true, get: function () { return fromBytes_js_1.bytesToBool; } }); +Object.defineProperty(exports, "bytesToNumber", { enumerable: true, get: function () { return fromBytes_js_1.bytesToNumber; } }); +Object.defineProperty(exports, "bytesToString", { enumerable: true, get: function () { return fromBytes_js_1.bytesToString; } }); +Object.defineProperty(exports, "fromBytes", { enumerable: true, get: function () { return fromBytes_js_1.fromBytes; } }); +var fromHex_js_1 = require("./encoding/fromHex.js"); +Object.defineProperty(exports, "fromHex", { enumerable: true, get: function () { return fromHex_js_1.fromHex; } }); +Object.defineProperty(exports, "hexToBigInt", { enumerable: true, get: function () { return fromHex_js_1.hexToBigInt; } }); +Object.defineProperty(exports, "hexToBool", { enumerable: true, get: function () { return fromHex_js_1.hexToBool; } }); +Object.defineProperty(exports, "hexToNumber", { enumerable: true, get: function () { return fromHex_js_1.hexToNumber; } }); +Object.defineProperty(exports, "hexToString", { enumerable: true, get: function () { return fromHex_js_1.hexToString; } }); +var fromRlp_js_1 = require("./encoding/fromRlp.js"); +Object.defineProperty(exports, "fromRlp", { enumerable: true, get: function () { return fromRlp_js_1.fromRlp; } }); +var toBytes_js_1 = require("./encoding/toBytes.js"); +Object.defineProperty(exports, "boolToBytes", { enumerable: true, get: function () { return toBytes_js_1.boolToBytes; } }); +Object.defineProperty(exports, "hexToBytes", { enumerable: true, get: function () { return toBytes_js_1.hexToBytes; } }); +Object.defineProperty(exports, "numberToBytes", { enumerable: true, get: function () { return toBytes_js_1.numberToBytes; } }); +Object.defineProperty(exports, "stringToBytes", { enumerable: true, get: function () { return toBytes_js_1.stringToBytes; } }); +Object.defineProperty(exports, "toBytes", { enumerable: true, get: function () { return toBytes_js_1.toBytes; } }); +var toHex_js_1 = require("./encoding/toHex.js"); +Object.defineProperty(exports, "boolToHex", { enumerable: true, get: function () { return toHex_js_1.boolToHex; } }); +Object.defineProperty(exports, "bytesToHex", { enumerable: true, get: function () { return toHex_js_1.bytesToHex; } }); +Object.defineProperty(exports, "numberToHex", { enumerable: true, get: function () { return toHex_js_1.numberToHex; } }); +Object.defineProperty(exports, "stringToHex", { enumerable: true, get: function () { return toHex_js_1.stringToHex; } }); +Object.defineProperty(exports, "toHex", { enumerable: true, get: function () { return toHex_js_1.toHex; } }); +var toRlp_js_1 = require("./encoding/toRlp.js"); +Object.defineProperty(exports, "toRlp", { enumerable: true, get: function () { return toRlp_js_1.toRlp; } }); +var getCallError_js_1 = require("./errors/getCallError.js"); +Object.defineProperty(exports, "getCallError", { enumerable: true, get: function () { return getCallError_js_1.getCallError; } }); +var getContractError_js_1 = require("./errors/getContractError.js"); +Object.defineProperty(exports, "getContractError", { enumerable: true, get: function () { return getContractError_js_1.getContractError; } }); +var getEstimateGasError_js_1 = require("./errors/getEstimateGasError.js"); +Object.defineProperty(exports, "getEstimateGasError", { enumerable: true, get: function () { return getEstimateGasError_js_1.getEstimateGasError; } }); +var getNodeError_js_1 = require("./errors/getNodeError.js"); +Object.defineProperty(exports, "containsNodeError", { enumerable: true, get: function () { return getNodeError_js_1.containsNodeError; } }); +Object.defineProperty(exports, "getNodeError", { enumerable: true, get: function () { return getNodeError_js_1.getNodeError; } }); +var getTransactionError_js_1 = require("./errors/getTransactionError.js"); +Object.defineProperty(exports, "getTransactionError", { enumerable: true, get: function () { return getTransactionError_js_1.getTransactionError; } }); +var block_js_1 = require("./formatters/block.js"); +Object.defineProperty(exports, "defineBlock", { enumerable: true, get: function () { return block_js_1.defineBlock; } }); +Object.defineProperty(exports, "formatBlock", { enumerable: true, get: function () { return block_js_1.formatBlock; } }); +var extract_js_1 = require("./formatters/extract.js"); +Object.defineProperty(exports, "extract", { enumerable: true, get: function () { return extract_js_1.extract; } }); +var formatter_js_1 = require("./formatters/formatter.js"); +Object.defineProperty(exports, "defineFormatter", { enumerable: true, get: function () { return formatter_js_1.defineFormatter; } }); +var log_js_1 = require("./formatters/log.js"); +Object.defineProperty(exports, "formatLog", { enumerable: true, get: function () { return log_js_1.formatLog; } }); +var transaction_js_1 = require("./formatters/transaction.js"); +Object.defineProperty(exports, "defineTransaction", { enumerable: true, get: function () { return transaction_js_1.defineTransaction; } }); +Object.defineProperty(exports, "formatTransaction", { enumerable: true, get: function () { return transaction_js_1.formatTransaction; } }); +Object.defineProperty(exports, "transactionType", { enumerable: true, get: function () { return transaction_js_1.transactionType; } }); +var transactionReceipt_js_1 = require("./formatters/transactionReceipt.js"); +Object.defineProperty(exports, "defineTransactionReceipt", { enumerable: true, get: function () { return transactionReceipt_js_1.defineTransactionReceipt; } }); +var transactionRequest_js_1 = require("./formatters/transactionRequest.js"); +Object.defineProperty(exports, "defineTransactionRequest", { enumerable: true, get: function () { return transactionRequest_js_1.defineTransactionRequest; } }); +Object.defineProperty(exports, "formatTransactionRequest", { enumerable: true, get: function () { return transactionRequest_js_1.formatTransactionRequest; } }); +var getAction_js_1 = require("./getAction.js"); +Object.defineProperty(exports, "getAction", { enumerable: true, get: function () { return getAction_js_1.getAction; } }); +var isHash_js_1 = require("./hash/isHash.js"); +Object.defineProperty(exports, "isHash", { enumerable: true, get: function () { return isHash_js_1.isHash; } }); +var keccak256_js_1 = require("./hash/keccak256.js"); +Object.defineProperty(exports, "keccak256", { enumerable: true, get: function () { return keccak256_js_1.keccak256; } }); +var ripemd160_js_1 = require("./hash/ripemd160.js"); +Object.defineProperty(exports, "ripemd160", { enumerable: true, get: function () { return ripemd160_js_1.ripemd160; } }); +var sha256_js_1 = require("./hash/sha256.js"); +Object.defineProperty(exports, "sha256", { enumerable: true, get: function () { return sha256_js_1.sha256; } }); +var toEventHash_js_1 = require("./hash/toEventHash.js"); +Object.defineProperty(exports, "toEventHash", { enumerable: true, get: function () { return toEventHash_js_1.toEventHash; } }); +var toEventSelector_js_1 = require("./hash/toEventSelector.js"); +Object.defineProperty(exports, "toEventSelector", { enumerable: true, get: function () { return toEventSelector_js_1.toEventSelector; } }); +Object.defineProperty(exports, "getEventSelector", { enumerable: true, get: function () { return toEventSelector_js_1.toEventSelector; } }); +var toEventSignature_js_1 = require("./hash/toEventSignature.js"); +Object.defineProperty(exports, "toEventSignature", { enumerable: true, get: function () { return toEventSignature_js_1.toEventSignature; } }); +Object.defineProperty(exports, "getEventSignature", { enumerable: true, get: function () { return toEventSignature_js_1.toEventSignature; } }); +var toFunctionHash_js_1 = require("./hash/toFunctionHash.js"); +Object.defineProperty(exports, "toFunctionHash", { enumerable: true, get: function () { return toFunctionHash_js_1.toFunctionHash; } }); +var toFunctionSelector_js_1 = require("./hash/toFunctionSelector.js"); +Object.defineProperty(exports, "toFunctionSelector", { enumerable: true, get: function () { return toFunctionSelector_js_1.toFunctionSelector; } }); +Object.defineProperty(exports, "getFunctionSelector", { enumerable: true, get: function () { return toFunctionSelector_js_1.toFunctionSelector; } }); +var toFunctionSignature_js_1 = require("./hash/toFunctionSignature.js"); +Object.defineProperty(exports, "toFunctionSignature", { enumerable: true, get: function () { return toFunctionSignature_js_1.toFunctionSignature; } }); +Object.defineProperty(exports, "getFunctionSignature", { enumerable: true, get: function () { return toFunctionSignature_js_1.toFunctionSignature; } }); +var nonceManager_js_1 = require("./nonceManager.js"); +Object.defineProperty(exports, "createNonceManager", { enumerable: true, get: function () { return nonceManager_js_1.createNonceManager; } }); +Object.defineProperty(exports, "nonceManager", { enumerable: true, get: function () { return nonceManager_js_1.nonceManager; } }); +var regex_js_1 = require("./regex.js"); +Object.defineProperty(exports, "arrayRegex", { enumerable: true, get: function () { return regex_js_1.arrayRegex; } }); +Object.defineProperty(exports, "bytesRegex", { enumerable: true, get: function () { return regex_js_1.bytesRegex; } }); +Object.defineProperty(exports, "integerRegex", { enumerable: true, get: function () { return regex_js_1.integerRegex; } }); +var compat_js_1 = require("./rpc/compat.js"); +Object.defineProperty(exports, "getSocket", { enumerable: true, get: function () { return compat_js_1.getSocket; } }); +Object.defineProperty(exports, "rpc", { enumerable: true, get: function () { return compat_js_1.rpc; } }); +var http_js_1 = require("./rpc/http.js"); +Object.defineProperty(exports, "getHttpRpcClient", { enumerable: true, get: function () { return http_js_1.getHttpRpcClient; } }); +var socket_js_1 = require("./rpc/socket.js"); +Object.defineProperty(exports, "getSocketRpcClient", { enumerable: true, get: function () { return socket_js_1.getSocketRpcClient; } }); +Object.defineProperty(exports, "socketClientCache", { enumerable: true, get: function () { return socket_js_1.socketClientCache; } }); +var webSocket_js_1 = require("./rpc/webSocket.js"); +Object.defineProperty(exports, "getWebSocketRpcClient", { enumerable: true, get: function () { return webSocket_js_1.getWebSocketRpcClient; } }); +var hashMessage_js_1 = require("./signature/hashMessage.js"); +Object.defineProperty(exports, "hashMessage", { enumerable: true, get: function () { return hashMessage_js_1.hashMessage; } }); +var hashTypedData_js_1 = require("./signature/hashTypedData.js"); +Object.defineProperty(exports, "hashStruct", { enumerable: true, get: function () { return hashTypedData_js_1.hashStruct; } }); +Object.defineProperty(exports, "hashTypedData", { enumerable: true, get: function () { return hashTypedData_js_1.hashTypedData; } }); +var isErc6492Signature_js_1 = require("./signature/isErc6492Signature.js"); +Object.defineProperty(exports, "isErc6492Signature", { enumerable: true, get: function () { return isErc6492Signature_js_1.isErc6492Signature; } }); +var isErc8010Signature_js_1 = require("./signature/isErc8010Signature.js"); +Object.defineProperty(exports, "isErc8010Signature", { enumerable: true, get: function () { return isErc8010Signature_js_1.isErc8010Signature; } }); +var parseErc6492Signature_js_1 = require("./signature/parseErc6492Signature.js"); +Object.defineProperty(exports, "parseErc6492Signature", { enumerable: true, get: function () { return parseErc6492Signature_js_1.parseErc6492Signature; } }); +var parseErc8010Signature_js_1 = require("./signature/parseErc8010Signature.js"); +Object.defineProperty(exports, "parseErc8010Signature", { enumerable: true, get: function () { return parseErc8010Signature_js_1.parseErc8010Signature; } }); +var recoverAddress_js_1 = require("./signature/recoverAddress.js"); +Object.defineProperty(exports, "recoverAddress", { enumerable: true, get: function () { return recoverAddress_js_1.recoverAddress; } }); +var recoverMessageAddress_js_1 = require("./signature/recoverMessageAddress.js"); +Object.defineProperty(exports, "recoverMessageAddress", { enumerable: true, get: function () { return recoverMessageAddress_js_1.recoverMessageAddress; } }); +var recoverPublicKey_js_1 = require("./signature/recoverPublicKey.js"); +Object.defineProperty(exports, "recoverPublicKey", { enumerable: true, get: function () { return recoverPublicKey_js_1.recoverPublicKey; } }); +var recoverTypedDataAddress_js_1 = require("./signature/recoverTypedDataAddress.js"); +Object.defineProperty(exports, "recoverTypedDataAddress", { enumerable: true, get: function () { return recoverTypedDataAddress_js_1.recoverTypedDataAddress; } }); +var serializeErc6492Signature_js_1 = require("./signature/serializeErc6492Signature.js"); +Object.defineProperty(exports, "serializeErc6492Signature", { enumerable: true, get: function () { return serializeErc6492Signature_js_1.serializeErc6492Signature; } }); +var serializeErc8010Signature_js_1 = require("./signature/serializeErc8010Signature.js"); +Object.defineProperty(exports, "serializeErc8010Signature", { enumerable: true, get: function () { return serializeErc8010Signature_js_1.serializeErc8010Signature; } }); +var verifyHash_js_1 = require("./signature/verifyHash.js"); +Object.defineProperty(exports, "verifyHash", { enumerable: true, get: function () { return verifyHash_js_1.verifyHash; } }); +var verifyMessage_js_1 = require("./signature/verifyMessage.js"); +Object.defineProperty(exports, "verifyMessage", { enumerable: true, get: function () { return verifyMessage_js_1.verifyMessage; } }); +var verifyTypedData_js_1 = require("./signature/verifyTypedData.js"); +Object.defineProperty(exports, "verifyTypedData", { enumerable: true, get: function () { return verifyTypedData_js_1.verifyTypedData; } }); +var stringify_js_1 = require("./stringify.js"); +Object.defineProperty(exports, "stringify", { enumerable: true, get: function () { return stringify_js_1.stringify; } }); +var assertRequest_js_1 = require("./transaction/assertRequest.js"); +Object.defineProperty(exports, "assertRequest", { enumerable: true, get: function () { return assertRequest_js_1.assertRequest; } }); +var assertTransaction_js_1 = require("./transaction/assertTransaction.js"); +Object.defineProperty(exports, "assertTransactionEIP1559", { enumerable: true, get: function () { return assertTransaction_js_1.assertTransactionEIP1559; } }); +Object.defineProperty(exports, "assertTransactionEIP2930", { enumerable: true, get: function () { return assertTransaction_js_1.assertTransactionEIP2930; } }); +Object.defineProperty(exports, "assertTransactionLegacy", { enumerable: true, get: function () { return assertTransaction_js_1.assertTransactionLegacy; } }); +var getSerializedTransactionType_js_1 = require("./transaction/getSerializedTransactionType.js"); +Object.defineProperty(exports, "getSerializedTransactionType", { enumerable: true, get: function () { return getSerializedTransactionType_js_1.getSerializedTransactionType; } }); +var getTransactionType_js_1 = require("./transaction/getTransactionType.js"); +Object.defineProperty(exports, "getTransactionType", { enumerable: true, get: function () { return getTransactionType_js_1.getTransactionType; } }); +var parseTransaction_js_1 = require("./transaction/parseTransaction.js"); +Object.defineProperty(exports, "parseTransaction", { enumerable: true, get: function () { return parseTransaction_js_1.parseTransaction; } }); +var serializeAccessList_js_1 = require("./transaction/serializeAccessList.js"); +Object.defineProperty(exports, "serializeAccessList", { enumerable: true, get: function () { return serializeAccessList_js_1.serializeAccessList; } }); +var serializeTransaction_js_1 = require("./transaction/serializeTransaction.js"); +Object.defineProperty(exports, "serializeTransaction", { enumerable: true, get: function () { return serializeTransaction_js_1.serializeTransaction; } }); +var typedData_js_1 = require("./typedData.js"); +Object.defineProperty(exports, "serializeTypedData", { enumerable: true, get: function () { return typedData_js_1.serializeTypedData; } }); +Object.defineProperty(exports, "validateTypedData", { enumerable: true, get: function () { return typedData_js_1.validateTypedData; } }); +var formatEther_js_1 = require("./unit/formatEther.js"); +Object.defineProperty(exports, "formatEther", { enumerable: true, get: function () { return formatEther_js_1.formatEther; } }); +var formatGwei_js_1 = require("./unit/formatGwei.js"); +Object.defineProperty(exports, "formatGwei", { enumerable: true, get: function () { return formatGwei_js_1.formatGwei; } }); +var formatUnits_js_1 = require("./unit/formatUnits.js"); +Object.defineProperty(exports, "formatUnits", { enumerable: true, get: function () { return formatUnits_js_1.formatUnits; } }); +var parseEther_js_1 = require("./unit/parseEther.js"); +Object.defineProperty(exports, "parseEther", { enumerable: true, get: function () { return parseEther_js_1.parseEther; } }); +var parseGwei_js_1 = require("./unit/parseGwei.js"); +Object.defineProperty(exports, "parseGwei", { enumerable: true, get: function () { return parseGwei_js_1.parseGwei; } }); +var parseUnits_js_1 = require("./unit/parseUnits.js"); +Object.defineProperty(exports, "parseUnits", { enumerable: true, get: function () { return parseUnits_js_1.parseUnits; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/index.js.map b/node_modules/viem/_cjs/utils/index.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f5785c28594137594eab89c6d602315fc6e2fe41 --- /dev/null +++ b/node_modules/viem/_cjs/utils/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/kzg/defineKzg.js b/node_modules/viem/_cjs/utils/kzg/defineKzg.js new file mode 100644 index 0000000000000000000000000000000000000000..f50b00095d053b0728fc3d24e357df7158e788f6 --- /dev/null +++ b/node_modules/viem/_cjs/utils/kzg/defineKzg.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.defineKzg = defineKzg; +function defineKzg({ blobToKzgCommitment, computeBlobKzgProof, }) { + return { + blobToKzgCommitment, + computeBlobKzgProof, + }; +} +//# sourceMappingURL=defineKzg.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/kzg/defineKzg.js.map b/node_modules/viem/_cjs/utils/kzg/defineKzg.js.map new file mode 100644 index 0000000000000000000000000000000000000000..3e6b6cab55f2f89f7ab1f25eed837e69995ed624 --- /dev/null +++ b/node_modules/viem/_cjs/utils/kzg/defineKzg.js.map @@ -0,0 +1 @@ +{"version":3,"file":"defineKzg.js","sourceRoot":"","sources":["../../../utils/kzg/defineKzg.ts"],"names":[],"mappings":";;AAqBA,8BAQC;AARD,SAAgB,SAAS,CAAC,EACxB,mBAAmB,EACnB,mBAAmB,GACC;IACpB,OAAO;QACL,mBAAmB;QACnB,mBAAmB;KACpB,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/kzg/setupKzg.js b/node_modules/viem/_cjs/utils/kzg/setupKzg.js new file mode 100644 index 0000000000000000000000000000000000000000..540fd611ee519628a2d92680a24f7886bc356b30 --- /dev/null +++ b/node_modules/viem/_cjs/utils/kzg/setupKzg.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.setupKzg = setupKzg; +const defineKzg_js_1 = require("./defineKzg.js"); +function setupKzg(parameters, path) { + try { + parameters.loadTrustedSetup(path); + } + catch (e) { + const error = e; + if (!error.message.includes('trusted setup is already loaded')) + throw error; + } + return (0, defineKzg_js_1.defineKzg)(parameters); +} +//# sourceMappingURL=setupKzg.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/kzg/setupKzg.js.map b/node_modules/viem/_cjs/utils/kzg/setupKzg.js.map new file mode 100644 index 0000000000000000000000000000000000000000..98e05914f65fb94f5f45ff55c2eaf606c3de7d4f --- /dev/null +++ b/node_modules/viem/_cjs/utils/kzg/setupKzg.js.map @@ -0,0 +1 @@ +{"version":3,"file":"setupKzg.js","sourceRoot":"","sources":["../../../utils/kzg/setupKzg.ts"],"names":[],"mappings":";;AA0BA,4BAWC;AApCD,iDAKuB;AAoBvB,SAAgB,QAAQ,CACtB,UAA8B,EAC9B,IAAY;IAEZ,IAAI,CAAC;QACH,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,CAAU,CAAA;QACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YAAE,MAAM,KAAK,CAAA;IAC7E,CAAC;IACD,OAAO,IAAA,wBAAS,EAAC,UAAU,CAAC,CAAA;AAC9B,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/lru.js b/node_modules/viem/_cjs/utils/lru.js new file mode 100644 index 0000000000000000000000000000000000000000..502d3c862dbe79a2b94a4dac586b60b45772c7ef --- /dev/null +++ b/node_modules/viem/_cjs/utils/lru.js @@ -0,0 +1,36 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.LruMap = void 0; +class LruMap extends Map { + constructor(size) { + super(); + Object.defineProperty(this, "maxSize", { + enumerable: true, + configurable: true, + writable: true, + value: void 0 + }); + this.maxSize = size; + } + get(key) { + const value = super.get(key); + if (super.has(key)) { + super.delete(key); + super.set(key, value); + } + return value; + } + set(key, value) { + if (super.has(key)) + super.delete(key); + super.set(key, value); + if (this.maxSize && this.size > this.maxSize) { + const firstKey = super.keys().next().value; + if (firstKey !== undefined) + super.delete(firstKey); + } + return this; + } +} +exports.LruMap = LruMap; +//# sourceMappingURL=lru.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/lru.js.map b/node_modules/viem/_cjs/utils/lru.js.map new file mode 100644 index 0000000000000000000000000000000000000000..1023bf66753b277c68d7a3cbb72b0424598ab013 --- /dev/null +++ b/node_modules/viem/_cjs/utils/lru.js.map @@ -0,0 +1 @@ +{"version":3,"file":"lru.js","sourceRoot":"","sources":["../../utils/lru.ts"],"names":[],"mappings":";;;AAKA,MAAa,MAAwB,SAAQ,GAAkB;IAG7D,YAAY,IAAY;QACtB,KAAK,EAAE,CAAA;QAHT;;;;;WAAe;QAIb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACrB,CAAC;IAEQ,GAAG,CAAC,GAAW;QACtB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAE5B,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACjB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAc,CAAC,CAAA;QAChC,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEQ,GAAG,CAAC,GAAW,EAAE,KAAY;QACpC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACrC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACrB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;YAC1C,IAAI,QAAQ,KAAK,SAAS;gBAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACpD,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AA5BD,wBA4BC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/nonceManager.js b/node_modules/viem/_cjs/utils/nonceManager.js new file mode 100644 index 0000000000000000000000000000000000000000..62595c07f233e78f0b81ac58a0935ffd2cc1807a --- /dev/null +++ b/node_modules/viem/_cjs/utils/nonceManager.js @@ -0,0 +1,77 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.nonceManager = void 0; +exports.createNonceManager = createNonceManager; +exports.jsonRpc = jsonRpc; +const getTransactionCount_js_1 = require("../actions/public/getTransactionCount.js"); +const lru_js_1 = require("./lru.js"); +function createNonceManager(parameters) { + const { source } = parameters; + const deltaMap = new Map(); + const nonceMap = new lru_js_1.LruMap(8192); + const promiseMap = new Map(); + const getKey = ({ address, chainId }) => `${address}.${chainId}`; + const resetCache = (key) => { + deltaMap.delete(key); + promiseMap.delete(key); + }; + return { + async consume({ address, chainId, client }) { + const key = getKey({ address, chainId }); + const promise = this.get({ address, chainId, client }); + this.increment({ address, chainId }); + const nonce = await promise; + await source.set({ address, chainId }, nonce); + nonceMap.set(key, nonce); + return nonce; + }, + async increment({ address, chainId }) { + const key = getKey({ address, chainId }); + const delta = deltaMap.get(key) ?? 0; + deltaMap.set(key, delta + 1); + }, + async get({ address, chainId, client }) { + const key = getKey({ address, chainId }); + let promise = promiseMap.get(key); + if (!promise) { + promise = (async () => { + try { + const nonce = await source.get({ address, chainId, client }); + const previousNonce = nonceMap.get(key) ?? 0; + if (previousNonce > 0 && nonce <= previousNonce) + return previousNonce + 1; + nonceMap.delete(key); + return nonce; + } + finally { + resetCache(key); + } + })(); + promiseMap.set(key, promise); + } + const delta = deltaMap.get(key) ?? 0; + return delta + (await promise); + }, + reset({ address, chainId }) { + const key = getKey({ address, chainId }); + nonceMap.delete(key); + resetCache(key); + }, + }; +} +function jsonRpc() { + return { + async get(parameters) { + const { address, client } = parameters; + return (0, getTransactionCount_js_1.getTransactionCount)(client, { + address, + blockTag: 'pending', + }); + }, + set() { }, + }; +} +exports.nonceManager = createNonceManager({ + source: jsonRpc(), +}); +//# sourceMappingURL=nonceManager.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/nonceManager.js.map b/node_modules/viem/_cjs/utils/nonceManager.js.map new file mode 100644 index 0000000000000000000000000000000000000000..1b4f5c3c74a0d0da2e45c4c5951756ddd82c9746 --- /dev/null +++ b/node_modules/viem/_cjs/utils/nonceManager.js.map @@ -0,0 +1 @@ +{"version":3,"file":"nonceManager.js","sourceRoot":"","sources":["../../utils/nonceManager.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/observe.js b/node_modules/viem/_cjs/utils/observe.js new file mode 100644 index 0000000000000000000000000000000000000000..b7ccdfa90ad7a6a4fcc69440eda48de7a8def6a7 --- /dev/null +++ b/node_modules/viem/_cjs/utils/observe.js @@ -0,0 +1,55 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.cleanupCache = exports.listenersCache = void 0; +exports.observe = observe; +exports.listenersCache = new Map(); +exports.cleanupCache = new Map(); +let callbackCount = 0; +function observe(observerId, callbacks, fn) { + const callbackId = ++callbackCount; + const getListeners = () => exports.listenersCache.get(observerId) || []; + const unsubscribe = () => { + const listeners = getListeners(); + const nextListeners = listeners.filter((cb) => cb.id !== callbackId); + if (nextListeners.length === 0) { + exports.listenersCache.delete(observerId); + exports.cleanupCache.delete(observerId); + return; + } + exports.listenersCache.set(observerId, nextListeners); + }; + const unwatch = () => { + const listeners = getListeners(); + if (!listeners.some((cb) => cb.id === callbackId)) + return; + const cleanup = exports.cleanupCache.get(observerId); + if (listeners.length === 1 && cleanup) { + const p = cleanup(); + if (p instanceof Promise) + p.catch(() => { }); + } + unsubscribe(); + }; + const listeners = getListeners(); + exports.listenersCache.set(observerId, [ + ...listeners, + { id: callbackId, fns: callbacks }, + ]); + if (listeners && listeners.length > 0) + return unwatch; + const emit = {}; + for (const key in callbacks) { + emit[key] = ((...args) => { + const listeners = getListeners(); + if (listeners.length === 0) + return; + for (const listener of listeners) + listener.fns[key]?.(...args); + }); + } + const cleanup = fn(emit); + if (typeof cleanup === 'function') + exports.cleanupCache.set(observerId, cleanup); + return unwatch; +} +//# sourceMappingURL=observe.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/observe.js.map b/node_modules/viem/_cjs/utils/observe.js.map new file mode 100644 index 0000000000000000000000000000000000000000..afdc5b90ec0e06c11ab6fe03732aa34726d50e89 --- /dev/null +++ b/node_modules/viem/_cjs/utils/observe.js.map @@ -0,0 +1 @@ +{"version":3,"file":"observe.js","sourceRoot":"","sources":["../../utils/observe.ts"],"names":[],"mappings":";;;AA8BA,0BAsDC;AA3EY,QAAA,cAAc,GAAiB,IAAI,GAAG,EAGhD,CAAA;AAEU,QAAA,YAAY,GAAiB,IAAI,GAAG,EAG9C,CAAA;AAMH,IAAI,aAAa,GAAG,CAAC,CAAA;AAOrB,SAAgB,OAAO,CACrB,UAAkB,EAClB,SAAoB,EACpB,EAA2B;IAE3B,MAAM,UAAU,GAAG,EAAE,aAAa,CAAA;IAElC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,sBAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;IAE/D,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;QAChC,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,UAAU,CAAC,CAAA;QACzE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,sBAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YACjC,oBAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YAC/B,OAAM;QACR,CAAC;QACD,sBAAc,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;IAC/C,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,UAAU,CAAC;YAAE,OAAM;QAC9D,MAAM,OAAO,GAAG,oBAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC5C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,OAAO,EAAE,CAAA;YACnB,IAAI,CAAC,YAAY,OAAO;gBAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAC7C,CAAC;QACD,WAAW,EAAE,CAAA;IACf,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,sBAAc,CAAC,GAAG,CAAC,UAAU,EAAE;QAC7B,GAAG,SAAS;QACZ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE;KACnC,CAAC,CAAA;IAEF,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,OAAO,CAAA;IAErD,MAAM,IAAI,GAAc,EAAe,CAAA;IACvC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CACX,GAAG,IAAyD,EAC5D,EAAE;YACF,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;YAChC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAClC,KAAK,MAAM,QAAQ,IAAI,SAAS;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;QAChE,CAAC,CAAgD,CAAA;IACnD,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IACxB,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,oBAAY,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAExE,OAAO,OAAO,CAAA;AAChB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/poll.js b/node_modules/viem/_cjs/utils/poll.js new file mode 100644 index 0000000000000000000000000000000000000000..60cc816c2cfeae9ba16374e2fa5079342b835244 --- /dev/null +++ b/node_modules/viem/_cjs/utils/poll.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.poll = poll; +const wait_js_1 = require("./wait.js"); +function poll(fn, { emitOnBegin, initialWaitTime, interval }) { + let active = true; + const unwatch = () => (active = false); + const watch = async () => { + let data; + if (emitOnBegin) + data = await fn({ unpoll: unwatch }); + const initialWait = (await initialWaitTime?.(data)) ?? interval; + await (0, wait_js_1.wait)(initialWait); + const poll = async () => { + if (!active) + return; + await fn({ unpoll: unwatch }); + await (0, wait_js_1.wait)(interval); + poll(); + }; + poll(); + }; + watch(); + return unwatch; +} +//# sourceMappingURL=poll.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/poll.js.map b/node_modules/viem/_cjs/utils/poll.js.map new file mode 100644 index 0000000000000000000000000000000000000000..534032c4ce2b749a2d5abe08d2164116d45c6e48 --- /dev/null +++ b/node_modules/viem/_cjs/utils/poll.js.map @@ -0,0 +1 @@ +{"version":3,"file":"poll.js","sourceRoot":"","sources":["../../utils/poll.ts"],"names":[],"mappings":";;AAiBA,oBA2BC;AA3CD,uCAAgC;AAgBhC,SAAgB,IAAI,CAClB,EAAgE,EAChE,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAqB;IAE7D,IAAI,MAAM,GAAG,IAAI,CAAA;IAEjB,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;IAEtC,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACvB,IAAI,IAA6B,CAAA;QACjC,IAAI,WAAW;YAAE,IAAI,GAAG,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;QAErD,MAAM,WAAW,GAAG,CAAC,MAAM,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAA;QAC/D,MAAM,IAAA,cAAI,EAAC,WAAW,CAAC,CAAA;QAEvB,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;YACtB,IAAI,CAAC,MAAM;gBAAE,OAAM;YACnB,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;YAC7B,MAAM,IAAA,cAAI,EAAC,QAAQ,CAAC,CAAA;YACpB,IAAI,EAAE,CAAA;QACR,CAAC,CAAA;QAED,IAAI,EAAE,CAAA;IACR,CAAC,CAAA;IACD,KAAK,EAAE,CAAA;IAEP,OAAO,OAAO,CAAA;AAChB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/promise/createBatchScheduler.js b/node_modules/viem/_cjs/utils/promise/createBatchScheduler.js new file mode 100644 index 0000000000000000000000000000000000000000..4fc63d9a0c09ff053e1812efaf9ea3a8e8d42d29 --- /dev/null +++ b/node_modules/viem/_cjs/utils/promise/createBatchScheduler.js @@ -0,0 +1,51 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createBatchScheduler = createBatchScheduler; +const withResolvers_js_1 = require("./withResolvers.js"); +const schedulerCache = new Map(); +function createBatchScheduler({ fn, id, shouldSplitBatch, wait = 0, sort, }) { + const exec = async () => { + const scheduler = getScheduler(); + flush(); + const args = scheduler.map(({ args }) => args); + if (args.length === 0) + return; + fn(args) + .then((data) => { + if (sort && Array.isArray(data)) + data.sort(sort); + for (let i = 0; i < scheduler.length; i++) { + const { resolve } = scheduler[i]; + resolve?.([data[i], data]); + } + }) + .catch((err) => { + for (let i = 0; i < scheduler.length; i++) { + const { reject } = scheduler[i]; + reject?.(err); + } + }); + }; + const flush = () => schedulerCache.delete(id); + const getBatchedArgs = () => getScheduler().map(({ args }) => args); + const getScheduler = () => schedulerCache.get(id) || []; + const setScheduler = (item) => schedulerCache.set(id, [...getScheduler(), item]); + return { + flush, + async schedule(args) { + const { promise, resolve, reject } = (0, withResolvers_js_1.withResolvers)(); + const split = shouldSplitBatch?.([...getBatchedArgs(), args]); + if (split) + exec(); + const hasActiveScheduler = getScheduler().length > 0; + if (hasActiveScheduler) { + setScheduler({ args, resolve, reject }); + return promise; + } + setScheduler({ args, resolve, reject }); + setTimeout(exec, wait); + return promise; + }, + }; +} +//# sourceMappingURL=createBatchScheduler.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/promise/createBatchScheduler.js.map b/node_modules/viem/_cjs/utils/promise/createBatchScheduler.js.map new file mode 100644 index 0000000000000000000000000000000000000000..94f7c3d32382dda01a2dab2368fa4a21f0572d45 --- /dev/null +++ b/node_modules/viem/_cjs/utils/promise/createBatchScheduler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createBatchScheduler.js","sourceRoot":"","sources":["../../../utils/promise/createBatchScheduler.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/promise/withCache.js b/node_modules/viem/_cjs/utils/promise/withCache.js new file mode 100644 index 0000000000000000000000000000000000000000..85663d4e601171bde87cc6b2726eca7811a50e95 --- /dev/null +++ b/node_modules/viem/_cjs/utils/promise/withCache.js @@ -0,0 +1,47 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.responseCache = exports.promiseCache = void 0; +exports.getCache = getCache; +exports.withCache = withCache; +exports.promiseCache = new Map(); +exports.responseCache = new Map(); +function getCache(cacheKey) { + const buildCache = (cacheKey, cache) => ({ + clear: () => cache.delete(cacheKey), + get: () => cache.get(cacheKey), + set: (data) => cache.set(cacheKey, data), + }); + const promise = buildCache(cacheKey, exports.promiseCache); + const response = buildCache(cacheKey, exports.responseCache); + return { + clear: () => { + promise.clear(); + response.clear(); + }, + promise, + response, + }; +} +async function withCache(fn, { cacheKey, cacheTime = Number.POSITIVE_INFINITY }) { + const cache = getCache(cacheKey); + const response = cache.response.get(); + if (response && cacheTime > 0) { + const age = Date.now() - response.created.getTime(); + if (age < cacheTime) + return response.data; + } + let promise = cache.promise.get(); + if (!promise) { + promise = fn(); + cache.promise.set(promise); + } + try { + const data = await promise; + cache.response.set({ created: new Date(), data }); + return data; + } + finally { + cache.promise.clear(); + } +} +//# sourceMappingURL=withCache.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/promise/withCache.js.map b/node_modules/viem/_cjs/utils/promise/withCache.js.map new file mode 100644 index 0000000000000000000000000000000000000000..eca9519d7da2a428dcafd5899221b73e2c4bd51e --- /dev/null +++ b/node_modules/viem/_cjs/utils/promise/withCache.js.map @@ -0,0 +1 @@ +{"version":3,"file":"withCache.js","sourceRoot":"","sources":["../../../utils/promise/withCache.ts"],"names":[],"mappings":";;;AASA,4BAqBC;AAaD,8BAqCC;AA7EY,QAAA,YAAY,GAAiB,IAAI,GAAG,EAAE,CAAA;AAEtC,QAAA,aAAa,GAAiB,IAAI,GAAG,EAAE,CAAA;AAIpD,SAAgB,QAAQ,CAAO,QAAgB;IAC7C,MAAM,UAAU,GAAG,CAAO,QAAgB,EAAE,KAAwB,EAAE,EAAE,CAAC,CAAC;QACxE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;QACnC,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9B,GAAG,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC;KAC/C,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,UAAU,CAAgB,QAAQ,EAAE,oBAAY,CAAC,CAAA;IACjE,MAAM,QAAQ,GAAG,UAAU,CACzB,QAAQ,EACR,qBAAa,CACd,CAAA;IAED,OAAO;QACL,KAAK,EAAE,GAAG,EAAE;YACV,OAAO,CAAC,KAAK,EAAE,CAAA;YACf,QAAQ,CAAC,KAAK,EAAE,CAAA;QAClB,CAAC;QACD,OAAO;QACP,QAAQ;KACT,CAAA;AACH,CAAC;AAaM,KAAK,UAAU,SAAS,CAC7B,EAAuB,EACvB,EAAE,QAAQ,EAAE,SAAS,GAAG,MAAM,CAAC,iBAAiB,EAAuB;IAEvE,MAAM,KAAK,GAAG,QAAQ,CAAO,QAAQ,CAAC,CAAA;IAKtC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;IACrC,IAAI,QAAQ,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;QACnD,IAAI,GAAG,GAAG,SAAS;YAAE,OAAO,QAAQ,CAAC,IAAI,CAAA;IAC3C,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;IACjC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,EAAE,EAAE,CAAA;QAId,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAA;QAI1B,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QAEjD,OAAO,IAAI,CAAA;IACb,CAAC;YAAS,CAAC;QAGT,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IACvB,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/promise/withDedupe.js b/node_modules/viem/_cjs/utils/promise/withDedupe.js new file mode 100644 index 0000000000000000000000000000000000000000..b3e6c81bf1f59364911b301121f296d92ac093c2 --- /dev/null +++ b/node_modules/viem/_cjs/utils/promise/withDedupe.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.promiseCache = void 0; +exports.withDedupe = withDedupe; +const lru_js_1 = require("../lru.js"); +exports.promiseCache = new lru_js_1.LruMap(8192); +function withDedupe(fn, { enabled = true, id }) { + if (!enabled || !id) + return fn(); + if (exports.promiseCache.get(id)) + return exports.promiseCache.get(id); + const promise = fn().finally(() => exports.promiseCache.delete(id)); + exports.promiseCache.set(id, promise); + return promise; +} +//# sourceMappingURL=withDedupe.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/promise/withDedupe.js.map b/node_modules/viem/_cjs/utils/promise/withDedupe.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d79666ca12876f81ffac09a8f2e1326c51cdecff --- /dev/null +++ b/node_modules/viem/_cjs/utils/promise/withDedupe.js.map @@ -0,0 +1 @@ +{"version":3,"file":"withDedupe.js","sourceRoot":"","sources":["../../../utils/promise/withDedupe.ts"],"names":[],"mappings":";;;AAWA,gCASC;AApBD,sCAAkC;AAGrB,QAAA,YAAY,GAAiB,IAAI,eAAM,CAAe,IAAI,CAAC,CAAA;AAQxE,SAAgB,UAAU,CACxB,EAAuB,EACvB,EAAE,OAAO,GAAG,IAAI,EAAE,EAAE,EAAqB;IAEzC,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,CAAA;IAChC,IAAI,oBAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QAAE,OAAO,oBAAY,CAAC,GAAG,CAAC,EAAE,CAAE,CAAA;IACtD,MAAM,OAAO,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,oBAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3D,oBAAY,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,OAAO,CAAA;AAChB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/promise/withResolvers.js b/node_modules/viem/_cjs/utils/promise/withResolvers.js new file mode 100644 index 0000000000000000000000000000000000000000..231dedfa43f75d8b51bfa27678970ab5dc5faa86 --- /dev/null +++ b/node_modules/viem/_cjs/utils/promise/withResolvers.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.withResolvers = withResolvers; +function withResolvers() { + let resolve = () => undefined; + let reject = () => undefined; + const promise = new Promise((resolve_, reject_) => { + resolve = resolve_; + reject = reject_; + }); + return { promise, resolve, reject }; +} +//# sourceMappingURL=withResolvers.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/promise/withResolvers.js.map b/node_modules/viem/_cjs/utils/promise/withResolvers.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d9cd2b609124fa9403a8f096016797c9518ddf19 --- /dev/null +++ b/node_modules/viem/_cjs/utils/promise/withResolvers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"withResolvers.js","sourceRoot":"","sources":["../../../utils/promise/withResolvers.ts"],"names":[],"mappings":";;AAQA,sCAUC;AAVD,SAAgB,aAAa;IAC3B,IAAI,OAAO,GAA0C,GAAG,EAAE,CAAC,SAAS,CAAA;IACpE,IAAI,MAAM,GAAyC,GAAG,EAAE,CAAC,SAAS,CAAA;IAElE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;QACtD,OAAO,GAAG,QAAQ,CAAA;QAClB,MAAM,GAAG,OAAO,CAAA;IAClB,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AACrC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/promise/withRetry.js b/node_modules/viem/_cjs/utils/promise/withRetry.js new file mode 100644 index 0000000000000000000000000000000000000000..6a8a4935f4c65264f71300fc9807e6c5334a8a74 --- /dev/null +++ b/node_modules/viem/_cjs/utils/promise/withRetry.js @@ -0,0 +1,48 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.withRetry = withRetry; +const utils_js_1 = require("../../errors/utils.js"); +const wait_js_1 = require("../wait.js"); +function withRetry(fn, { delay: delay_ = 100, retryCount = 2, shouldRetry = () => true, signal, } = {}) { + return new Promise((resolve, reject) => { + const attemptRetry = async ({ count = 0 } = {}) => { + if (signal?.aborted) { + reject((0, utils_js_1.getAbortError)(signal)); + return; + } + const retry = async ({ error }) => { + const delay = typeof delay_ === 'function' ? delay_({ count, error }) : delay_; + if (delay) { + try { + await (0, wait_js_1.wait)(delay, { signal }); + } + catch (err) { + reject(err); + return; + } + } + return attemptRetry({ count: count + 1 }); + }; + try { + const data = await fn(); + resolve(data); + } + catch (err) { + if (signal?.aborted) { + reject((0, utils_js_1.getAbortError)(signal)); + return; + } + if ((0, utils_js_1.isAbortError)(err)) { + reject(err); + return; + } + if (count < retryCount && + (await shouldRetry({ count, error: err }))) + return retry({ error: err }); + reject(err); + } + }; + void attemptRetry().catch(reject); + }); +} +//# sourceMappingURL=withRetry.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/promise/withRetry.js.map b/node_modules/viem/_cjs/utils/promise/withRetry.js.map new file mode 100644 index 0000000000000000000000000000000000000000..3c0c389ff19c201ee48b634c0a80b87e23f1a1b3 --- /dev/null +++ b/node_modules/viem/_cjs/utils/promise/withRetry.js.map @@ -0,0 +1 @@ +{"version":3,"file":"withRetry.js","sourceRoot":"","sources":["../../../utils/promise/withRetry.ts"],"names":[],"mappings":";;AA+BA,8BAoDC;AAnFD,oDAI8B;AAC9B,wCAAiC;AA0BjC,SAAgB,SAAS,CACvB,EAAuB,EACvB,EACE,KAAK,EAAE,MAAM,GAAG,GAAG,EACnB,UAAU,GAAG,CAAC,EACd,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,EACxB,MAAM,MACiB,EAAE;IAE3B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,YAAY,GAAG,KAAK,EAAE,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,EAAiB,EAAE;YAC/D,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAA,wBAAa,EAAC,MAAM,CAAC,CAAC,CAAA;gBAC7B,OAAM;YACR,CAAC;YAED,MAAM,KAAK,GAAG,KAAK,EAAE,EAAE,KAAK,EAAoB,EAAiB,EAAE;gBACjE,MAAM,KAAK,GACT,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;gBAClE,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC;wBACH,MAAM,IAAA,cAAI,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;oBAC/B,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,CAAC,GAAG,CAAC,CAAA;wBACX,OAAM;oBACR,CAAC;gBACH,CAAC;gBACD,OAAO,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAA;YAC3C,CAAC,CAAA;YAED,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,EAAE,EAAE,CAAA;gBACvB,OAAO,CAAC,IAAI,CAAC,CAAA;YACf,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAA,wBAAa,EAAC,MAAM,CAAC,CAAC,CAAA;oBAC7B,OAAM;gBACR,CAAC;gBACD,IAAI,IAAA,uBAAY,EAAC,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM,CAAC,GAAG,CAAC,CAAA;oBACX,OAAM;gBACR,CAAC;gBACD,IACE,KAAK,GAAG,UAAU;oBAClB,CAAC,MAAM,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAY,EAAE,CAAC,CAAC;oBAEnD,OAAO,KAAK,CAAC,EAAE,KAAK,EAAE,GAAY,EAAE,CAAC,CAAA;gBACvC,MAAM,CAAC,GAAG,CAAC,CAAA;YACb,CAAC;QACH,CAAC,CAAA;QACD,KAAK,YAAY,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/promise/withTimeout.js b/node_modules/viem/_cjs/utils/promise/withTimeout.js new file mode 100644 index 0000000000000000000000000000000000000000..6df31eae8e8dfd49937e7ba625c93944ca3d1e47 --- /dev/null +++ b/node_modules/viem/_cjs/utils/promise/withTimeout.js @@ -0,0 +1,37 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.withTimeout = withTimeout; +const utils_js_1 = require("../../errors/utils.js"); +function withTimeout(fn, { errorInstance = new Error('timed out'), timeout, signal, }) { + return new Promise((resolve, reject) => { + ; + (async () => { + let timeoutId; + const controller = new AbortController(); + try { + if (timeout > 0) { + timeoutId = setTimeout(() => { + if (signal) { + controller.abort(); + } + else { + reject(errorInstance); + } + }, timeout); + } + resolve(await fn({ signal: controller?.signal || null })); + } + catch (err) { + if (controller?.signal.aborted && (0, utils_js_1.isAbortError)(err)) { + reject(errorInstance); + return; + } + reject(err); + } + finally { + clearTimeout(timeoutId); + } + })(); + }); +} +//# sourceMappingURL=withTimeout.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/promise/withTimeout.js.map b/node_modules/viem/_cjs/utils/promise/withTimeout.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c92ae904a1667aeb94b52db0383105b13d5de8a4 --- /dev/null +++ b/node_modules/viem/_cjs/utils/promise/withTimeout.js.map @@ -0,0 +1 @@ +{"version":3,"file":"withTimeout.js","sourceRoot":"","sources":["../../../utils/promise/withTimeout.ts"],"names":[],"mappings":";;AAIA,kCA6CC;AAjDD,oDAAoE;AAIpE,SAAgB,WAAW,CACzB,EAImB,EACnB,EACE,aAAa,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,EACtC,OAAO,EACP,MAAM,GAQP;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,CAAC;QAAA,CAAC,KAAK,IAAI,EAAE;YACX,IAAI,SAA0B,CAAA;YAC9B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;YACxC,IAAI,CAAC;gBACH,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBAChB,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC1B,IAAI,MAAM,EAAE,CAAC;4BACX,UAAU,CAAC,KAAK,EAAE,CAAA;wBACpB,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,aAAa,CAAC,CAAA;wBACvB,CAAC;oBACH,CAAC,EAAE,OAAO,CAAmB,CAAA;gBAC/B,CAAC;gBACD,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;YAC3D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,UAAU,EAAE,MAAM,CAAC,OAAO,IAAI,IAAA,uBAAY,EAAC,GAAG,CAAC,EAAE,CAAC;oBACpD,MAAM,CAAC,aAAa,CAAC,CAAA;oBACrB,OAAM;gBACR,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,CAAA;YACb,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,SAAS,CAAC,CAAA;YACzB,CAAC;QACH,CAAC,CAAC,EAAE,CAAA;IACN,CAAC,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/regex.js b/node_modules/viem/_cjs/utils/regex.js new file mode 100644 index 0000000000000000000000000000000000000000..d59b3ef1d8aec3fa25c8f9d41692b9d4b3b78418 --- /dev/null +++ b/node_modules/viem/_cjs/utils/regex.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.integerRegex = exports.bytesRegex = exports.arrayRegex = void 0; +exports.arrayRegex = /^(.*)\[([0-9]*)\]$/; +exports.bytesRegex = /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/; +exports.integerRegex = /^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/; +//# sourceMappingURL=regex.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/regex.js.map b/node_modules/viem/_cjs/utils/regex.js.map new file mode 100644 index 0000000000000000000000000000000000000000..798d77b4b16803b280dbc3af4a1ecf0143feee3c --- /dev/null +++ b/node_modules/viem/_cjs/utils/regex.js.map @@ -0,0 +1 @@ +{"version":3,"file":"regex.js","sourceRoot":"","sources":["../../utils/regex.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG,oBAAoB,CAAA;AAIjC,QAAA,UAAU,GAAG,sCAAsC,CAAA;AAInD,QAAA,YAAY,GACvB,gIAAgI,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/rpc/compat.js b/node_modules/viem/_cjs/utils/rpc/compat.js new file mode 100644 index 0000000000000000000000000000000000000000..04e2518c340fea7bac6624a11c0f90e6ea4f8b4d --- /dev/null +++ b/node_modules/viem/_cjs/utils/rpc/compat.js @@ -0,0 +1,35 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.rpc = void 0; +exports.getSocket = getSocket; +const http_js_1 = require("./http.js"); +const webSocket_js_1 = require("./webSocket.js"); +function webSocket(socketClient, { body, onError, onResponse }) { + socketClient.request({ + body, + onError, + onResponse, + }); + return socketClient; +} +async function webSocketAsync(socketClient, { body, timeout = 10_000 }) { + return socketClient.requestAsync({ + body, + timeout, + }); +} +async function getSocket(url) { + const client = await (0, webSocket_js_1.getWebSocketRpcClient)(url); + return Object.assign(client.socket, { + requests: client.requests, + subscriptions: client.subscriptions, + }); +} +exports.rpc = { + http(url, params) { + return (0, http_js_1.getHttpRpcClient)(url).request(params); + }, + webSocket, + webSocketAsync, +}; +//# sourceMappingURL=compat.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/rpc/compat.js.map b/node_modules/viem/_cjs/utils/rpc/compat.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f22770e4d1ac75101e6a649caafcbaba66c999b1 --- /dev/null +++ b/node_modules/viem/_cjs/utils/rpc/compat.js.map @@ -0,0 +1 @@ +{"version":3,"file":"compat.js","sourceRoot":"","sources":["../../../utils/rpc/compat.ts"],"names":[],"mappings":";;;AAiEA,8BAMC;AA5DD,uCAAwE;AAExE,iDAAsD;AAQtD,SAAS,SAAS,CAChB,YAAwC,EACxC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAoB;IAE/C,YAAY,CAAC,OAAO,CAAC;QACnB,IAAI;QACJ,OAAO;QACP,UAAU;KACX,CAAC,CAAA;IACF,OAAO,YAAY,CAAA;AACrB,CAAC;AAYD,KAAK,UAAU,cAAc,CAC3B,YAAwC,EACxC,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,EAAyB;IAEjD,OAAO,YAAY,CAAC,YAAY,CAAC;QAC/B,IAAI;QACJ,OAAO;KACR,CAAC,CAAA;AACJ,CAAC;AAcM,KAAK,UAAU,SAAS,CAAC,GAAW;IACzC,MAAM,MAAM,GAAG,MAAM,IAAA,oCAAqB,EAAC,GAAG,CAAC,CAAA;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC,CAAA;AACJ,CAAC;AAEY,QAAA,GAAG,GAAG;IAajB,IAAI,CAAC,GAAW,EAAE,MAA6B;QAC7C,OAAO,IAAA,0BAAgB,EAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC9C,CAAC;IAaD,SAAS;IAaT,cAAc;CACf,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/rpc/http.js b/node_modules/viem/_cjs/utils/rpc/http.js new file mode 100644 index 0000000000000000000000000000000000000000..33c8cad6c6e6bf019fee01bfbf6cac4f8cc4f3e2 --- /dev/null +++ b/node_modules/viem/_cjs/utils/rpc/http.js @@ -0,0 +1,176 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getHttpRpcClient = getHttpRpcClient; +exports.parseUrl = parseUrl; +const request_js_1 = require("../../errors/request.js"); +const utils_js_1 = require("../../errors/utils.js"); +const withTimeout_js_1 = require("../promise/withTimeout.js"); +const stringify_js_1 = require("../stringify.js"); +const id_js_1 = require("./id.js"); +const defaultMaxResponseBodySize = 10_485_760; +function getHttpRpcClient(url_, options = {}) { + const { url, headers: headers_url } = parseUrl(url_); + return { + async request(params) { + const { body, fetchFn = options.fetchFn ?? fetch, maxResponseBodySize = options.maxResponseBodySize ?? + defaultMaxResponseBodySize, onRequest = options.onRequest, onResponse = options.onResponse, timeout = options.timeout ?? 10_000, } = params; + const fetchOptions = { + ...(options.fetchOptions ?? {}), + ...(params.fetchOptions ?? {}), + }; + const { headers, method, signal: signal_ } = fetchOptions; + try { + const response = await (0, withTimeout_js_1.withTimeout)(async ({ signal }) => { + const init = { + ...fetchOptions, + body: Array.isArray(body) + ? (0, stringify_js_1.stringify)(body.map((body) => ({ + jsonrpc: '2.0', + id: body.id ?? id_js_1.idCache.take(), + ...body, + }))) + : (0, stringify_js_1.stringify)({ + jsonrpc: '2.0', + id: body.id ?? id_js_1.idCache.take(), + ...body, + }), + headers: { + ...headers_url, + 'Content-Type': 'application/json', + ...headers, + }, + method: method || 'POST', + signal: signal_ || (timeout > 0 ? signal : null), + }; + const request = new Request(url, init); + const args = (await onRequest?.(request, init)) ?? { ...init, url }; + const response = await fetchFn(args.url ?? url, args); + return response; + }, { + errorInstance: new request_js_1.TimeoutError({ body, url }), + timeout, + signal: true, + }); + if (onResponse) + await onResponse(response); + let data; + const responseBody = await readResponseBody(response, { + maxResponseBodySize, + }); + if (response.headers.get('Content-Type')?.startsWith('application/json')) + data = JSON.parse(responseBody); + else { + data = responseBody; + try { + data = JSON.parse(data || '{}'); + } + catch (err) { + if (response.ok) + throw err; + data = { error: data }; + } + } + if (!response.ok) { + if (typeof data.error?.code === 'number' && + typeof data.error?.message === 'string') + return data; + throw new request_js_1.HttpRequestError({ + body, + details: (0, stringify_js_1.stringify)(data.error) || response.statusText, + headers: response.headers, + status: response.status, + url, + }); + } + return data; + } + catch (err) { + if (signal_?.aborted) + throw (0, utils_js_1.getAbortError)(signal_); + if ((0, utils_js_1.isAbortError)(err)) + throw err; + if (err instanceof request_js_1.HttpRequestError) + throw err; + if (err instanceof request_js_1.ResponseBodyTooLargeError) + throw err; + if (err instanceof request_js_1.TimeoutError) + throw err; + throw new request_js_1.HttpRequestError({ + body, + cause: err, + url, + }); + } + }, + }; +} +async function readResponseBody(response, { maxResponseBodySize }) { + if (maxResponseBodySize === false) + return response.text(); + const contentLength = response.headers.get('Content-Length'); + if (contentLength) { + const size = Number(contentLength); + if (size > maxResponseBodySize) + throw new request_js_1.ResponseBodyTooLargeError({ + maxSize: maxResponseBodySize, + size, + }); + } + if (!response.body) { + const body = await response.text(); + const size = new TextEncoder().encode(body).length; + if (size > maxResponseBodySize) + throw new request_js_1.ResponseBodyTooLargeError({ + maxSize: maxResponseBodySize, + size, + }); + return body; + } + const reader = response.body.getReader(); + const decoder = new TextDecoder(); + let body = ''; + let size = 0; + try { + while (true) { + const { done, value } = await reader.read(); + if (done) + break; + size += value.byteLength; + if (size > maxResponseBodySize) { + await reader.cancel(); + throw new request_js_1.ResponseBodyTooLargeError({ + maxSize: maxResponseBodySize, + size, + }); + } + body += decoder.decode(value, { stream: true }); + } + body += decoder.decode(); + return body; + } + finally { + reader.releaseLock(); + } +} +function parseUrl(url_) { + try { + const url = new URL(url_); + const result = (() => { + if (url.username) { + const credentials = `${decodeURIComponent(url.username)}:${decodeURIComponent(url.password)}`; + url.username = ''; + url.password = ''; + return { + url: url.toString(), + headers: { Authorization: `Basic ${btoa(credentials)}` }, + }; + } + return; + })(); + return { url: url.toString(), ...result }; + } + catch { + return { url: url_ }; + } +} +//# sourceMappingURL=http.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/rpc/http.js.map b/node_modules/viem/_cjs/utils/rpc/http.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9f829efcb64d7a519e13959736c90793ad12281b --- /dev/null +++ b/node_modules/viem/_cjs/utils/rpc/http.js.map @@ -0,0 +1 @@ +{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../utils/rpc/http.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/rpc/id.js b/node_modules/viem/_cjs/utils/rpc/id.js new file mode 100644 index 0000000000000000000000000000000000000000..908888e766217a7742daa4cc50ec9d897eaf6993 --- /dev/null +++ b/node_modules/viem/_cjs/utils/rpc/id.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.idCache = void 0; +function createIdStore() { + return { + current: 0, + take() { + return this.current++; + }, + reset() { + this.current = 0; + }, + }; +} +exports.idCache = createIdStore(); +//# sourceMappingURL=id.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/rpc/id.js.map b/node_modules/viem/_cjs/utils/rpc/id.js.map new file mode 100644 index 0000000000000000000000000000000000000000..af3add38d3e4bf0dfba3f242cf262e1e4e8de6b0 --- /dev/null +++ b/node_modules/viem/_cjs/utils/rpc/id.js.map @@ -0,0 +1 @@ +{"version":3,"file":"id.js","sourceRoot":"","sources":["../../../utils/rpc/id.ts"],"names":[],"mappings":";;;AAAA,SAAS,aAAa;IACpB,OAAO;QACL,OAAO,EAAE,CAAC;QACV,IAAI;YACF,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;QACvB,CAAC;QACD,KAAK;YACH,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;QAClB,CAAC;KACF,CAAA;AACH,CAAC;AAEY,QAAA,OAAO,GAAiB,aAAa,EAAE,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/rpc/ipc.js b/node_modules/viem/_cjs/utils/rpc/ipc.js new file mode 100644 index 0000000000000000000000000000000000000000..d92cc30f68b1149599245db87f0619e7e0c1a598 --- /dev/null +++ b/node_modules/viem/_cjs/utils/rpc/ipc.js @@ -0,0 +1,83 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.extractMessages = extractMessages; +exports.getIpcRpcClient = getIpcRpcClient; +const node_net_1 = require("node:net"); +const index_js_1 = require("../../index.js"); +const socket_js_1 = require("./socket.js"); +const openingBrace = '{'.charCodeAt(0); +const closingBrace = '}'.charCodeAt(0); +function extractMessages(buffer) { + const messages = []; + let cursor = 0; + let level = 0; + for (let i = 0; i < buffer.length; i++) { + if (buffer[i] === openingBrace) + level++; + if (buffer[i] === closingBrace) + level--; + if (level === 0) { + const message = buffer.subarray(cursor, i + 1); + if (message[0] === openingBrace && + message[message.length - 1] === closingBrace) + messages.push(message); + cursor = i + 1; + } + } + return [messages, buffer.subarray(cursor)]; +} +async function getIpcRpcClient(path, options = {}) { + const { reconnect } = options; + return (0, socket_js_1.getSocketRpcClient)({ + async getSocket({ onError, onOpen, onResponse }) { + const socket = (0, node_net_1.connect)(path); + function onClose() { + socket.off('close', onClose); + socket.off('message', onData); + socket.off('error', onError); + socket.off('connect', onOpen); + } + let lastRemaining = Buffer.alloc(0); + function onData(buffer) { + const [messages, remaining] = extractMessages(Buffer.concat([ + Uint8Array.from(lastRemaining), + Uint8Array.from(buffer), + ])); + for (const message of messages) { + const response = JSON.parse(Buffer.from(message).toString()); + onResponse(response); + } + lastRemaining = remaining; + } + socket.on('close', onClose); + socket.on('data', onData); + socket.on('error', onError); + socket.on('connect', onOpen); + await new Promise((resolve, reject) => { + socket.on('ready', () => { + resolve(); + socket.off('error', reject); + }); + socket.on('error', reject); + }); + return Object.assign(socket, { + close() { + socket.destroy(); + socket.end(); + }, + request({ body }) { + if (socket.readyState !== 'open') + throw new index_js_1.WebSocketRequestError({ + body, + url: path, + details: 'Socket is closed.', + }); + return socket.write(JSON.stringify(body)); + }, + }); + }, + reconnect, + url: path, + }); +} +//# sourceMappingURL=ipc.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/rpc/ipc.js.map b/node_modules/viem/_cjs/utils/rpc/ipc.js.map new file mode 100644 index 0000000000000000000000000000000000000000..fc78ca00778d32b0a105f5d28960705c74d8919b --- /dev/null +++ b/node_modules/viem/_cjs/utils/rpc/ipc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ipc.js","sourceRoot":"","sources":["../../../utils/rpc/ipc.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/rpc/socket.js b/node_modules/viem/_cjs/utils/rpc/socket.js new file mode 100644 index 0000000000000000000000000000000000000000..e621f9fb2ac1d28aed017526e4404f5a4f82f80c --- /dev/null +++ b/node_modules/viem/_cjs/utils/rpc/socket.js @@ -0,0 +1,175 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.socketClientCache = void 0; +exports.getSocketRpcClient = getSocketRpcClient; +const request_js_1 = require("../../errors/request.js"); +const createBatchScheduler_js_1 = require("../promise/createBatchScheduler.js"); +const withTimeout_js_1 = require("../promise/withTimeout.js"); +const id_js_1 = require("./id.js"); +exports.socketClientCache = new Map(); +async function getSocketRpcClient(parameters) { + const { getSocket, keepAlive = true, key = 'socket', reconnect = true, url, } = parameters; + const { interval: keepAliveInterval = 30_000 } = typeof keepAlive === 'object' ? keepAlive : {}; + const { attempts = 5, delay = 2_000 } = typeof reconnect === 'object' ? reconnect : {}; + const id = JSON.stringify({ keepAlive, key, url, reconnect }); + let socketClient = exports.socketClientCache.get(id); + if (socketClient) + return socketClient; + let reconnectCount = 0; + const { schedule } = (0, createBatchScheduler_js_1.createBatchScheduler)({ + id, + fn: async () => { + const requests = new Map(); + const subscriptions = new Map(); + let error; + let socket; + let keepAliveTimer; + let reconnectTimer; + let reconnectInProgress = false; + let intentionallyClosed = false; + function attemptReconnect() { + if (reconnect && !intentionallyClosed && reconnectCount < attempts) { + if (reconnectInProgress) + return; + reconnectInProgress = true; + reconnectCount++; + socket?.close(); + reconnectTimer = setTimeout(async () => { + reconnectTimer = undefined; + if (intentionallyClosed) { + reconnectInProgress = false; + return; + } + await setup().catch(console.error); + reconnectInProgress = false; + }, delay); + } + else { + requests.clear(); + subscriptions.clear(); + } + } + async function setup() { + const result = await getSocket({ + onClose() { + for (const request of requests.values()) + request.onError?.(new request_js_1.SocketClosedError({ url })); + for (const subscription of subscriptions.values()) + subscription.onError?.(new request_js_1.SocketClosedError({ url })); + attemptReconnect(); + }, + onError(error_) { + error = error_; + for (const request of requests.values()) + request.onError?.(error); + for (const subscription of subscriptions.values()) + subscription.onError?.(error); + attemptReconnect(); + }, + onOpen() { + error = undefined; + reconnectCount = 0; + }, + onResponse(data) { + const isSubscription = data.method === 'eth_subscription'; + const id = isSubscription ? data.params.subscription : data.id; + const cache = isSubscription ? subscriptions : requests; + const callback = cache.get(id); + if (callback) + callback.onResponse(data); + if (!isSubscription) + cache.delete(id); + }, + }); + if (intentionallyClosed) { + result.close(); + return result; + } + socket = result; + if (keepAlive) { + if (keepAliveTimer) + clearInterval(keepAliveTimer); + keepAliveTimer = setInterval(() => socket.ping?.(), keepAliveInterval); + } + if (reconnect && subscriptions.size > 0) { + const subscriptionEntries = subscriptions.entries(); + for (const [key, { onResponse, body, onError },] of subscriptionEntries) { + if (!body) + continue; + subscriptions.delete(key); + socketClient?.request({ body, onResponse, onError }); + } + } + return result; + } + await setup(); + error = undefined; + socketClient = { + close() { + intentionallyClosed = true; + keepAliveTimer && clearInterval(keepAliveTimer); + if (reconnectTimer) { + clearTimeout(reconnectTimer); + reconnectTimer = undefined; + reconnectInProgress = false; + } + socket.close(); + exports.socketClientCache.delete(id); + }, + get socket() { + return socket; + }, + request({ body, onError, onResponse }) { + if (error && onError) + onError(error); + const id = body.id ?? id_js_1.idCache.take(); + const callback = (response) => { + if (typeof response.id === 'number' && id !== response.id) + return; + if (body.method === 'eth_subscribe' && + typeof response.result === 'string') + subscriptions.set(response.result, { + onResponse: callback, + onError, + body, + }); + onResponse(response); + }; + if (body.method === 'eth_unsubscribe') + subscriptions.delete(body.params?.[0]); + requests.set(id, { onResponse: callback, onError }); + try { + socket.request({ + body: { + jsonrpc: '2.0', + id, + ...body, + }, + }); + } + catch (error) { + onError?.(error); + } + }, + requestAsync({ body, timeout = 10_000 }) { + return (0, withTimeout_js_1.withTimeout)(() => new Promise((onResponse, onError) => this.request({ + body, + onError, + onResponse, + })), { + errorInstance: new request_js_1.TimeoutError({ body, url }), + timeout, + }); + }, + requests, + subscriptions, + url, + }; + exports.socketClientCache.set(id, socketClient); + return [socketClient]; + }, + }); + const [_, [socketClient_]] = await schedule(); + return socketClient_; +} +//# sourceMappingURL=socket.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/rpc/socket.js.map b/node_modules/viem/_cjs/utils/rpc/socket.js.map new file mode 100644 index 0000000000000000000000000000000000000000..2bdb83dc685b98be94942ac3543174d20512b999 --- /dev/null +++ b/node_modules/viem/_cjs/utils/rpc/socket.js.map @@ -0,0 +1 @@ +{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../../utils/rpc/socket.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/rpc/webSocket.js b/node_modules/viem/_cjs/utils/rpc/webSocket.js new file mode 100644 index 0000000000000000000000000000000000000000..1d6d0451fb6abe747f2b7c45560f694ca72c6b65 --- /dev/null +++ b/node_modules/viem/_cjs/utils/rpc/webSocket.js @@ -0,0 +1,85 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getWebSocketRpcClient = getWebSocketRpcClient; +const request_js_1 = require("../../errors/request.js"); +const socket_js_1 = require("./socket.js"); +async function getWebSocketRpcClient(url, options = {}) { + const { keepAlive, reconnect } = options; + return (0, socket_js_1.getSocketRpcClient)({ + async getSocket({ onClose, onError, onOpen, onResponse }) { + const WebSocket = await Promise.resolve().then(() => require('isows')).then((module) => module.WebSocket); + const socket = new WebSocket(url); + function onClose_() { + socket.removeEventListener('close', onClose_); + socket.removeEventListener('message', onMessage); + socket.removeEventListener('error', onError); + socket.removeEventListener('open', onOpen); + onClose(); + } + function onMessage({ data }) { + if (typeof data === 'string' && data.trim().length === 0) + return; + try { + const _data = JSON.parse(data); + onResponse(_data); + } + catch (error) { + onError(error); + } + } + socket.addEventListener('close', onClose_); + socket.addEventListener('message', onMessage); + socket.addEventListener('error', onError); + socket.addEventListener('open', onOpen); + if (socket.readyState === WebSocket.CONNECTING) { + await new Promise((resolve, reject) => { + if (!socket) + return; + socket.onopen = resolve; + socket.onerror = reject; + }); + } + const { close: close_ } = socket; + return Object.assign(socket, { + close() { + close_.bind(socket)(); + onClose_(); + }, + ping() { + try { + if (socket.readyState === socket.CLOSED || + socket.readyState === socket.CLOSING) + throw new request_js_1.WebSocketRequestError({ + url: socket.url, + cause: new request_js_1.SocketClosedError({ url: socket.url }), + }); + const body = { + jsonrpc: '2.0', + id: null, + method: 'net_version', + params: [], + }; + socket.send(JSON.stringify(body)); + } + catch (error) { + onError(error); + } + }, + request({ body }) { + if (socket.readyState === socket.CLOSED || + socket.readyState === socket.CLOSING) + throw new request_js_1.WebSocketRequestError({ + body, + url: socket.url, + cause: new request_js_1.SocketClosedError({ url: socket.url }), + }); + return socket.send(JSON.stringify(body)); + }, + }); + }, + keepAlive, + reconnect, + url, + }); +} +//# sourceMappingURL=webSocket.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/rpc/webSocket.js.map b/node_modules/viem/_cjs/utils/rpc/webSocket.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a83c156a6a1c1165962444f758c561178202314b --- /dev/null +++ b/node_modules/viem/_cjs/utils/rpc/webSocket.js.map @@ -0,0 +1 @@ +{"version":3,"file":"webSocket.js","sourceRoot":"","sources":["../../../utils/rpc/webSocket.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/compactSignatureToSignature.js b/node_modules/viem/_cjs/utils/signature/compactSignatureToSignature.js new file mode 100644 index 0000000000000000000000000000000000000000..c85b6785bb0a95836b55fcc0a4291546faae4c23 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/compactSignatureToSignature.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.compactSignatureToSignature = compactSignatureToSignature; +const toBytes_js_1 = require("../encoding/toBytes.js"); +const toHex_js_1 = require("../encoding/toHex.js"); +function compactSignatureToSignature({ r, yParityAndS, }) { + const yParityAndS_bytes = (0, toBytes_js_1.hexToBytes)(yParityAndS); + const yParity = yParityAndS_bytes[0] & 0x80 ? 1 : 0; + const s = yParityAndS_bytes; + if (yParity === 1) + s[0] &= 0x7f; + return { r, s: (0, toHex_js_1.bytesToHex)(s), yParity }; +} +//# sourceMappingURL=compactSignatureToSignature.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/compactSignatureToSignature.js.map b/node_modules/viem/_cjs/utils/signature/compactSignatureToSignature.js.map new file mode 100644 index 0000000000000000000000000000000000000000..82794804b181a680c71e20ec6bc6d9b4a6ff1c9e --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/compactSignatureToSignature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"compactSignatureToSignature.js","sourceRoot":"","sources":["../../../utils/signature/compactSignatureToSignature.ts"],"names":[],"mappings":";;AA2BA,kEASC;AAlCD,uDAA6E;AAC7E,mDAA2E;AAwB3E,SAAgB,2BAA2B,CAAC,EAC1C,CAAC,EACD,WAAW,GACM;IACjB,MAAM,iBAAiB,GAAG,IAAA,uBAAU,EAAC,WAAW,CAAC,CAAA;IACjD,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACnD,MAAM,CAAC,GAAG,iBAAiB,CAAA;IAC3B,IAAI,OAAO,KAAK,CAAC;QAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAC/B,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,IAAA,qBAAU,EAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAA;AACzC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/hashMessage.js b/node_modules/viem/_cjs/utils/signature/hashMessage.js new file mode 100644 index 0000000000000000000000000000000000000000..1e1415f2c92c5cb646c5d38eb83043fc0c8149df --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/hashMessage.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.hashMessage = hashMessage; +const keccak256_js_1 = require("../hash/keccak256.js"); +const toPrefixedMessage_js_1 = require("./toPrefixedMessage.js"); +function hashMessage(message, to_) { + return (0, keccak256_js_1.keccak256)((0, toPrefixedMessage_js_1.toPrefixedMessage)(message), to_); +} +//# sourceMappingURL=hashMessage.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/hashMessage.js.map b/node_modules/viem/_cjs/utils/signature/hashMessage.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8c0781d4a1df79bf16a08d15d8635ffe1c131ee8 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/hashMessage.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hashMessage.js","sourceRoot":"","sources":["../../../utils/signature/hashMessage.ts"],"names":[],"mappings":";;AAaA,kCAKC;AAhBD,uDAAyE;AACzE,iEAA0D;AAU1D,SAAgB,WAAW,CACzB,OAAwB,EACxB,GAAoB;IAEpB,OAAO,IAAA,wBAAS,EAAC,IAAA,wCAAiB,EAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAA;AACnD,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/hashTypedData.js b/node_modules/viem/_cjs/utils/signature/hashTypedData.js new file mode 100644 index 0000000000000000000000000000000000000000..c3365737403919fd63dd79e3d4255310c6204bc6 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/hashTypedData.js @@ -0,0 +1,122 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.hashTypedData = hashTypedData; +exports.hashDomain = hashDomain; +exports.hashStruct = hashStruct; +exports.encodeType = encodeType; +const encodeAbiParameters_js_1 = require("../abi/encodeAbiParameters.js"); +const concat_js_1 = require("../data/concat.js"); +const toHex_js_1 = require("../encoding/toHex.js"); +const keccak256_js_1 = require("../hash/keccak256.js"); +const typedData_js_1 = require("../typedData.js"); +function hashTypedData(parameters) { + const { domain = {}, message, primaryType, } = parameters; + const types = { + EIP712Domain: (0, typedData_js_1.getTypesForEIP712Domain)({ domain }), + ...parameters.types, + }; + (0, typedData_js_1.validateTypedData)({ + domain, + message, + primaryType, + types, + }); + const parts = ['0x1901']; + if (domain) + parts.push(hashDomain({ + domain, + types: types, + })); + if (primaryType !== 'EIP712Domain') + parts.push(hashStruct({ + data: message, + primaryType, + types: types, + })); + return (0, keccak256_js_1.keccak256)((0, concat_js_1.concat)(parts)); +} +function hashDomain({ domain, types, }) { + return hashStruct({ + data: domain, + primaryType: 'EIP712Domain', + types: types, + }); +} +function hashStruct({ data, primaryType, types, }) { + const encoded = encodeData({ + data: data, + primaryType, + types: types, + }); + return (0, keccak256_js_1.keccak256)(encoded); +} +function encodeData({ data, primaryType, types, }) { + const encodedTypes = [{ type: 'bytes32' }]; + const encodedValues = [hashType({ primaryType, types })]; + for (const field of types[primaryType]) { + const [type, value] = encodeField({ + types, + name: field.name, + type: field.type, + value: data[field.name], + }); + encodedTypes.push(type); + encodedValues.push(value); + } + return (0, encodeAbiParameters_js_1.encodeAbiParameters)(encodedTypes, encodedValues); +} +function hashType({ primaryType, types, }) { + const encodedHashType = (0, toHex_js_1.toHex)(encodeType({ primaryType, types })); + return (0, keccak256_js_1.keccak256)(encodedHashType); +} +function encodeType({ primaryType, types, }) { + let result = ''; + const unsortedDeps = findTypeDependencies({ primaryType, types }); + unsortedDeps.delete(primaryType); + const deps = [primaryType, ...Array.from(unsortedDeps).sort()]; + for (const type of deps) { + result += `${type}(${types[type] + .map(({ name, type: t }) => `${t} ${name}`) + .join(',')})`; + } + return result; +} +function findTypeDependencies({ primaryType: primaryType_, types, }, results = new Set()) { + const match = primaryType_.match(/^\w*/u); + const primaryType = match?.[0]; + if (results.has(primaryType) || types[primaryType] === undefined) { + return results; + } + results.add(primaryType); + for (const field of types[primaryType]) { + findTypeDependencies({ primaryType: field.type, types }, results); + } + return results; +} +function encodeField({ types, name, type, value, }) { + if (types[type] !== undefined) { + return [ + { type: 'bytes32' }, + (0, keccak256_js_1.keccak256)(encodeData({ data: value, primaryType: type, types })), + ]; + } + if (type === 'bytes') + return [{ type: 'bytes32' }, (0, keccak256_js_1.keccak256)(value)]; + if (type === 'string') + return [{ type: 'bytes32' }, (0, keccak256_js_1.keccak256)((0, toHex_js_1.toHex)(value))]; + if (type.lastIndexOf(']') === type.length - 1) { + const parsedType = type.slice(0, type.lastIndexOf('[')); + const typeValuePairs = value.map((item) => encodeField({ + name, + type: parsedType, + types, + value: item, + })); + return [ + { type: 'bytes32' }, + (0, keccak256_js_1.keccak256)((0, encodeAbiParameters_js_1.encodeAbiParameters)(typeValuePairs.map(([t]) => t), typeValuePairs.map(([, v]) => v))), + ]; + } + return [{ type }, value]; +} +//# sourceMappingURL=hashTypedData.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/hashTypedData.js.map b/node_modules/viem/_cjs/utils/signature/hashTypedData.js.map new file mode 100644 index 0000000000000000000000000000000000000000..666fdbe64807f06209a02788b34ec90361d708cc --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/hashTypedData.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hashTypedData.js","sourceRoot":"","sources":["../../../utils/signature/hashTypedData.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/isErc6492Signature.js b/node_modules/viem/_cjs/utils/signature/isErc6492Signature.js new file mode 100644 index 0000000000000000000000000000000000000000..0e55ede7a330a75d159f19e0e16f8222652951c7 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/isErc6492Signature.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isErc6492Signature = isErc6492Signature; +const bytes_js_1 = require("../../constants/bytes.js"); +const slice_js_1 = require("../data/slice.js"); +function isErc6492Signature(signature) { + return (0, slice_js_1.sliceHex)(signature, -32) === bytes_js_1.erc6492MagicBytes; +} +//# sourceMappingURL=isErc6492Signature.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/isErc6492Signature.js.map b/node_modules/viem/_cjs/utils/signature/isErc6492Signature.js.map new file mode 100644 index 0000000000000000000000000000000000000000..1ca1d17a2de92ac1e5feac977ed73464531810b2 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/isErc6492Signature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"isErc6492Signature.js","sourceRoot":"","sources":["../../../utils/signature/isErc6492Signature.ts"],"names":[],"mappings":";;AAUA,gDAIC;AAdD,uDAA4D;AAG5D,+CAAmE;AAOnE,SAAgB,kBAAkB,CAChC,SAAuC;IAEvC,OAAO,IAAA,mBAAQ,EAAC,SAAS,EAAE,CAAC,EAAE,CAAC,KAAK,4BAAiB,CAAA;AACvD,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/isErc8010Signature.js b/node_modules/viem/_cjs/utils/signature/isErc8010Signature.js new file mode 100644 index 0000000000000000000000000000000000000000..90fb21445c5a43a6cceb5303e8ba67a8d6d155c6 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/isErc8010Signature.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isErc8010Signature = isErc8010Signature; +const erc8010_1 = require("ox/erc8010"); +function isErc8010Signature(signature) { + return erc8010_1.SignatureErc8010.validate(signature); +} +//# sourceMappingURL=isErc8010Signature.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/isErc8010Signature.js.map b/node_modules/viem/_cjs/utils/signature/isErc8010Signature.js.map new file mode 100644 index 0000000000000000000000000000000000000000..432923211c9a802b9b7be322bd1a95ba69bea485 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/isErc8010Signature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"isErc8010Signature.js","sourceRoot":"","sources":["../../../utils/signature/isErc8010Signature.ts"],"names":[],"mappings":";;AASA,gDAIC;AAbD,wCAA6C;AAS7C,SAAgB,kBAAkB,CAChC,SAAuC;IAEvC,OAAO,0BAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;AAC7C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/parseCompactSignature.js b/node_modules/viem/_cjs/utils/signature/parseCompactSignature.js new file mode 100644 index 0000000000000000000000000000000000000000..431f94bb144f9138c8d375a3de158b1c93a7073b --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/parseCompactSignature.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseCompactSignature = parseCompactSignature; +const secp256k1_1 = require("@noble/curves/secp256k1"); +const toHex_js_1 = require("../encoding/toHex.js"); +function parseCompactSignature(signatureHex) { + const { r, s } = secp256k1_1.secp256k1.Signature.fromCompact(signatureHex.slice(2, 130)); + return { + r: (0, toHex_js_1.numberToHex)(r, { size: 32 }), + yParityAndS: (0, toHex_js_1.numberToHex)(s, { size: 32 }), + }; +} +//# sourceMappingURL=parseCompactSignature.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/parseCompactSignature.js.map b/node_modules/viem/_cjs/utils/signature/parseCompactSignature.js.map new file mode 100644 index 0000000000000000000000000000000000000000..aaca80a3fd51f1481bc2770662d97d1a165a1483 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/parseCompactSignature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parseCompactSignature.js","sourceRoot":"","sources":["../../../utils/signature/parseCompactSignature.ts"],"names":[],"mappings":";;AAkBA,sDAMC;AAxBD,uDAAmD;AAInD,mDAA6E;AAc7E,SAAgB,qBAAqB,CAAC,YAAiB;IACrD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,qBAAS,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IAC5E,OAAO;QACL,CAAC,EAAE,IAAA,sBAAW,EAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC/B,WAAW,EAAE,IAAA,sBAAW,EAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC1C,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/parseErc6492Signature.js b/node_modules/viem/_cjs/utils/signature/parseErc6492Signature.js new file mode 100644 index 0000000000000000000000000000000000000000..3d4b92a94aea6eeefb0d33b524136aecd80333d4 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/parseErc6492Signature.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseErc6492Signature = parseErc6492Signature; +const decodeAbiParameters_js_1 = require("../abi/decodeAbiParameters.js"); +const isErc6492Signature_js_1 = require("./isErc6492Signature.js"); +function parseErc6492Signature(signature) { + if (!(0, isErc6492Signature_js_1.isErc6492Signature)(signature)) + return { signature }; + const [address, data, signature_] = (0, decodeAbiParameters_js_1.decodeAbiParameters)([{ type: 'address' }, { type: 'bytes' }, { type: 'bytes' }], signature); + return { address, data, signature: signature_ }; +} +//# sourceMappingURL=parseErc6492Signature.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/parseErc6492Signature.js.map b/node_modules/viem/_cjs/utils/signature/parseErc6492Signature.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b200e9faff80b9c7d17c378e7d576f6e1d4e5e71 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/parseErc6492Signature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parseErc6492Signature.js","sourceRoot":"","sources":["../../../utils/signature/parseErc6492Signature.ts"],"names":[],"mappings":";;AAsDA,sDAUC;AA5DD,0EAGsC;AACtC,mEAGgC;AA2ChC,SAAgB,qBAAqB,CACnC,SAA0C;IAE1C,IAAI,CAAC,IAAA,0CAAkB,EAAC,SAAS,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,CAAA;IAExD,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,IAAA,4CAAmB,EACrD,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAC3D,SAAS,CACV,CAAA;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AACjD,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/parseErc8010Signature.js b/node_modules/viem/_cjs/utils/signature/parseErc8010Signature.js new file mode 100644 index 0000000000000000000000000000000000000000..39ffd9bc8bf617530f7e12810357daeafe6f427b --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/parseErc8010Signature.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseErc8010Signature = parseErc8010Signature; +const erc8010_1 = require("ox/erc8010"); +const toHex_js_1 = require("../encoding/toHex.js"); +const isErc8010Signature_js_1 = require("./isErc8010Signature.js"); +function parseErc8010Signature(signature) { + if (!(0, isErc8010Signature_js_1.isErc8010Signature)(signature)) + return { signature }; + const { authorization: authorization_ox, to, ...rest } = erc8010_1.SignatureErc8010.unwrap(signature); + return { + authorization: { + address: authorization_ox.address, + chainId: authorization_ox.chainId, + nonce: Number(authorization_ox.nonce), + r: (0, toHex_js_1.numberToHex)(authorization_ox.r, { size: 32 }), + s: (0, toHex_js_1.numberToHex)(authorization_ox.s, { size: 32 }), + yParity: authorization_ox.yParity, + }, + ...(to ? { address: to } : {}), + ...rest, + }; +} +//# sourceMappingURL=parseErc8010Signature.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/parseErc8010Signature.js.map b/node_modules/viem/_cjs/utils/signature/parseErc8010Signature.js.map new file mode 100644 index 0000000000000000000000000000000000000000..4fc2b1016eafbfeba9596843563ab5aec4fd5631 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/parseErc8010Signature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parseErc8010Signature.js","sourceRoot":"","sources":["../../../utils/signature/parseErc8010Signature.ts"],"names":[],"mappings":";;AA4CA,sDAsBC;AAjED,wCAA6C;AAK7C,mDAAkD;AAClD,mEAGgC;AAkChC,SAAgB,qBAAqB,CACnC,SAA0C;IAE1C,IAAI,CAAC,IAAA,0CAAkB,EAAC,SAAS,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,CAAA;IAExD,MAAM,EACJ,aAAa,EAAE,gBAAgB,EAC/B,EAAE,EACF,GAAG,IAAI,EACR,GAAG,0BAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACtC,OAAO;QACL,aAAa,EAAE;YACb,OAAO,EAAE,gBAAgB,CAAC,OAAO;YACjC,OAAO,EAAE,gBAAgB,CAAC,OAAO;YACjC,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC;YACrC,CAAC,EAAE,IAAA,sBAAW,EAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YAChD,CAAC,EAAE,IAAA,sBAAW,EAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YAChD,OAAO,EAAE,gBAAgB,CAAC,OAAO;SAClC;QACD,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,GAAG,IAAI;KACR,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/parseSignature.js b/node_modules/viem/_cjs/utils/signature/parseSignature.js new file mode 100644 index 0000000000000000000000000000000000000000..ac82ea79bb3e8fd42714071343830ce885e9247f --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/parseSignature.js @@ -0,0 +1,31 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseSignature = parseSignature; +const secp256k1_1 = require("@noble/curves/secp256k1"); +const toHex_js_1 = require("../../utils/encoding/toHex.js"); +function parseSignature(signatureHex) { + const { r, s } = secp256k1_1.secp256k1.Signature.fromCompact(signatureHex.slice(2, 130)); + const yParityOrV = Number(`0x${signatureHex.slice(130)}`); + const [v, yParity] = (() => { + if (yParityOrV === 0 || yParityOrV === 1) + return [undefined, yParityOrV]; + if (yParityOrV === 27) + return [BigInt(yParityOrV), 0]; + if (yParityOrV === 28) + return [BigInt(yParityOrV), 1]; + throw new Error('Invalid yParityOrV value'); + })(); + if (typeof v !== 'undefined') + return { + r: (0, toHex_js_1.numberToHex)(r, { size: 32 }), + s: (0, toHex_js_1.numberToHex)(s, { size: 32 }), + v, + yParity, + }; + return { + r: (0, toHex_js_1.numberToHex)(r, { size: 32 }), + s: (0, toHex_js_1.numberToHex)(s, { size: 32 }), + yParity, + }; +} +//# sourceMappingURL=parseSignature.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/parseSignature.js.map b/node_modules/viem/_cjs/utils/signature/parseSignature.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b47cd4ea6aac337557b2cc03c73545c56b41d8da --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/parseSignature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parseSignature.js","sourceRoot":"","sources":["../../../utils/signature/parseSignature.ts"],"names":[],"mappings":";;AAqBA,wCAsBC;AA3CD,uDAAmD;AAInD,4DAGsC;AActC,SAAgB,cAAc,CAAC,YAAiB;IAC9C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,qBAAS,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IAC5E,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACzD,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE;QACzB,IAAI,UAAU,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC;YAAE,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;QACxE,IAAI,UAAU,KAAK,EAAE;YAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;QACrD,IAAI,UAAU,KAAK,EAAE;YAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;QACrD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAC7C,CAAC,CAAC,EAAE,CAAA;IAEJ,IAAI,OAAO,CAAC,KAAK,WAAW;QAC1B,OAAO;YACL,CAAC,EAAE,IAAA,sBAAW,EAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YAC/B,CAAC,EAAE,IAAA,sBAAW,EAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YAC/B,CAAC;YACD,OAAO;SACY,CAAA;IACvB,OAAO;QACL,CAAC,EAAE,IAAA,sBAAW,EAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC/B,CAAC,EAAE,IAAA,sBAAW,EAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC/B,OAAO;KACY,CAAA;AACvB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/recoverAddress.js b/node_modules/viem/_cjs/utils/signature/recoverAddress.js new file mode 100644 index 0000000000000000000000000000000000000000..63604ac11ad8f3ad16f2bcc2f9a0f3273640ae2f --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/recoverAddress.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.recoverAddress = recoverAddress; +const publicKeyToAddress_js_1 = require("../../accounts/utils/publicKeyToAddress.js"); +const recoverPublicKey_js_1 = require("./recoverPublicKey.js"); +async function recoverAddress({ hash, signature, }) { + return (0, publicKeyToAddress_js_1.publicKeyToAddress)(await (0, recoverPublicKey_js_1.recoverPublicKey)({ hash, signature })); +} +//# sourceMappingURL=recoverAddress.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/recoverAddress.js.map b/node_modules/viem/_cjs/utils/signature/recoverAddress.js.map new file mode 100644 index 0000000000000000000000000000000000000000..305aadad61186f08f24a8984cbef3ebbf3921ba2 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/recoverAddress.js.map @@ -0,0 +1 @@ +{"version":3,"file":"recoverAddress.js","sourceRoot":"","sources":["../../../utils/signature/recoverAddress.ts"],"names":[],"mappings":";;AAgBA,wCAKC;AAnBD,sFAA+E;AAG/E,+DAAwD;AAWjD,KAAK,UAAU,cAAc,CAAC,EACnC,IAAI,EACJ,SAAS,GACgB;IACzB,OAAO,IAAA,0CAAkB,EAAC,MAAM,IAAA,sCAAgB,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;AACxE,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/recoverMessageAddress.js b/node_modules/viem/_cjs/utils/signature/recoverMessageAddress.js new file mode 100644 index 0000000000000000000000000000000000000000..52d4cb8d6f579ffaeeedbf2f9df6977a477fa458 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/recoverMessageAddress.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.recoverMessageAddress = recoverMessageAddress; +const hashMessage_js_1 = require("./hashMessage.js"); +const recoverAddress_js_1 = require("./recoverAddress.js"); +async function recoverMessageAddress({ message, signature, }) { + return (0, recoverAddress_js_1.recoverAddress)({ hash: (0, hashMessage_js_1.hashMessage)(message), signature }); +} +//# sourceMappingURL=recoverMessageAddress.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/recoverMessageAddress.js.map b/node_modules/viem/_cjs/utils/signature/recoverMessageAddress.js.map new file mode 100644 index 0000000000000000000000000000000000000000..769751fdf1994a8165b0573a85c20f63f8023b22 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/recoverMessageAddress.js.map @@ -0,0 +1 @@ +{"version":3,"file":"recoverMessageAddress.js","sourceRoot":"","sources":["../../../utils/signature/recoverMessageAddress.ts"],"names":[],"mappings":";;AA0BA,sDAKC;AAvBD,qDAAyE;AACzE,2DAG4B;AAcrB,KAAK,UAAU,qBAAqB,CAAC,EAC1C,OAAO,EACP,SAAS,GACuB;IAChC,OAAO,IAAA,kCAAc,EAAC,EAAE,IAAI,EAAE,IAAA,4BAAW,EAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;AAClE,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/recoverPublicKey.js b/node_modules/viem/_cjs/utils/signature/recoverPublicKey.js new file mode 100644 index 0000000000000000000000000000000000000000..73ce61f638269d566bbe0d956b99475ae354c322 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/recoverPublicKey.js @@ -0,0 +1,39 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.recoverPublicKey = recoverPublicKey; +const isHex_js_1 = require("../data/isHex.js"); +const size_js_1 = require("../data/size.js"); +const fromHex_js_1 = require("../encoding/fromHex.js"); +const toHex_js_1 = require("../encoding/toHex.js"); +async function recoverPublicKey({ hash, signature, }) { + const hashHex = (0, isHex_js_1.isHex)(hash) ? hash : (0, toHex_js_1.toHex)(hash); + const { secp256k1 } = await Promise.resolve().then(() => require('@noble/curves/secp256k1')); + const signature_ = (() => { + if (typeof signature === 'object' && 'r' in signature && 's' in signature) { + const { r, s, v, yParity } = signature; + const yParityOrV = Number(yParity ?? v); + const recoveryBit = toRecoveryBit(yParityOrV); + return new secp256k1.Signature((0, fromHex_js_1.hexToBigInt)(r), (0, fromHex_js_1.hexToBigInt)(s)).addRecoveryBit(recoveryBit); + } + const signatureHex = (0, isHex_js_1.isHex)(signature) ? signature : (0, toHex_js_1.toHex)(signature); + if ((0, size_js_1.size)(signatureHex) !== 65) + throw new Error('invalid signature length'); + const yParityOrV = (0, fromHex_js_1.hexToNumber)(`0x${signatureHex.slice(130)}`); + const recoveryBit = toRecoveryBit(yParityOrV); + return secp256k1.Signature.fromCompact(signatureHex.substring(2, 130)).addRecoveryBit(recoveryBit); + })(); + const publicKey = signature_ + .recoverPublicKey(hashHex.substring(2)) + .toHex(false); + return `0x${publicKey}`; +} +function toRecoveryBit(yParityOrV) { + if (yParityOrV === 0 || yParityOrV === 1) + return yParityOrV; + if (yParityOrV === 27) + return 0; + if (yParityOrV === 28) + return 1; + throw new Error('Invalid yParityOrV value'); +} +//# sourceMappingURL=recoverPublicKey.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/recoverPublicKey.js.map b/node_modules/viem/_cjs/utils/signature/recoverPublicKey.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6f0a40538aa4acb934ee6655675d6c440e8a9ff2 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/recoverPublicKey.js.map @@ -0,0 +1 @@ +{"version":3,"file":"recoverPublicKey.js","sourceRoot":"","sources":["../../../utils/signature/recoverPublicKey.ts"],"names":[],"mappings":";;AAuBA,4CAiCC;AAtDD,+CAA6D;AAC7D,6CAAsC;AACtC,uDAI+B;AAC/B,mDAA4C;AAcrC,KAAK,UAAU,gBAAgB,CAAC,EACrC,IAAI,EACJ,SAAS,GACkB;IAC3B,MAAM,OAAO,GAAG,IAAA,gBAAK,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,IAAI,CAAC,CAAA;IAEhD,MAAM,EAAE,SAAS,EAAE,GAAG,2CAAa,yBAAyB,EAAC,CAAA;IAC7D,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;QAEvB,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;YAC1E,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAA;YACtC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAE,CAAA;YACxC,MAAM,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;YAC7C,OAAO,IAAI,SAAS,CAAC,SAAS,CAC5B,IAAA,wBAAW,EAAC,CAAC,CAAC,EACd,IAAA,wBAAW,EAAC,CAAC,CAAC,CACf,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;QAC/B,CAAC;QAGD,MAAM,YAAY,GAAG,IAAA,gBAAK,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,SAAS,CAAC,CAAA;QACpE,IAAI,IAAA,cAAI,EAAC,YAAY,CAAC,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC1E,MAAM,UAAU,GAAG,IAAA,wBAAW,EAAC,KAAK,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC9D,MAAM,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;QAC7C,OAAO,SAAS,CAAC,SAAS,CAAC,WAAW,CACpC,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAC/B,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;IAC/B,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,SAAS,GAAG,UAAU;SACzB,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SACtC,KAAK,CAAC,KAAK,CAAC,CAAA;IACf,OAAO,KAAK,SAAS,EAAE,CAAA;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,UAAkB;IACvC,IAAI,UAAU,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO,UAAU,CAAA;IAC3D,IAAI,UAAU,KAAK,EAAE;QAAE,OAAO,CAAC,CAAA;IAC/B,IAAI,UAAU,KAAK,EAAE;QAAE,OAAO,CAAC,CAAA;IAC/B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;AAC7C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/recoverTransactionAddress.js b/node_modules/viem/_cjs/utils/signature/recoverTransactionAddress.js new file mode 100644 index 0000000000000000000000000000000000000000..555edeb0935175f2205701273cf10fdff142463d --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/recoverTransactionAddress.js @@ -0,0 +1,30 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.recoverTransactionAddress = recoverTransactionAddress; +const keccak256_js_1 = require("../hash/keccak256.js"); +const parseTransaction_js_1 = require("../transaction/parseTransaction.js"); +const serializeTransaction_js_1 = require("../transaction/serializeTransaction.js"); +const recoverAddress_js_1 = require("./recoverAddress.js"); +async function recoverTransactionAddress(parameters) { + const { serializedTransaction, signature: signature_ } = parameters; + const transaction = (0, parseTransaction_js_1.parseTransaction)(serializedTransaction); + const signature = signature_ ?? { + r: transaction.r, + s: transaction.s, + v: transaction.v, + yParity: transaction.yParity, + }; + const serialized = (0, serializeTransaction_js_1.serializeTransaction)({ + ...transaction, + r: undefined, + s: undefined, + v: undefined, + yParity: undefined, + sidecars: undefined, + }); + return await (0, recoverAddress_js_1.recoverAddress)({ + hash: (0, keccak256_js_1.keccak256)(serialized), + signature, + }); +} +//# sourceMappingURL=recoverTransactionAddress.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/recoverTransactionAddress.js.map b/node_modules/viem/_cjs/utils/signature/recoverTransactionAddress.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a526c594b9566fcde5a5991dd902673eb09f015c --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/recoverTransactionAddress.js.map @@ -0,0 +1 @@ +{"version":3,"file":"recoverTransactionAddress.js","sourceRoot":"","sources":["../../../utils/signature/recoverTransactionAddress.ts"],"names":[],"mappings":";;AA8BA,8DA2BC;AArDD,uDAAyE;AACzE,4EAAqE;AACrE,oFAG+C;AAC/C,2DAG4B;AAiBrB,KAAK,UAAU,yBAAyB,CAC7C,UAA+C;IAE/C,MAAM,EAAE,qBAAqB,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;IAEnE,MAAM,WAAW,GAAG,IAAA,sCAAgB,EAAC,qBAAqB,CAAC,CAAA;IAE3D,MAAM,SAAS,GAAG,UAAU,IAAI;QAC9B,CAAC,EAAE,WAAW,CAAC,CAAE;QACjB,CAAC,EAAE,WAAW,CAAC,CAAE;QACjB,CAAC,EAAE,WAAW,CAAC,CAAE;QACjB,OAAO,EAAE,WAAW,CAAC,OAAQ;KAC9B,CAAA;IAED,MAAM,UAAU,GAAG,IAAA,8CAAoB,EAAC;QACtC,GAAG,WAAW;QACd,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,SAAS;QACZ,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,SAAS;KACpB,CAAC,CAAA;IAEF,OAAO,MAAM,IAAA,kCAAc,EAAC;QAC1B,IAAI,EAAE,IAAA,wBAAS,EAAC,UAAU,CAAC;QAC3B,SAAS;KACV,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/recoverTypedDataAddress.js b/node_modules/viem/_cjs/utils/signature/recoverTypedDataAddress.js new file mode 100644 index 0000000000000000000000000000000000000000..4bbade816f6a8e978a07d0f0aedda258dfb7f907 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/recoverTypedDataAddress.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.recoverTypedDataAddress = recoverTypedDataAddress; +const hashTypedData_js_1 = require("./hashTypedData.js"); +const recoverAddress_js_1 = require("./recoverAddress.js"); +async function recoverTypedDataAddress(parameters) { + const { domain, message, primaryType, signature, types } = parameters; + return (0, recoverAddress_js_1.recoverAddress)({ + hash: (0, hashTypedData_js_1.hashTypedData)({ + domain, + message, + primaryType, + types, + }), + signature, + }); +} +//# sourceMappingURL=recoverTypedDataAddress.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/recoverTypedDataAddress.js.map b/node_modules/viem/_cjs/utils/signature/recoverTypedDataAddress.js.map new file mode 100644 index 0000000000000000000000000000000000000000..56a5696f8228aa836a53431b1c91c46b3dd16803 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/recoverTypedDataAddress.js.map @@ -0,0 +1 @@ +{"version":3,"file":"recoverTypedDataAddress.js","sourceRoot":"","sources":["../../../utils/signature/recoverTypedDataAddress.ts"],"names":[],"mappings":";;AAwBA,0DAiBC;AArCD,yDAA+E;AAC/E,2DAG4B;AAgBrB,KAAK,UAAU,uBAAuB,CAI3C,UAAqE;IAErE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,GACtD,UAA0D,CAAA;IAC5D,OAAO,IAAA,kCAAc,EAAC;QACpB,IAAI,EAAE,IAAA,gCAAa,EAAC;YAClB,MAAM;YACN,OAAO;YACP,WAAW;YACX,KAAK;SACN,CAAC;QACF,SAAS;KACV,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/serializeCompactSignature.js b/node_modules/viem/_cjs/utils/signature/serializeCompactSignature.js new file mode 100644 index 0000000000000000000000000000000000000000..d101eaa792b8e6375a6d40e8c80d5848b712b64a --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/serializeCompactSignature.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.serializeCompactSignature = serializeCompactSignature; +const secp256k1_1 = require("@noble/curves/secp256k1"); +const fromHex_js_1 = require("../encoding/fromHex.js"); +function serializeCompactSignature({ r, yParityAndS, }) { + return `0x${new secp256k1_1.secp256k1.Signature((0, fromHex_js_1.hexToBigInt)(r), (0, fromHex_js_1.hexToBigInt)(yParityAndS)).toCompactHex()}`; +} +//# sourceMappingURL=serializeCompactSignature.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/serializeCompactSignature.js.map b/node_modules/viem/_cjs/utils/signature/serializeCompactSignature.js.map new file mode 100644 index 0000000000000000000000000000000000000000..75b27c28d77d91cb38b54d2b52e9b4601c2d11e0 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/serializeCompactSignature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"serializeCompactSignature.js","sourceRoot":"","sources":["../../../utils/signature/serializeCompactSignature.ts"],"names":[],"mappings":";;AAsBA,8DAQC;AA9BD,uDAAmD;AAGnD,uDAA+E;AAmB/E,SAAgB,yBAAyB,CAAC,EACxC,CAAC,EACD,WAAW,GACM;IACjB,OAAO,KAAK,IAAI,qBAAS,CAAC,SAAS,CACjC,IAAA,wBAAW,EAAC,CAAC,CAAC,EACd,IAAA,wBAAW,EAAC,WAAW,CAAC,CACzB,CAAC,YAAY,EAAE,EAAE,CAAA;AACpB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/serializeErc6492Signature.js b/node_modules/viem/_cjs/utils/signature/serializeErc6492Signature.js new file mode 100644 index 0000000000000000000000000000000000000000..c3bb044c86aef55fa3ee7b14db45785d45522db5 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/serializeErc6492Signature.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.serializeErc6492Signature = serializeErc6492Signature; +const bytes_js_1 = require("../../constants/bytes.js"); +const encodeAbiParameters_js_1 = require("../abi/encodeAbiParameters.js"); +const concat_js_1 = require("../data/concat.js"); +const toBytes_js_1 = require("../encoding/toBytes.js"); +function serializeErc6492Signature(parameters) { + const { address, data, signature, to = 'hex' } = parameters; + const signature_ = (0, concat_js_1.concatHex)([ + (0, encodeAbiParameters_js_1.encodeAbiParameters)([{ type: 'address' }, { type: 'bytes' }, { type: 'bytes' }], [address, data, signature]), + bytes_js_1.erc6492MagicBytes, + ]); + if (to === 'hex') + return signature_; + return (0, toBytes_js_1.hexToBytes)(signature_); +} +//# sourceMappingURL=serializeErc6492Signature.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/serializeErc6492Signature.js.map b/node_modules/viem/_cjs/utils/signature/serializeErc6492Signature.js.map new file mode 100644 index 0000000000000000000000000000000000000000..10f905a1407ec3073223c813b616d95cdb73e3e2 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/serializeErc6492Signature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"serializeErc6492Signature.js","sourceRoot":"","sources":["../../../utils/signature/serializeErc6492Signature.ts"],"names":[],"mappings":";;AAoCA,8DAcC;AAjDD,uDAA4D;AAG5D,0EAAmE;AACnE,iDAA6C;AAC7C,uDAAmD;AA8BnD,SAAgB,yBAAyB,CACvC,UAAmD;IAEnD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,CAAA;IAC3D,MAAM,UAAU,GAAG,IAAA,qBAAS,EAAC;QAC3B,IAAA,4CAAmB,EACjB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAC3D,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAC3B;QACD,4BAAiB;KAClB,CAAC,CAAA;IAEF,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,UAAqD,CAAA;IAC9E,OAAO,IAAA,uBAAU,EAAC,UAAU,CAA4C,CAAA;AAC1E,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/serializeErc8010Signature.js b/node_modules/viem/_cjs/utils/signature/serializeErc8010Signature.js new file mode 100644 index 0000000000000000000000000000000000000000..a586eaa9c1c667c9a937439356d96a7d66e4004f --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/serializeErc8010Signature.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.serializeErc8010Signature = serializeErc8010Signature; +const erc8010_1 = require("ox/erc8010"); +const toBytes_js_1 = require("../encoding/toBytes.js"); +function serializeErc8010Signature(parameters) { + const { address, data, signature, to = 'hex' } = parameters; + const signature_ = erc8010_1.SignatureErc8010.wrap({ + authorization: { + address: parameters.authorization.address, + chainId: parameters.authorization.chainId, + nonce: BigInt(parameters.authorization.nonce), + r: BigInt(parameters.authorization.r), + s: BigInt(parameters.authorization.s), + yParity: parameters.authorization.yParity, + }, + data, + signature, + to: address, + }); + if (to === 'hex') + return signature_; + return (0, toBytes_js_1.hexToBytes)(signature_); +} +//# sourceMappingURL=serializeErc8010Signature.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/serializeErc8010Signature.js.map b/node_modules/viem/_cjs/utils/signature/serializeErc8010Signature.js.map new file mode 100644 index 0000000000000000000000000000000000000000..eff61372d1de38ec1a740dee3260e68e09c4409a --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/serializeErc8010Signature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"serializeErc8010Signature.js","sourceRoot":"","sources":["../../../utils/signature/serializeErc8010Signature.ts"],"names":[],"mappings":";;AAiCA,8DAmBC;AAnDD,wCAA6C;AAI7C,uDAAmD;AA4BnD,SAAgB,yBAAyB,CACvC,UAAmD;IAEnD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,CAAA;IAC3D,MAAM,UAAU,GAAG,0BAAgB,CAAC,IAAI,CAAC;QACvC,aAAa,EAAE;YACb,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,OAAO;YACzC,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,OAAO;YACzC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC;YAC7C,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;YACrC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;YACrC,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,OAAQ;SAC3C;QACD,IAAI;QACJ,SAAS;QACT,EAAE,EAAE,OAAO;KACZ,CAAC,CAAA;IACF,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,UAAqD,CAAA;IAC9E,OAAO,IAAA,uBAAU,EAAC,UAAU,CAA4C,CAAA;AAC1E,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/serializeSignature.js b/node_modules/viem/_cjs/utils/signature/serializeSignature.js new file mode 100644 index 0000000000000000000000000000000000000000..4ecb1f7ec6bbc09c184c50827a0dbef66c7530b3 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/serializeSignature.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.serializeSignature = serializeSignature; +const secp256k1_1 = require("@noble/curves/secp256k1"); +const fromHex_js_1 = require("../encoding/fromHex.js"); +const toBytes_js_1 = require("../encoding/toBytes.js"); +function serializeSignature({ r, s, to = 'hex', v, yParity, }) { + const yParity_ = (() => { + if (yParity === 0 || yParity === 1) + return yParity; + if (v && (v === 27n || v === 28n || v >= 35n)) + return v % 2n === 0n ? 1 : 0; + throw new Error('Invalid `v` or `yParity` value'); + })(); + const signature = `0x${new secp256k1_1.secp256k1.Signature((0, fromHex_js_1.hexToBigInt)(r), (0, fromHex_js_1.hexToBigInt)(s)).toCompactHex()}${yParity_ === 0 ? '1b' : '1c'}`; + if (to === 'hex') + return signature; + return (0, toBytes_js_1.hexToBytes)(signature); +} +//# sourceMappingURL=serializeSignature.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/serializeSignature.js.map b/node_modules/viem/_cjs/utils/signature/serializeSignature.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8acf4e057c24f1f4201574d759a5d42a1d5556f7 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/serializeSignature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"serializeSignature.js","sourceRoot":"","sources":["../../../utils/signature/serializeSignature.ts"],"names":[],"mappings":";;AAqCA,gDAmBC;AAxDD,uDAAmD;AAInD,uDAA+E;AAC/E,uDAAmD;AAgCnD,SAAgB,kBAAkB,CAAwB,EACxD,CAAC,EACD,CAAC,EACD,EAAE,GAAG,KAAK,EACV,CAAC,EACD,OAAO,GAC0B;IACjC,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;QACrB,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC;YAAE,OAAO,OAAO,CAAA;QAClD,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3E,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IACnD,CAAC,CAAC,EAAE,CAAA;IACJ,MAAM,SAAS,GAAG,KAAK,IAAI,qBAAS,CAAC,SAAS,CAC5C,IAAA,wBAAW,EAAC,CAAC,CAAC,EACd,IAAA,wBAAW,EAAC,CAAC,CAAC,CACf,CAAC,YAAY,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAW,CAAA;IAE1D,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,SAA6C,CAAA;IACtE,OAAO,IAAA,uBAAU,EAAC,SAAS,CAAqC,CAAA;AAClE,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/signatureToCompactSignature.js b/node_modules/viem/_cjs/utils/signature/signatureToCompactSignature.js new file mode 100644 index 0000000000000000000000000000000000000000..11a78d5822c04c87e4796eb658b07fb8d3e647a4 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/signatureToCompactSignature.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.signatureToCompactSignature = signatureToCompactSignature; +const toBytes_js_1 = require("../encoding/toBytes.js"); +const toHex_js_1 = require("../encoding/toHex.js"); +function signatureToCompactSignature(signature) { + const { r, s, v, yParity } = signature; + const yParity_ = Number(yParity ?? v - 27n); + let yParityAndS = s; + if (yParity_ === 1) { + const bytes = (0, toBytes_js_1.hexToBytes)(s); + bytes[0] |= 0x80; + yParityAndS = (0, toHex_js_1.bytesToHex)(bytes); + } + return { r, yParityAndS }; +} +//# sourceMappingURL=signatureToCompactSignature.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/signatureToCompactSignature.js.map b/node_modules/viem/_cjs/utils/signature/signatureToCompactSignature.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7604d5d187d5ea6606359f8ff80864c65fd4714f --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/signatureToCompactSignature.js.map @@ -0,0 +1 @@ +{"version":3,"file":"signatureToCompactSignature.js","sourceRoot":"","sources":["../../../utils/signature/signatureToCompactSignature.ts"],"names":[],"mappings":";;AA2BA,kEAYC;AArCD,uDAA6E;AAC7E,mDAA2E;AAwB3E,SAAgB,2BAA2B,CACzC,SAAoB;IAEpB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAA;IACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,IAAI,CAAE,GAAG,GAAG,CAAC,CAAA;IAC5C,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,IAAA,uBAAU,EAAC,CAAC,CAAC,CAAA;QAC3B,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QAChB,WAAW,GAAG,IAAA,qBAAU,EAAC,KAAK,CAAC,CAAA;IACjC,CAAC;IACD,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAA;AAC3B,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/toPrefixedMessage.js b/node_modules/viem/_cjs/utils/signature/toPrefixedMessage.js new file mode 100644 index 0000000000000000000000000000000000000000..ad870ab5334d772d612fd35422e0d0e20382a6f0 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/toPrefixedMessage.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toPrefixedMessage = toPrefixedMessage; +const strings_js_1 = require("../../constants/strings.js"); +const concat_js_1 = require("../data/concat.js"); +const size_js_1 = require("../data/size.js"); +const toHex_js_1 = require("../encoding/toHex.js"); +function toPrefixedMessage(message_) { + const message = (() => { + if (typeof message_ === 'string') + return (0, toHex_js_1.stringToHex)(message_); + if (typeof message_.raw === 'string') + return message_.raw; + return (0, toHex_js_1.bytesToHex)(message_.raw); + })(); + const prefix = (0, toHex_js_1.stringToHex)(`${strings_js_1.presignMessagePrefix}${(0, size_js_1.size)(message)}`); + return (0, concat_js_1.concat)([prefix, message]); +} +//# sourceMappingURL=toPrefixedMessage.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/toPrefixedMessage.js.map b/node_modules/viem/_cjs/utils/signature/toPrefixedMessage.js.map new file mode 100644 index 0000000000000000000000000000000000000000..857dc5550734857b6d23ebaf4b063f95bd15d2cd --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/toPrefixedMessage.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toPrefixedMessage.js","sourceRoot":"","sources":["../../../utils/signature/toPrefixedMessage.ts"],"names":[],"mappings":";;AAkBA,8CAQC;AA1BD,2DAAiE;AAGjE,iDAAgE;AAChE,6CAAsC;AACtC,mDAK6B;AAQ7B,SAAgB,iBAAiB,CAAC,QAAyB;IACzD,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;QACpB,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,OAAO,IAAA,sBAAW,EAAC,QAAQ,CAAC,CAAA;QAC9D,IAAI,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC,GAAG,CAAA;QACzD,OAAO,IAAA,qBAAU,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC,CAAC,EAAE,CAAA;IACJ,MAAM,MAAM,GAAG,IAAA,sBAAW,EAAC,GAAG,iCAAoB,GAAG,IAAA,cAAI,EAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACrE,OAAO,IAAA,kBAAM,EAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAClC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/verifyHash.js b/node_modules/viem/_cjs/utils/signature/verifyHash.js new file mode 100644 index 0000000000000000000000000000000000000000..56cb1d13ee38b3cb098b147e2e2487fa8e7c3a67 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/verifyHash.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.verifyHash = verifyHash; +const getAddress_js_1 = require("../address/getAddress.js"); +const isAddressEqual_js_1 = require("../address/isAddressEqual.js"); +const recoverAddress_js_1 = require("./recoverAddress.js"); +async function verifyHash({ address, hash, signature, }) { + return (0, isAddressEqual_js_1.isAddressEqual)((0, getAddress_js_1.getAddress)(address), await (0, recoverAddress_js_1.recoverAddress)({ hash, signature })); +} +//# sourceMappingURL=verifyHash.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/verifyHash.js.map b/node_modules/viem/_cjs/utils/signature/verifyHash.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e7177e433e2d44cfc781e04f14830c57091e1abc --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/verifyHash.js.map @@ -0,0 +1 @@ +{"version":3,"file":"verifyHash.js","sourceRoot":"","sources":["../../../utils/signature/verifyHash.ts"],"names":[],"mappings":";;AA0CA,gCASC;AAhDD,4DAA+E;AAC/E,oEAGqC;AACrC,2DAG4B;AA+BrB,KAAK,UAAU,UAAU,CAAC,EAC/B,OAAO,EACP,IAAI,EACJ,SAAS,GACY;IACrB,OAAO,IAAA,kCAAc,EACnB,IAAA,0BAAU,EAAC,OAAO,CAAC,EACnB,MAAM,IAAA,kCAAc,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAC1C,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/verifyMessage.js b/node_modules/viem/_cjs/utils/signature/verifyMessage.js new file mode 100644 index 0000000000000000000000000000000000000000..89ab9785ec2e98e2eb7934693c89dfe5e51c8364 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/verifyMessage.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.verifyMessage = verifyMessage; +const getAddress_js_1 = require("../address/getAddress.js"); +const isAddressEqual_js_1 = require("../address/isAddressEqual.js"); +const recoverMessageAddress_js_1 = require("./recoverMessageAddress.js"); +async function verifyMessage({ address, message, signature, }) { + return (0, isAddressEqual_js_1.isAddressEqual)((0, getAddress_js_1.getAddress)(address), await (0, recoverMessageAddress_js_1.recoverMessageAddress)({ message, signature })); +} +//# sourceMappingURL=verifyMessage.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/verifyMessage.js.map b/node_modules/viem/_cjs/utils/signature/verifyMessage.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8c9202168fe96c67e262d25c6fc097a3dceda3f9 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/verifyMessage.js.map @@ -0,0 +1 @@ +{"version":3,"file":"verifyMessage.js","sourceRoot":"","sources":["../../../utils/signature/verifyMessage.ts"],"names":[],"mappings":";;AA+CA,sCASC;AAhDD,4DAA+E;AAC/E,oEAGqC;AACrC,yEAGmC;AA+B5B,KAAK,UAAU,aAAa,CAAC,EAClC,OAAO,EACP,OAAO,EACP,SAAS,GACe;IACxB,OAAO,IAAA,kCAAc,EACnB,IAAA,0BAAU,EAAC,OAAO,CAAC,EACnB,MAAM,IAAA,gDAAqB,EAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CACpD,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/verifyTypedData.js b/node_modules/viem/_cjs/utils/signature/verifyTypedData.js new file mode 100644 index 0000000000000000000000000000000000000000..a36a6513ac367c13186ffd06471eb3b4f41ebc89 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/verifyTypedData.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.verifyTypedData = verifyTypedData; +const getAddress_js_1 = require("../address/getAddress.js"); +const isAddressEqual_js_1 = require("../address/isAddressEqual.js"); +const recoverTypedDataAddress_js_1 = require("./recoverTypedDataAddress.js"); +async function verifyTypedData(parameters) { + const { address, domain, message, primaryType, signature, types } = parameters; + return (0, isAddressEqual_js_1.isAddressEqual)((0, getAddress_js_1.getAddress)(address), await (0, recoverTypedDataAddress_js_1.recoverTypedDataAddress)({ + domain, + message, + primaryType, + signature, + types, + })); +} +//# sourceMappingURL=verifyTypedData.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/signature/verifyTypedData.js.map b/node_modules/viem/_cjs/utils/signature/verifyTypedData.js.map new file mode 100644 index 0000000000000000000000000000000000000000..aa4283683d9e6a4b9db3b2777b61641b7dad43a5 --- /dev/null +++ b/node_modules/viem/_cjs/utils/signature/verifyTypedData.js.map @@ -0,0 +1 @@ +{"version":3,"file":"verifyTypedData.js","sourceRoot":"","sources":["../../../utils/signature/verifyTypedData.ts"],"names":[],"mappings":";;AA4CA,0CAkBC;AA1DD,4DAA+E;AAC/E,oEAGqC;AACrC,6EAGqC;AAgC9B,KAAK,UAAU,eAAe,CAInC,UAA6D;IAE7D,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,GAC/D,UAAkD,CAAA;IACpD,OAAO,IAAA,kCAAc,EACnB,IAAA,0BAAU,EAAC,OAAO,CAAC,EACnB,MAAM,IAAA,oDAAuB,EAAC;QAC5B,MAAM;QACN,OAAO;QACP,WAAW;QACX,SAAS;QACT,KAAK;KAC+B,CAAC,CACxC,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/siwe/createSiweMessage.js b/node_modules/viem/_cjs/utils/siwe/createSiweMessage.js new file mode 100644 index 0000000000000000000000000000000000000000..4ced520711df9d3db65b04d915a1491dcc4ae41a --- /dev/null +++ b/node_modules/viem/_cjs/utils/siwe/createSiweMessage.js @@ -0,0 +1,125 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createSiweMessage = createSiweMessage; +const siwe_js_1 = require("../../errors/siwe.js"); +const getAddress_js_1 = require("../address/getAddress.js"); +const utils_js_1 = require("./utils.js"); +function createSiweMessage(parameters) { + const { chainId, domain, expirationTime, issuedAt = new Date(), nonce, notBefore, requestId, resources, scheme, uri, version, } = parameters; + { + if (chainId !== Math.floor(chainId)) + throw new siwe_js_1.SiweInvalidMessageFieldError({ + field: 'chainId', + metaMessages: [ + '- Chain ID must be a EIP-155 chain ID.', + '- See https://eips.ethereum.org/EIPS/eip-155', + '', + `Provided value: ${chainId}`, + ], + }); + if (!(domainRegex.test(domain) || + ipRegex.test(domain) || + localhostRegex.test(domain))) + throw new siwe_js_1.SiweInvalidMessageFieldError({ + field: 'domain', + metaMessages: [ + '- Domain must be an RFC 3986 authority.', + '- See https://www.rfc-editor.org/rfc/rfc3986', + '', + `Provided value: ${domain}`, + ], + }); + if (!nonceRegex.test(nonce)) + throw new siwe_js_1.SiweInvalidMessageFieldError({ + field: 'nonce', + metaMessages: [ + '- Nonce must be at least 8 characters.', + '- Nonce must be alphanumeric.', + '', + `Provided value: ${nonce}`, + ], + }); + if (!(0, utils_js_1.isUri)(uri)) + throw new siwe_js_1.SiweInvalidMessageFieldError({ + field: 'uri', + metaMessages: [ + '- URI must be a RFC 3986 URI referring to the resource that is the subject of the signing.', + '- See https://www.rfc-editor.org/rfc/rfc3986', + '', + `Provided value: ${uri}`, + ], + }); + if (version !== '1') + throw new siwe_js_1.SiweInvalidMessageFieldError({ + field: 'version', + metaMessages: [ + "- Version must be '1'.", + '', + `Provided value: ${version}`, + ], + }); + if (scheme && !schemeRegex.test(scheme)) + throw new siwe_js_1.SiweInvalidMessageFieldError({ + field: 'scheme', + metaMessages: [ + '- Scheme must be an RFC 3986 URI scheme.', + '- See https://www.rfc-editor.org/rfc/rfc3986#section-3.1', + '', + `Provided value: ${scheme}`, + ], + }); + const statement = parameters.statement; + if (statement?.includes('\n')) + throw new siwe_js_1.SiweInvalidMessageFieldError({ + field: 'statement', + metaMessages: [ + "- Statement must not include '\\n'.", + '', + `Provided value: ${statement}`, + ], + }); + } + const address = (0, getAddress_js_1.getAddress)(parameters.address); + const origin = (() => { + if (scheme) + return `${scheme}://${domain}`; + return domain; + })(); + const statement = (() => { + if (!parameters.statement) + return ''; + return `${parameters.statement}\n`; + })(); + const prefix = `${origin} wants you to sign in with your Ethereum account:\n${address}\n\n${statement}`; + let suffix = `URI: ${uri}\nVersion: ${version}\nChain ID: ${chainId}\nNonce: ${nonce}\nIssued At: ${issuedAt.toISOString()}`; + if (expirationTime) + suffix += `\nExpiration Time: ${expirationTime.toISOString()}`; + if (notBefore) + suffix += `\nNot Before: ${notBefore.toISOString()}`; + if (requestId) + suffix += `\nRequest ID: ${requestId}`; + if (resources) { + let content = '\nResources:'; + for (const resource of resources) { + if (!(0, utils_js_1.isUri)(resource)) + throw new siwe_js_1.SiweInvalidMessageFieldError({ + field: 'resources', + metaMessages: [ + '- Every resource must be a RFC 3986 URI.', + '- See https://www.rfc-editor.org/rfc/rfc3986', + '', + `Provided value: ${resource}`, + ], + }); + content += `\n- ${resource}`; + } + suffix += content; + } + return `${prefix}\n${suffix}`; +} +const domainRegex = /^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}(:[0-9]{1,5})?$/; +const ipRegex = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(:[0-9]{1,5})?$/; +const localhostRegex = /^localhost(:[0-9]{1,5})?$/; +const nonceRegex = /^[a-zA-Z0-9]{8,}$/; +const schemeRegex = /^([a-zA-Z][a-zA-Z0-9+-.]*)$/; +//# sourceMappingURL=createSiweMessage.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/siwe/createSiweMessage.js.map b/node_modules/viem/_cjs/utils/siwe/createSiweMessage.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f4004c7eee4963abd22c1a6798c3f6fdfc36cb39 --- /dev/null +++ b/node_modules/viem/_cjs/utils/siwe/createSiweMessage.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createSiweMessage.js","sourceRoot":"","sources":["../../../utils/siwe/createSiweMessage.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/siwe/generateSiweNonce.js b/node_modules/viem/_cjs/utils/siwe/generateSiweNonce.js new file mode 100644 index 0000000000000000000000000000000000000000..711b3c9b1cb49e2f2b512e80208ce346aaa25618 --- /dev/null +++ b/node_modules/viem/_cjs/utils/siwe/generateSiweNonce.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.generateSiweNonce = generateSiweNonce; +const uid_js_1 = require("../../utils/uid.js"); +function generateSiweNonce() { + return (0, uid_js_1.uid)(96); +} +//# sourceMappingURL=generateSiweNonce.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/siwe/generateSiweNonce.js.map b/node_modules/viem/_cjs/utils/siwe/generateSiweNonce.js.map new file mode 100644 index 0000000000000000000000000000000000000000..86a4d98eb3c3a3149f84ec2610f90ffa7ce71d38 --- /dev/null +++ b/node_modules/viem/_cjs/utils/siwe/generateSiweNonce.js.map @@ -0,0 +1 @@ +{"version":3,"file":"generateSiweNonce.js","sourceRoot":"","sources":["../../../utils/siwe/generateSiweNonce.ts"],"names":[],"mappings":";;AAYA,8CAEC;AAdD,+CAAwC;AAYxC,SAAgB,iBAAiB;IAC/B,OAAO,IAAA,YAAG,EAAC,EAAE,CAAC,CAAA;AAChB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/siwe/parseSiweMessage.js b/node_modules/viem/_cjs/utils/siwe/parseSiweMessage.js new file mode 100644 index 0000000000000000000000000000000000000000..bac003edb1705905c930b51faaca368d4de9e03f --- /dev/null +++ b/node_modules/viem/_cjs/utils/siwe/parseSiweMessage.js @@ -0,0 +1,37 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseSiweMessage = parseSiweMessage; +const siweDateTimeRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})$/; +function isValidSiweDateTime(value) { + if (!siweDateTimeRegex.test(value)) + return false; + return !Number.isNaN(new Date(value).getTime()); +} +function parseSiweDateTime(value) { + if (!isValidSiweDateTime(value)) + return new Date(Number.NaN); + return new Date(value); +} +function parseSiweMessage(message) { + const { scheme, statement, ...prefix } = (message.match(prefixRegex) + ?.groups ?? {}); + const { chainId, expirationTime, issuedAt, notBefore, requestId, ...suffix } = (message.match(suffixRegex)?.groups ?? {}); + const resources = message.split('Resources:')[1]?.split('\n- ').slice(1); + return { + ...prefix, + ...suffix, + ...(chainId ? { chainId: Number(chainId) } : {}), + ...(expirationTime + ? { expirationTime: parseSiweDateTime(expirationTime) } + : {}), + ...(issuedAt ? { issuedAt: parseSiweDateTime(issuedAt) } : {}), + ...(notBefore ? { notBefore: parseSiweDateTime(notBefore) } : {}), + ...(requestId ? { requestId } : {}), + ...(resources ? { resources } : {}), + ...(scheme ? { scheme } : {}), + ...(statement ? { statement } : {}), + }; +} +const prefixRegex = /^(?:(?[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?
0x[a-fA-F0-9]{40})\n\n(?:(?.*)\n\n)?/; +const suffixRegex = /(?:URI: (?.+))\n(?:Version: (?.+))\n(?:Chain ID: (?\d+))\n(?:Nonce: (?[a-zA-Z0-9]+))\n(?:Issued At: (?.+))(?:\nExpiration Time: (?.+))?(?:\nNot Before: (?.+))?(?:\nRequest ID: (?.+))?/; +//# sourceMappingURL=parseSiweMessage.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/siwe/parseSiweMessage.js.map b/node_modules/viem/_cjs/utils/siwe/parseSiweMessage.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f1c4ae6ac05806f78c700d30227ec47e5f97549e --- /dev/null +++ b/node_modules/viem/_cjs/utils/siwe/parseSiweMessage.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parseSiweMessage.js","sourceRoot":"","sources":["../../../utils/siwe/parseSiweMessage.ts"],"names":[],"mappings":";;AA2BA,4CAoCC;AA1DD,MAAM,iBAAiB,GACrB,kEAAkE,CAAA;AAEpE,SAAS,mBAAmB,CAAC,KAAa;IACxC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;AACjD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IAGtC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC5D,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAA;AACxB,CAAC;AASD,SAAgB,gBAAgB,CAC9B,OAAe;IAEf,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;QAClE,EAAE,MAAM,IAAI,EAAE,CAKf,CAAA;IACD,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,GAC1E,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,EAAE,CASxC,CAAA;IACH,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACxE,OAAO;QACL,GAAG,MAAM;QACT,GAAG,MAAM;QACT,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,cAAc;YAChB,CAAC,CAAC,EAAE,cAAc,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAAE;YACvD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpC,CAAA;AACH,CAAC;AAGD,MAAM,WAAW,GACf,0MAA0M,CAAA;AAG5M,MAAM,WAAW,GACf,uQAAuQ,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/siwe/types.js b/node_modules/viem/_cjs/utils/siwe/types.js new file mode 100644 index 0000000000000000000000000000000000000000..11e638d1ee44ae0dcb1feb5aef676ea74a7d4df3 --- /dev/null +++ b/node_modules/viem/_cjs/utils/siwe/types.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/siwe/types.js.map b/node_modules/viem/_cjs/utils/siwe/types.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5930bec7567350bd7a620684726f1eb8f1c7dfbc --- /dev/null +++ b/node_modules/viem/_cjs/utils/siwe/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../utils/siwe/types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/siwe/utils.js b/node_modules/viem/_cjs/utils/siwe/utils.js new file mode 100644 index 0000000000000000000000000000000000000000..e9eb7cd66839954fe27678e2a064f76647c7b304 --- /dev/null +++ b/node_modules/viem/_cjs/utils/siwe/utils.js @@ -0,0 +1,43 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isUri = isUri; +function isUri(value) { + if (/[^a-z0-9:/?#[\]@!$&'()*+,;=.\-_~%]/i.test(value)) + return false; + if (/%[^0-9a-f]/i.test(value)) + return false; + if (/%[0-9a-f](:?[^0-9a-f]|$)/i.test(value)) + return false; + const splitted = splitUri(value); + const scheme = splitted[1]; + const authority = splitted[2]; + const path = splitted[3]; + const query = splitted[4]; + const fragment = splitted[5]; + if (!(scheme?.length && path.length >= 0)) + return false; + if (authority?.length) { + if (!(path.length === 0 || /^\//.test(path))) + return false; + } + else { + if (/^\/\//.test(path)) + return false; + } + if (!/^[a-z][a-z0-9+\-.]*$/.test(scheme.toLowerCase())) + return false; + let out = ''; + out += `${scheme}:`; + if (authority?.length) + out += `//${authority}`; + out += path; + if (query?.length) + out += `?${query}`; + if (fragment?.length) + out += `#${fragment}`; + return out; +} +function splitUri(value) { + return value.match(/(?:([^:/?#]+):)?(?:\/\/([^/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/); +} +//# sourceMappingURL=utils.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/siwe/utils.js.map b/node_modules/viem/_cjs/utils/siwe/utils.js.map new file mode 100644 index 0000000000000000000000000000000000000000..20064be23dbc1fd0a0dfb45df98b8cb6909df156 --- /dev/null +++ b/node_modules/viem/_cjs/utils/siwe/utils.js.map @@ -0,0 +1 @@ +{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../utils/siwe/utils.ts"],"names":[],"mappings":";;AAAA,sBA2CC;AA3CD,SAAgB,KAAK,CAAC,KAAa;IAIjC,IAAI,qCAAqC,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAGnE,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAGzD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC1B,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAG5B,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IAGvD,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;IAC5D,CAAC;SAAM,CAAC;QAEN,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAA;IACtC,CAAC;IAGD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO,KAAK,CAAA;IAEpE,IAAI,GAAG,GAAG,EAAE,CAAA;IAEZ,GAAG,IAAI,GAAG,MAAM,GAAG,CAAA;IACnB,IAAI,SAAS,EAAE,MAAM;QAAE,GAAG,IAAI,KAAK,SAAS,EAAE,CAAA;IAE9C,GAAG,IAAI,IAAI,CAAA;IAEX,IAAI,KAAK,EAAE,MAAM;QAAE,GAAG,IAAI,IAAI,KAAK,EAAE,CAAA;IACrC,IAAI,QAAQ,EAAE,MAAM;QAAE,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAA;IAE3C,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,OAAO,KAAK,CAAC,KAAK,CAChB,oEAAoE,CACpE,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/siwe/validateSiweMessage.js b/node_modules/viem/_cjs/utils/siwe/validateSiweMessage.js new file mode 100644 index 0000000000000000000000000000000000000000..f7e6b0e6202c30f74db28d2db61690560139c89f --- /dev/null +++ b/node_modules/viem/_cjs/utils/siwe/validateSiweMessage.js @@ -0,0 +1,41 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.validateSiweMessage = validateSiweMessage; +const isAddress_js_1 = require("../address/isAddress.js"); +const isAddressEqual_js_1 = require("../address/isAddressEqual.js"); +function validateSiweMessage(parameters) { + const { address, domain, message, nonce, scheme, time = new Date(), } = parameters; + if (domain && message.domain !== domain) + return false; + if (nonce && message.nonce !== nonce) + return false; + if (scheme && message.scheme !== scheme) + return false; + if (Number.isNaN(time.getTime())) + return false; + if (message.expirationTime) { + if (Number.isNaN(message.expirationTime.getTime())) + return false; + if (time >= message.expirationTime) + return false; + } + if (message.notBefore) { + if (Number.isNaN(message.notBefore.getTime())) + return false; + if (time < message.notBefore) + return false; + } + try { + if (!message.address) + return false; + if (!(0, isAddress_js_1.isAddress)(message.address, { strict: false })) + return false; + if (address && !(0, isAddressEqual_js_1.isAddressEqual)(message.address, address)) + return false; + } + catch { + return false; + } + return true; +} +//# sourceMappingURL=validateSiweMessage.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/siwe/validateSiweMessage.js.map b/node_modules/viem/_cjs/utils/siwe/validateSiweMessage.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b49b5349c3d2760966a7cfe58e406d27297c913a --- /dev/null +++ b/node_modules/viem/_cjs/utils/siwe/validateSiweMessage.js.map @@ -0,0 +1 @@ +{"version":3,"file":"validateSiweMessage.js","sourceRoot":"","sources":["../../../utils/siwe/validateSiweMessage.ts"],"names":[],"mappings":";;AA2CA,kDAuCC;AA/ED,0DAAmD;AACnD,oEAA6D;AAuC7D,SAAgB,mBAAmB,CACjC,UAAyC;IAEzC,MAAM,EACJ,OAAO,EACP,MAAM,EACN,OAAO,EACP,KAAK,EACL,MAAM,EACN,IAAI,GAAG,IAAI,IAAI,EAAE,GAClB,GAAG,UAAU,CAAA;IAEd,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,KAAK,CAAA;IACrD,IAAI,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;QAAE,OAAO,KAAK,CAAA;IAClD,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,KAAK,CAAA;IAGrD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,KAAK,CAAA;IAI9C,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAAE,OAAO,KAAK,CAAA;QAChE,IAAI,IAAI,IAAI,OAAO,CAAC,cAAc;YAAE,OAAO,KAAK,CAAA;IAClD,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YAAE,OAAO,KAAK,CAAA;QAC3D,IAAI,IAAI,GAAG,OAAO,CAAC,SAAS;YAAE,OAAO,KAAK,CAAA;IAC5C,CAAC;IAED,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO,KAAK,CAAA;QAClC,IAAI,CAAC,IAAA,wBAAS,EAAC,OAAO,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAAE,OAAO,KAAK,CAAA;QAChE,IAAI,OAAO,IAAI,CAAC,IAAA,kCAAc,EAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;YAAE,OAAO,KAAK,CAAA;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/stateOverride.js b/node_modules/viem/_cjs/utils/stateOverride.js new file mode 100644 index 0000000000000000000000000000000000000000..41c6ad1d02a127064ef5b9aeca3c8f0098c9e35e --- /dev/null +++ b/node_modules/viem/_cjs/utils/stateOverride.js @@ -0,0 +1,62 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.serializeStateMapping = serializeStateMapping; +exports.serializeAccountStateOverride = serializeAccountStateOverride; +exports.serializeStateOverride = serializeStateOverride; +const address_js_1 = require("../errors/address.js"); +const data_js_1 = require("../errors/data.js"); +const stateOverride_js_1 = require("../errors/stateOverride.js"); +const isAddress_js_1 = require("./address/isAddress.js"); +const toHex_js_1 = require("./encoding/toHex.js"); +function serializeStateMapping(stateMapping) { + if (!stateMapping || stateMapping.length === 0) + return undefined; + return stateMapping.reduce((acc, { slot, value }) => { + if (slot.length !== 66) + throw new data_js_1.InvalidBytesLengthError({ + size: slot.length, + targetSize: 66, + type: 'hex', + }); + if (value.length !== 66) + throw new data_js_1.InvalidBytesLengthError({ + size: value.length, + targetSize: 66, + type: 'hex', + }); + acc[slot] = value; + return acc; + }, {}); +} +function serializeAccountStateOverride(parameters) { + const { balance, nonce, state, stateDiff, code } = parameters; + const rpcAccountStateOverride = {}; + if (code !== undefined) + rpcAccountStateOverride.code = code; + if (balance !== undefined) + rpcAccountStateOverride.balance = (0, toHex_js_1.numberToHex)(balance); + if (nonce !== undefined) + rpcAccountStateOverride.nonce = (0, toHex_js_1.numberToHex)(nonce); + if (state !== undefined) + rpcAccountStateOverride.state = serializeStateMapping(state); + if (stateDiff !== undefined) { + if (rpcAccountStateOverride.state) + throw new stateOverride_js_1.StateAssignmentConflictError(); + rpcAccountStateOverride.stateDiff = serializeStateMapping(stateDiff); + } + return rpcAccountStateOverride; +} +function serializeStateOverride(parameters) { + if (!parameters) + return undefined; + const rpcStateOverride = {}; + for (const { address, ...accountState } of parameters) { + if (!(0, isAddress_js_1.isAddress)(address, { strict: false })) + throw new address_js_1.InvalidAddressError({ address }); + if (rpcStateOverride[address]) + throw new stateOverride_js_1.AccountStateConflictError({ address: address }); + rpcStateOverride[address] = serializeAccountStateOverride(accountState); + } + return rpcStateOverride; +} +//# sourceMappingURL=stateOverride.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/stateOverride.js.map b/node_modules/viem/_cjs/utils/stateOverride.js.map new file mode 100644 index 0000000000000000000000000000000000000000..0d177534861cab6eab5ab417e091fb9248527994 --- /dev/null +++ b/node_modules/viem/_cjs/utils/stateOverride.js.map @@ -0,0 +1 @@ +{"version":3,"file":"stateOverride.js","sourceRoot":"","sources":["../../utils/stateOverride.ts"],"names":[],"mappings":";;AA4BA,sDAoBC;AAaD,sEAgBC;AAUD,wDAaC;AApGD,qDAG6B;AAC7B,+CAG0B;AAC1B,iEAKmC;AAOnC,yDAAkD;AAClD,kDAA4E;AAO5E,SAAgB,qBAAqB,CACnC,YAA6C;IAE7C,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAChE,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QAClD,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE;YACpB,MAAM,IAAI,iCAAuB,CAAC;gBAChC,IAAI,EAAE,IAAI,CAAC,MAAM;gBACjB,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,KAAK;aACZ,CAAC,CAAA;QACJ,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE;YACrB,MAAM,IAAI,iCAAuB,CAAC;gBAChC,IAAI,EAAE,KAAK,CAAC,MAAM;gBAClB,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE,KAAK;aACZ,CAAC,CAAA;QACJ,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;QACjB,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAAqB,CAAC,CAAA;AAC3B,CAAC;AAaD,SAAgB,6BAA6B,CAC3C,UAAmD;IAEnD,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,UAAU,CAAA;IAC7D,MAAM,uBAAuB,GAA4B,EAAE,CAAA;IAC3D,IAAI,IAAI,KAAK,SAAS;QAAE,uBAAuB,CAAC,IAAI,GAAG,IAAI,CAAA;IAC3D,IAAI,OAAO,KAAK,SAAS;QACvB,uBAAuB,CAAC,OAAO,GAAG,IAAA,sBAAW,EAAC,OAAO,CAAC,CAAA;IACxD,IAAI,KAAK,KAAK,SAAS;QAAE,uBAAuB,CAAC,KAAK,GAAG,IAAA,sBAAW,EAAC,KAAK,CAAC,CAAA;IAC3E,IAAI,KAAK,KAAK,SAAS;QACrB,uBAAuB,CAAC,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;IAC9D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,uBAAuB,CAAC,KAAK;YAAE,MAAM,IAAI,+CAA4B,EAAE,CAAA;QAC3E,uBAAuB,CAAC,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAA;IACtE,CAAC;IACD,OAAO,uBAAuB,CAAA;AAChC,CAAC;AAUD,SAAgB,sBAAsB,CACpC,UAA6C;IAE7C,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAA;IACjC,MAAM,gBAAgB,GAAqB,EAAE,CAAA;IAC7C,KAAK,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,IAAI,UAAU,EAAE,CAAC;QACtD,IAAI,CAAC,IAAA,wBAAS,EAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACxC,MAAM,IAAI,gCAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QAC5C,IAAI,gBAAgB,CAAC,OAAO,CAAC;YAC3B,MAAM,IAAI,4CAAyB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;QAC3D,gBAAgB,CAAC,OAAO,CAAC,GAAG,6BAA6B,CAAC,YAAY,CAAC,CAAA;IACzE,CAAC;IACD,OAAO,gBAAgB,CAAA;AACzB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/stringify.js b/node_modules/viem/_cjs/utils/stringify.js new file mode 100644 index 0000000000000000000000000000000000000000..8e6a0127f5e7cb684c5ee4ec3f88c88d227f47a3 --- /dev/null +++ b/node_modules/viem/_cjs/utils/stringify.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.stringify = void 0; +const stringify = (value, replacer, space) => JSON.stringify(value, (key, value_) => { + const value = typeof value_ === 'bigint' ? value_.toString() : value_; + return typeof replacer === 'function' ? replacer(key, value) : value; +}, space); +exports.stringify = stringify; +//# sourceMappingURL=stringify.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/stringify.js.map b/node_modules/viem/_cjs/utils/stringify.js.map new file mode 100644 index 0000000000000000000000000000000000000000..601b2cabbedb118a71a7e1710af77dad84380ee5 --- /dev/null +++ b/node_modules/viem/_cjs/utils/stringify.js.map @@ -0,0 +1 @@ +{"version":3,"file":"stringify.js","sourceRoot":"","sources":["../../utils/stringify.ts"],"names":[],"mappings":";;;AAIO,MAAM,SAAS,GAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CACzE,IAAI,CAAC,SAAS,CACZ,KAAK,EACL,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACd,MAAM,KAAK,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;IACrE,OAAO,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AACtE,CAAC,EACD,KAAK,CACN,CAAA;AARU,QAAA,SAAS,aAQnB"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/transaction/assertRequest.js b/node_modules/viem/_cjs/utils/transaction/assertRequest.js new file mode 100644 index 0000000000000000000000000000000000000000..f13f8e30bf44a29159b14e217acc7f0762dc55cb --- /dev/null +++ b/node_modules/viem/_cjs/utils/transaction/assertRequest.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.assertRequest = assertRequest; +const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js"); +const number_js_1 = require("../../constants/number.js"); +const address_js_1 = require("../../errors/address.js"); +const node_js_1 = require("../../errors/node.js"); +const isAddress_js_1 = require("../address/isAddress.js"); +function assertRequest(args) { + const { account: account_, maxFeePerGas, maxPriorityFeePerGas, to } = args; + const account = account_ ? (0, parseAccount_js_1.parseAccount)(account_) : undefined; + if (account && !(0, isAddress_js_1.isAddress)(account.address)) + throw new address_js_1.InvalidAddressError({ address: account.address }); + if (to && !(0, isAddress_js_1.isAddress)(to)) + throw new address_js_1.InvalidAddressError({ address: to }); + if (maxFeePerGas && maxFeePerGas > number_js_1.maxUint256) + throw new node_js_1.FeeCapTooHighError({ maxFeePerGas }); + if (maxPriorityFeePerGas && + maxFeePerGas && + maxPriorityFeePerGas > maxFeePerGas) + throw new node_js_1.TipAboveFeeCapError({ maxFeePerGas, maxPriorityFeePerGas }); +} +//# sourceMappingURL=assertRequest.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/transaction/assertRequest.js.map b/node_modules/viem/_cjs/utils/transaction/assertRequest.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d1f32a08ef6ff066433a672f38f7c6fda4e9379d --- /dev/null +++ b/node_modules/viem/_cjs/utils/transaction/assertRequest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"assertRequest.js","sourceRoot":"","sources":["../../../utils/transaction/assertRequest.ts"],"names":[],"mappings":";;AAkCA,sCAeC;AAjDD,0EAG6C;AAE7C,yDAAsD;AACtD,wDAGgC;AAChC,kDAK6B;AAK7B,0DAAmD;AAcnD,SAAgB,aAAa,CAAC,IAA6B;IACzD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,oBAAoB,EAAE,EAAE,EAAE,GAAG,IAAI,CAAA;IAC1E,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,8BAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7D,IAAI,OAAO,IAAI,CAAC,IAAA,wBAAS,EAAC,OAAO,CAAC,OAAO,CAAC;QACxC,MAAM,IAAI,gCAAmB,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IAC7D,IAAI,EAAE,IAAI,CAAC,IAAA,wBAAS,EAAC,EAAE,CAAC;QAAE,MAAM,IAAI,gCAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;IAExE,IAAI,YAAY,IAAI,YAAY,GAAG,sBAAU;QAC3C,MAAM,IAAI,4BAAkB,CAAC,EAAE,YAAY,EAAE,CAAC,CAAA;IAChD,IACE,oBAAoB;QACpB,YAAY;QACZ,oBAAoB,GAAG,YAAY;QAEnC,MAAM,IAAI,6BAAmB,CAAC,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC,CAAA;AACzE,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/transaction/assertTransaction.js b/node_modules/viem/_cjs/utils/transaction/assertTransaction.js new file mode 100644 index 0000000000000000000000000000000000000000..92467050dfc01362337979a96193b0339c795119 --- /dev/null +++ b/node_modules/viem/_cjs/utils/transaction/assertTransaction.js @@ -0,0 +1,87 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.assertTransactionEIP7702 = assertTransactionEIP7702; +exports.assertTransactionEIP4844 = assertTransactionEIP4844; +exports.assertTransactionEIP1559 = assertTransactionEIP1559; +exports.assertTransactionEIP2930 = assertTransactionEIP2930; +exports.assertTransactionLegacy = assertTransactionLegacy; +const kzg_js_1 = require("../../constants/kzg.js"); +const number_js_1 = require("../../constants/number.js"); +const address_js_1 = require("../../errors/address.js"); +const base_js_1 = require("../../errors/base.js"); +const blob_js_1 = require("../../errors/blob.js"); +const chain_js_1 = require("../../errors/chain.js"); +const node_js_1 = require("../../errors/node.js"); +const isAddress_js_1 = require("../address/isAddress.js"); +const size_js_1 = require("../data/size.js"); +const slice_js_1 = require("../data/slice.js"); +const fromHex_js_1 = require("../encoding/fromHex.js"); +function assertTransactionEIP7702(transaction) { + const { authorizationList } = transaction; + if (authorizationList) { + for (const authorization of authorizationList) { + const { chainId } = authorization; + const address = authorization.address; + if (!(0, isAddress_js_1.isAddress)(address)) + throw new address_js_1.InvalidAddressError({ address }); + if (chainId < 0) + throw new chain_js_1.InvalidChainIdError({ chainId }); + } + } + assertTransactionEIP1559(transaction); +} +function assertTransactionEIP4844(transaction) { + const { blobVersionedHashes } = transaction; + if (blobVersionedHashes) { + if (blobVersionedHashes.length === 0) + throw new blob_js_1.EmptyBlobError(); + for (const hash of blobVersionedHashes) { + const size_ = (0, size_js_1.size)(hash); + const version = (0, fromHex_js_1.hexToNumber)((0, slice_js_1.slice)(hash, 0, 1)); + if (size_ !== 32) + throw new blob_js_1.InvalidVersionedHashSizeError({ hash, size: size_ }); + if (version !== kzg_js_1.versionedHashVersionKzg) + throw new blob_js_1.InvalidVersionedHashVersionError({ + hash, + version, + }); + } + } + assertTransactionEIP1559(transaction); +} +function assertTransactionEIP1559(transaction) { + const { chainId, maxPriorityFeePerGas, maxFeePerGas, to } = transaction; + if (chainId <= 0) + throw new chain_js_1.InvalidChainIdError({ chainId }); + if (to && !(0, isAddress_js_1.isAddress)(to)) + throw new address_js_1.InvalidAddressError({ address: to }); + if (maxFeePerGas && maxFeePerGas > number_js_1.maxUint256) + throw new node_js_1.FeeCapTooHighError({ maxFeePerGas }); + if (maxPriorityFeePerGas && + maxFeePerGas && + maxPriorityFeePerGas > maxFeePerGas) + throw new node_js_1.TipAboveFeeCapError({ maxFeePerGas, maxPriorityFeePerGas }); +} +function assertTransactionEIP2930(transaction) { + const { chainId, maxPriorityFeePerGas, gasPrice, maxFeePerGas, to } = transaction; + if (chainId <= 0) + throw new chain_js_1.InvalidChainIdError({ chainId }); + if (to && !(0, isAddress_js_1.isAddress)(to)) + throw new address_js_1.InvalidAddressError({ address: to }); + if (maxPriorityFeePerGas || maxFeePerGas) + throw new base_js_1.BaseError('`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.'); + if (gasPrice && gasPrice > number_js_1.maxUint256) + throw new node_js_1.FeeCapTooHighError({ maxFeePerGas: gasPrice }); +} +function assertTransactionLegacy(transaction) { + const { chainId, maxPriorityFeePerGas, gasPrice, maxFeePerGas, to } = transaction; + if (to && !(0, isAddress_js_1.isAddress)(to)) + throw new address_js_1.InvalidAddressError({ address: to }); + if (typeof chainId !== 'undefined' && chainId <= 0) + throw new chain_js_1.InvalidChainIdError({ chainId }); + if (maxPriorityFeePerGas || maxFeePerGas) + throw new base_js_1.BaseError('`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.'); + if (gasPrice && gasPrice > number_js_1.maxUint256) + throw new node_js_1.FeeCapTooHighError({ maxFeePerGas: gasPrice }); +} +//# sourceMappingURL=assertTransaction.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/transaction/assertTransaction.js.map b/node_modules/viem/_cjs/utils/transaction/assertTransaction.js.map new file mode 100644 index 0000000000000000000000000000000000000000..67245d1709802600f27ea4336bd565dc97989c63 --- /dev/null +++ b/node_modules/viem/_cjs/utils/transaction/assertTransaction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"assertTransaction.js","sourceRoot":"","sources":["../../../utils/transaction/assertTransaction.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/transaction/getSerializedTransactionType.js b/node_modules/viem/_cjs/utils/transaction/getSerializedTransactionType.js new file mode 100644 index 0000000000000000000000000000000000000000..366133c29fcedfe4d30bb35f1dab986c91b6f7eb --- /dev/null +++ b/node_modules/viem/_cjs/utils/transaction/getSerializedTransactionType.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getSerializedTransactionType = getSerializedTransactionType; +const transaction_js_1 = require("../../errors/transaction.js"); +const slice_js_1 = require("../data/slice.js"); +const fromHex_js_1 = require("../encoding/fromHex.js"); +function getSerializedTransactionType(serializedTransaction) { + const serializedType = (0, slice_js_1.sliceHex)(serializedTransaction, 0, 1); + if (serializedType === '0x04') + return 'eip7702'; + if (serializedType === '0x03') + return 'eip4844'; + if (serializedType === '0x02') + return 'eip1559'; + if (serializedType === '0x01') + return 'eip2930'; + if (serializedType !== '0x' && (0, fromHex_js_1.hexToNumber)(serializedType) >= 0xc0) + return 'legacy'; + throw new transaction_js_1.InvalidSerializedTransactionTypeError({ serializedType }); +} +//# sourceMappingURL=getSerializedTransactionType.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/transaction/getSerializedTransactionType.js.map b/node_modules/viem/_cjs/utils/transaction/getSerializedTransactionType.js.map new file mode 100644 index 0000000000000000000000000000000000000000..295d37f29dcee86ec65b08a196e566730fc496c2 --- /dev/null +++ b/node_modules/viem/_cjs/utils/transaction/getSerializedTransactionType.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getSerializedTransactionType.js","sourceRoot":"","sources":["../../../utils/transaction/getSerializedTransactionType.ts"],"names":[],"mappings":";;AAmDA,oEAuBC;AA1ED,gEAGoC;AAcpC,+CAAmE;AACnE,uDAA+E;AAiC/E,SAAgB,4BAA4B,CAG1C,qBAA4C;IAE5C,MAAM,cAAc,GAAG,IAAA,mBAAQ,EAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAE5D,IAAI,cAAc,KAAK,MAAM;QAC3B,OAAO,SAAgE,CAAA;IAEzE,IAAI,cAAc,KAAK,MAAM;QAC3B,OAAO,SAAgE,CAAA;IAEzE,IAAI,cAAc,KAAK,MAAM;QAC3B,OAAO,SAAgE,CAAA;IAEzE,IAAI,cAAc,KAAK,MAAM;QAC3B,OAAO,SAAgE,CAAA;IAEzE,IAAI,cAAc,KAAK,IAAI,IAAI,IAAA,wBAAW,EAAC,cAAc,CAAC,IAAI,IAAI;QAChE,OAAO,QAA+D,CAAA;IAExE,MAAM,IAAI,sDAAqC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAA;AACrE,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/transaction/getTransactionType.js b/node_modules/viem/_cjs/utils/transaction/getTransactionType.js new file mode 100644 index 0000000000000000000000000000000000000000..70749b54fe9f63728fbe00b3d2ff487415999118 --- /dev/null +++ b/node_modules/viem/_cjs/utils/transaction/getTransactionType.js @@ -0,0 +1,26 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getTransactionType = getTransactionType; +const transaction_js_1 = require("../../errors/transaction.js"); +function getTransactionType(transaction) { + if (transaction.type) + return transaction.type; + if (typeof transaction.authorizationList !== 'undefined') + return 'eip7702'; + if (typeof transaction.blobs !== 'undefined' || + typeof transaction.blobVersionedHashes !== 'undefined' || + typeof transaction.maxFeePerBlobGas !== 'undefined' || + typeof transaction.sidecars !== 'undefined') + return 'eip4844'; + if (typeof transaction.maxFeePerGas !== 'undefined' || + typeof transaction.maxPriorityFeePerGas !== 'undefined') { + return 'eip1559'; + } + if (typeof transaction.gasPrice !== 'undefined') { + if (typeof transaction.accessList !== 'undefined') + return 'eip2930'; + return 'legacy'; + } + throw new transaction_js_1.InvalidSerializableTransactionError({ transaction }); +} +//# sourceMappingURL=getTransactionType.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/transaction/getTransactionType.js.map b/node_modules/viem/_cjs/utils/transaction/getTransactionType.js.map new file mode 100644 index 0000000000000000000000000000000000000000..0d2c94b71f50cd7829979e770d5844e86d296a9b --- /dev/null +++ b/node_modules/viem/_cjs/utils/transaction/getTransactionType.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getTransactionType.js","sourceRoot":"","sources":["../../../utils/transaction/getTransactionType.ts"],"names":[],"mappings":";;AA0CA,gDAgCC;AA1ED,gEAGoC;AAuCpC,SAAgB,kBAAkB,CAIhC,WAAwB;IACxB,IAAI,WAAW,CAAC,IAAI;QAClB,OAAO,WAAW,CAAC,IAAuC,CAAA;IAE5D,IAAI,OAAO,WAAW,CAAC,iBAAiB,KAAK,WAAW;QACtD,OAAO,SAAgB,CAAA;IAEzB,IACE,OAAO,WAAW,CAAC,KAAK,KAAK,WAAW;QACxC,OAAO,WAAW,CAAC,mBAAmB,KAAK,WAAW;QACtD,OAAO,WAAW,CAAC,gBAAgB,KAAK,WAAW;QACnD,OAAO,WAAW,CAAC,QAAQ,KAAK,WAAW;QAE3C,OAAO,SAAgB,CAAA;IAEzB,IACE,OAAO,WAAW,CAAC,YAAY,KAAK,WAAW;QAC/C,OAAO,WAAW,CAAC,oBAAoB,KAAK,WAAW,EACvD,CAAC;QACD,OAAO,SAAgB,CAAA;IACzB,CAAC;IAED,IAAI,OAAO,WAAW,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QAChD,IAAI,OAAO,WAAW,CAAC,UAAU,KAAK,WAAW;YAAE,OAAO,SAAgB,CAAA;QAC1E,OAAO,QAAe,CAAA;IACxB,CAAC;IAED,MAAM,IAAI,oDAAmC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;AAChE,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/transaction/parseTransaction.js b/node_modules/viem/_cjs/utils/transaction/parseTransaction.js new file mode 100644 index 0000000000000000000000000000000000000000..6664c024cb1dac574b19c64f6a12f2488a8cc865 --- /dev/null +++ b/node_modules/viem/_cjs/utils/transaction/parseTransaction.js @@ -0,0 +1,357 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseTransaction = parseTransaction; +exports.toTransactionArray = toTransactionArray; +exports.parseAccessList = parseAccessList; +const address_js_1 = require("../../errors/address.js"); +const transaction_js_1 = require("../../errors/transaction.js"); +const isAddress_js_1 = require("../address/isAddress.js"); +const toBlobSidecars_js_1 = require("../blob/toBlobSidecars.js"); +const isHex_js_1 = require("../data/isHex.js"); +const pad_js_1 = require("../data/pad.js"); +const trim_js_1 = require("../data/trim.js"); +const fromHex_js_1 = require("../encoding/fromHex.js"); +const fromRlp_js_1 = require("../encoding/fromRlp.js"); +const isHash_js_1 = require("../hash/isHash.js"); +const assertTransaction_js_1 = require("./assertTransaction.js"); +const getSerializedTransactionType_js_1 = require("./getSerializedTransactionType.js"); +function parseTransaction(serializedTransaction) { + const type = (0, getSerializedTransactionType_js_1.getSerializedTransactionType)(serializedTransaction); + if (type === 'eip1559') + return parseTransactionEIP1559(serializedTransaction); + if (type === 'eip2930') + return parseTransactionEIP2930(serializedTransaction); + if (type === 'eip4844') + return parseTransactionEIP4844(serializedTransaction); + if (type === 'eip7702') + return parseTransactionEIP7702(serializedTransaction); + return parseTransactionLegacy(serializedTransaction); +} +function parseTransactionEIP7702(serializedTransaction) { + const transactionArray = toTransactionArray(serializedTransaction); + const [chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gas, to, value, data, accessList, authorizationList, v, r, s,] = transactionArray; + if (transactionArray.length !== 10 && transactionArray.length !== 13) + throw new transaction_js_1.InvalidSerializedTransactionError({ + attributes: { + chainId, + nonce, + maxPriorityFeePerGas, + maxFeePerGas, + gas, + to, + value, + data, + accessList, + authorizationList, + ...(transactionArray.length > 9 + ? { + v, + r, + s, + } + : {}), + }, + serializedTransaction, + type: 'eip7702', + }); + const transaction = { + chainId: (0, fromHex_js_1.hexToNumber)(chainId), + type: 'eip7702', + }; + if ((0, isHex_js_1.isHex)(to) && to !== '0x') + transaction.to = to; + if ((0, isHex_js_1.isHex)(gas) && gas !== '0x') + transaction.gas = (0, fromHex_js_1.hexToBigInt)(gas); + if ((0, isHex_js_1.isHex)(data) && data !== '0x') + transaction.data = data; + if ((0, isHex_js_1.isHex)(nonce)) + transaction.nonce = nonce === '0x' ? 0 : (0, fromHex_js_1.hexToNumber)(nonce); + if ((0, isHex_js_1.isHex)(value) && value !== '0x') + transaction.value = (0, fromHex_js_1.hexToBigInt)(value); + if ((0, isHex_js_1.isHex)(maxFeePerGas) && maxFeePerGas !== '0x') + transaction.maxFeePerGas = (0, fromHex_js_1.hexToBigInt)(maxFeePerGas); + if ((0, isHex_js_1.isHex)(maxPriorityFeePerGas) && maxPriorityFeePerGas !== '0x') + transaction.maxPriorityFeePerGas = (0, fromHex_js_1.hexToBigInt)(maxPriorityFeePerGas); + if (accessList.length !== 0 && accessList !== '0x') + transaction.accessList = parseAccessList(accessList); + if (authorizationList.length !== 0 && authorizationList !== '0x') + transaction.authorizationList = parseAuthorizationList(authorizationList); + (0, assertTransaction_js_1.assertTransactionEIP7702)(transaction); + const signature = transactionArray.length === 13 + ? parseEIP155Signature(transactionArray) + : undefined; + return { ...signature, ...transaction }; +} +function parseTransactionEIP4844(serializedTransaction) { + const transactionOrWrapperArray = toTransactionArray(serializedTransaction); + const hasNetworkWrapper = transactionOrWrapperArray.length === 4; + const transactionArray = hasNetworkWrapper + ? transactionOrWrapperArray[0] + : transactionOrWrapperArray; + const wrapperArray = hasNetworkWrapper + ? transactionOrWrapperArray.slice(1) + : []; + const [chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gas, to, value, data, accessList, maxFeePerBlobGas, blobVersionedHashes, v, r, s,] = transactionArray; + const [blobs, commitments, proofs] = wrapperArray; + if (!(transactionArray.length === 11 || transactionArray.length === 14)) + throw new transaction_js_1.InvalidSerializedTransactionError({ + attributes: { + chainId, + nonce, + maxPriorityFeePerGas, + maxFeePerGas, + gas, + to, + value, + data, + accessList, + ...(transactionArray.length > 9 + ? { + v, + r, + s, + } + : {}), + }, + serializedTransaction, + type: 'eip4844', + }); + const transaction = { + blobVersionedHashes: blobVersionedHashes, + chainId: (0, fromHex_js_1.hexToNumber)(chainId), + to, + type: 'eip4844', + }; + if ((0, isHex_js_1.isHex)(gas) && gas !== '0x') + transaction.gas = (0, fromHex_js_1.hexToBigInt)(gas); + if ((0, isHex_js_1.isHex)(data) && data !== '0x') + transaction.data = data; + if ((0, isHex_js_1.isHex)(nonce)) + transaction.nonce = nonce === '0x' ? 0 : (0, fromHex_js_1.hexToNumber)(nonce); + if ((0, isHex_js_1.isHex)(value) && value !== '0x') + transaction.value = (0, fromHex_js_1.hexToBigInt)(value); + if ((0, isHex_js_1.isHex)(maxFeePerBlobGas) && maxFeePerBlobGas !== '0x') + transaction.maxFeePerBlobGas = (0, fromHex_js_1.hexToBigInt)(maxFeePerBlobGas); + if ((0, isHex_js_1.isHex)(maxFeePerGas) && maxFeePerGas !== '0x') + transaction.maxFeePerGas = (0, fromHex_js_1.hexToBigInt)(maxFeePerGas); + if ((0, isHex_js_1.isHex)(maxPriorityFeePerGas) && maxPriorityFeePerGas !== '0x') + transaction.maxPriorityFeePerGas = (0, fromHex_js_1.hexToBigInt)(maxPriorityFeePerGas); + if (accessList.length !== 0 && accessList !== '0x') + transaction.accessList = parseAccessList(accessList); + if (blobs && commitments && proofs) + transaction.sidecars = (0, toBlobSidecars_js_1.toBlobSidecars)({ + blobs: blobs, + commitments: commitments, + proofs: proofs, + }); + (0, assertTransaction_js_1.assertTransactionEIP4844)(transaction); + const signature = transactionArray.length === 14 + ? parseEIP155Signature(transactionArray) + : undefined; + return { ...signature, ...transaction }; +} +function parseTransactionEIP1559(serializedTransaction) { + const transactionArray = toTransactionArray(serializedTransaction); + const [chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gas, to, value, data, accessList, v, r, s,] = transactionArray; + if (!(transactionArray.length === 9 || transactionArray.length === 12)) + throw new transaction_js_1.InvalidSerializedTransactionError({ + attributes: { + chainId, + nonce, + maxPriorityFeePerGas, + maxFeePerGas, + gas, + to, + value, + data, + accessList, + ...(transactionArray.length > 9 + ? { + v, + r, + s, + } + : {}), + }, + serializedTransaction, + type: 'eip1559', + }); + const transaction = { + chainId: (0, fromHex_js_1.hexToNumber)(chainId), + type: 'eip1559', + }; + if ((0, isHex_js_1.isHex)(to) && to !== '0x') + transaction.to = to; + if ((0, isHex_js_1.isHex)(gas) && gas !== '0x') + transaction.gas = (0, fromHex_js_1.hexToBigInt)(gas); + if ((0, isHex_js_1.isHex)(data) && data !== '0x') + transaction.data = data; + if ((0, isHex_js_1.isHex)(nonce)) + transaction.nonce = nonce === '0x' ? 0 : (0, fromHex_js_1.hexToNumber)(nonce); + if ((0, isHex_js_1.isHex)(value) && value !== '0x') + transaction.value = (0, fromHex_js_1.hexToBigInt)(value); + if ((0, isHex_js_1.isHex)(maxFeePerGas) && maxFeePerGas !== '0x') + transaction.maxFeePerGas = (0, fromHex_js_1.hexToBigInt)(maxFeePerGas); + if ((0, isHex_js_1.isHex)(maxPriorityFeePerGas) && maxPriorityFeePerGas !== '0x') + transaction.maxPriorityFeePerGas = (0, fromHex_js_1.hexToBigInt)(maxPriorityFeePerGas); + if (accessList.length !== 0 && accessList !== '0x') + transaction.accessList = parseAccessList(accessList); + (0, assertTransaction_js_1.assertTransactionEIP1559)(transaction); + const signature = transactionArray.length === 12 + ? parseEIP155Signature(transactionArray) + : undefined; + return { ...signature, ...transaction }; +} +function parseTransactionEIP2930(serializedTransaction) { + const transactionArray = toTransactionArray(serializedTransaction); + const [chainId, nonce, gasPrice, gas, to, value, data, accessList, v, r, s] = transactionArray; + if (!(transactionArray.length === 8 || transactionArray.length === 11)) + throw new transaction_js_1.InvalidSerializedTransactionError({ + attributes: { + chainId, + nonce, + gasPrice, + gas, + to, + value, + data, + accessList, + ...(transactionArray.length > 8 + ? { + v, + r, + s, + } + : {}), + }, + serializedTransaction, + type: 'eip2930', + }); + const transaction = { + chainId: (0, fromHex_js_1.hexToNumber)(chainId), + type: 'eip2930', + }; + if ((0, isHex_js_1.isHex)(to) && to !== '0x') + transaction.to = to; + if ((0, isHex_js_1.isHex)(gas) && gas !== '0x') + transaction.gas = (0, fromHex_js_1.hexToBigInt)(gas); + if ((0, isHex_js_1.isHex)(data) && data !== '0x') + transaction.data = data; + if ((0, isHex_js_1.isHex)(nonce)) + transaction.nonce = nonce === '0x' ? 0 : (0, fromHex_js_1.hexToNumber)(nonce); + if ((0, isHex_js_1.isHex)(value) && value !== '0x') + transaction.value = (0, fromHex_js_1.hexToBigInt)(value); + if ((0, isHex_js_1.isHex)(gasPrice) && gasPrice !== '0x') + transaction.gasPrice = (0, fromHex_js_1.hexToBigInt)(gasPrice); + if (accessList.length !== 0 && accessList !== '0x') + transaction.accessList = parseAccessList(accessList); + (0, assertTransaction_js_1.assertTransactionEIP2930)(transaction); + const signature = transactionArray.length === 11 + ? parseEIP155Signature(transactionArray) + : undefined; + return { ...signature, ...transaction }; +} +function parseTransactionLegacy(serializedTransaction) { + const transactionArray = (0, fromRlp_js_1.fromRlp)(serializedTransaction, 'hex'); + const [nonce, gasPrice, gas, to, value, data, chainIdOrV_, r, s] = transactionArray; + if (!(transactionArray.length === 6 || transactionArray.length === 9)) + throw new transaction_js_1.InvalidSerializedTransactionError({ + attributes: { + nonce, + gasPrice, + gas, + to, + value, + data, + ...(transactionArray.length > 6 + ? { + v: chainIdOrV_, + r, + s, + } + : {}), + }, + serializedTransaction, + type: 'legacy', + }); + const transaction = { + type: 'legacy', + }; + if ((0, isHex_js_1.isHex)(to) && to !== '0x') + transaction.to = to; + if ((0, isHex_js_1.isHex)(gas) && gas !== '0x') + transaction.gas = (0, fromHex_js_1.hexToBigInt)(gas); + if ((0, isHex_js_1.isHex)(data) && data !== '0x') + transaction.data = data; + if ((0, isHex_js_1.isHex)(nonce)) + transaction.nonce = nonce === '0x' ? 0 : (0, fromHex_js_1.hexToNumber)(nonce); + if ((0, isHex_js_1.isHex)(value) && value !== '0x') + transaction.value = (0, fromHex_js_1.hexToBigInt)(value); + if ((0, isHex_js_1.isHex)(gasPrice) && gasPrice !== '0x') + transaction.gasPrice = (0, fromHex_js_1.hexToBigInt)(gasPrice); + (0, assertTransaction_js_1.assertTransactionLegacy)(transaction); + if (transactionArray.length === 6) + return transaction; + const chainIdOrV = (0, isHex_js_1.isHex)(chainIdOrV_) && chainIdOrV_ !== '0x' + ? (0, fromHex_js_1.hexToBigInt)(chainIdOrV_) + : 0n; + if (s === '0x' && r === '0x') { + if (chainIdOrV > 0) + transaction.chainId = Number(chainIdOrV); + return transaction; + } + const v = chainIdOrV; + const chainId = Number((v - 35n) / 2n); + if (chainId > 0) + transaction.chainId = chainId; + else if (v !== 27n && v !== 28n) + throw new transaction_js_1.InvalidLegacyVError({ v }); + transaction.v = v; + transaction.s = s; + transaction.r = r; + transaction.yParity = v % 2n === 0n ? 1 : 0; + return transaction; +} +function toTransactionArray(serializedTransaction) { + return (0, fromRlp_js_1.fromRlp)(`0x${serializedTransaction.slice(4)}`, 'hex'); +} +function parseAccessList(accessList_) { + const accessList = []; + for (let i = 0; i < accessList_.length; i++) { + const [address, storageKeys] = accessList_[i]; + if (!(0, isAddress_js_1.isAddress)(address, { strict: false })) + throw new address_js_1.InvalidAddressError({ address }); + accessList.push({ + address: address, + storageKeys: storageKeys.map((key) => ((0, isHash_js_1.isHash)(key) ? key : (0, trim_js_1.trim)(key))), + }); + } + return accessList; +} +function parseAuthorizationList(serializedAuthorizationList) { + const authorizationList = []; + for (let i = 0; i < serializedAuthorizationList.length; i++) { + const [chainId, address, nonce, yParity, r, s] = serializedAuthorizationList[i]; + authorizationList.push({ + address, + chainId: chainId === '0x' ? 0 : (0, fromHex_js_1.hexToNumber)(chainId), + nonce: nonce === '0x' ? 0 : (0, fromHex_js_1.hexToNumber)(nonce), + ...parseEIP155Signature([yParity, r, s]), + }); + } + return authorizationList; +} +function parseEIP155Signature(transactionArray) { + const signature = transactionArray.slice(-3); + const yParity = signature[0] === '0x' ? 0n : (0, fromHex_js_1.hexToBigInt)(signature[0]); + if (yParity !== 0n && yParity !== 1n) + throw new transaction_js_1.InvalidYParityError({ yParity }); + const v = yParity === 0n ? 27n : 28n; + return { + r: (0, pad_js_1.padHex)(signature[1], { size: 32 }), + s: (0, pad_js_1.padHex)(signature[2], { size: 32 }), + v, + yParity: v === 27n ? 0 : 1, + }; +} +//# sourceMappingURL=parseTransaction.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/transaction/parseTransaction.js.map b/node_modules/viem/_cjs/utils/transaction/parseTransaction.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7d99ed2eaf6c4ed1b7205ffdb3c5bb28bc848d60 --- /dev/null +++ b/node_modules/viem/_cjs/utils/transaction/parseTransaction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parseTransaction.js","sourceRoot":"","sources":["../../../utils/transaction/parseTransaction.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/transaction/serializeAccessList.js b/node_modules/viem/_cjs/utils/transaction/serializeAccessList.js new file mode 100644 index 0000000000000000000000000000000000000000..cd92d7a3554e4b922ea28f5288ff76b606f31ae4 --- /dev/null +++ b/node_modules/viem/_cjs/utils/transaction/serializeAccessList.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.serializeAccessList = serializeAccessList; +const address_js_1 = require("../../errors/address.js"); +const transaction_js_1 = require("../../errors/transaction.js"); +const isAddress_js_1 = require("../address/isAddress.js"); +function serializeAccessList(accessList) { + if (!accessList || accessList.length === 0) + return []; + const serializedAccessList = []; + for (let i = 0; i < accessList.length; i++) { + const { address, storageKeys } = accessList[i]; + for (let j = 0; j < storageKeys.length; j++) { + if (storageKeys[j].length - 2 !== 64) { + throw new transaction_js_1.InvalidStorageKeySizeError({ storageKey: storageKeys[j] }); + } + } + if (!(0, isAddress_js_1.isAddress)(address, { strict: false })) { + throw new address_js_1.InvalidAddressError({ address }); + } + serializedAccessList.push([address, storageKeys]); + } + return serializedAccessList; +} +//# sourceMappingURL=serializeAccessList.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/transaction/serializeAccessList.js.map b/node_modules/viem/_cjs/utils/transaction/serializeAccessList.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e488feaf0c7eb5cdf68704b21fb40bdd9df8bc3a --- /dev/null +++ b/node_modules/viem/_cjs/utils/transaction/serializeAccessList.js.map @@ -0,0 +1 @@ +{"version":3,"file":"serializeAccessList.js","sourceRoot":"","sources":["../../../utils/transaction/serializeAccessList.ts"],"names":[],"mappings":";;AA6BA,kDAsBC;AAnDD,wDAGgC;AAChC,gEAGoC;AAIpC,0DAA4E;AAkB5E,SAAgB,mBAAmB,CACjC,UAAmC;IAEnC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAErD,MAAM,oBAAoB,GAAG,EAAE,CAAA;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;gBACrC,MAAM,IAAI,2CAA0B,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YACtE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAA,wBAAS,EAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,gCAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;QAC5C,CAAC;QAED,oBAAoB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,oBAAoB,CAAA;AAC7B,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/transaction/serializeTransaction.js b/node_modules/viem/_cjs/utils/transaction/serializeTransaction.js new file mode 100644 index 0000000000000000000000000000000000000000..6b9836ac5da0844670ee25dc44d7d7dbbfaae770 --- /dev/null +++ b/node_modules/viem/_cjs/utils/transaction/serializeTransaction.js @@ -0,0 +1,219 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.serializeTransaction = serializeTransaction; +exports.toYParitySignatureArray = toYParitySignatureArray; +const transaction_js_1 = require("../../errors/transaction.js"); +const serializeAuthorizationList_js_1 = require("../authorization/serializeAuthorizationList.js"); +const blobsToCommitments_js_1 = require("../blob/blobsToCommitments.js"); +const blobsToProofs_js_1 = require("../blob/blobsToProofs.js"); +const commitmentsToVersionedHashes_js_1 = require("../blob/commitmentsToVersionedHashes.js"); +const toBlobSidecars_js_1 = require("../blob/toBlobSidecars.js"); +const concat_js_1 = require("../data/concat.js"); +const trim_js_1 = require("../data/trim.js"); +const toHex_js_1 = require("../encoding/toHex.js"); +const toRlp_js_1 = require("../encoding/toRlp.js"); +const assertTransaction_js_1 = require("./assertTransaction.js"); +const getTransactionType_js_1 = require("./getTransactionType.js"); +const serializeAccessList_js_1 = require("./serializeAccessList.js"); +function serializeTransaction(transaction, signature) { + const type = (0, getTransactionType_js_1.getTransactionType)(transaction); + if (type === 'eip1559') + return serializeTransactionEIP1559(transaction, signature); + if (type === 'eip2930') + return serializeTransactionEIP2930(transaction, signature); + if (type === 'eip4844') + return serializeTransactionEIP4844(transaction, signature); + if (type === 'eip7702') + return serializeTransactionEIP7702(transaction, signature); + return serializeTransactionLegacy(transaction, signature); +} +function serializeTransactionEIP7702(transaction, signature) { + const { authorizationList, chainId, gas, nonce, to, value, maxFeePerGas, maxPriorityFeePerGas, accessList, data, } = transaction; + (0, assertTransaction_js_1.assertTransactionEIP7702)(transaction); + const serializedAccessList = (0, serializeAccessList_js_1.serializeAccessList)(accessList); + const serializedAuthorizationList = (0, serializeAuthorizationList_js_1.serializeAuthorizationList)(authorizationList); + return (0, concat_js_1.concatHex)([ + '0x04', + (0, toRlp_js_1.toRlp)([ + (0, toHex_js_1.numberToHex)(chainId), + nonce ? (0, toHex_js_1.numberToHex)(nonce) : '0x', + maxPriorityFeePerGas ? (0, toHex_js_1.numberToHex)(maxPriorityFeePerGas) : '0x', + maxFeePerGas ? (0, toHex_js_1.numberToHex)(maxFeePerGas) : '0x', + gas ? (0, toHex_js_1.numberToHex)(gas) : '0x', + to ?? '0x', + value ? (0, toHex_js_1.numberToHex)(value) : '0x', + data ?? '0x', + serializedAccessList, + serializedAuthorizationList, + ...toYParitySignatureArray(transaction, signature), + ]), + ]); +} +function serializeTransactionEIP4844(transaction, signature) { + const { chainId, gas, nonce, to, value, maxFeePerBlobGas, maxFeePerGas, maxPriorityFeePerGas, accessList, data, } = transaction; + (0, assertTransaction_js_1.assertTransactionEIP4844)(transaction); + let blobVersionedHashes = transaction.blobVersionedHashes; + let sidecars = transaction.sidecars; + if (transaction.blobs && + (typeof blobVersionedHashes === 'undefined' || + typeof sidecars === 'undefined')) { + const blobs = (typeof transaction.blobs[0] === 'string' + ? transaction.blobs + : transaction.blobs.map((x) => (0, toHex_js_1.bytesToHex)(x))); + const kzg = transaction.kzg; + const commitments = (0, blobsToCommitments_js_1.blobsToCommitments)({ + blobs, + kzg, + }); + if (typeof blobVersionedHashes === 'undefined') + blobVersionedHashes = (0, commitmentsToVersionedHashes_js_1.commitmentsToVersionedHashes)({ + commitments, + }); + if (typeof sidecars === 'undefined') { + const proofs = (0, blobsToProofs_js_1.blobsToProofs)({ blobs, commitments, kzg }); + sidecars = (0, toBlobSidecars_js_1.toBlobSidecars)({ blobs, commitments, proofs }); + } + } + const serializedAccessList = (0, serializeAccessList_js_1.serializeAccessList)(accessList); + const serializedTransaction = [ + (0, toHex_js_1.numberToHex)(chainId), + nonce ? (0, toHex_js_1.numberToHex)(nonce) : '0x', + maxPriorityFeePerGas ? (0, toHex_js_1.numberToHex)(maxPriorityFeePerGas) : '0x', + maxFeePerGas ? (0, toHex_js_1.numberToHex)(maxFeePerGas) : '0x', + gas ? (0, toHex_js_1.numberToHex)(gas) : '0x', + to ?? '0x', + value ? (0, toHex_js_1.numberToHex)(value) : '0x', + data ?? '0x', + serializedAccessList, + maxFeePerBlobGas ? (0, toHex_js_1.numberToHex)(maxFeePerBlobGas) : '0x', + blobVersionedHashes ?? [], + ...toYParitySignatureArray(transaction, signature), + ]; + const blobs = []; + const commitments = []; + const proofs = []; + if (sidecars) + for (let i = 0; i < sidecars.length; i++) { + const { blob, commitment, proof } = sidecars[i]; + blobs.push(blob); + commitments.push(commitment); + proofs.push(proof); + } + return (0, concat_js_1.concatHex)([ + '0x03', + sidecars + ? + (0, toRlp_js_1.toRlp)([serializedTransaction, blobs, commitments, proofs]) + : + (0, toRlp_js_1.toRlp)(serializedTransaction), + ]); +} +function serializeTransactionEIP1559(transaction, signature) { + const { chainId, gas, nonce, to, value, maxFeePerGas, maxPriorityFeePerGas, accessList, data, } = transaction; + (0, assertTransaction_js_1.assertTransactionEIP1559)(transaction); + const serializedAccessList = (0, serializeAccessList_js_1.serializeAccessList)(accessList); + const serializedTransaction = [ + (0, toHex_js_1.numberToHex)(chainId), + nonce ? (0, toHex_js_1.numberToHex)(nonce) : '0x', + maxPriorityFeePerGas ? (0, toHex_js_1.numberToHex)(maxPriorityFeePerGas) : '0x', + maxFeePerGas ? (0, toHex_js_1.numberToHex)(maxFeePerGas) : '0x', + gas ? (0, toHex_js_1.numberToHex)(gas) : '0x', + to ?? '0x', + value ? (0, toHex_js_1.numberToHex)(value) : '0x', + data ?? '0x', + serializedAccessList, + ...toYParitySignatureArray(transaction, signature), + ]; + return (0, concat_js_1.concatHex)([ + '0x02', + (0, toRlp_js_1.toRlp)(serializedTransaction), + ]); +} +function serializeTransactionEIP2930(transaction, signature) { + const { chainId, gas, data, nonce, to, value, accessList, gasPrice } = transaction; + (0, assertTransaction_js_1.assertTransactionEIP2930)(transaction); + const serializedAccessList = (0, serializeAccessList_js_1.serializeAccessList)(accessList); + const serializedTransaction = [ + (0, toHex_js_1.numberToHex)(chainId), + nonce ? (0, toHex_js_1.numberToHex)(nonce) : '0x', + gasPrice ? (0, toHex_js_1.numberToHex)(gasPrice) : '0x', + gas ? (0, toHex_js_1.numberToHex)(gas) : '0x', + to ?? '0x', + value ? (0, toHex_js_1.numberToHex)(value) : '0x', + data ?? '0x', + serializedAccessList, + ...toYParitySignatureArray(transaction, signature), + ]; + return (0, concat_js_1.concatHex)([ + '0x01', + (0, toRlp_js_1.toRlp)(serializedTransaction), + ]); +} +function serializeTransactionLegacy(transaction, signature) { + const { chainId = 0, gas, data, nonce, to, value, gasPrice } = transaction; + (0, assertTransaction_js_1.assertTransactionLegacy)(transaction); + let serializedTransaction = [ + nonce ? (0, toHex_js_1.numberToHex)(nonce) : '0x', + gasPrice ? (0, toHex_js_1.numberToHex)(gasPrice) : '0x', + gas ? (0, toHex_js_1.numberToHex)(gas) : '0x', + to ?? '0x', + value ? (0, toHex_js_1.numberToHex)(value) : '0x', + data ?? '0x', + ]; + if (signature) { + const v = (() => { + if (signature.v >= 35n) { + const inferredChainId = (signature.v - 35n) / 2n; + if (inferredChainId > 0) + return signature.v; + return 27n + (signature.v === 35n ? 0n : 1n); + } + if (chainId > 0) + return BigInt(chainId * 2) + BigInt(35n + signature.v - 27n); + const v = 27n + (signature.v === 27n ? 0n : 1n); + if (signature.v !== v) + throw new transaction_js_1.InvalidLegacyVError({ v: signature.v }); + return v; + })(); + const r = (0, trim_js_1.trim)(signature.r); + const s = (0, trim_js_1.trim)(signature.s); + serializedTransaction = [ + ...serializedTransaction, + (0, toHex_js_1.numberToHex)(v), + r === '0x00' ? '0x' : r, + s === '0x00' ? '0x' : s, + ]; + } + else if (chainId > 0) { + serializedTransaction = [ + ...serializedTransaction, + (0, toHex_js_1.numberToHex)(chainId), + '0x', + '0x', + ]; + } + return (0, toRlp_js_1.toRlp)(serializedTransaction); +} +function toYParitySignatureArray(transaction, signature_) { + const signature = signature_ ?? transaction; + const { v, yParity } = signature; + if (typeof signature.r === 'undefined') + return []; + if (typeof signature.s === 'undefined') + return []; + if (typeof v === 'undefined' && typeof yParity === 'undefined') + return []; + const r = (0, trim_js_1.trim)(signature.r); + const s = (0, trim_js_1.trim)(signature.s); + const yParity_ = (() => { + if (typeof yParity === 'number') + return yParity ? (0, toHex_js_1.numberToHex)(1) : '0x'; + if (v === 0n) + return '0x'; + if (v === 1n) + return (0, toHex_js_1.numberToHex)(1); + return v === 27n ? '0x' : (0, toHex_js_1.numberToHex)(1); + })(); + return [yParity_, r === '0x00' ? '0x' : r, s === '0x00' ? '0x' : s]; +} +//# sourceMappingURL=serializeTransaction.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/transaction/serializeTransaction.js.map b/node_modules/viem/_cjs/utils/transaction/serializeTransaction.js.map new file mode 100644 index 0000000000000000000000000000000000000000..abad17f51f0ba7764c2863f0b1fbe3a8edad5b5a --- /dev/null +++ b/node_modules/viem/_cjs/utils/transaction/serializeTransaction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"serializeTransaction.js","sourceRoot":"","sources":["../../../utils/transaction/serializeTransaction.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/typedData.js b/node_modules/viem/_cjs/utils/typedData.js new file mode 100644 index 0000000000000000000000000000000000000000..80a326784bb09fe5297c795f3dbcc0b21d0d6a41 --- /dev/null +++ b/node_modules/viem/_cjs/utils/typedData.js @@ -0,0 +1,122 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.serializeTypedData = serializeTypedData; +exports.validateTypedData = validateTypedData; +exports.getTypesForEIP712Domain = getTypesForEIP712Domain; +exports.domainSeparator = domainSeparator; +const abi_js_1 = require("../errors/abi.js"); +const address_js_1 = require("../errors/address.js"); +const typedData_js_1 = require("../errors/typedData.js"); +const isAddress_js_1 = require("./address/isAddress.js"); +const size_js_1 = require("./data/size.js"); +const toHex_js_1 = require("./encoding/toHex.js"); +const regex_js_1 = require("./regex.js"); +const hashTypedData_js_1 = require("./signature/hashTypedData.js"); +const stringify_js_1 = require("./stringify.js"); +function serializeTypedData(parameters) { + const { domain: domain_, message: message_, primaryType, types, } = parameters; + const normalizeData = (struct, data_) => { + const data = { ...data_ }; + for (const param of struct) { + const { name, type } = param; + if (type === 'address') + data[name] = data[name].toLowerCase(); + } + return data; + }; + const domain = (() => { + if (!types.EIP712Domain) + return {}; + if (!domain_) + return {}; + return normalizeData(types.EIP712Domain, domain_); + })(); + const message = (() => { + if (primaryType === 'EIP712Domain') + return undefined; + return normalizeData(types[primaryType], message_); + })(); + return (0, stringify_js_1.stringify)({ domain, message, primaryType, types }); +} +function validateTypedData(parameters) { + const { domain, message, primaryType, types } = parameters; + const validateData = (struct, data) => { + for (const param of struct) { + const { name, type } = param; + const value = data[name]; + const baseType = type.replace(/(\[[0-9]*\])+$/, ''); + if (baseType === 'int' || baseType === 'uint') + throw new typedData_js_1.InvalidTypedDataTypeError({ type }); + const integerMatch = type.match(regex_js_1.integerRegex); + if (integerMatch && + (typeof value === 'number' || typeof value === 'bigint')) { + const [_type, base, size_] = integerMatch; + (0, toHex_js_1.numberToHex)(value, { + signed: base === 'int', + size: Number.parseInt(size_, 10) / 8, + }); + } + if (type === 'address' && typeof value === 'string' && !(0, isAddress_js_1.isAddress)(value)) + throw new address_js_1.InvalidAddressError({ address: value }); + const bytesMatch = type.match(regex_js_1.bytesRegex); + if (bytesMatch) { + const [_type, size_] = bytesMatch; + if (size_ && (0, size_js_1.size)(value) !== Number.parseInt(size_, 10)) + throw new abi_js_1.BytesSizeMismatchError({ + expectedSize: Number.parseInt(size_, 10), + givenSize: (0, size_js_1.size)(value), + }); + } + const struct = types[type]; + if (struct) { + validateReference(type); + validateData(struct, value); + } + } + }; + if (types.EIP712Domain && domain) { + if (typeof domain !== 'object') + throw new typedData_js_1.InvalidDomainError({ domain }); + validateData(types.EIP712Domain, domain); + } + if (primaryType !== 'EIP712Domain') { + if (types[primaryType]) + validateData(types[primaryType], message); + else + throw new typedData_js_1.InvalidPrimaryTypeError({ primaryType, types }); + } +} +function getTypesForEIP712Domain({ domain, }) { + return [ + typeof domain?.name === 'string' && { name: 'name', type: 'string' }, + domain?.version && { name: 'version', type: 'string' }, + (typeof domain?.chainId === 'number' || + typeof domain?.chainId === 'bigint') && { + name: 'chainId', + type: 'uint256', + }, + domain?.verifyingContract && { + name: 'verifyingContract', + type: 'address', + }, + domain?.salt && { name: 'salt', type: 'bytes32' }, + ].filter(Boolean); +} +function domainSeparator({ domain }) { + return (0, hashTypedData_js_1.hashDomain)({ + domain: domain, + types: { + EIP712Domain: getTypesForEIP712Domain({ domain }), + }, + }); +} +function validateReference(type) { + if (type === 'address' || + type === 'bool' || + type === 'string' || + type.startsWith('bytes') || + type.startsWith('uint') || + type.startsWith('int')) + throw new typedData_js_1.InvalidStructTypeError({ type }); +} +//# sourceMappingURL=typedData.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/typedData.js.map b/node_modules/viem/_cjs/utils/typedData.js.map new file mode 100644 index 0000000000000000000000000000000000000000..0fb462d5009f64d4fc33ee8dd916bdc57ce8a747 --- /dev/null +++ b/node_modules/viem/_cjs/utils/typedData.js.map @@ -0,0 +1 @@ +{"version":3,"file":"typedData.js","sourceRoot":"","sources":["../../utils/typedData.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/uid.js b/node_modules/viem/_cjs/utils/uid.js new file mode 100644 index 0000000000000000000000000000000000000000..ec8d56438325924d239c61673874e9a66944ad95 --- /dev/null +++ b/node_modules/viem/_cjs/utils/uid.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.uid = uid; +const size = 256; +let index = size; +let buffer; +function uid(length = 11) { + if (!buffer || index + length > size * 2) { + buffer = ''; + index = 0; + for (let i = 0; i < size; i++) { + buffer += ((256 + Math.random() * 256) | 0).toString(16).substring(1); + } + } + return buffer.substring(index, index++ + length); +} +//# sourceMappingURL=uid.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/uid.js.map b/node_modules/viem/_cjs/utils/uid.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7319d5befadab27745c0693483fd28304db2f553 --- /dev/null +++ b/node_modules/viem/_cjs/utils/uid.js.map @@ -0,0 +1 @@ +{"version":3,"file":"uid.js","sourceRoot":"","sources":["../../utils/uid.ts"],"names":[],"mappings":";;AAIA,kBASC;AAbD,MAAM,IAAI,GAAG,GAAG,CAAA;AAChB,IAAI,KAAK,GAAG,IAAI,CAAA;AAChB,IAAI,MAAc,CAAA;AAElB,SAAgB,GAAG,CAAC,MAAM,GAAG,EAAE;IAC7B,IAAI,CAAC,MAAM,IAAI,KAAK,GAAG,MAAM,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,GAAG,EAAE,CAAA;QACX,KAAK,GAAG,CAAC,CAAA;QACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QACvE,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,CAAA;AAClD,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/unit/Value.js b/node_modules/viem/_cjs/utils/unit/Value.js new file mode 100644 index 0000000000000000000000000000000000000000..35fa2288308fe2a25b0a95711831c549cb71e703 --- /dev/null +++ b/node_modules/viem/_cjs/utils/unit/Value.js @@ -0,0 +1,118 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.format = format; +exports.formatEther = formatEther; +exports.formatGwei = formatGwei; +exports.from = from; +exports.fromEther = fromEther; +exports.fromGwei = fromGwei; +const exponents = { + wei: 0, + gwei: 9, + szabo: 12, + finney: 15, + ether: 18, +}; +function format(value, decimals = 0) { + if (!Number.isInteger(decimals) || decimals < 0) + throw new InvalidDecimalsError({ decimals }); + let display = value.toString(); + const negative = display.startsWith('-'); + if (negative) + display = display.slice(1); + display = display.padStart(decimals, '0'); + let [integer, fraction] = [ + display.slice(0, display.length - decimals), + display.slice(display.length - decimals), + ]; + fraction = fraction.replace(/(0+)$/, ''); + return `${negative ? '-' : ''}${integer || '0'}${fraction ? `.${fraction}` : ''}`; +} +function formatEther(wei, unit = 'wei') { + return format(wei, exponents.ether - exponents[unit]); +} +function formatGwei(wei, unit = 'wei') { + return format(wei, exponents.gwei - exponents[unit]); +} +function from(value, decimals = 0) { + if (!Number.isInteger(decimals) || decimals < 0) + throw new InvalidDecimalsError({ decimals }); + if (!/^-?(?:[0-9]+(?:\.[0-9]*)?|\.[0-9]+)$/.test(value)) + throw new InvalidDecimalNumberError({ value }); + let [integer = '', fraction = '0'] = value.split('.'); + const negative = integer.startsWith('-'); + if (negative) + integer = integer.slice(1); + if (integer === '') + integer = '0'; + fraction = fraction.replace(/(0+)$/, ''); + if (decimals === 0) { + if (fraction.length > 0 && Number.parseInt(fraction[0], 10) >= 5) + integer = `${BigInt(integer) + 1n}`; + fraction = ''; + } + else if (fraction.length > decimals) { + const left = fraction.slice(0, decimals); + const roundDigit = Number.parseInt(fraction.slice(decimals, decimals + 1), 10); + if (roundDigit >= 5) { + const carried = carry(left); + if (carried.length > decimals) { + fraction = carried.slice(1); + integer = `${BigInt(integer) + 1n}`; + } + else { + fraction = carried; + } + } + else { + fraction = left; + } + } + else { + fraction = fraction.padEnd(decimals, '0'); + } + return BigInt(`${negative ? '-' : ''}${integer}${fraction}`); +} +function carry(digits) { + const out = digits.split(''); + let i = out.length - 1; + while (i >= 0) { + const d = Number.parseInt(out[i], 10) + 1; + if (d < 10) { + out[i] = String(d); + return out.join(''); + } + out[i] = '0'; + i--; + } + return `1${out.join('')}`; +} +function fromEther(ether, unit = 'wei') { + return from(ether, exponents.ether - exponents[unit]); +} +function fromGwei(gwei, unit = 'wei') { + return from(gwei, exponents.gwei - exponents[unit]); +} +class InvalidDecimalNumberError extends Error { + constructor({ value }) { + super(`Value \`${value}\` is not a valid decimal number.`); + Object.defineProperty(this, "name", { + enumerable: true, + configurable: true, + writable: true, + value: 'Value.InvalidDecimalNumberError' + }); + } +} +class InvalidDecimalsError extends Error { + constructor({ decimals }) { + super(`\`decimals\` must be a non-negative integer. Got \`${decimals}\`.`); + Object.defineProperty(this, "name", { + enumerable: true, + configurable: true, + writable: true, + value: 'Value.InvalidDecimalsError' + }); + } +} +//# sourceMappingURL=Value.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/unit/Value.js.map b/node_modules/viem/_cjs/utils/unit/Value.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e5dbff93308187803314b2e421c2e82d301f764e --- /dev/null +++ b/node_modules/viem/_cjs/utils/unit/Value.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Value.js","sourceRoot":"","sources":["../../../utils/unit/Value.ts"],"names":[],"mappings":";;AA0BA,wBAmBC;AAqBD,kCAKC;AAqBD,gCAEC;AAqBD,oBAmDC;AA2CD,8BAKC;AAqBD,4BAEC;AA1OD,MAAM,SAAS,GAAG;IAChB,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;CACD,CAAA;AAiBV,SAAgB,MAAM,CAAC,KAAa,EAAE,QAAQ,GAAG,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;QAC7C,MAAM,IAAI,oBAAoB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAE9C,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;IAE9B,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,QAAQ;QAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAExC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAEzC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG;QACxB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;KACzC,CAAA;IACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IACxC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,IAAI,GAAG,GAC5C,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAC9B,EAAE,CAAA;AACJ,CAAC;AAqBD,SAAgB,WAAW,CACzB,GAAW,EACX,OAA4C,KAAK;IAEjD,OAAO,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AACvD,CAAC;AAqBD,SAAgB,UAAU,CAAC,GAAW,EAAE,OAAc,KAAK;IACzD,OAAO,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AACtD,CAAC;AAqBD,SAAgB,IAAI,CAAC,KAAa,EAAE,QAAQ,GAAG,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;QAC7C,MAAM,IAAI,oBAAoB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAK9C,IAAI,CAAC,sCAAsC,CAAC,IAAI,CAAC,KAAK,CAAC;QACrD,MAAM,IAAI,yBAAyB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IAEhD,IAAI,CAAC,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAErD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,QAAQ;QAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACxC,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,GAAG,GAAG,CAAA;IAGjC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAGxC,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QAEnB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,IAAI,CAAC;YAC/D,OAAO,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAA;QACrC,QAAQ,GAAG,EAAE,CAAA;IACf,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;QACxC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAChC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAE,EACvC,EAAE,CACH,CAAA;QAED,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YAGpB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;YAC3B,IAAI,OAAO,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;gBAE9B,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC3B,OAAO,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAA;YACrC,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,OAAO,CAAA;YACpB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,IAAI,CAAA;QACjB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC3C,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,QAAQ,EAAE,CAAC,CAAA;AAC9D,CAAC;AASD,SAAS,KAAK,CAAC,MAAc;IAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC5B,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;IACtB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACd,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;QAC1C,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACX,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;YAClB,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrB,CAAC;QACD,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;QACZ,CAAC,EAAE,CAAA;IACL,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAA;AAC3B,CAAC;AAqBD,SAAgB,SAAS,CACvB,KAAa,EACb,OAA4C,KAAK;IAEjD,OAAO,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AACvD,CAAC;AAqBD,SAAgB,QAAQ,CAAC,IAAY,EAAE,OAAc,KAAK;IACxD,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AACrD,CAAC;AAiBD,MAAM,yBAA0B,SAAQ,KAAK;IAE3C,YAAY,EAAE,KAAK,EAAqB;QACtC,KAAK,CAAC,WAAW,KAAK,mCAAmC,CAAC,CAAA;QAF1C;;;;mBAAO,iCAAiC;WAAA;IAG1D,CAAC;CACF;AAaD,MAAM,oBAAqB,SAAQ,KAAK;IAEtC,YAAY,EAAE,QAAQ,EAAwB;QAC5C,KAAK,CAAC,sDAAsD,QAAQ,KAAK,CAAC,CAAA;QAF1D;;;;mBAAO,4BAA4B;WAAA;IAGrD,CAAC;CACF"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/unit/formatEther.js b/node_modules/viem/_cjs/utils/unit/formatEther.js new file mode 100644 index 0000000000000000000000000000000000000000..7fb3809ff1db084f4a006486313288ecc55155a5 --- /dev/null +++ b/node_modules/viem/_cjs/utils/unit/formatEther.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.formatEther = formatEther; +const Value = require("./Value.js"); +function formatEther(wei, unit = 'wei') { + return Value.formatEther(wei, unit); +} +//# sourceMappingURL=formatEther.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/unit/formatEther.js.map b/node_modules/viem/_cjs/utils/unit/formatEther.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8cdade9fd160c22c99fb1fc3050a4434bc63d564 --- /dev/null +++ b/node_modules/viem/_cjs/utils/unit/formatEther.js.map @@ -0,0 +1 @@ +{"version":3,"file":"formatEther.js","sourceRoot":"","sources":["../../../utils/unit/formatEther.ts"],"names":[],"mappings":";;AAgBA,kCAEC;AAjBD,oCAAmC;AAenC,SAAgB,WAAW,CAAC,GAAW,EAAE,OAAuB,KAAK;IACnE,OAAO,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AACrC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/unit/formatGwei.js b/node_modules/viem/_cjs/utils/unit/formatGwei.js new file mode 100644 index 0000000000000000000000000000000000000000..f2b90e14205506e6998d5bbe87872e7a3dcc7e31 --- /dev/null +++ b/node_modules/viem/_cjs/utils/unit/formatGwei.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.formatGwei = formatGwei; +const Value = require("./Value.js"); +function formatGwei(wei, unit = 'wei') { + return Value.formatGwei(wei, unit); +} +//# sourceMappingURL=formatGwei.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/unit/formatGwei.js.map b/node_modules/viem/_cjs/utils/unit/formatGwei.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ab6c293c7f2d4083982a855c261e392c67788c05 --- /dev/null +++ b/node_modules/viem/_cjs/utils/unit/formatGwei.js.map @@ -0,0 +1 @@ +{"version":3,"file":"formatGwei.js","sourceRoot":"","sources":["../../../utils/unit/formatGwei.ts"],"names":[],"mappings":";;AAgBA,gCAEC;AAjBD,oCAAmC;AAenC,SAAgB,UAAU,CAAC,GAAW,EAAE,OAAc,KAAK;IACzD,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AACpC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/unit/formatUnits.js b/node_modules/viem/_cjs/utils/unit/formatUnits.js new file mode 100644 index 0000000000000000000000000000000000000000..038931c436c3fe6c9175ffb8ef4c5405f8fa9f76 --- /dev/null +++ b/node_modules/viem/_cjs/utils/unit/formatUnits.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.formatUnits = formatUnits; +const Value = require("./Value.js"); +function formatUnits(value, decimals) { + return Value.format(value, decimals); +} +//# sourceMappingURL=formatUnits.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/unit/formatUnits.js.map b/node_modules/viem/_cjs/utils/unit/formatUnits.js.map new file mode 100644 index 0000000000000000000000000000000000000000..673091cc6bad140c81d1bcb17b116d39622149b7 --- /dev/null +++ b/node_modules/viem/_cjs/utils/unit/formatUnits.js.map @@ -0,0 +1 @@ +{"version":3,"file":"formatUnits.js","sourceRoot":"","sources":["../../../utils/unit/formatUnits.ts"],"names":[],"mappings":";;AAgBA,kCAEC;AAjBD,oCAAmC;AAenC,SAAgB,WAAW,CAAC,KAAa,EAAE,QAAgB;IACzD,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AACtC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/unit/parseEther.js b/node_modules/viem/_cjs/utils/unit/parseEther.js new file mode 100644 index 0000000000000000000000000000000000000000..664cfbeca5563e371011407f48a63bd42809b94e --- /dev/null +++ b/node_modules/viem/_cjs/utils/unit/parseEther.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseEther = parseEther; +const Value = require("./Value.js"); +function parseEther(ether, unit = 'wei') { + return Value.fromEther(ether, unit); +} +//# sourceMappingURL=parseEther.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/unit/parseEther.js.map b/node_modules/viem/_cjs/utils/unit/parseEther.js.map new file mode 100644 index 0000000000000000000000000000000000000000..bfb296c8492abbcc41bb17040c37bbd1f52e58ae --- /dev/null +++ b/node_modules/viem/_cjs/utils/unit/parseEther.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parseEther.js","sourceRoot":"","sources":["../../../utils/unit/parseEther.ts"],"names":[],"mappings":";;AAiBA,gCAEC;AAjBD,oCAAmC;AAenC,SAAgB,UAAU,CAAC,KAAa,EAAE,OAAuB,KAAK;IACpE,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;AACrC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/unit/parseGwei.js b/node_modules/viem/_cjs/utils/unit/parseGwei.js new file mode 100644 index 0000000000000000000000000000000000000000..65e9663191b476ddd978a6d4d47a3effb47822ac --- /dev/null +++ b/node_modules/viem/_cjs/utils/unit/parseGwei.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseGwei = parseGwei; +const Value = require("./Value.js"); +function parseGwei(ether, unit = 'wei') { + return Value.fromGwei(ether, unit); +} +//# sourceMappingURL=parseGwei.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/unit/parseGwei.js.map b/node_modules/viem/_cjs/utils/unit/parseGwei.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ba8678156c2588b7002a0ea7975fd184e7bee51a --- /dev/null +++ b/node_modules/viem/_cjs/utils/unit/parseGwei.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parseGwei.js","sourceRoot":"","sources":["../../../utils/unit/parseGwei.ts"],"names":[],"mappings":";;AAiBA,8BAEC;AAjBD,oCAAmC;AAenC,SAAgB,SAAS,CAAC,KAAa,EAAE,OAAc,KAAK;IAC1D,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;AACpC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/unit/parseUnits.js b/node_modules/viem/_cjs/utils/unit/parseUnits.js new file mode 100644 index 0000000000000000000000000000000000000000..bd3f76d9148ef55181bb88f6838aae1c486cde77 --- /dev/null +++ b/node_modules/viem/_cjs/utils/unit/parseUnits.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseUnits = parseUnits; +const Value = require("./Value.js"); +function parseUnits(value, decimals) { + return Value.from(value, decimals); +} +//# sourceMappingURL=parseUnits.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/unit/parseUnits.js.map b/node_modules/viem/_cjs/utils/unit/parseUnits.js.map new file mode 100644 index 0000000000000000000000000000000000000000..2767ef0c5d8ea507b7c1d721f08125ebb0f50fa7 --- /dev/null +++ b/node_modules/viem/_cjs/utils/unit/parseUnits.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parseUnits.js","sourceRoot":"","sources":["../../../utils/unit/parseUnits.ts"],"names":[],"mappings":";;AAgBA,gCAEC;AAjBD,oCAAmC;AAenC,SAAgB,UAAU,CAAC,KAAa,EAAE,QAAgB;IACxD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AACpC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/wait.js b/node_modules/viem/_cjs/utils/wait.js new file mode 100644 index 0000000000000000000000000000000000000000..1fe0acabb167b594f7c007cd5408ec8a5a33dbba --- /dev/null +++ b/node_modules/viem/_cjs/utils/wait.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.wait = wait; +const utils_js_1 = require("../errors/utils.js"); +async function wait(time, { signal } = {}) { + return new Promise((resolve, reject) => { + if (signal?.aborted) { + reject((0, utils_js_1.getAbortError)(signal)); + return; + } + const cleanup = () => signal?.removeEventListener('abort', onAbort); + const timeout = setTimeout(() => { + cleanup(); + resolve(); + }, time); + const onAbort = () => { + clearTimeout(timeout); + cleanup(); + reject((0, utils_js_1.getAbortError)(signal)); + }; + signal?.addEventListener('abort', onAbort, { once: true }); + }); +} +//# sourceMappingURL=wait.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/utils/wait.js.map b/node_modules/viem/_cjs/utils/wait.js.map new file mode 100644 index 0000000000000000000000000000000000000000..15e04bbd41c30e2abead8af6f0a6c0b7b7d0343d --- /dev/null +++ b/node_modules/viem/_cjs/utils/wait.js.map @@ -0,0 +1 @@ +{"version":3,"file":"wait.js","sourceRoot":"","sources":["../../utils/wait.ts"],"names":[],"mappings":";;AAEA,oBAsBC;AAxBD,iDAAkD;AAE3C,KAAK,UAAU,IAAI,CACxB,IAAY,EACZ,EAAE,MAAM,KAA2C,EAAE;IAErD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,IAAA,wBAAa,EAAC,MAAM,CAAC,CAAC,CAAA;YAC7B,OAAM;QACR,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACnE,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,OAAO,EAAE,CAAA;YACT,OAAO,EAAE,CAAA;QACX,CAAC,EAAE,IAAI,CAAC,CAAA;QACR,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,OAAO,CAAC,CAAA;YACrB,OAAO,EAAE,CAAA;YACT,MAAM,CAAC,IAAA,wBAAa,EAAC,MAAM,CAAC,CAAC,CAAA;QAC/B,CAAC,CAAA;QACD,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/window/index.js b/node_modules/viem/_cjs/window/index.js new file mode 100644 index 0000000000000000000000000000000000000000..a597133ecaf90ead4491a9ca868edba16b720c33 --- /dev/null +++ b/node_modules/viem/_cjs/window/index.js @@ -0,0 +1,4 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("../types/window.js"); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/window/index.js.map b/node_modules/viem/_cjs/window/index.js.map new file mode 100644 index 0000000000000000000000000000000000000000..aa705c47c7c0dcd0aa94226903ccdbe9542c4a1e --- /dev/null +++ b/node_modules/viem/_cjs/window/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../window/index.ts"],"names":[],"mappings":";;AAAA,8BAA2B"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/accounts/toMultisigSmartAccount.js b/node_modules/viem/_cjs/zksync/accounts/toMultisigSmartAccount.js new file mode 100644 index 0000000000000000000000000000000000000000..ead7da1046188ba2eeb44b1a111742acdcdeb3e3 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/accounts/toMultisigSmartAccount.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toMultisigSmartAccount = toMultisigSmartAccount; +const sign_js_1 = require("../../accounts/utils/sign.js"); +const index_js_1 = require("../../utils/index.js"); +const toSmartAccount_js_1 = require("./toSmartAccount.js"); +function toMultisigSmartAccount(parameters) { + const { address, privateKeys } = parameters; + return (0, toSmartAccount_js_1.toSmartAccount)({ + address, + async sign({ hash }) { + return (0, index_js_1.concatHex)(await Promise.all(privateKeys.map((privateKey) => (0, sign_js_1.sign)({ hash, privateKey, to: 'hex' })))); + }, + }); +} +//# sourceMappingURL=toMultisigSmartAccount.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/accounts/toMultisigSmartAccount.js.map b/node_modules/viem/_cjs/zksync/accounts/toMultisigSmartAccount.js.map new file mode 100644 index 0000000000000000000000000000000000000000..01e70e702976ee9f40b3bbb2f9408bdc7fcfd8dd --- /dev/null +++ b/node_modules/viem/_cjs/zksync/accounts/toMultisigSmartAccount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toMultisigSmartAccount.js","sourceRoot":"","sources":["../../../zksync/accounts/toMultisigSmartAccount.ts"],"names":[],"mappings":";;AAmBA,wDAiBC;AAlCD,0DAAmD;AAEnD,mDAAgD;AAEhD,2DAAoD;AAapD,SAAgB,sBAAsB,CACpC,UAA4C;IAE5C,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,CAAA;IAE3C,OAAO,IAAA,kCAAc,EAAC;QACpB,OAAO;QACP,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE;YACjB,OAAO,IAAA,oBAAS,EACd,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC7B,IAAA,cAAI,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CACtC,CACF,CACF,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/accounts/toSinglesigSmartAccount.js b/node_modules/viem/_cjs/zksync/accounts/toSinglesigSmartAccount.js new file mode 100644 index 0000000000000000000000000000000000000000..9b025c26d75c4a20e021ab072b5c0979a9062a98 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/accounts/toSinglesigSmartAccount.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toSinglesigSmartAccount = toSinglesigSmartAccount; +const sign_js_1 = require("../../accounts/utils/sign.js"); +const toSmartAccount_js_1 = require("./toSmartAccount.js"); +function toSinglesigSmartAccount(parameters) { + const { address, privateKey } = parameters; + return (0, toSmartAccount_js_1.toSmartAccount)({ + address, + async sign({ hash }) { + return (0, sign_js_1.sign)({ hash, privateKey, to: 'hex' }); + }, + }); +} +//# sourceMappingURL=toSinglesigSmartAccount.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/accounts/toSinglesigSmartAccount.js.map b/node_modules/viem/_cjs/zksync/accounts/toSinglesigSmartAccount.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ab4241f2b10797f1f1bb18e52d8ac0c20ac2c15d --- /dev/null +++ b/node_modules/viem/_cjs/zksync/accounts/toSinglesigSmartAccount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toSinglesigSmartAccount.js","sourceRoot":"","sources":["../../../zksync/accounts/toSinglesigSmartAccount.ts"],"names":[],"mappings":";;AAkBA,0DAWC;AA3BD,0DAAmD;AAGnD,2DAAoD;AAapD,SAAgB,uBAAuB,CACrC,UAA6C;IAE7C,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;IAE1C,OAAO,IAAA,kCAAc,EAAC;QACpB,OAAO;QACP,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE;YACjB,OAAO,IAAA,cAAI,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9C,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/accounts/toSmartAccount.js b/node_modules/viem/_cjs/zksync/accounts/toSmartAccount.js new file mode 100644 index 0000000000000000000000000000000000000000..7a566e0a2fef8a703e24e9857b6ade5632c34a77 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/accounts/toSmartAccount.js @@ -0,0 +1,42 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.toSmartAccount = toSmartAccount; +const toAccount_js_1 = require("../../accounts/toAccount.js"); +const index_js_1 = require("../../utils/index.js"); +const hashMessage_js_1 = require("../../utils/signature/hashMessage.js"); +const hashTypedData_js_1 = require("../../utils/signature/hashTypedData.js"); +const serializers_js_1 = require("../serializers.js"); +function toSmartAccount(parameters) { + const { address, sign } = parameters; + const account = (0, toAccount_js_1.toAccount)({ + address, + sign, + async signMessage({ message }) { + return sign({ + hash: (0, hashMessage_js_1.hashMessage)(message), + }); + }, + async signTransaction(transaction) { + const signableTransaction = { + ...transaction, + from: this.address, + }; + return (0, serializers_js_1.serializeTransaction)({ + ...signableTransaction, + customSignature: await sign({ + hash: (0, index_js_1.keccak256)((0, serializers_js_1.serializeTransaction)(signableTransaction)), + }), + }); + }, + async signTypedData(typedData) { + return sign({ + hash: (0, hashTypedData_js_1.hashTypedData)(typedData), + }); + }, + }); + return { + ...account, + source: 'smartAccountZksync', + }; +} +//# sourceMappingURL=toSmartAccount.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/accounts/toSmartAccount.js.map b/node_modules/viem/_cjs/zksync/accounts/toSmartAccount.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e4453e1f07220c9b07c26dc2c427f6ed18452ea9 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/accounts/toSmartAccount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toSmartAccount.js","sourceRoot":"","sources":["../../../zksync/accounts/toSmartAccount.ts"],"names":[],"mappings":";;AAyBA,wCAqCC;AA5DD,8DAAuD;AAGvD,mDAAgD;AAChD,yEAAkE;AAClE,6EAAsE;AACtE,sDAAwD;AAiBxD,SAAgB,cAAc,CAC5B,UAAoC;IAEpC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,UAAU,CAAA;IAEpC,MAAM,OAAO,GAAG,IAAA,wBAAS,EAAC;QACxB,OAAO;QACP,IAAI;QACJ,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE;YAC3B,OAAO,IAAI,CAAC;gBACV,IAAI,EAAE,IAAA,4BAAW,EAAC,OAAO,CAAC;aAC3B,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,WAAW;YAC/B,MAAM,mBAAmB,GAAG;gBAC1B,GAAG,WAAW;gBACd,IAAI,EAAE,IAAI,CAAC,OAAQ;aACmB,CAAA;YAExC,OAAO,IAAA,qCAAoB,EAAC;gBAC1B,GAAG,mBAAmB;gBACtB,eAAe,EAAE,MAAM,IAAI,CAAC;oBAC1B,IAAI,EAAE,IAAA,oBAAS,EAAC,IAAA,qCAAoB,EAAC,mBAAmB,CAAC,CAAC;iBAC3D,CAAC;aACH,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,SAAS;YAC3B,OAAO,IAAI,CAAC;gBACV,IAAI,EAAE,IAAA,gCAAa,EAAC,SAAS,CAAC;aAC/B,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;IAEF,OAAO;QACL,GAAG,OAAO;QACV,MAAM,EAAE,oBAAoB;KACP,CAAA;AACzB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/claimFailedDeposit.js b/node_modules/viem/_cjs/zksync/actions/claimFailedDeposit.js new file mode 100644 index 0000000000000000000000000000000000000000..cba4ebfff6f40076516c13ae17cf8c94cc1f5ed2 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/claimFailedDeposit.js @@ -0,0 +1,146 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.claimFailedDeposit = claimFailedDeposit; +const abitype_1 = require("abitype"); +const getTransaction_js_1 = require("../../actions/public/getTransaction.js"); +const getTransactionReceipt_js_1 = require("../../actions/public/getTransactionReceipt.js"); +const readContract_js_1 = require("../../actions/public/readContract.js"); +const sendTransaction_js_1 = require("../../actions/wallet/sendTransaction.js"); +const bytes_js_1 = require("../../constants/bytes.js"); +const account_js_1 = require("../../errors/account.js"); +const chain_js_1 = require("../../errors/chain.js"); +const index_js_1 = require("../../utils/index.js"); +const address_js_1 = require("../constants/address.js"); +const bridge_js_1 = require("../errors/bridge.js"); +const undoL1ToL2Alias_js_1 = require("../utils/bridge/undoL1ToL2Alias.js"); +const getDefaultBridgeAddresses_js_1 = require("./getDefaultBridgeAddresses.js"); +const getLogProof_js_1 = require("./getLogProof.js"); +async function claimFailedDeposit(client, parameters) { + const { account: account_ = client.account, chain: chain_ = client.chain, client: l2Client, depositHash, ...rest } = parameters; + const account = account_ ? (0, index_js_1.parseAccount)(account_) : client.account; + if (!account) + throw new account_js_1.AccountNotFoundError({ + docsPath: '/docs/actions/wallet/sendTransaction', + }); + if (!l2Client.chain) + throw new chain_js_1.ClientChainNotConfiguredError(); + const receipt = (await (0, getTransactionReceipt_js_1.getTransactionReceipt)(l2Client, { hash: depositHash })); + const successL2ToL1LogIndex = receipt.l2ToL1Logs.findIndex((l2ToL1log) => (0, index_js_1.isAddressEqual)(l2ToL1log.sender, address_js_1.bootloaderFormalAddress) && + l2ToL1log.key === depositHash); + const successL2ToL1Log = receipt.l2ToL1Logs[successL2ToL1LogIndex]; + if (successL2ToL1Log?.value !== bytes_js_1.zeroHash) + throw new bridge_js_1.CannotClaimSuccessfulDepositError({ hash: depositHash }); + const tx = await (0, getTransaction_js_1.getTransaction)(l2Client, { hash: depositHash }); + const l1BridgeAddress = (0, undoL1ToL2Alias_js_1.undoL1ToL2Alias)(receipt.from); + const l2BridgeAddress = receipt.to; + if (!l2BridgeAddress) + throw new bridge_js_1.L2BridgeNotFoundError(); + const l1NativeTokenVault = (await getBridgeAddresses(client, l2Client)) + .l1NativeTokenVault; + let depositSender; + let assetId; + let assetData; + try { + const { args } = (0, index_js_1.decodeFunctionData)({ + abi: (0, abitype_1.parseAbi)([ + 'function finalizeDeposit(address _l1Sender, address _l2Receiver, address _l1Token, uint256 _amount, bytes _data)', + ]), + data: tx.input, + }); + assetData = (0, index_js_1.encodeAbiParameters)([{ type: 'uint256' }, { type: 'address' }, { type: 'address' }], [args[3], args[1], args[2]]); + assetId = await (0, readContract_js_1.readContract)(client, { + address: l1NativeTokenVault, + abi: (0, abitype_1.parseAbi)(['function assetId(address token) view returns (bytes32)']), + functionName: 'assetId', + args: [args[2]], + }); + depositSender = args[0]; + if (assetId === bytes_js_1.zeroHash) + throw new Error(`Token ${args[2]} not registered in NTV`); + } + catch (_e) { + const { args } = (0, index_js_1.decodeFunctionData)({ + abi: (0, abitype_1.parseAbi)([ + 'function finalizeDeposit(uint256 _chainId, bytes32 _assetId, bytes _transferData)', + ]), + data: tx.input, + }); + assetId = args[1]; + const transferData = args[2]; + const l1TokenAddress = await (0, readContract_js_1.readContract)(client, { + address: l1NativeTokenVault, + abi: (0, abitype_1.parseAbi)([ + 'function tokenAddress(bytes32 assetId) view returns (address)', + ]), + functionName: 'tokenAddress', + args: [assetId], + }); + const transferDataDecoded = (0, index_js_1.decodeAbiParameters)([ + { type: 'address' }, + { type: 'address' }, + { type: 'address' }, + { type: 'uint256' }, + { type: 'bytes' }, + ], transferData); + assetData = (0, index_js_1.encodeAbiParameters)([{ type: 'uint256' }, { type: 'address' }, { type: 'address' }], [transferDataDecoded[3], transferDataDecoded[1], l1TokenAddress]); + depositSender = transferDataDecoded[0]; + } + const proof = await (0, getLogProof_js_1.getLogProof)(l2Client, { + txHash: depositHash, + index: successL2ToL1LogIndex, + }); + if (!proof) + throw new bridge_js_1.LogProofNotFoundError({ + hash: depositHash, + index: successL2ToL1LogIndex, + }); + const data = (0, index_js_1.encodeFunctionData)({ + abi: (0, abitype_1.parseAbi)([ + 'function bridgeRecoverFailedTransfer(uint256 _chainId, address _depositSender, bytes32 _assetId, bytes _assetData, bytes32 _l2TxHash, uint256 _l2BatchNumber, uint256 _l2MessageIndex, uint16 _l2TxNumberInBatch, bytes32[] _merkleProof)', + ]), + functionName: 'bridgeRecoverFailedTransfer', + args: [ + BigInt(l2Client.chain.id), + depositSender, + assetId, + assetData, + depositHash, + receipt.l1BatchNumber, + BigInt(proof.id), + Number(receipt.l1BatchTxIndex), + proof.proof, + ], + }); + return await (0, sendTransaction_js_1.sendTransaction)(client, { + chain: chain_, + account, + to: l1BridgeAddress, + data, + ...rest, + }); +} +async function getBridgeAddresses(client, l2Client) { + const addresses = await (0, getDefaultBridgeAddresses_js_1.getDefaultBridgeAddresses)(l2Client); + let l1Nullifier = addresses.l1Nullifier; + let l1NativeTokenVault = addresses.l1NativeTokenVault; + if (!l1Nullifier) + l1Nullifier = await (0, readContract_js_1.readContract)(client, { + address: addresses.sharedL1, + abi: (0, abitype_1.parseAbi)(['function L1_NULLIFIER() view returns (address)']), + functionName: 'L1_NULLIFIER', + args: [], + }); + if (!l1NativeTokenVault) + l1NativeTokenVault = await (0, readContract_js_1.readContract)(client, { + address: addresses.sharedL1, + abi: (0, abitype_1.parseAbi)(['function nativeTokenVault() view returns (address)']), + functionName: 'nativeTokenVault', + args: [], + }); + return { + ...addresses, + l1Nullifier, + l1NativeTokenVault, + }; +} +//# sourceMappingURL=claimFailedDeposit.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/claimFailedDeposit.js.map b/node_modules/viem/_cjs/zksync/actions/claimFailedDeposit.js.map new file mode 100644 index 0000000000000000000000000000000000000000..669240d0bb9ba294bbbd402c3f30405b0f2c5fa4 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/claimFailedDeposit.js.map @@ -0,0 +1 @@ +{"version":3,"file":"claimFailedDeposit.js","sourceRoot":"","sources":["../../../zksync/actions/claimFailedDeposit.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/deployContract.js b/node_modules/viem/_cjs/zksync/actions/deployContract.js new file mode 100644 index 0000000000000000000000000000000000000000..8d70eed4d37b0ccf88d0d4fd4539b3141b70f40a --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/deployContract.js @@ -0,0 +1,27 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.deployContract = deployContract; +const address_js_1 = require("../constants/address.js"); +const encodeDeployData_js_1 = require("../utils/abi/encodeDeployData.js"); +const sendEip712Transaction_js_1 = require("./sendEip712Transaction.js"); +function deployContract(walletClient, parameters) { + const { abi, args, bytecode, deploymentType, salt, ...request } = parameters; + const data = (0, encodeDeployData_js_1.encodeDeployData)({ + abi, + args, + bytecode, + deploymentType, + salt, + }); + request.factoryDeps = request.factoryDeps || []; + if (!request.factoryDeps.includes(bytecode)) + request.factoryDeps.push(bytecode); + return (0, sendEip712Transaction_js_1.sendEip712Transaction)(walletClient, { + ...request, + data, + to: deploymentType === 'create2' || deploymentType === 'create2Account' + ? address_js_1.contract2FactoryAddress + : address_js_1.contractDeployerAddress, + }); +} +//# sourceMappingURL=deployContract.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/deployContract.js.map b/node_modules/viem/_cjs/zksync/actions/deployContract.js.map new file mode 100644 index 0000000000000000000000000000000000000000..418cbe9ba8678b7e554a759f34d21cedb557a39d --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/deployContract.js.map @@ -0,0 +1 @@ +{"version":3,"file":"deployContract.js","sourceRoot":"","sources":["../../../zksync/actions/deployContract.ts"],"names":[],"mappings":";;AA0EA,wCAqCC;AAtGD,wDAGgC;AAGhC,0EAGyC;AACzC,yEAKmC;AAkDnC,SAAgB,cAAc,CAM5B,YAA+C,EAC/C,UAAwE;IAExE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,GAC7D,UAAsC,CAAA;IAExC,MAAM,IAAI,GAAG,IAAA,sCAAgB,EAAC;QAC5B,GAAG;QACH,IAAI;QACJ,QAAQ;QACR,cAAc;QACd,IAAI;KACL,CAAC,CAAA;IAGF,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAA;IAC/C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACzC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAEpC,OAAO,IAAA,gDAAqB,EAAC,YAAY,EAAE;QACzC,GAAG,OAAO;QACV,IAAI;QACJ,EAAE,EACA,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,gBAAgB;YACjE,CAAC,CAAC,oCAAuB;YACzB,CAAC,CAAC,oCAAuB;KAK9B,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/deposit.js b/node_modules/viem/_cjs/zksync/actions/deposit.js new file mode 100644 index 0000000000000000000000000000000000000000..f4f7f0b7c232524a900c6b57a474348384fcdbbc --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/deposit.js @@ -0,0 +1,485 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.deposit = deposit; +const abitype_1 = require("abitype"); +const estimateGas_js_1 = require("../../actions/public/estimateGas.js"); +const readContract_js_1 = require("../../actions/public/readContract.js"); +const waitForTransactionReceipt_js_1 = require("../../actions/public/waitForTransactionReceipt.js"); +const sendTransaction_js_1 = require("../../actions/wallet/sendTransaction.js"); +const writeContract_js_1 = require("../../actions/wallet/writeContract.js"); +const public_js_1 = require("../../clients/decorators/public.js"); +const abis_js_1 = require("../../constants/abis.js"); +const address_js_1 = require("../../constants/address.js"); +const bytes_js_1 = require("../../constants/bytes.js"); +const account_js_1 = require("../../errors/account.js"); +const chain_js_1 = require("../../errors/chain.js"); +const index_js_1 = require("../../utils/index.js"); +const abis_js_2 = require("../constants/abis.js"); +const address_js_2 = require("../constants/address.js"); +const number_js_1 = require("../constants/number.js"); +const bridge_js_1 = require("../errors/bridge.js"); +const applyL1ToL2Alias_js_1 = require("../utils/bridge/applyL1ToL2Alias.js"); +const estimateGasL1ToL2_js_1 = require("./estimateGasL1ToL2.js"); +const getBridgehubContractAddress_js_1 = require("./getBridgehubContractAddress.js"); +const getDefaultBridgeAddresses_js_1 = require("./getDefaultBridgeAddresses.js"); +const getL1Allowance_js_1 = require("./getL1Allowance.js"); +async function deposit(client, parameters) { + let { account: account_ = client.account, chain: chain_ = client.chain, client: l2Client, token, amount, approveToken, approveBaseToken, gas, } = parameters; + const account = account_ ? (0, index_js_1.parseAccount)(account_) : client.account; + if (!account) + throw new account_js_1.AccountNotFoundError({ + docsPath: '/docs/actions/wallet/sendTransaction', + }); + if (!l2Client.chain) + throw new chain_js_1.ClientChainNotConfiguredError(); + if ((0, index_js_1.isAddressEqual)(token, address_js_2.legacyEthAddress)) + token = address_js_2.ethAddressInContracts; + const bridgeAddresses = await getBridgeAddresses(client, l2Client); + const bridgehub = await (0, getBridgehubContractAddress_js_1.getBridgehubContractAddress)(l2Client); + const baseToken = await (0, readContract_js_1.readContract)(client, { + address: bridgehub, + abi: abis_js_2.bridgehubAbi, + functionName: 'baseToken', + args: [BigInt(l2Client.chain.id)], + }); + const { mintValue, tx } = await getL1DepositTx(client, account, { ...parameters, token }, bridgeAddresses, bridgehub, baseToken); + await approveTokens(client, chain_, tx.bridgeAddress, baseToken, mintValue, account, token, amount, approveToken, approveBaseToken); + if (!gas) { + const baseGasLimit = await (0, estimateGas_js_1.estimateGas)(client, { + account: account.address, + to: bridgehub, + value: tx.value, + data: tx.data, + }); + gas = scaleGasLimit(baseGasLimit); + } + return await (0, sendTransaction_js_1.sendTransaction)(client, { + chain: chain_, + account, + gas, + ...tx, + }); +} +async function getL1DepositTx(client, account, parameters, bridgeAddresses, bridgehub, baseToken) { + let { account: _account, chain: _chain, client: l2Client, token, amount, to, operatorTip = 0n, l2GasLimit, gasPerPubdataByte = number_js_1.requiredL1ToL2GasPerPubdataLimit, refundRecipient = address_js_1.zeroAddress, bridgeAddress, customBridgeData, value, gasPrice, maxFeePerGas, maxPriorityFeePerGas, approveToken: _approveToken, approveBaseToken: _approveBaseToken, ...rest } = parameters; + if (!l2Client.chain) + throw new chain_js_1.ClientChainNotConfiguredError(); + to ??= account.address; + let gasPriceForEstimation = maxFeePerGas || gasPrice; + if (!gasPriceForEstimation) { + const estimatedFee = await getFeePrice(client); + gasPriceForEstimation = estimatedFee.maxFeePerGas; + maxFeePerGas = estimatedFee.maxFeePerGas; + maxPriorityFeePerGas ??= estimatedFee.maxPriorityFeePerGas; + } + const { l2GasLimit_, baseCost } = await getL2BridgeTxFeeParams(client, l2Client, bridgehub, gasPriceForEstimation, account.address, token, amount, to, gasPerPubdataByte, baseToken, l2GasLimit, bridgeAddress, customBridgeData); + l2GasLimit = l2GasLimit_; + let mintValue; + let data; + const isETHBasedChain = (0, index_js_1.isAddressEqual)(baseToken, address_js_2.ethAddressInContracts); + if ((isETHBasedChain && (0, index_js_1.isAddressEqual)(token, address_js_2.ethAddressInContracts)) || + (0, index_js_1.isAddressEqual)(token, baseToken)) { + mintValue = baseCost + operatorTip + amount; + let providedValue = isETHBasedChain ? value : mintValue; + if (!providedValue || providedValue === 0n) + providedValue = mintValue; + if (baseCost > providedValue) + throw new bridge_js_1.BaseFeeHigherThanValueError(baseCost, providedValue); + value = isETHBasedChain ? providedValue : 0n; + bridgeAddress = bridgeAddresses.sharedL1; + data = (0, index_js_1.encodeFunctionData)({ + abi: abis_js_2.bridgehubAbi, + functionName: 'requestL2TransactionDirect', + args: [ + { + chainId: BigInt(l2Client.chain.id), + mintValue: providedValue, + l2Contract: to, + l2Value: amount, + l2Calldata: '0x', + l2GasLimit, + l2GasPerPubdataByteLimit: gasPerPubdataByte, + factoryDeps: [], + refundRecipient, + }, + ], + }); + } + else if ((0, index_js_1.isAddressEqual)(baseToken, address_js_2.ethAddressInContracts)) { + mintValue = baseCost + BigInt(operatorTip); + value = mintValue; + if (baseCost > mintValue) + throw new bridge_js_1.BaseFeeHigherThanValueError(baseCost, mintValue); + bridgeAddress ??= bridgeAddresses.sharedL1; + data = (0, index_js_1.encodeFunctionData)({ + abi: abis_js_2.bridgehubAbi, + functionName: 'requestL2TransactionTwoBridges', + args: [ + { + chainId: BigInt(l2Client.chain.id), + mintValue, + l2Value: 0n, + l2GasLimit, + l2GasPerPubdataByteLimit: gasPerPubdataByte, + refundRecipient, + secondBridgeAddress: bridgeAddress, + secondBridgeValue: 0n, + secondBridgeCalldata: await getSecondBridgeCalldata(client, bridgeAddresses.l1NativeTokenVault, token, amount, to), + }, + ], + }); + } + else if ((0, index_js_1.isAddressEqual)(token, address_js_2.ethAddressInContracts)) { + mintValue = baseCost + operatorTip; + value = amount; + if (baseCost > mintValue) + throw new bridge_js_1.BaseFeeHigherThanValueError(baseCost, mintValue); + bridgeAddress = bridgeAddresses.sharedL1; + data = (0, index_js_1.encodeFunctionData)({ + abi: abis_js_2.bridgehubAbi, + functionName: 'requestL2TransactionTwoBridges', + args: [ + { + chainId: BigInt(l2Client.chain.id), + mintValue, + l2Value: 0n, + l2GasLimit, + l2GasPerPubdataByteLimit: gasPerPubdataByte, + refundRecipient, + secondBridgeAddress: bridgeAddress, + secondBridgeValue: amount, + secondBridgeCalldata: await getSecondBridgeCalldata(client, bridgeAddresses.l1NativeTokenVault, address_js_2.ethAddressInContracts, amount, to), + }, + ], + }); + } + else { + mintValue = baseCost + operatorTip; + value ??= 0n; + if (baseCost > mintValue) + throw new bridge_js_1.BaseFeeHigherThanValueError(baseCost, mintValue); + bridgeAddress ??= bridgeAddresses.sharedL1; + data = (0, index_js_1.encodeFunctionData)({ + abi: abis_js_2.bridgehubAbi, + functionName: 'requestL2TransactionTwoBridges', + args: [ + { + chainId: BigInt(l2Client.chain.id), + mintValue, + l2Value: 0n, + l2GasLimit, + l2GasPerPubdataByteLimit: gasPerPubdataByte, + refundRecipient, + secondBridgeAddress: bridgeAddress, + secondBridgeValue: 0n, + secondBridgeCalldata: await getSecondBridgeCalldata(client, bridgeAddresses.l1NativeTokenVault, token, amount, to), + }, + ], + }); + } + return { + mintValue, + tx: { + bridgeAddress, + to: bridgehub, + data, + value, + gasPrice, + maxFeePerGas, + maxPriorityFeePerGas, + ...rest, + }, + }; +} +async function approveTokens(client, chain, bridgeAddress, baseToken, mintValue, account, token, amount, approveToken, approveBaseToken) { + if ((0, index_js_1.isAddressEqual)(baseToken, address_js_2.ethAddressInContracts)) { + if (approveToken) { + const overrides = typeof approveToken === 'boolean' ? {} : approveToken; + const allowance = await (0, getL1Allowance_js_1.getL1Allowance)(client, { + token, + bridgeAddress, + account, + }); + if (allowance < amount) { + const hash = await (0, writeContract_js_1.writeContract)(client, { + chain, + account, + address: token, + abi: abis_js_1.erc20Abi, + functionName: 'approve', + args: [bridgeAddress, amount], + ...overrides, + }); + await (0, waitForTransactionReceipt_js_1.waitForTransactionReceipt)(client, { hash }); + } + } + return; + } + if ((0, index_js_1.isAddressEqual)(token, address_js_2.ethAddressInContracts)) { + if (approveBaseToken) { + const overrides = typeof approveToken === 'boolean' ? {} : approveToken; + const allowance = await (0, getL1Allowance_js_1.getL1Allowance)(client, { + token: baseToken, + bridgeAddress, + account, + }); + if (allowance < mintValue) { + const hash = await (0, writeContract_js_1.writeContract)(client, { + chain, + account, + address: baseToken, + abi: abis_js_1.erc20Abi, + functionName: 'approve', + args: [bridgeAddress, mintValue], + ...overrides, + }); + await (0, waitForTransactionReceipt_js_1.waitForTransactionReceipt)(client, { hash }); + } + return; + } + } + if ((0, index_js_1.isAddressEqual)(token, baseToken)) { + if (approveToken || approveBaseToken) { + const overrides = typeof approveToken === 'boolean' + ? {} + : (approveToken ?? typeof approveBaseToken === 'boolean') + ? {} + : approveBaseToken; + const allowance = await (0, getL1Allowance_js_1.getL1Allowance)(client, { + token: baseToken, + bridgeAddress, + account, + }); + if (allowance < mintValue) { + const hash = await (0, writeContract_js_1.writeContract)(client, { + chain, + account, + address: baseToken, + abi: abis_js_1.erc20Abi, + functionName: 'approve', + args: [bridgeAddress, mintValue], + ...overrides, + }); + await (0, waitForTransactionReceipt_js_1.waitForTransactionReceipt)(client, { hash }); + } + } + return; + } + if (approveBaseToken) { + const overrides = typeof approveToken === 'boolean' ? {} : approveToken; + const allowance = await (0, getL1Allowance_js_1.getL1Allowance)(client, { + token: baseToken, + bridgeAddress, + account, + }); + if (allowance < mintValue) { + const hash = await (0, writeContract_js_1.writeContract)(client, { + chain, + account, + address: baseToken, + abi: abis_js_1.erc20Abi, + functionName: 'approve', + args: [bridgeAddress, mintValue], + ...overrides, + }); + await (0, waitForTransactionReceipt_js_1.waitForTransactionReceipt)(client, { hash }); + } + } + if (approveToken) { + const overrides = typeof approveToken === 'boolean' ? {} : approveToken; + const allowance = await (0, getL1Allowance_js_1.getL1Allowance)(client, { + token, + bridgeAddress, + account, + }); + if (allowance < amount) { + const hash = await (0, writeContract_js_1.writeContract)(client, { + chain, + account, + address: token, + abi: abis_js_1.erc20Abi, + functionName: 'approve', + args: [bridgeAddress, amount], + ...overrides, + }); + await (0, waitForTransactionReceipt_js_1.waitForTransactionReceipt)(client, { hash }); + } + } +} +async function getL2BridgeTxFeeParams(client, l2Client, bridgehub, gasPrice, from, token, amount, to, gasPerPubdataByte, baseToken, l2GasLimit, bridgeAddress, customBridgeData) { + if (!l2Client.chain) + throw new chain_js_1.ClientChainNotConfiguredError(); + let l2GasLimit_ = l2GasLimit; + if (!l2GasLimit_) + l2GasLimit_ = bridgeAddress + ? await getL2GasLimitFromCustomBridge(client, l2Client, from, token, amount, to, gasPerPubdataByte, bridgeAddress, customBridgeData) + : await getL2GasLimitFromDefaultBridge(client, l2Client, from, token, amount, to, gasPerPubdataByte, baseToken); + const baseCost = await (0, readContract_js_1.readContract)(client, { + address: bridgehub, + abi: abis_js_2.bridgehubAbi, + functionName: 'l2TransactionBaseCost', + args: [BigInt(l2Client.chain.id), gasPrice, l2GasLimit_, gasPerPubdataByte], + }); + return { l2GasLimit_, baseCost }; +} +async function getL2GasLimitFromDefaultBridge(client, l2Client, from, token, amount, to, gasPerPubdataByte, baseToken) { + if ((0, index_js_1.isAddressEqual)(token, baseToken)) { + return await (0, estimateGasL1ToL2_js_1.estimateGasL1ToL2)(l2Client, { + chain: l2Client.chain, + account: from, + from, + to, + value: amount, + data: '0x', + gasPerPubdata: gasPerPubdataByte, + }); + } + const value = 0n; + const bridgeAddresses = await (0, getDefaultBridgeAddresses_js_1.getDefaultBridgeAddresses)(l2Client); + const l1BridgeAddress = bridgeAddresses.sharedL1; + const l2BridgeAddress = bridgeAddresses.sharedL2; + const bridgeData = await encodeDefaultBridgeData(client, token); + const calldata = (0, index_js_1.encodeFunctionData)({ + abi: (0, abitype_1.parseAbi)([ + 'function finalizeDeposit(address _l1Sender, address _l2Receiver, address _l1Token, uint256 _amount, bytes _data)', + ]), + functionName: 'finalizeDeposit', + args: [ + from, + to, + (0, index_js_1.isAddressEqual)(token, address_js_2.legacyEthAddress) ? address_js_2.ethAddressInContracts : token, + amount, + bridgeData, + ], + }); + return await (0, estimateGasL1ToL2_js_1.estimateGasL1ToL2)(l2Client, { + chain: l2Client.chain, + account: (0, applyL1ToL2Alias_js_1.applyL1ToL2Alias)(l1BridgeAddress), + to: l2BridgeAddress, + data: calldata, + gasPerPubdata: gasPerPubdataByte, + value, + }); +} +async function getL2GasLimitFromCustomBridge(client, l2Client, from, token, amount, to, gasPerPubdataByte, bridgeAddress, customBridgeData) { + let customBridgeData_ = customBridgeData; + if (!customBridgeData_ || customBridgeData_ === '0x') + customBridgeData_ = await encodeDefaultBridgeData(client, token); + const l2BridgeAddress = await (0, readContract_js_1.readContract)(client, { + address: token, + abi: (0, abitype_1.parseAbi)([ + 'function l2BridgeAddress(uint256 _chainId) view returns (address)', + ]), + functionName: 'l2BridgeAddress', + args: [BigInt(l2Client.chain.id)], + }); + const calldata = (0, index_js_1.encodeFunctionData)({ + abi: (0, abitype_1.parseAbi)([ + 'function finalizeDeposit(address _l1Sender, address _l2Receiver, address _l1Token, uint256 _amount, bytes _data)', + ]), + functionName: 'finalizeDeposit', + args: [from, to, token, amount, customBridgeData_], + }); + return await (0, estimateGasL1ToL2_js_1.estimateGasL1ToL2)(l2Client, { + chain: l2Client.chain, + account: from, + from: (0, applyL1ToL2Alias_js_1.applyL1ToL2Alias)(bridgeAddress), + to: l2BridgeAddress, + data: calldata, + gasPerPubdata: gasPerPubdataByte, + }); +} +async function encodeDefaultBridgeData(client, token) { + let token_ = token; + if ((0, index_js_1.isAddressEqual)(token, address_js_2.legacyEthAddress)) + token_ = address_js_2.ethAddressInContracts; + let name = 'Ether'; + let symbol = 'ETH'; + let decimals = 18n; + if (!(0, index_js_1.isAddressEqual)(token_, address_js_2.ethAddressInContracts)) { + name = await (0, readContract_js_1.readContract)(client, { + address: token_, + abi: abis_js_1.erc20Abi, + functionName: 'name', + args: [], + }); + symbol = await (0, readContract_js_1.readContract)(client, { + address: token_, + abi: abis_js_1.erc20Abi, + functionName: 'symbol', + args: [], + }); + decimals = BigInt(await (0, readContract_js_1.readContract)(client, { + address: token_, + abi: abis_js_1.erc20Abi, + functionName: 'decimals', + args: [], + })); + } + const nameBytes = (0, index_js_1.encodeAbiParameters)([{ type: 'string' }], [name]); + const symbolBytes = (0, index_js_1.encodeAbiParameters)([{ type: 'string' }], [symbol]); + const decimalsBytes = (0, index_js_1.encodeAbiParameters)([{ type: 'uint256' }], [decimals]); + return (0, index_js_1.encodeAbiParameters)([{ type: 'bytes' }, { type: 'bytes' }, { type: 'bytes' }], [nameBytes, symbolBytes, decimalsBytes]); +} +async function getSecondBridgeCalldata(client, l1NativeTokenVault, token, amount, to) { + let assetId; + let token_ = token; + if ((0, index_js_1.isAddressEqual)(token, address_js_2.legacyEthAddress)) + token_ = address_js_2.ethAddressInContracts; + const assetIdFromNTV = await (0, readContract_js_1.readContract)(client, { + address: l1NativeTokenVault, + abi: (0, abitype_1.parseAbi)(['function assetId(address token) view returns (bytes32)']), + functionName: 'assetId', + args: [token_], + }); + if (assetIdFromNTV && assetIdFromNTV !== bytes_js_1.zeroHash) + assetId = assetIdFromNTV; + else { + if (!client.chain) + throw new chain_js_1.ClientChainNotConfiguredError(); + assetId = (0, index_js_1.keccak256)((0, index_js_1.encodeAbiParameters)([{ type: 'uint256' }, { type: 'address' }, { type: 'address' }], [BigInt(client.chain.id), address_js_2.l2NativeTokenVaultAddress, token_])); + } + const ntvData = (0, index_js_1.encodeAbiParameters)([{ type: 'uint256' }, { type: 'address' }, { type: 'address' }], [BigInt(amount), to, token_]); + const data = (0, index_js_1.encodeAbiParameters)([{ type: 'bytes32' }, { type: 'bytes' }], [assetId, ntvData]); + return (0, index_js_1.concatHex)(['0x01', data]); +} +async function getBridgeAddresses(client, l2Client) { + const addresses = await (0, getDefaultBridgeAddresses_js_1.getDefaultBridgeAddresses)(l2Client); + let l1Nullifier = addresses.l1Nullifier; + let l1NativeTokenVault = addresses.l1NativeTokenVault; + if (!l1Nullifier) + l1Nullifier = await (0, readContract_js_1.readContract)(client, { + address: addresses.sharedL1, + abi: (0, abitype_1.parseAbi)(['function L1_NULLIFIER() view returns (address)']), + functionName: 'L1_NULLIFIER', + args: [], + }); + if (!l1NativeTokenVault) + l1NativeTokenVault = await (0, readContract_js_1.readContract)(client, { + address: addresses.sharedL1, + abi: (0, abitype_1.parseAbi)(['function nativeTokenVault() view returns (address)']), + functionName: 'nativeTokenVault', + args: [], + }); + return { + ...addresses, + l1Nullifier, + l1NativeTokenVault, + }; +} +function scaleGasLimit(gasLimit) { + return (gasLimit * BigInt(12)) / BigInt(10); +} +async function getFeePrice(client) { + const client_ = client.extend(public_js_1.publicActions); + const block = await client_.getBlock(); + const baseFee = typeof block.baseFeePerGas !== 'bigint' + ? await client_.getGasPrice() + : block.baseFeePerGas; + const maxPriorityFeePerGas = await client_.estimateMaxPriorityFeePerGas(); + return { + maxFeePerGas: (baseFee * 3n) / 2n + maxPriorityFeePerGas, + maxPriorityFeePerGas: maxPriorityFeePerGas, + }; +} +//# sourceMappingURL=deposit.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/deposit.js.map b/node_modules/viem/_cjs/zksync/actions/deposit.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b369a39676771600f33b965006ac62932f93b4dd --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/deposit.js.map @@ -0,0 +1 @@ +{"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../zksync/actions/deposit.ts"],"names":[],"mappings":";;AAoMA,0BAoFC;AAxRD,qCAAgD;AAEhD,wEAG4C;AAC5C,0EAAmE;AACnE,oGAA6F;AAC7F,gFAKgD;AAChD,4EAG8C;AAE9C,kEAAkE;AAElE,qDAAkD;AAClD,2DAAwD;AACxD,uDAAmD;AACnD,wDAA8D;AAC9D,oDAAqE;AASrE,mDAQ6B;AAC7B,kDAAmD;AACnD,wDAIgC;AAChC,sDAAyE;AACzE,mDAG4B;AAG5B,6EAAsE;AACtE,iEAA0D;AAC1D,qFAA8E;AAC9E,iFAA0E;AAC1E,2DAAoD;AAwI7C,KAAK,UAAU,OAAO,CAQ3B,MAAyC,EACzC,UAMC;IAED,IAAI,EACF,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,EAC5B,MAAM,EAAE,QAAQ,EAChB,KAAK,EACL,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,GAAG,GACJ,GAAG,UAAU,CAAA;IAEd,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,uBAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;IAClE,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,iCAAoB,CAAC;YAC7B,QAAQ,EAAE,sCAAsC;SACjD,CAAC,CAAA;IACJ,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,MAAM,IAAI,wCAA6B,EAAE,CAAA;IAE9D,IAAI,IAAA,yBAAc,EAAC,KAAK,EAAE,6BAAgB,CAAC;QAAE,KAAK,GAAG,kCAAqB,CAAA;IAE1E,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAClE,MAAM,SAAS,GAAG,MAAM,IAAA,4DAA2B,EAAC,QAAQ,CAAC,CAAA;IAC7D,MAAM,SAAS,GAAG,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;QAC3C,OAAO,EAAE,SAAS;QAClB,GAAG,EAAE,sBAAY;QACjB,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KAClC,CAAC,CAAA;IAEF,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,MAAM,cAAc,CAC5C,MAAM,EACN,OAAO,EACP,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,EACxB,eAAe,EACf,SAAS,EACT,SAAS,CACV,CAAA;IAED,MAAM,aAAa,CACjB,MAAM,EACN,MAAM,EACN,EAAE,CAAC,aAAa,EAChB,SAAS,EACT,SAAS,EACT,OAAO,EACP,KAAK,EACL,MAAM,EACN,YAAY,EACZ,gBAAgB,CACjB,CAAA;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,YAAY,GAAG,MAAM,IAAA,4BAAW,EAAC,MAAM,EAAE;YAC7C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,EAAE,EAAE,SAAS;YACb,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,IAAI,EAAE,EAAE,CAAC,IAAI;SACW,CAAC,CAAA;QAC3B,GAAG,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;IACnC,CAAC;IAED,OAAO,MAAM,IAAA,oCAAe,EAAC,MAAM,EAAE;QACnC,KAAK,EAAE,MAAM;QACb,OAAO;QACP,GAAG;QACH,GAAG,EAAE;KACuB,CAAC,CAAA;AACjC,CAAC;AAED,KAAK,UAAU,cAAc,CAQ3B,MAAyC,EACzC,OAAgB,EAChB,UAOC,EACD,eAGC,EACD,SAAkB,EAClB,SAAkB;IAElB,IAAI,EACF,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,QAAQ,EAChB,KAAK,EACL,MAAM,EACN,EAAE,EACF,WAAW,GAAG,EAAE,EAChB,UAAU,EACV,iBAAiB,GAAG,4CAAgC,EACpD,eAAe,GAAG,wBAAW,EAC7B,aAAa,EACb,gBAAgB,EAChB,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,YAAY,EAAE,aAAa,EAC3B,gBAAgB,EAAE,iBAAiB,EACnC,GAAG,IAAI,EACR,GAAG,UAAU,CAAA;IAEd,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,MAAM,IAAI,wCAA6B,EAAE,CAAA;IAE9D,EAAE,KAAK,OAAO,CAAC,OAAO,CAAA;IACtB,IAAI,qBAAqB,GAAG,YAAY,IAAI,QAAQ,CAAA;IACpD,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;QAC9C,qBAAqB,GAAG,YAAY,CAAC,YAAY,CAAA;QACjD,YAAY,GAAG,YAAY,CAAC,YAAY,CAAA;QACxC,oBAAoB,KAAK,YAAY,CAAC,oBAAoB,CAAA;IAC5D,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,sBAAsB,CAC5D,MAAM,EACN,QAAQ,EACR,SAAS,EACT,qBAAqB,EACrB,OAAO,CAAC,OAAO,EACf,KAAK,EACL,MAAM,EACN,EAAE,EACF,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,aAAa,EACb,gBAAgB,CACjB,CAAA;IACD,UAAU,GAAG,WAAW,CAAA;IACxB,IAAI,SAAiB,CAAA;IACrB,IAAI,IAAS,CAAA;IAEb,MAAM,eAAe,GAAG,IAAA,yBAAc,EAAC,SAAS,EAAE,kCAAqB,CAAC,CAAA;IACxE,IACE,CAAC,eAAe,IAAI,IAAA,yBAAc,EAAC,KAAK,EAAE,kCAAqB,CAAC,CAAC;QACjE,IAAA,yBAAc,EAAC,KAAK,EAAE,SAAS,CAAC,EAChC,CAAC;QAED,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAA;QAC3C,IAAI,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;QACvD,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,EAAE;YAAE,aAAa,GAAG,SAAS,CAAA;QACrE,IAAI,QAAQ,GAAG,aAAa;YAC1B,MAAM,IAAI,uCAA2B,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;QAEhE,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAA;QAC5C,aAAa,GAAG,eAAe,CAAC,QAAQ,CAAA;QAExC,IAAI,GAAG,IAAA,6BAAkB,EAAC;YACxB,GAAG,EAAE,sBAAY;YACjB,YAAY,EAAE,4BAA4B;YAC1C,IAAI,EAAE;gBACJ;oBACE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClC,SAAS,EAAE,aAAa;oBACxB,UAAU,EAAE,EAAE;oBACd,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,IAAI;oBAChB,UAAU;oBACV,wBAAwB,EAAE,iBAAiB;oBAC3C,WAAW,EAAE,EAAE;oBACf,eAAe;iBAChB;aACF;SACF,CAAC,CAAA;IACJ,CAAC;SAAM,IAAI,IAAA,yBAAc,EAAC,SAAS,EAAE,kCAAqB,CAAC,EAAE,CAAC;QAE5D,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAA;QAC1C,KAAK,GAAG,SAAS,CAAA;QACjB,IAAI,QAAQ,GAAG,SAAS;YACtB,MAAM,IAAI,uCAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAE5D,aAAa,KAAK,eAAe,CAAC,QAAQ,CAAA;QAE1C,IAAI,GAAG,IAAA,6BAAkB,EAAC;YACxB,GAAG,EAAE,sBAAY;YACjB,YAAY,EAAE,gCAAgC;YAC9C,IAAI,EAAE;gBACJ;oBACE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClC,SAAS;oBACT,OAAO,EAAE,EAAE;oBACX,UAAU;oBACV,wBAAwB,EAAE,iBAAiB;oBAC3C,eAAe;oBACf,mBAAmB,EAAE,aAAa;oBAClC,iBAAiB,EAAE,EAAE;oBACrB,oBAAoB,EAAE,MAAM,uBAAuB,CACjD,MAAM,EACN,eAAe,CAAC,kBAAkB,EAClC,KAAK,EACL,MAAM,EACN,EAAE,CACH;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;SAAM,IAAI,IAAA,yBAAc,EAAC,KAAK,EAAE,kCAAqB,CAAC,EAAE,CAAC;QAExD,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAA;QAClC,KAAK,GAAG,MAAM,CAAA;QACd,IAAI,QAAQ,GAAG,SAAS;YACtB,MAAM,IAAI,uCAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAE5D,aAAa,GAAG,eAAe,CAAC,QAAQ,CAAA;QAExC,IAAI,GAAG,IAAA,6BAAkB,EAAC;YACxB,GAAG,EAAE,sBAAY;YACjB,YAAY,EAAE,gCAAgC;YAC9C,IAAI,EAAE;gBACJ;oBACE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClC,SAAS;oBACT,OAAO,EAAE,EAAE;oBACX,UAAU;oBACV,wBAAwB,EAAE,iBAAiB;oBAC3C,eAAe;oBACf,mBAAmB,EAAE,aAAa;oBAClC,iBAAiB,EAAE,MAAM;oBACzB,oBAAoB,EAAE,MAAM,uBAAuB,CACjD,MAAM,EACN,eAAe,CAAC,kBAAkB,EAClC,kCAAqB,EACrB,MAAM,EACN,EAAE,CACH;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QAEN,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAA;QAClC,KAAK,KAAK,EAAE,CAAA;QACZ,IAAI,QAAQ,GAAG,SAAS;YACtB,MAAM,IAAI,uCAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAE5D,aAAa,KAAK,eAAe,CAAC,QAAQ,CAAA;QAE1C,IAAI,GAAG,IAAA,6BAAkB,EAAC;YACxB,GAAG,EAAE,sBAAY;YACjB,YAAY,EAAE,gCAAgC;YAC9C,IAAI,EAAE;gBACJ;oBACE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClC,SAAS;oBACT,OAAO,EAAE,EAAE;oBACX,UAAU;oBACV,wBAAwB,EAAE,iBAAiB;oBAC3C,eAAe;oBACf,mBAAmB,EAAE,aAAa;oBAClC,iBAAiB,EAAE,EAAE;oBACrB,oBAAoB,EAAE,MAAM,uBAAuB,CACjD,MAAM,EACN,eAAe,CAAC,kBAAkB,EAClC,KAAK,EACL,MAAM,EACN,EAAE,CACH;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;IAED,OAAO;QACL,SAAS;QACT,EAAE,EAAE;YACF,aAAa;YACb,EAAE,EAAE,SAAS;YACb,IAAI;YACJ,KAAK;YACL,QAAQ;YACR,YAAY;YACZ,oBAAoB;YACpB,GAAG,IAAI;SACR;KACF,CAAA;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAK1B,MAAgC,EAChC,KAA+B,EAC/B,aAAsB,EACtB,SAAkB,EAClB,SAAiB,EACjB,OAAgB,EAChB,KAAc,EACd,MAAc,EACd,YAQa,EACb,gBAQa;IAEb,IAAI,IAAA,yBAAc,EAAC,SAAS,EAAE,kCAAqB,CAAC,EAAE,CAAC;QAErD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;YACvE,MAAM,SAAS,GAAG,MAAM,IAAA,kCAAc,EAAC,MAAM,EAAE;gBAC7C,KAAK;gBACL,aAAa;gBACb,OAAO;aACR,CAAC,CAAA;YACF,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,MAAM,IAAA,gCAAa,EAAC,MAAM,EAAE;oBACvC,KAAK;oBACL,OAAO;oBACP,OAAO,EAAE,KAAK;oBACd,GAAG,EAAE,kBAAQ;oBACb,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC;oBAC7B,GAAG,SAAS;iBAC4B,CAAC,CAAA;gBAC3C,MAAM,IAAA,wDAAyB,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;QACD,OAAM;IACR,CAAC;IAED,IAAI,IAAA,yBAAc,EAAC,KAAK,EAAE,kCAAqB,CAAC,EAAE,CAAC;QAEjD,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;YACvE,MAAM,SAAS,GAAG,MAAM,IAAA,kCAAc,EAAC,MAAM,EAAE;gBAC7C,KAAK,EAAE,SAAS;gBAChB,aAAa;gBACb,OAAO;aACR,CAAC,CAAA;YACF,IAAI,SAAS,GAAG,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,MAAM,IAAA,gCAAa,EAAC,MAAM,EAAE;oBACvC,KAAK;oBACL,OAAO;oBACP,OAAO,EAAE,SAAS;oBAClB,GAAG,EAAE,kBAAQ;oBACb,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;oBAChC,GAAG,SAAS;iBAC4B,CAAC,CAAA;gBAC3C,MAAM,IAAA,wDAAyB,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;YACnD,CAAC;YACD,OAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,IAAA,yBAAc,EAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;QAErC,IAAI,YAAY,IAAI,gBAAgB,EAAE,CAAC;YACrC,MAAM,SAAS,GACb,OAAO,YAAY,KAAK,SAAS;gBAC/B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,YAAY,IAAI,OAAO,gBAAgB,KAAK,SAAS,CAAC;oBACvD,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,gBAAgB,CAAA;YACxB,MAAM,SAAS,GAAG,MAAM,IAAA,kCAAc,EAAC,MAAM,EAAE;gBAC7C,KAAK,EAAE,SAAS;gBAChB,aAAa;gBACb,OAAO;aACR,CAAC,CAAA;YACF,IAAI,SAAS,GAAG,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,MAAM,IAAA,gCAAa,EAAC,MAAM,EAAE;oBACvC,KAAK;oBACL,OAAO;oBACP,OAAO,EAAE,SAAS;oBAClB,GAAG,EAAE,kBAAQ;oBACb,YAAY,EAAE,SAAS;oBACvB,IAAI,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;oBAChC,GAAG,SAAS;iBAC4B,CAAC,CAAA;gBAC3C,MAAM,IAAA,wDAAyB,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;QACD,OAAM;IACR,CAAC;IAGD,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;QACvE,MAAM,SAAS,GAAG,MAAM,IAAA,kCAAc,EAAC,MAAM,EAAE;YAC7C,KAAK,EAAE,SAAS;YAChB,aAAa;YACb,OAAO;SACR,CAAC,CAAA;QACF,IAAI,SAAS,GAAG,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAM,IAAA,gCAAa,EAAC,MAAM,EAAE;gBACvC,KAAK;gBACL,OAAO;gBACP,OAAO,EAAE,SAAS;gBAClB,GAAG,EAAE,kBAAQ;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;gBAChC,GAAG,SAAS;aAC4B,CAAC,CAAA;YAC3C,MAAM,IAAA,wDAAyB,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QACnD,CAAC;IACH,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAA;QACvE,MAAM,SAAS,GAAG,MAAM,IAAA,kCAAc,EAAC,MAAM,EAAE;YAC7C,KAAK;YACL,aAAa;YACb,OAAO;SACR,CAAC,CAAA;QACF,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,MAAM,IAAA,gCAAa,EAAC,MAAM,EAAE;gBACvC,KAAK;gBACL,OAAO;gBACP,OAAO,EAAE,KAAK;gBACd,GAAG,EAAE,kBAAQ;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC;gBAC7B,GAAG,SAAS;aAC4B,CAAC,CAAA;YAC3C,MAAM,IAAA,wDAAyB,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QACnD,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CAInC,MAAgC,EAChC,QAAoC,EACpC,SAAkB,EAClB,QAAgB,EAChB,IAAa,EACb,KAAc,EACd,MAAc,EACd,EAAW,EACX,iBAAyB,EACzB,SAAkB,EAClB,UAA+B,EAC/B,aAAmC,EACnC,gBAAkC;IAElC,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,MAAM,IAAI,wCAA6B,EAAE,CAAA;IAE9D,IAAI,WAAW,GAAG,UAAU,CAAA;IAC5B,IAAI,CAAC,WAAW;QACd,WAAW,GAAG,aAAa;YACzB,CAAC,CAAC,MAAM,6BAA6B,CACjC,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,MAAM,EACN,EAAE,EACF,iBAAiB,EACjB,aAAa,EACb,gBAAgB,CACjB;YACH,CAAC,CAAC,MAAM,8BAA8B,CAClC,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,MAAM,EACN,EAAE,EACF,iBAAiB,EACjB,SAAS,CACV,CAAA;IAEP,MAAM,QAAQ,GAAG,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;QAC1C,OAAO,EAAE,SAAS;QAClB,GAAG,EAAE,sBAAY;QACjB,YAAY,EAAE,uBAAuB;QACrC,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,CAAC;KAC5E,CAAC,CAAA;IACF,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA;AAClC,CAAC;AAED,KAAK,UAAU,8BAA8B,CAI3C,MAAgC,EAChC,QAAoC,EACpC,IAAa,EACb,KAAc,EACd,MAAc,EACd,EAAW,EACX,iBAAyB,EACzB,SAAkB;IAElB,IAAI,IAAA,yBAAc,EAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;QACrC,OAAO,MAAM,IAAA,wCAAiB,EAAC,QAAQ,EAAE;YACvC,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,OAAO,EAAE,IAAI;YACb,IAAI;YACJ,EAAE;YACF,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,IAAI;YACV,aAAa,EAAE,iBAAiB;SACjC,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,EAAE,CAAA;IAChB,MAAM,eAAe,GAAG,MAAM,IAAA,wDAAyB,EAAC,QAAQ,CAAC,CAAA;IACjE,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAA;IAChD,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAA;IAChD,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAE/D,MAAM,QAAQ,GAAG,IAAA,6BAAkB,EAAC;QAClC,GAAG,EAAE,IAAA,kBAAQ,EAAC;YACZ,kHAAkH;SACnH,CAAC;QACF,YAAY,EAAE,iBAAiB;QAC/B,IAAI,EAAE;YACJ,IAAI;YACJ,EAAE;YACF,IAAA,yBAAc,EAAC,KAAK,EAAE,6BAAgB,CAAC,CAAC,CAAC,CAAC,kCAAqB,CAAC,CAAC,CAAC,KAAK;YACvE,MAAM;YACN,UAAU;SACX;KACF,CAAC,CAAA;IAEF,OAAO,MAAM,IAAA,wCAAiB,EAAC,QAAQ,EAAE;QACvC,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,OAAO,EAAE,IAAA,sCAAgB,EAAC,eAAe,CAAC;QAC1C,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,iBAAiB;QAChC,KAAK;KACN,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,6BAA6B,CAI1C,MAAgC,EAChC,QAAoC,EACpC,IAAa,EACb,KAAc,EACd,MAAc,EACd,EAAW,EACX,iBAAyB,EACzB,aAAsB,EACtB,gBAAsB;IAEtB,IAAI,iBAAiB,GAAG,gBAAgB,CAAA;IACxC,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,KAAK,IAAI;QAClD,iBAAiB,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAElE,MAAM,eAAe,GAAG,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;QACjD,OAAO,EAAE,KAAK;QACd,GAAG,EAAE,IAAA,kBAAQ,EAAC;YACZ,mEAAmE;SACpE,CAAC;QACF,YAAY,EAAE,iBAAiB;QAC/B,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAM,CAAC,EAAE,CAAC,CAAC;KACnC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,IAAA,6BAAkB,EAAC;QAClC,GAAG,EAAE,IAAA,kBAAQ,EAAC;YACZ,kHAAkH;SACnH,CAAC;QACF,YAAY,EAAE,iBAAiB;QAC/B,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,CAAC;KACnD,CAAC,CAAA;IAEF,OAAO,MAAM,IAAA,wCAAiB,EAAC,QAAQ,EAAE;QACvC,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAA,sCAAgB,EAAC,aAAa,CAAC;QACrC,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,iBAAiB;KACjC,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,MAAgC,EAChC,KAAc;IAEd,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,IAAA,yBAAc,EAAC,KAAK,EAAE,6BAAgB,CAAC;QAAE,MAAM,GAAG,kCAAqB,CAAA;IAC3E,IAAI,IAAI,GAAG,OAAO,CAAA;IAClB,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,QAAQ,GAAG,GAAG,CAAA;IAClB,IAAI,CAAC,IAAA,yBAAc,EAAC,MAAM,EAAE,kCAAqB,CAAC,EAAE,CAAC;QACnD,IAAI,GAAG,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;YAChC,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,kBAAQ;YACb,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,EAAE;SACT,CAAC,CAAA;QACF,MAAM,GAAG,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;YAClC,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,kBAAQ;YACb,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE,EAAE;SACT,CAAC,CAAA;QACF,QAAQ,GAAG,MAAM,CACf,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;YACzB,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,kBAAQ;YACb,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,EAAE;SACT,CAAC,CACH,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,8BAAmB,EAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IACnE,MAAM,WAAW,GAAG,IAAA,8BAAmB,EAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IACvE,MAAM,aAAa,GAAG,IAAA,8BAAmB,EAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE5E,OAAO,IAAA,8BAAmB,EACxB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EACzD,CAAC,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,CACxC,CAAA;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,MAAgC,EAChC,kBAA2B,EAC3B,KAAc,EACd,MAAc,EACd,EAAW;IAEX,IAAI,OAAY,CAAA;IAChB,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,IAAA,yBAAc,EAAC,KAAK,EAAE,6BAAgB,CAAC;QAAE,MAAM,GAAG,kCAAqB,CAAA;IAE3E,MAAM,cAAc,GAAG,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;QAChD,OAAO,EAAE,kBAAkB;QAC3B,GAAG,EAAE,IAAA,kBAAQ,EAAC,CAAC,wDAAwD,CAAC,CAAC;QACzE,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE,CAAC,MAAM,CAAC;KACf,CAAC,CAAA;IAEF,IAAI,cAAc,IAAI,cAAc,KAAK,mBAAQ;QAAE,OAAO,GAAG,cAAc,CAAA;SACtE,CAAC;QAQJ,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,wCAA6B,EAAE,CAAA;QAC5D,OAAO,GAAG,IAAA,oBAAS,EACjB,IAAA,8BAAmB,EACjB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC/D,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,sCAAyB,EAAE,MAAM,CAAC,CAC7D,CACF,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,8BAAmB,EACjC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC/D,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAC7B,CAAA;IAED,MAAM,IAAI,GAAG,IAAA,8BAAmB,EAC9B,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EACxC,CAAC,OAAO,EAAE,OAAO,CAAC,CACnB,CAAA;IAED,OAAO,IAAA,oBAAS,EAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;AAClC,CAAC;AAED,KAAK,UAAU,kBAAkB,CAI/B,MAAgC,EAChC,QAAoC;IAOpC,MAAM,SAAS,GAAG,MAAM,IAAA,wDAAyB,EAAC,QAAQ,CAAC,CAAA;IAC3D,IAAI,WAAW,GAAG,SAAS,CAAC,WAAW,CAAA;IACvC,IAAI,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAA;IAErD,IAAI,CAAC,WAAW;QACd,WAAW,GAAG,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;YACvC,OAAO,EAAE,SAAS,CAAC,QAAQ;YAC3B,GAAG,EAAE,IAAA,kBAAQ,EAAC,CAAC,gDAAgD,CAAC,CAAC;YACjE,YAAY,EAAE,cAAc;YAC5B,IAAI,EAAE,EAAE;SACT,CAAC,CAAA;IACJ,IAAI,CAAC,kBAAkB;QACrB,kBAAkB,GAAG,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;YAC9C,OAAO,EAAE,SAAS,CAAC,QAAQ;YAC3B,GAAG,EAAE,IAAA,kBAAQ,EAAC,CAAC,oDAAoD,CAAC,CAAC;YACrE,YAAY,EAAE,kBAAkB;YAChC,IAAI,EAAE,EAAE;SACT,CAAC,CAAA;IAEJ,OAAO;QACL,GAAG,SAAS;QACZ,WAAW;QACX,kBAAkB;KACnB,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AAC7C,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,MAAgC;IAEhC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,yBAAa,CAAC,CAAA;IAC5C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAA;IACtC,MAAM,OAAO,GACX,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;QACrC,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE;QAC7B,CAAC,CAAC,KAAK,CAAC,aAAa,CAAA;IACzB,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,4BAA4B,EAAE,CAAA;IAEzE,OAAO;QACL,YAAY,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,oBAAoB;QACxD,oBAAoB,EAAE,oBAAoB;KAC3C,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/estimateFee.js b/node_modules/viem/_cjs/zksync/actions/estimateFee.js new file mode 100644 index 0000000000000000000000000000000000000000..362a9d0d516947ef00b3393b1930b434c9799977 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/estimateFee.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.estimateFee = estimateFee; +const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js"); +const fromHex_js_1 = require("../../utils/encoding/fromHex.js"); +async function estimateFee(client, parameters) { + const { account: account_, ...request } = parameters; + const account = account_ ? (0, parseAccount_js_1.parseAccount)(account_) : client.account; + const formatters = client.chain?.formatters; + const formatted = formatters?.transactionRequest?.format({ + ...request, + from: account?.address, + }, 'estimateFee'); + const result = await client.request({ + method: 'zks_estimateFee', + params: [formatted], + }); + return { + gasLimit: (0, fromHex_js_1.hexToBigInt)(result.gas_limit), + gasPerPubdataLimit: (0, fromHex_js_1.hexToBigInt)(result.gas_per_pubdata_limit), + maxPriorityFeePerGas: (0, fromHex_js_1.hexToBigInt)(result.max_priority_fee_per_gas), + maxFeePerGas: (0, fromHex_js_1.hexToBigInt)(result.max_fee_per_gas), + }; +} +//# sourceMappingURL=estimateFee.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/estimateFee.js.map b/node_modules/viem/_cjs/zksync/actions/estimateFee.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5e1065224c010dc37a6747ca8c88bbbafb2b5d4a --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/estimateFee.js.map @@ -0,0 +1 @@ +{"version":3,"file":"estimateFee.js","sourceRoot":"","sources":["../../../zksync/actions/estimateFee.ts"],"names":[],"mappings":";;AAkBA,kCA8BC;AAhDD,0EAAmE;AAKnE,gEAA6D;AAatD,KAAK,UAAU,WAAW,CAI/B,MAAgE,EAChE,UAAiD;IAEjD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,GAAG,UAAU,CAAA;IACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,8BAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;IAElE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,UAAU,CAAA;IAC3C,MAAM,SAAS,GAAG,UAAU,EAAE,kBAAkB,EAAE,MAAM,CACtD;QACE,GAAG,OAAO;QACV,IAAI,EAAE,OAAO,EAAE,OAAO;KACvB,EACD,aAAa,CACd,CAAA;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,CAAC,SAAS,CAAC;KACpB,CAAC,CAAA;IAEF,OAAO;QACL,QAAQ,EAAE,IAAA,wBAAW,EAAC,MAAM,CAAC,SAAS,CAAC;QACvC,kBAAkB,EAAE,IAAA,wBAAW,EAAC,MAAM,CAAC,qBAAqB,CAAC;QAC7D,oBAAoB,EAAE,IAAA,wBAAW,EAAC,MAAM,CAAC,wBAAwB,CAAC;QAClE,YAAY,EAAE,IAAA,wBAAW,EAAC,MAAM,CAAC,eAAe,CAAC;KAClD,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/estimateGasL1ToL2.js b/node_modules/viem/_cjs/zksync/actions/estimateGasL1ToL2.js new file mode 100644 index 0000000000000000000000000000000000000000..ecdde493b75106aa7a873153786df0a461daec03 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/estimateGasL1ToL2.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.estimateGasL1ToL2 = estimateGasL1ToL2; +const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js"); +async function estimateGasL1ToL2(client, parameters) { + const { account: account_, ...request } = parameters; + const account = account_ ? (0, parseAccount_js_1.parseAccount)(account_) : client.account; + const formatters = client.chain?.formatters; + const formatted = formatters?.transactionRequest?.format({ + ...request, + from: account?.address, + }, 'estimateGasL1ToL2'); + const result = await client.request({ + method: 'zks_estimateGasL1ToL2', + params: [formatted], + }); + return result; +} +//# sourceMappingURL=estimateGasL1ToL2.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/estimateGasL1ToL2.js.map b/node_modules/viem/_cjs/zksync/actions/estimateGasL1ToL2.js.map new file mode 100644 index 0000000000000000000000000000000000000000..981d8bcae643a1d68306d2e00d92d728a13e791e --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/estimateGasL1ToL2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"estimateGasL1ToL2.js","sourceRoot":"","sources":["../../../zksync/actions/estimateGasL1ToL2.ts"],"names":[],"mappings":";;AAeA,8CAyBC;AAxCD,0EAAmE;AAe5D,KAAK,UAAU,iBAAiB,CAIrC,MAAgE,EAChE,UAAuD;IAEvD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,GAAG,UAAU,CAAA;IACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,8BAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;IAElE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,UAAU,CAAA;IAC3C,MAAM,SAAS,GAAG,UAAU,EAAE,kBAAkB,EAAE,MAAM,CACtD;QACE,GAAG,OAAO;QACV,IAAI,EAAE,OAAO,EAAE,OAAO;KACvB,EACD,mBAAmB,CACpB,CAAA;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,uBAAuB;QAC/B,MAAM,EAAE,CAAC,SAAS,CAAC;KACpB,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/finalizeWithdrawal.js b/node_modules/viem/_cjs/zksync/actions/finalizeWithdrawal.js new file mode 100644 index 0000000000000000000000000000000000000000..3208609909b02126ef3364767ac4653dba4982ea --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/finalizeWithdrawal.js @@ -0,0 +1,99 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.finalizeWithdrawal = finalizeWithdrawal; +const abitype_1 = require("abitype"); +const readContract_js_1 = require("../../actions/public/readContract.js"); +const sendTransaction_js_1 = require("../../actions/wallet/sendTransaction.js"); +const account_js_1 = require("../../errors/account.js"); +const chain_js_1 = require("../../errors/chain.js"); +const index_js_1 = require("../../utils/index.js"); +const bridge_js_1 = require("../errors/bridge.js"); +const getWithdrawalL2ToL1Log_js_1 = require("../utils/bridge/getWithdrawalL2ToL1Log.js"); +const getWithdrawalLog_js_1 = require("../utils/bridge/getWithdrawalLog.js"); +const getDefaultBridgeAddresses_js_1 = require("./getDefaultBridgeAddresses.js"); +const getLogProof_js_1 = require("./getLogProof.js"); +async function finalizeWithdrawal(client, parameters) { + const { account: account_ = client.account, client: l2Client, hash, index = 0, ...rest } = parameters; + const account = account_ ? (0, index_js_1.parseAccount)(account_) : client.account; + if (!account) + throw new account_js_1.AccountNotFoundError({ + docsPath: '/docs/actions/wallet/sendTransaction', + }); + if (!l2Client.chain) + throw new chain_js_1.ChainNotFoundError(); + const finalizeWithdrawalParams = await getFinalizeWithdrawalParams(l2Client, { + hash, + index, + }); + const l1Nullifier = (await getBridgeAddresses(client, l2Client)).l1Nullifier; + const data = (0, index_js_1.encodeFunctionData)({ + abi: (0, abitype_1.parseAbi)([ + 'function finalizeDeposit((uint256 chainId, uint256 l2BatchNumber, uint256 l2MessageIndex, address l2Sender, uint16 l2TxNumberInBatch, bytes message, bytes32[] merkleProof) _finalizeWithdrawalParams)', + ]), + functionName: 'finalizeDeposit', + args: [ + { + chainId: BigInt(l2Client.chain.id), + l2BatchNumber: finalizeWithdrawalParams.l1BatchNumber, + l2MessageIndex: BigInt(finalizeWithdrawalParams.l2MessageIndex), + l2Sender: finalizeWithdrawalParams.sender, + l2TxNumberInBatch: Number(finalizeWithdrawalParams.l2TxNumberInBlock), + message: finalizeWithdrawalParams.message, + merkleProof: finalizeWithdrawalParams.proof, + }, + ], + }); + return await (0, sendTransaction_js_1.sendTransaction)(client, { + account, + to: l1Nullifier, + data, + ...rest, + }); +} +async function getFinalizeWithdrawalParams(client, parameters) { + const { hash } = parameters; + const { log, l1BatchTxId } = await (0, getWithdrawalLog_js_1.getWithdrawalLog)(client, parameters); + const { l2ToL1LogIndex } = await (0, getWithdrawalL2ToL1Log_js_1.getWithdrawalL2ToL1Log)(client, parameters); + const sender = (0, index_js_1.slice)(log.topics[1], 12); + const proof = await (0, getLogProof_js_1.getLogProof)(client, { + txHash: hash, + index: l2ToL1LogIndex, + }); + if (!proof) { + throw new bridge_js_1.WithdrawalLogNotFoundError({ hash }); + } + const [message] = (0, index_js_1.decodeAbiParameters)([{ type: 'bytes' }], log.data); + return { + l1BatchNumber: log.l1BatchNumber, + l2MessageIndex: proof.id, + l2TxNumberInBlock: l1BatchTxId, + message, + sender, + proof: proof.proof, + }; +} +async function getBridgeAddresses(client, l2Client) { + const addresses = await (0, getDefaultBridgeAddresses_js_1.getDefaultBridgeAddresses)(l2Client); + let l1Nullifier = addresses.l1Nullifier; + let l1NativeTokenVault = addresses.l1NativeTokenVault; + if (!l1Nullifier) + l1Nullifier = await (0, readContract_js_1.readContract)(client, { + address: addresses.sharedL1, + abi: (0, abitype_1.parseAbi)(['function L1_NULLIFIER() view returns (address)']), + functionName: 'L1_NULLIFIER', + args: [], + }); + if (!l1NativeTokenVault) + l1NativeTokenVault = await (0, readContract_js_1.readContract)(client, { + address: addresses.sharedL1, + abi: (0, abitype_1.parseAbi)(['function nativeTokenVault() view returns (address)']), + functionName: 'nativeTokenVault', + args: [], + }); + return { + ...addresses, + l1Nullifier, + l1NativeTokenVault, + }; +} +//# sourceMappingURL=finalizeWithdrawal.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/finalizeWithdrawal.js.map b/node_modules/viem/_cjs/zksync/actions/finalizeWithdrawal.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ecc93a76934c6d8f0833601625179399ce0752f2 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/finalizeWithdrawal.js.map @@ -0,0 +1 @@ +{"version":3,"file":"finalizeWithdrawal.js","sourceRoot":"","sources":["../../../zksync/actions/finalizeWithdrawal.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getAllBalances.js b/node_modules/viem/_cjs/zksync/actions/getAllBalances.js new file mode 100644 index 0000000000000000000000000000000000000000..5cc8e6372d4679119e76fc7dc8650c3d0aa50a5b --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getAllBalances.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getAllBalances = getAllBalances; +const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js"); +const fromHex_js_1 = require("../../utils/encoding/fromHex.js"); +async function getAllBalances(client, parameters) { + const { account: account_ } = parameters; + const account = account_ ? (0, parseAccount_js_1.parseAccount)(account_) : client.account; + const balances = await client.request({ + method: 'zks_getAllAccountBalances', + params: [account.address], + }); + const convertedBalances = {}; + for (const token in balances) + convertedBalances[token] = (0, fromHex_js_1.hexToBigInt)(balances[token]); + return convertedBalances; +} +//# sourceMappingURL=getAllBalances.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getAllBalances.js.map b/node_modules/viem/_cjs/zksync/actions/getAllBalances.js.map new file mode 100644 index 0000000000000000000000000000000000000000..773a47f31138d0061b81614e817ee9cc86047ad9 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getAllBalances.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getAllBalances.js","sourceRoot":"","sources":["../../../zksync/actions/getAllBalances.ts"],"names":[],"mappings":";;AAgBA,wCAiBC;AAhCD,0EAAmE;AAKnE,gEAA6D;AAUtD,KAAK,UAAU,cAAc,CAIlC,MAAgE,EAChE,UAA6C;IAE7C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;IACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,8BAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;IAClE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QACpC,MAAM,EAAE,2BAA2B;QACnC,MAAM,EAAE,CAAC,OAAQ,CAAC,OAAO,CAAC;KAC3B,CAAC,CAAA;IACF,MAAM,iBAAiB,GAA6B,EAAE,CAAA;IACtD,KAAK,MAAM,KAAK,IAAI,QAAQ;QACzB,iBAAyB,CAAC,KAAK,CAAC,GAAG,IAAA,wBAAW,EAAE,QAAgB,CAAC,KAAK,CAAC,CAAC,CAAA;IAC3E,OAAO,iBAAiB,CAAA;AAC1B,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getBaseTokenL1Address.js b/node_modules/viem/_cjs/zksync/actions/getBaseTokenL1Address.js new file mode 100644 index 0000000000000000000000000000000000000000..e827d4340a1d1894b7df1d89f6a584b4c68177cd --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getBaseTokenL1Address.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getBaseTokenL1Address = getBaseTokenL1Address; +async function getBaseTokenL1Address(client) { + const result = await client.request({ method: 'zks_getBaseTokenL1Address' }); + return result; +} +//# sourceMappingURL=getBaseTokenL1Address.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getBaseTokenL1Address.js.map b/node_modules/viem/_cjs/zksync/actions/getBaseTokenL1Address.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c04761fddd7ad9dc0a4defb42b6c6cdbfb0f2302 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getBaseTokenL1Address.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getBaseTokenL1Address.js","sourceRoot":"","sources":["../../../zksync/actions/getBaseTokenL1Address.ts"],"names":[],"mappings":";;AAUA,sDAQC;AARM,KAAK,UAAU,qBAAqB,CAIzC,MAAgE;IAEhE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC,CAAA;IAC5E,OAAO,MAAM,CAAA;AACf,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getBlockDetails.js b/node_modules/viem/_cjs/zksync/actions/getBlockDetails.js new file mode 100644 index 0000000000000000000000000000000000000000..9a7eec087c9ebc9abde92d2179e52773381ee983 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getBlockDetails.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getBlockDetails = getBlockDetails; +async function getBlockDetails(client, parameters) { + const result = await client.request({ + method: 'zks_getBlockDetails', + params: [parameters.number], + }); + return result; +} +//# sourceMappingURL=getBlockDetails.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getBlockDetails.js.map b/node_modules/viem/_cjs/zksync/actions/getBlockDetails.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a46038b37293a66163dd3db2b58645c8a08545cb --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getBlockDetails.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getBlockDetails.js","sourceRoot":"","sources":["../../../zksync/actions/getBlockDetails.ts"],"names":[],"mappings":";;AAcA,0CAYC;AAZM,KAAK,UAAU,eAAe,CAInC,MAAgE,EAChE,UAAqC;IAErC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,qBAAqB;QAC7B,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;KAC5B,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getBridgehubContractAddress.js b/node_modules/viem/_cjs/zksync/actions/getBridgehubContractAddress.js new file mode 100644 index 0000000000000000000000000000000000000000..0c3046f42fa45887b71c0351d567456f402e64a9 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getBridgehubContractAddress.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getBridgehubContractAddress = getBridgehubContractAddress; +async function getBridgehubContractAddress(client) { + const result = await client.request({ method: 'zks_getBridgehubContract' }); + return result; +} +//# sourceMappingURL=getBridgehubContractAddress.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getBridgehubContractAddress.js.map b/node_modules/viem/_cjs/zksync/actions/getBridgehubContractAddress.js.map new file mode 100644 index 0000000000000000000000000000000000000000..64f6bce191986d4c586785ed9bcb5b2a3ead734d --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getBridgehubContractAddress.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getBridgehubContractAddress.js","sourceRoot":"","sources":["../../../zksync/actions/getBridgehubContractAddress.ts"],"names":[],"mappings":";;AASA,kEAQC;AARM,KAAK,UAAU,2BAA2B,CAI/C,MAAgE;IAEhE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAA;IAC3E,OAAO,MAAM,CAAA;AACf,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getDefaultBridgeAddresses.js b/node_modules/viem/_cjs/zksync/actions/getDefaultBridgeAddresses.js new file mode 100644 index 0000000000000000000000000000000000000000..a1691190a1c41e7563d591270fb3b85b6df56155 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getDefaultBridgeAddresses.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getDefaultBridgeAddresses = getDefaultBridgeAddresses; +async function getDefaultBridgeAddresses(client) { + const addresses = await client.request({ method: 'zks_getBridgeContracts' }); + return { + erc20L1: addresses.l1Erc20DefaultBridge, + sharedL1: addresses.l1SharedDefaultBridge, + sharedL2: addresses.l2SharedDefaultBridge, + l1Nullifier: addresses.l1Nullifier, + l1NativeTokenVault: addresses.l1NativeTokenVault, + }; +} +//# sourceMappingURL=getDefaultBridgeAddresses.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getDefaultBridgeAddresses.js.map b/node_modules/viem/_cjs/zksync/actions/getDefaultBridgeAddresses.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7c11d28465eed1c3edf34e3749645b692d84358f --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getDefaultBridgeAddresses.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getDefaultBridgeAddresses.js","sourceRoot":"","sources":["../../../zksync/actions/getDefaultBridgeAddresses.ts"],"names":[],"mappings":";;AASA,8DAeC;AAfM,KAAK,UAAU,yBAAyB,CAI7C,MAAgE;IAEhE,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAA;IAE5E,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,oBAAoB;QACvC,QAAQ,EAAE,SAAS,CAAC,qBAAqB;QACzC,QAAQ,EAAE,SAAS,CAAC,qBAAqB;QACzC,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;KACjD,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getGasPerPubdata.js b/node_modules/viem/_cjs/zksync/actions/getGasPerPubdata.js new file mode 100644 index 0000000000000000000000000000000000000000..4a84377d7084bf5ab484e787cb027bf801d9f454 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getGasPerPubdata.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getGasPerPubdata = getGasPerPubdata; +const fromHex_js_1 = require("../../utils/encoding/fromHex.js"); +async function getGasPerPubdata(client) { + const result = await client.request({ + method: 'zks_gasPerPubdata', + }, { + dedupe: true, + }); + return (0, fromHex_js_1.hexToBigInt)(result); +} +//# sourceMappingURL=getGasPerPubdata.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getGasPerPubdata.js.map b/node_modules/viem/_cjs/zksync/actions/getGasPerPubdata.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9abab768fc022372bc3ac2c9c0d32f6365c1a11f --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getGasPerPubdata.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getGasPerPubdata.js","sourceRoot":"","sources":["../../../zksync/actions/getGasPerPubdata.ts"],"names":[],"mappings":";;AASA,4CAgBC;AAtBD,gEAA6D;AAMtD,KAAK,UAAU,gBAAgB,CAIpC,MAAgE;IAEhE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CACjC;QACE,MAAM,EAAE,mBAAmB;KAC5B,EACD;QACE,MAAM,EAAE,IAAI;KACb,CACF,CAAA;IAED,OAAO,IAAA,wBAAW,EAAC,MAAM,CAAC,CAAA;AAC5B,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getL1Allowance.js b/node_modules/viem/_cjs/zksync/actions/getL1Allowance.js new file mode 100644 index 0000000000000000000000000000000000000000..55736541318b5cbf139b92c5b0ed6f9f6ea1b1ce --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getL1Allowance.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getL1Allowance = getL1Allowance; +const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js"); +const readContract_js_1 = require("../../actions/public/readContract.js"); +const abis_js_1 = require("../../constants/abis.js"); +async function getL1Allowance(client, parameters) { + const { token, bridgeAddress, blockTag, account: account_ } = parameters; + const account = account_ ? (0, parseAccount_js_1.parseAccount)(account_) : client.account; + return await (0, readContract_js_1.readContract)(client, { + abi: abis_js_1.erc20Abi, + address: token, + functionName: 'allowance', + args: [account.address, bridgeAddress], + blockTag: blockTag, + }); +} +//# sourceMappingURL=getL1Allowance.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getL1Allowance.js.map b/node_modules/viem/_cjs/zksync/actions/getL1Allowance.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d907b0f0aecbe04a475e635817ac9f6140795ed2 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getL1Allowance.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getL1Allowance.js","sourceRoot":"","sources":["../../../zksync/actions/getL1Allowance.ts"],"names":[],"mappings":";;AAwBA,wCAkBC;AAzCD,0EAAmE;AACnE,0EAAmE;AAGnE,qDAAkD;AAmB3C,KAAK,UAAU,cAAc,CAIlC,MAAyC,EACzC,UAA6C;IAE7C,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;IAExE,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,8BAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;IAElE,OAAO,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;QAChC,GAAG,EAAE,kBAAQ;QACb,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,OAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;QACvC,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getL1Balance.js b/node_modules/viem/_cjs/zksync/actions/getL1Balance.js new file mode 100644 index 0000000000000000000000000000000000000000..dbeddb644792d46e57593f3ec3807c0dbc507200 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getL1Balance.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getL1Balance = getL1Balance; +const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js"); +const getBalance_js_1 = require("../../actions/public/getBalance.js"); +const address_js_1 = require("../constants/address.js"); +const isEth_js_1 = require("../utils/isEth.js"); +const getL1TokenBalance_js_1 = require("./getL1TokenBalance.js"); +async function getL1Balance(client, ...[parameters = {}]) { + const { account: account_ = client.account, blockNumber, blockTag, token = address_js_1.legacyEthAddress, } = parameters; + const account = account_ ? (0, parseAccount_js_1.parseAccount)(account_) : undefined; + if ((0, isEth_js_1.isEth)(token)) + return await (0, getBalance_js_1.getBalance)(client, { + address: account.address, + blockNumber, + blockTag, + }); + return await (0, getL1TokenBalance_js_1.getL1TokenBalance)(client, { + ...parameters, + }); +} +//# sourceMappingURL=getL1Balance.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getL1Balance.js.map b/node_modules/viem/_cjs/zksync/actions/getL1Balance.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d053d10c237ebcb1faf6772b86f8bdc243d8262e --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getL1Balance.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getL1Balance.js","sourceRoot":"","sources":["../../../zksync/actions/getL1Balance.ts"],"names":[],"mappings":";;AAuCA,oCA4BC;AAlED,0EAAmE;AACnE,sEAG2C;AAQ3C,wDAA0D;AAC1D,gDAAyC;AACzC,iEAG+B;AAqBxB,KAAK,UAAU,YAAY,CAIhC,MAAyC,EACzC,GAAG,CAAC,UAAU,GAAG,EAAE,CAEuB;IAE1C,MAAM,EACJ,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,WAAW,EACX,QAAQ,EACR,KAAK,GAAG,6BAAgB,GACzB,GAAG,UAAU,CAAA;IAEd,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,8BAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAE7D,IAAI,IAAA,gBAAK,EAAC,KAAK,CAAC;QACd,OAAO,MAAM,IAAA,0BAAU,EAAC,MAAM,EAAE;YAC9B,OAAO,EAAE,OAAQ,CAAC,OAAO;YACzB,WAAW;YACX,QAAQ;SACe,CAAC,CAAA;IAE5B,OAAO,MAAM,IAAA,wCAAiB,EAAC,MAAM,EAAE;QACrC,GAAI,UAAmD;KACxD,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getL1BatchBlockRange.js b/node_modules/viem/_cjs/zksync/actions/getL1BatchBlockRange.js new file mode 100644 index 0000000000000000000000000000000000000000..e2a35a540a260243370d19fe0b0776a46b5f1a0f --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getL1BatchBlockRange.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getL1BatchBlockRange = getL1BatchBlockRange; +const fromHex_js_1 = require("../../utils/encoding/fromHex.js"); +async function getL1BatchBlockRange(client, parameters) { + const [number_1, number_2] = await client.request({ + method: 'zks_getL1BatchBlockRange', + params: [parameters.l1BatchNumber], + }); + return [(0, fromHex_js_1.hexToNumber)(number_1), (0, fromHex_js_1.hexToNumber)(number_2)]; +} +//# sourceMappingURL=getL1BatchBlockRange.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getL1BatchBlockRange.js.map b/node_modules/viem/_cjs/zksync/actions/getL1BatchBlockRange.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f7e43dc8f3aa283fe698063148bd13e83689135a --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getL1BatchBlockRange.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getL1BatchBlockRange.js","sourceRoot":"","sources":["../../../zksync/actions/getL1BatchBlockRange.ts"],"names":[],"mappings":";;AAaA,oDAYC;AArBD,gEAA6D;AAStD,KAAK,UAAU,oBAAoB,CAIxC,MAAgE,EAChE,UAA0C;IAE1C,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAChD,MAAM,EAAE,0BAA0B;QAClC,MAAM,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;KACnC,CAAC,CAAA;IACF,OAAO,CAAC,IAAA,wBAAW,EAAC,QAAQ,CAAC,EAAE,IAAA,wBAAW,EAAC,QAAQ,CAAC,CAAC,CAAA;AACvD,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getL1BatchDetails.js b/node_modules/viem/_cjs/zksync/actions/getL1BatchDetails.js new file mode 100644 index 0000000000000000000000000000000000000000..f24b3fdb154ddc745a31d93d7c0cb71a51d5cbef --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getL1BatchDetails.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getL1BatchDetails = getL1BatchDetails; +async function getL1BatchDetails(client, parameters) { + const result = await client.request({ + method: 'zks_getL1BatchDetails', + params: [parameters.number], + }); + return result; +} +//# sourceMappingURL=getL1BatchDetails.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getL1BatchDetails.js.map b/node_modules/viem/_cjs/zksync/actions/getL1BatchDetails.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5e6b2f9748bb333f31209331e0c0e0d436bffdde --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getL1BatchDetails.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getL1BatchDetails.js","sourceRoot":"","sources":["../../../zksync/actions/getL1BatchDetails.ts"],"names":[],"mappings":";;AAcA,8CAYC;AAZM,KAAK,UAAU,iBAAiB,CAIrC,MAAgE,EAChE,UAAuC;IAEvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,uBAAuB;QAC/B,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;KAC5B,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getL1BatchNumber.js b/node_modules/viem/_cjs/zksync/actions/getL1BatchNumber.js new file mode 100644 index 0000000000000000000000000000000000000000..89fe0f09927dcce0b1eb231c35f2666daed1b5b6 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getL1BatchNumber.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getL1BatchNumber = getL1BatchNumber; +async function getL1BatchNumber(client) { + const result = await client.request({ method: 'zks_L1BatchNumber' }); + return result; +} +//# sourceMappingURL=getL1BatchNumber.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getL1BatchNumber.js.map b/node_modules/viem/_cjs/zksync/actions/getL1BatchNumber.js.map new file mode 100644 index 0000000000000000000000000000000000000000..23ae69b01c3d20b34fabd12c59812928e110896f --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getL1BatchNumber.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getL1BatchNumber.js","sourceRoot":"","sources":["../../../zksync/actions/getL1BatchNumber.ts"],"names":[],"mappings":";;AASA,4CAQC;AARM,KAAK,UAAU,gBAAgB,CAIpC,MAAgE;IAEhE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAA;IACpE,OAAO,MAAM,CAAA;AACf,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getL1ChainId.js b/node_modules/viem/_cjs/zksync/actions/getL1ChainId.js new file mode 100644 index 0000000000000000000000000000000000000000..c8be34d07766180edcc9df14fc7593107857ac80 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getL1ChainId.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getL1ChainId = getL1ChainId; +async function getL1ChainId(client) { + const result = await client.request({ method: 'zks_L1ChainId' }); + return result; +} +//# sourceMappingURL=getL1ChainId.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getL1ChainId.js.map b/node_modules/viem/_cjs/zksync/actions/getL1ChainId.js.map new file mode 100644 index 0000000000000000000000000000000000000000..041a2ac3ff4307f1403d62af616f51f98b7af43f --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getL1ChainId.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getL1ChainId.js","sourceRoot":"","sources":["../../../zksync/actions/getL1ChainId.ts"],"names":[],"mappings":";;AAUA,oCAQC;AARM,KAAK,UAAU,YAAY,CAIhC,MAAgE;IAEhE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAA;IAChE,OAAO,MAAM,CAAA;AACf,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getL1TokenAddress.js b/node_modules/viem/_cjs/zksync/actions/getL1TokenAddress.js new file mode 100644 index 0000000000000000000000000000000000000000..1cd4b560d56c46494df2c2772ea36496f736d5a3 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getL1TokenAddress.js @@ -0,0 +1,21 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getL1TokenAddress = getL1TokenAddress; +const readContract_js_1 = require("../../actions/public/readContract.js"); +const index_js_1 = require("../../utils/index.js"); +const abis_js_1 = require("../constants/abis.js"); +const address_js_1 = require("../constants/address.js"); +const getDefaultBridgeAddresses_js_1 = require("./getDefaultBridgeAddresses.js"); +async function getL1TokenAddress(client, parameters) { + const { token } = parameters; + if ((0, index_js_1.isAddressEqual)(token, address_js_1.legacyEthAddress)) + return address_js_1.legacyEthAddress; + const bridgeAddress = (await (0, getDefaultBridgeAddresses_js_1.getDefaultBridgeAddresses)(client)).sharedL2; + return await (0, readContract_js_1.readContract)(client, { + address: bridgeAddress, + abi: abis_js_1.l2SharedBridgeAbi, + functionName: 'l1TokenAddress', + args: [token], + }); +} +//# sourceMappingURL=getL1TokenAddress.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getL1TokenAddress.js.map b/node_modules/viem/_cjs/zksync/actions/getL1TokenAddress.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9d4a40d2a77c5936a4f076749b2c468541d3127b --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getL1TokenAddress.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getL1TokenAddress.js","sourceRoot":"","sources":["../../../zksync/actions/getL1TokenAddress.ts"],"names":[],"mappings":";;AAwCA,8CAkBC;AAzDD,0EAAmE;AAKnE,mDAAqD;AACrD,kDAAwD;AACxD,wDAA0D;AAC1D,iFAA0E;AA+BnE,KAAK,UAAU,iBAAiB,CAIrC,MAAyC,EACzC,UAAuC;IAEvC,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAA;IAC5B,IAAI,IAAA,yBAAc,EAAC,KAAK,EAAE,6BAAgB,CAAC;QAAE,OAAO,6BAAgB,CAAA;IAEpE,MAAM,aAAa,GAAG,CAAC,MAAM,IAAA,wDAAyB,EAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA;IAExE,OAAO,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;QAChC,OAAO,EAAE,aAAa;QACtB,GAAG,EAAE,2BAAiB;QACtB,YAAY,EAAE,gBAAgB;QAC9B,IAAI,EAAE,CAAC,KAAK,CAAC;KACd,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getL1TokenBalance.js b/node_modules/viem/_cjs/zksync/actions/getL1TokenBalance.js new file mode 100644 index 0000000000000000000000000000000000000000..4eaab3bed4cb8cfba540699a3a1f3d84108c1425 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getL1TokenBalance.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getL1TokenBalance = getL1TokenBalance; +const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js"); +const index_js_1 = require("../../actions/index.js"); +const abis_js_1 = require("../../constants/abis.js"); +const token_is_eth_js_1 = require("../errors/token-is-eth.js"); +const isEth_js_1 = require("../utils/isEth.js"); +async function getL1TokenBalance(client, parameters) { + const { account: account_ = client.account, blockTag, blockNumber, token, } = parameters; + if ((0, isEth_js_1.isEth)(token)) + throw new token_is_eth_js_1.TokenIsEthError(); + const account = account_ ? (0, parseAccount_js_1.parseAccount)(account_) : client.account; + return await (0, index_js_1.readContract)(client, { + abi: abis_js_1.erc20Abi, + address: token, + functionName: 'balanceOf', + args: [account.address], + blockNumber: blockNumber, + blockTag: blockTag, + }); +} +//# sourceMappingURL=getL1TokenBalance.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getL1TokenBalance.js.map b/node_modules/viem/_cjs/zksync/actions/getL1TokenBalance.js.map new file mode 100644 index 0000000000000000000000000000000000000000..16b5045c15bcb61a002147e3ee5211c7304b64eb --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getL1TokenBalance.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getL1TokenBalance.js","sourceRoot":"","sources":["../../../zksync/actions/getL1TokenBalance.ts"],"names":[],"mappings":";;AAuCA,8CA0BC;AAhED,0EAAmE;AACnE,qDAAqD;AAGrD,qDAAkD;AAMlD,+DAGkC;AAClC,gDAAyC;AAwBlC,KAAK,UAAU,iBAAiB,CAIrC,MAAyC,EACzC,UAAgD;IAEhD,MAAM,EACJ,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,QAAQ,EACR,WAAW,EACX,KAAK,GACN,GAAG,UAAU,CAAA;IAEd,IAAI,IAAA,gBAAK,EAAC,KAAM,CAAC;QAAE,MAAM,IAAI,iCAAe,EAAE,CAAA;IAE9C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,8BAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;IAElE,OAAO,MAAM,IAAA,uBAAY,EAAC,MAAM,EAAE;QAChC,GAAG,EAAE,kBAAQ;QACb,OAAO,EAAE,KAAM;QACf,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,OAAQ,CAAC,OAAO,CAAC;QACxB,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getL2TokenAddress.js b/node_modules/viem/_cjs/zksync/actions/getL2TokenAddress.js new file mode 100644 index 0000000000000000000000000000000000000000..414cc5ab35c075df38c7a6d64b72335425cd7acc --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getL2TokenAddress.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getL2TokenAddress = getL2TokenAddress; +const readContract_js_1 = require("../../actions/public/readContract.js"); +const index_js_1 = require("../../utils/index.js"); +const abis_js_1 = require("../constants/abis.js"); +const address_js_1 = require("../constants/address.js"); +const getBaseTokenL1Address_js_1 = require("./getBaseTokenL1Address.js"); +const getDefaultBridgeAddresses_js_1 = require("./getDefaultBridgeAddresses.js"); +async function getL2TokenAddress(client, parameters) { + let { token, bridgeAddress } = parameters; + if ((0, index_js_1.isAddressEqual)(token, address_js_1.legacyEthAddress)) + token = address_js_1.ethAddressInContracts; + const baseToken = await (0, getBaseTokenL1Address_js_1.getBaseTokenL1Address)(client); + if ((0, index_js_1.isAddressEqual)(token, baseToken)) + return address_js_1.l2BaseTokenAddress; + bridgeAddress ??= (await (0, getDefaultBridgeAddresses_js_1.getDefaultBridgeAddresses)(client)).sharedL2; + return await (0, readContract_js_1.readContract)(client, { + address: bridgeAddress, + abi: abis_js_1.l2SharedBridgeAbi, + functionName: 'l2TokenAddress', + args: [token], + }); +} +//# sourceMappingURL=getL2TokenAddress.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getL2TokenAddress.js.map b/node_modules/viem/_cjs/zksync/actions/getL2TokenAddress.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8c5bbed7b116cbe0ce2deb2b71439cfe5c8da9c9 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getL2TokenAddress.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getL2TokenAddress.js","sourceRoot":"","sources":["../../../zksync/actions/getL2TokenAddress.ts"],"names":[],"mappings":";;AAgDA,8CAqBC;AApED,0EAAmE;AAKnE,mDAAqD;AACrD,kDAAwD;AACxD,wDAIgC;AAChC,yEAAkE;AAClE,iFAA0E;AAkCnE,KAAK,UAAU,iBAAiB,CAIrC,MAAyC,EACzC,UAAuC;IAEvC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,UAAU,CAAA;IACzC,IAAI,IAAA,yBAAc,EAAC,KAAK,EAAE,6BAAgB,CAAC;QAAE,KAAK,GAAG,kCAAqB,CAAA;IAE1E,MAAM,SAAS,GAAG,MAAM,IAAA,gDAAqB,EAAC,MAAM,CAAC,CAAA;IACrD,IAAI,IAAA,yBAAc,EAAC,KAAK,EAAE,SAAS,CAAC;QAAE,OAAO,+BAAkB,CAAA;IAE/D,aAAa,KAAK,CAAC,MAAM,IAAA,wDAAyB,EAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA;IAEpE,OAAO,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;QAChC,OAAO,EAAE,aAAa;QACtB,GAAG,EAAE,2BAAiB;QACtB,YAAY,EAAE,gBAAgB;QAC9B,IAAI,EAAE,CAAC,KAAK,CAAC;KACd,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getLogProof.js b/node_modules/viem/_cjs/zksync/actions/getLogProof.js new file mode 100644 index 0000000000000000000000000000000000000000..19985907e098cddac912e72ad9624921ffaa6335 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getLogProof.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getLogProof = getLogProof; +async function getLogProof(client, parameters) { + const result = await client.request({ + method: 'zks_getL2ToL1LogProof', + params: [parameters.txHash, parameters.index], + }); + return result; +} +//# sourceMappingURL=getLogProof.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getLogProof.js.map b/node_modules/viem/_cjs/zksync/actions/getLogProof.js.map new file mode 100644 index 0000000000000000000000000000000000000000..595118cfe557e32e0e87de4d14659c0923757078 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getLogProof.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getLogProof.js","sourceRoot":"","sources":["../../../zksync/actions/getLogProof.ts"],"names":[],"mappings":";;AAeA,kCAYC;AAZM,KAAK,UAAU,WAAW,CAI/B,MAAgE,EAChE,UAAiC;IAEjC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,uBAAuB;QAC/B,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC;KAC9C,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getMainContractAddress.js b/node_modules/viem/_cjs/zksync/actions/getMainContractAddress.js new file mode 100644 index 0000000000000000000000000000000000000000..cf6b441eaae0da3757639047f69c66fda9697ed6 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getMainContractAddress.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getMainContractAddress = getMainContractAddress; +async function getMainContractAddress(client) { + const address = await client.request({ method: 'zks_getMainContract' }); + return address; +} +//# sourceMappingURL=getMainContractAddress.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getMainContractAddress.js.map b/node_modules/viem/_cjs/zksync/actions/getMainContractAddress.js.map new file mode 100644 index 0000000000000000000000000000000000000000..59752a2a22f494fda113bd2df900ee86f0a4446a --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getMainContractAddress.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getMainContractAddress.js","sourceRoot":"","sources":["../../../zksync/actions/getMainContractAddress.ts"],"names":[],"mappings":";;AAUA,wDAQC;AARM,KAAK,UAAU,sBAAsB,CAI1C,MAAgE;IAEhE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAA;IACvE,OAAO,OAAO,CAAA;AAChB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getRawBlockTransactions.js b/node_modules/viem/_cjs/zksync/actions/getRawBlockTransactions.js new file mode 100644 index 0000000000000000000000000000000000000000..5d70cd88239a958133c2ff20c307a99cf57aafc6 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getRawBlockTransactions.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getRawBlockTransactions = getRawBlockTransactions; +const camelCaseKeys_js_1 = require("../utils/camelCaseKeys.js"); +async function getRawBlockTransactions(client, parameters) { + const result = await client.request({ + method: 'zks_getRawBlockTransactions', + params: [parameters.number], + }); + return (0, camelCaseKeys_js_1.camelCaseKeys)(result); +} +//# sourceMappingURL=getRawBlockTransactions.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getRawBlockTransactions.js.map b/node_modules/viem/_cjs/zksync/actions/getRawBlockTransactions.js.map new file mode 100644 index 0000000000000000000000000000000000000000..50969b3ab07845e67fd69afbff4a689eee8bd289 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getRawBlockTransactions.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getRawBlockTransactions.js","sourceRoot":"","sources":["../../../zksync/actions/getRawBlockTransactions.ts"],"names":[],"mappings":";;AAcA,0DAYC;AAnBD,gEAAyD;AAOlD,KAAK,UAAU,uBAAuB,CAI3C,MAAgE,EAChE,UAA6C;IAE7C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,6BAA6B;QACrC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;KAC5B,CAAC,CAAA;IACF,OAAO,IAAA,gCAAa,EAAC,MAAM,CAAsC,CAAA;AACnE,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getTestnetPaymasterAddress.js b/node_modules/viem/_cjs/zksync/actions/getTestnetPaymasterAddress.js new file mode 100644 index 0000000000000000000000000000000000000000..285232f49be50d2b2067507d5fd29ea89033d2b3 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getTestnetPaymasterAddress.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getTestnetPaymasterAddress = getTestnetPaymasterAddress; +async function getTestnetPaymasterAddress(client) { + const result = await client.request({ method: 'zks_getTestnetPaymaster' }); + return result; +} +//# sourceMappingURL=getTestnetPaymasterAddress.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getTestnetPaymasterAddress.js.map b/node_modules/viem/_cjs/zksync/actions/getTestnetPaymasterAddress.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f3ee38d3bbf09542dc5e19c0f851e1fecde64c68 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getTestnetPaymasterAddress.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getTestnetPaymasterAddress.js","sourceRoot":"","sources":["../../../zksync/actions/getTestnetPaymasterAddress.ts"],"names":[],"mappings":";;AAUA,gEAQC;AARM,KAAK,UAAU,0BAA0B,CAI9C,MAAgE;IAEhE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAA;IAC1E,OAAO,MAAM,CAAA;AACf,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getTransactionDetails.js b/node_modules/viem/_cjs/zksync/actions/getTransactionDetails.js new file mode 100644 index 0000000000000000000000000000000000000000..71d34c05a19f0b31f73e24249eccfd910043690b --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getTransactionDetails.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getTransactionDetails = getTransactionDetails; +async function getTransactionDetails(client, parameters) { + const result = await client.request({ + method: 'zks_getTransactionDetails', + params: [parameters.txHash], + }); + return result; +} +//# sourceMappingURL=getTransactionDetails.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/getTransactionDetails.js.map b/node_modules/viem/_cjs/zksync/actions/getTransactionDetails.js.map new file mode 100644 index 0000000000000000000000000000000000000000..0c080f35c252c85eeb8a2b745e87dd6575c7af08 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/getTransactionDetails.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getTransactionDetails.js","sourceRoot":"","sources":["../../../zksync/actions/getTransactionDetails.ts"],"names":[],"mappings":";;AAcA,sDAYC;AAZM,KAAK,UAAU,qBAAqB,CAIzC,MAAgE,EAChE,UAA2C;IAE3C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAClC,MAAM,EAAE,2BAA2B;QACnC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;KAC5B,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/isWithdrawalFinalized.js b/node_modules/viem/_cjs/zksync/actions/isWithdrawalFinalized.js new file mode 100644 index 0000000000000000000000000000000000000000..a0122dfd38e93059e7249ebb7ff6bff1c99d46b2 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/isWithdrawalFinalized.js @@ -0,0 +1,35 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isWithdrawalFinalized = isWithdrawalFinalized; +const readContract_js_1 = require("../../actions/public/readContract.js"); +const chain_js_1 = require("../../errors/chain.js"); +const abis_js_1 = require("../constants/abis.js"); +const bridge_js_1 = require("../errors/bridge.js"); +const getWithdrawalL2ToL1Log_js_1 = require("../utils/bridge/getWithdrawalL2ToL1Log.js"); +const getWithdrawalLog_js_1 = require("../utils/bridge/getWithdrawalLog.js"); +const getDefaultBridgeAddresses_js_1 = require("./getDefaultBridgeAddresses.js"); +const getLogProof_js_1 = require("./getLogProof.js"); +async function isWithdrawalFinalized(client, parameters) { + const { client: l2Client, hash, index = 0 } = parameters; + if (!l2Client.chain) + throw new chain_js_1.ChainNotFoundError(); + const { log } = await (0, getWithdrawalLog_js_1.getWithdrawalLog)(l2Client, { hash, index }); + const { l2ToL1LogIndex } = await (0, getWithdrawalL2ToL1Log_js_1.getWithdrawalL2ToL1Log)(l2Client, { + hash, + index, + }); + const proof = await (0, getLogProof_js_1.getLogProof)(l2Client, { + txHash: hash, + index: l2ToL1LogIndex, + }); + if (!proof) + throw new bridge_js_1.WithdrawalLogNotFoundError({ hash }); + const l1Bridge = (await (0, getDefaultBridgeAddresses_js_1.getDefaultBridgeAddresses)(l2Client)).sharedL1; + return await (0, readContract_js_1.readContract)(client, { + address: l1Bridge, + abi: abis_js_1.l1SharedBridgeAbi, + functionName: 'isWithdrawalFinalized', + args: [BigInt(l2Client.chain.id), log.l1BatchNumber, BigInt(proof.id)], + }); +} +//# sourceMappingURL=isWithdrawalFinalized.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/isWithdrawalFinalized.js.map b/node_modules/viem/_cjs/zksync/actions/isWithdrawalFinalized.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e9bcd55cf0a5ea337a7f4688573582e652310778 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/isWithdrawalFinalized.js.map @@ -0,0 +1 @@ +{"version":3,"file":"isWithdrawalFinalized.js","sourceRoot":"","sources":["../../../zksync/actions/isWithdrawalFinalized.ts"],"names":[],"mappings":";;AAmEA,sDAoCC;AAtGD,0EAAmE;AAGnE,oDAG8B;AAG9B,kDAAwD;AACxD,mDAG4B;AAE5B,yFAAkF;AAClF,6EAAsE;AACtE,iFAA0E;AAC1E,qDAA8C;AAgDvC,KAAK,UAAU,qBAAqB,CAMzC,MAAyC,EACzC,UAA+D;IAE/D,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,UAAU,CAAA;IAExD,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,MAAM,IAAI,6BAAkB,EAAE,CAAA;IAEnD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAA,sCAAgB,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACjE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,IAAA,kDAAsB,EAAC,QAAQ,EAAE;QAChE,IAAI;QACJ,KAAK;KACN,CAAC,CAAA;IAKF,MAAM,KAAK,GAAG,MAAM,IAAA,4BAAW,EAAC,QAAQ,EAAE;QACxC,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,cAAe;KACvB,CAAC,CAAA;IACF,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,sCAA0B,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAE1D,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAA,wDAAyB,EAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;IAErE,OAAO,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;QAChC,OAAO,EAAE,QAAQ;QACjB,GAAG,EAAE,2BAAiB;QACtB,YAAY,EAAE,uBAAuB;QACrC,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,aAAc,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACxE,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/requestExecute.js b/node_modules/viem/_cjs/zksync/actions/requestExecute.js new file mode 100644 index 0000000000000000000000000000000000000000..0d7b8c10452c4f157c323eb18ae3381112d06955 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/requestExecute.js @@ -0,0 +1,112 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.requestExecute = requestExecute; +const generatePrivateKey_js_1 = require("../../accounts/generatePrivateKey.js"); +const privateKeyToAddress_js_1 = require("../../accounts/utils/privateKeyToAddress.js"); +const readContract_js_1 = require("../../actions/public/readContract.js"); +const sendTransaction_js_1 = require("../../actions/wallet/sendTransaction.js"); +const public_js_1 = require("../../clients/decorators/public.js"); +const account_js_1 = require("../../errors/account.js"); +const chain_js_1 = require("../../errors/chain.js"); +const index_js_1 = require("../../utils/index.js"); +const abis_js_1 = require("../constants/abis.js"); +const address_js_1 = require("../constants/address.js"); +const number_js_1 = require("../constants/number.js"); +const bridge_js_1 = require("../errors/bridge.js"); +const estimateGasL1ToL2_js_1 = require("./estimateGasL1ToL2.js"); +const getBridgehubContractAddress_js_1 = require("./getBridgehubContractAddress.js"); +async function requestExecute(client, parameters) { + let { account: account_ = client.account, chain: chain_ = client.chain, client: l2Client, contractAddress, calldata, l2Value = 0n, mintValue = 0n, operatorTip = 0n, factoryDeps = [], gasPerPubdataByte = number_js_1.requiredL1ToL2GasPerPubdataLimit, refundRecipient, l2GasLimit, value, gasPrice, maxFeePerGas, maxPriorityFeePerGas, ...rest } = parameters; + const account = account_ ? (0, index_js_1.parseAccount)(account_) : client.account; + if (!account) + throw new account_js_1.AccountNotFoundError({ + docsPath: '/docs/actions/wallet/sendTransaction', + }); + if (!l2Client.chain) + throw new chain_js_1.ClientChainNotConfiguredError(); + const bridgehub = await (0, getBridgehubContractAddress_js_1.getBridgehubContractAddress)(l2Client); + const baseToken = await (0, readContract_js_1.readContract)(client, { + address: bridgehub, + abi: abis_js_1.bridgehubAbi, + functionName: 'baseToken', + args: [BigInt(l2Client.chain.id)], + }); + const isETHBasedChain = (0, index_js_1.isAddressEqual)(baseToken, address_js_1.ethAddressInContracts); + refundRecipient ??= account.address; + l2GasLimit ??= await (0, estimateGasL1ToL2_js_1.estimateGasL1ToL2)(l2Client, { + chain: l2Client.chain, + account: l2Client.account ?? + (0, index_js_1.parseAccount)((0, privateKeyToAddress_js_1.privateKeyToAddress)((0, generatePrivateKey_js_1.generatePrivateKey)())), + data: calldata, + to: contractAddress, + value: l2Value, + gasPerPubdata: gasPerPubdataByte, + factoryDeps, + }); + let gasPriceForEstimation = maxFeePerGas || gasPrice; + if (!gasPriceForEstimation) { + const estimatedFee = await getFeePrice(client); + gasPriceForEstimation = estimatedFee.maxFeePerGas; + maxFeePerGas = estimatedFee.maxFeePerGas; + maxPriorityFeePerGas ??= estimatedFee.maxPriorityFeePerGas; + } + const baseCost = await (0, readContract_js_1.readContract)(client, { + address: bridgehub, + abi: abis_js_1.bridgehubAbi, + functionName: 'l2TransactionBaseCost', + args: [ + BigInt(l2Client.chain.id), + gasPriceForEstimation, + l2GasLimit, + gasPerPubdataByte, + ], + }); + const l2Costs = baseCost + operatorTip + l2Value; + let providedValue = isETHBasedChain ? value : mintValue; + if (!providedValue || providedValue === 0n) { + providedValue = l2Costs; + } + if (baseCost > providedValue) + throw new bridge_js_1.BaseFeeHigherThanValueError(baseCost, providedValue); + const data = (0, index_js_1.encodeFunctionData)({ + abi: abis_js_1.bridgehubAbi, + functionName: 'requestL2TransactionDirect', + args: [ + { + chainId: BigInt(l2Client.chain.id), + mintValue: providedValue, + l2Contract: contractAddress, + l2Value: l2Value, + l2Calldata: calldata, + l2GasLimit: l2GasLimit, + l2GasPerPubdataByteLimit: gasPerPubdataByte, + factoryDeps: factoryDeps, + refundRecipient: refundRecipient, + }, + ], + }); + return await (0, sendTransaction_js_1.sendTransaction)(client, { + chain: chain_, + account: account, + to: bridgehub, + value: isETHBasedChain ? providedValue : value, + data, + gasPrice, + maxFeePerGas, + maxPriorityFeePerGas, + ...rest, + }); +} +async function getFeePrice(client) { + const client_ = client.extend(public_js_1.publicActions); + const block = await client_.getBlock(); + const baseFee = typeof block.baseFeePerGas !== 'bigint' + ? await client_.getGasPrice() + : block.baseFeePerGas; + const maxPriorityFeePerGas = await client_.estimateMaxPriorityFeePerGas(); + return { + maxFeePerGas: (baseFee * 3n) / 2n + maxPriorityFeePerGas, + maxPriorityFeePerGas: maxPriorityFeePerGas, + }; +} +//# sourceMappingURL=requestExecute.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/requestExecute.js.map b/node_modules/viem/_cjs/zksync/actions/requestExecute.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e9bd09908fa73c151214b27c1623f461e769eb87 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/requestExecute.js.map @@ -0,0 +1 @@ +{"version":3,"file":"requestExecute.js","sourceRoot":"","sources":["../../../zksync/actions/requestExecute.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/sendEip712Transaction.js b/node_modules/viem/_cjs/zksync/actions/sendEip712Transaction.js new file mode 100644 index 0000000000000000000000000000000000000000..bc2d03a72f6b1145209ffdb90b739a9fab334016 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/sendEip712Transaction.js @@ -0,0 +1,52 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.sendEip712Transaction = sendEip712Transaction; +const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js"); +const getChainId_js_1 = require("../../actions/public/getChainId.js"); +const prepareTransactionRequest_js_1 = require("../../actions/wallet/prepareTransactionRequest.js"); +const sendRawTransaction_js_1 = require("../../actions/wallet/sendRawTransaction.js"); +const account_js_1 = require("../../errors/account.js"); +const assertCurrentChain_js_1 = require("../../utils/chain/assertCurrentChain.js"); +const getTransactionError_js_1 = require("../../utils/errors/getTransactionError.js"); +const getAction_js_1 = require("../../utils/getAction.js"); +const assertEip712Request_js_1 = require("../utils/assertEip712Request.js"); +const signTransaction_js_1 = require("./signTransaction.js"); +async function sendEip712Transaction(client, parameters) { + const { account: account_ = client.account, chain = client.chain } = parameters; + const account = account_ ? (0, parseAccount_js_1.parseAccount)(account_) : client.account; + if (!account) + throw new account_js_1.AccountNotFoundError({ + docsPath: '/docs/actions/wallet/sendTransaction', + }); + try { + (0, assertEip712Request_js_1.assertEip712Request)(parameters); + const request = await (0, prepareTransactionRequest_js_1.prepareTransactionRequest)(client, { + ...parameters, + nonceManager: account.nonceManager, + parameters: ['gas', 'nonce', 'fees'], + }); + let chainId; + if (chain !== null) { + chainId = await (0, getAction_js_1.getAction)(client, getChainId_js_1.getChainId, 'getChainId')({}); + (0, assertCurrentChain_js_1.assertCurrentChain)({ + currentChainId: chainId, + chain, + }); + } + const serializedTransaction = await (0, signTransaction_js_1.signTransaction)(client, { + ...request, + chainId, + }); + return await (0, getAction_js_1.getAction)(client, sendRawTransaction_js_1.sendRawTransaction, 'sendRawTransaction')({ + serializedTransaction, + }); + } + catch (err) { + throw (0, getTransactionError_js_1.getTransactionError)(err, { + ...parameters, + account, + chain: chain, + }); + } +} +//# sourceMappingURL=sendEip712Transaction.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/sendEip712Transaction.js.map b/node_modules/viem/_cjs/zksync/actions/sendEip712Transaction.js.map new file mode 100644 index 0000000000000000000000000000000000000000..07236afe85bdc8b324a21221812a7c3c5bb85946 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/sendEip712Transaction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sendEip712Transaction.js","sourceRoot":"","sources":["../../../zksync/actions/sendEip712Transaction.ts"],"names":[],"mappings":";;AAgFA,sDA8DC;AA7ID,0EAAmE;AACnE,sEAA+D;AAC/D,oGAA6F;AAC7F,sFAA+E;AAS/E,wDAA8D;AAG9D,mFAA4E;AAC5E,sFAGkD;AAClD,2DAAoD;AAEpD,4EAAqE;AACrE,6DAAsD;AAwD/C,KAAK,UAAU,qBAAqB,CAMzC,MAAyC,EACzC,UAKC;IAED,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,GAChE,UAAU,CAAA;IAEZ,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,8BAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;IAElE,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,iCAAoB,CAAC;YAC7B,QAAQ,EAAE,sCAAsC;SACjD,CAAC,CAAA;IAEJ,IAAI,CAAC;QACH,IAAA,4CAAmB,EAAC,UAAU,CAAC,CAAA;QAG/B,MAAM,OAAO,GAAG,MAAM,IAAA,wDAAyB,EAAC,MAAM,EAAE;YACtD,GAAG,UAAU;YACb,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC;SAC9B,CAAC,CAAA;QAET,IAAI,OAA2B,CAAA;QAC/B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,GAAG,MAAM,IAAA,wBAAS,EAAC,MAAM,EAAE,0BAAU,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAA;YAC/D,IAAA,0CAAkB,EAAC;gBACjB,cAAc,EAAE,OAAO;gBACvB,KAAK;aACN,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,qBAAqB,GAAG,MAAM,IAAA,oCAAe,EAAC,MAAM,EAAE;YAC1D,GAAG,OAAO;YACV,OAAO;SACD,CAAC,CAAA;QAET,OAAO,MAAM,IAAA,wBAAS,EACpB,MAAM,EACN,0CAAkB,EAClB,oBAAoB,CACrB,CAAC;YACA,qBAAqB;SACtB,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAA,4CAAmB,EAAC,GAAgB,EAAE;YAC1C,GAAI,UAA4C;YAChD,OAAO;YACP,KAAK,EAAE,KAAc;SACtB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/sendTransaction.js b/node_modules/viem/_cjs/zksync/actions/sendTransaction.js new file mode 100644 index 0000000000000000000000000000000000000000..d38c5ff7f765f33c585bace0814c00f506875055 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/sendTransaction.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.sendTransaction = sendTransaction; +const sendTransaction_js_1 = require("../../actions/wallet/sendTransaction.js"); +const isEip712Transaction_js_1 = require("../utils/isEip712Transaction.js"); +const sendEip712Transaction_js_1 = require("./sendEip712Transaction.js"); +async function sendTransaction(client, parameters) { + if ((0, isEip712Transaction_js_1.isEIP712Transaction)(parameters)) + return (0, sendEip712Transaction_js_1.sendEip712Transaction)(client, parameters); + return (0, sendTransaction_js_1.sendTransaction)(client, parameters); +} +//# sourceMappingURL=sendTransaction.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/sendTransaction.js.map b/node_modules/viem/_cjs/zksync/actions/sendTransaction.js.map new file mode 100644 index 0000000000000000000000000000000000000000..78e84c9974cdbacc6823e170d4b4a9e17de2aa33 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/sendTransaction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sendTransaction.js","sourceRoot":"","sources":["../../../zksync/actions/sendTransaction.ts"],"names":[],"mappings":";;AA2EA,0CAkBC;AAtFD,gFAAiG;AAIjG,4EAAqE;AACrE,yEAGmC;AA4D5B,KAAK,UAAU,eAAe,CAMnC,MAAyC,EACzC,UAA6E;IAE7E,IAAI,IAAA,4CAAmB,EAAC,UAAU,CAAC;QACjC,OAAO,IAAA,gDAAqB,EAC1B,MAAM,EACN,UAA6C,CAC9C,CAAA;IACH,OAAO,IAAA,oCAAoB,EACzB,MAAM,EACN,UAA4C,CAC7C,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/signEip712Transaction.js b/node_modules/viem/_cjs/zksync/actions/signEip712Transaction.js new file mode 100644 index 0000000000000000000000000000000000000000..e991c315edfc01941d0afed52280c9db4bf143b6 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/signEip712Transaction.js @@ -0,0 +1,51 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.signEip712Transaction = signEip712Transaction; +const parseAccount_js_1 = require("../../accounts/utils/parseAccount.js"); +const getChainId_js_1 = require("../../actions/public/getChainId.js"); +const signTypedData_js_1 = require("../../actions/wallet/signTypedData.js"); +const account_js_1 = require("../../errors/account.js"); +const base_js_1 = require("../../errors/base.js"); +const assertCurrentChain_js_1 = require("../../utils/chain/assertCurrentChain.js"); +const getAction_js_1 = require("../../utils/getAction.js"); +const assertEip712Request_js_1 = require("../utils/assertEip712Request.js"); +async function signEip712Transaction(client, args) { + const { account: account_ = client.account, chain = client.chain, ...transaction } = args; + const account = account_ ? (0, parseAccount_js_1.parseAccount)(account_) : client.account; + if (!account) + throw new account_js_1.AccountNotFoundError({ + docsPath: '/docs/actions/wallet/signTransaction', + }); + (0, assertEip712Request_js_1.assertEip712Request)({ + account, + chain, + ...args, + }); + if (!chain?.custom?.getEip712Domain) + throw new base_js_1.BaseError('`getEip712Domain` not found on chain.'); + if (!chain?.serializers?.transaction) + throw new base_js_1.BaseError('transaction serializer not found on chain.'); + const chainId = await (0, getAction_js_1.getAction)(client, getChainId_js_1.getChainId, 'getChainId')({}); + if (chain !== null) + (0, assertCurrentChain_js_1.assertCurrentChain)({ + currentChainId: chainId, + chain: chain, + }); + const eip712Domain = chain?.custom.getEip712Domain({ + ...transaction, + chainId, + from: account.address, + type: 'eip712', + }); + const customSignature = await (0, signTypedData_js_1.signTypedData)(client, { + ...eip712Domain, + account, + }); + return chain?.serializers?.transaction({ + chainId, + ...transaction, + customSignature, + type: 'eip712', + }, { r: '0x0', s: '0x0', v: 0n }); +} +//# sourceMappingURL=signEip712Transaction.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/signEip712Transaction.js.map b/node_modules/viem/_cjs/zksync/actions/signEip712Transaction.js.map new file mode 100644 index 0000000000000000000000000000000000000000..4aa2d238f175dc5ef8e22ab3c5f0c4b72e4427f4 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/signEip712Transaction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"signEip712Transaction.js","sourceRoot":"","sources":["../../../zksync/actions/signEip712Transaction.ts"],"names":[],"mappings":";;AA4FA,sDA4DC;AAvJD,0EAAmE;AACnE,sEAA+D;AAK/D,4EAAqE;AAGrE,wDAA8D;AAC9D,kDAAgD;AAOhD,mFAA4E;AAC5E,2DAAoD;AAGpD,4EAGwC;AAmEjC,KAAK,UAAU,qBAAqB,CAKzC,MAAyC,EACzC,IAAoE;IAEpE,MAAM,EACJ,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,GAAG,WAAW,EACf,GAAG,IAAI,CAAA;IAER,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,8BAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;IAElE,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,iCAAoB,CAAC;YAC7B,QAAQ,EAAE,sCAAsC;SACjD,CAAC,CAAA;IAEJ,IAAA,4CAAmB,EAAC;QAClB,OAAO;QACP,KAAK;QACL,GAAI,IAAsC;KAC3C,CAAC,CAAA;IAEF,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe;QACjC,MAAM,IAAI,mBAAS,CAAC,uCAAuC,CAAC,CAAA;IAC9D,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW;QAClC,MAAM,IAAI,mBAAS,CAAC,4CAA4C,CAAC,CAAA;IAEnE,MAAM,OAAO,GAAG,MAAM,IAAA,wBAAS,EAAC,MAAM,EAAE,0BAAU,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAA;IACrE,IAAI,KAAK,KAAK,IAAI;QAChB,IAAA,0CAAkB,EAAC;YACjB,cAAc,EAAE,OAAO;YACvB,KAAK,EAAE,KAAK;SACb,CAAC,CAAA;IAEJ,MAAM,YAAY,GAAG,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC;QACjD,GAAG,WAAW;QACd,OAAO;QACP,IAAI,EAAE,OAAO,CAAC,OAAO;QACrB,IAAI,EAAE,QAAQ;KACf,CAAC,CAAA;IAEF,MAAM,eAAe,GAAG,MAAM,IAAA,gCAAa,EAAC,MAAM,EAAE;QAClD,GAAG,YAAY;QACf,OAAO;KACR,CAAC,CAAA;IAEF,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,CACpC;QACE,OAAO;QACP,GAAG,WAAW;QACd,eAAe;QACf,IAAI,EAAE,QAAe;KACtB,EACD,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CACK,CAAA;AACtC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/signTransaction.js b/node_modules/viem/_cjs/zksync/actions/signTransaction.js new file mode 100644 index 0000000000000000000000000000000000000000..33f04f963089997a4b61cc08bfd5090b1a8b340a --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/signTransaction.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.signTransaction = signTransaction; +const signTransaction_js_1 = require("../../actions/wallet/signTransaction.js"); +const isEip712Transaction_js_1 = require("../utils/isEip712Transaction.js"); +const signEip712Transaction_js_1 = require("./signEip712Transaction.js"); +async function signTransaction(client, args) { + if ((0, isEip712Transaction_js_1.isEIP712Transaction)(args)) + return (0, signEip712Transaction_js_1.signEip712Transaction)(client, args); + return await (0, signTransaction_js_1.signTransaction)(client, args); +} +//# sourceMappingURL=signTransaction.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/signTransaction.js.map b/node_modules/viem/_cjs/zksync/actions/signTransaction.js.map new file mode 100644 index 0000000000000000000000000000000000000000..63019892879b2726e535c9a5bba0f93935d06ed7 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/signTransaction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"signTransaction.js","sourceRoot":"","sources":["../../../zksync/actions/signTransaction.ts"],"names":[],"mappings":";;AAoFA,0CAUC;AAzFD,gFAA6F;AAW7F,4EAAqE;AACrE,yEAAkE;AAmE3D,KAAK,UAAU,eAAe,CAKnC,MAAyC,EACzC,IAA8D;IAE9D,IAAI,IAAA,4CAAmB,EAAC,IAAI,CAAC;QAAE,OAAO,IAAA,gDAAqB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACzE,OAAO,MAAM,IAAA,oCAAgB,EAAC,MAAM,EAAE,IAAW,CAAC,CAAA;AACpD,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/withdraw.js b/node_modules/viem/_cjs/zksync/actions/withdraw.js new file mode 100644 index 0000000000000000000000000000000000000000..f68f07e9c3f94117b702192958b594918e72a468 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/withdraw.js @@ -0,0 +1,94 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.withdraw = withdraw; +const abitype_1 = require("abitype"); +const readContract_js_1 = require("../../actions/public/readContract.js"); +const account_js_1 = require("../../errors/account.js"); +const chain_js_1 = require("../../errors/chain.js"); +const index_js_1 = require("../../utils/index.js"); +const abis_js_1 = require("../constants/abis.js"); +const address_js_1 = require("../constants/address.js"); +const getDefaultBridgeAddresses_js_1 = require("./getDefaultBridgeAddresses.js"); +const getL1ChainId_js_1 = require("./getL1ChainId.js"); +const getL2TokenAddress_js_1 = require("./getL2TokenAddress.js"); +const sendTransaction_js_1 = require("./sendTransaction.js"); +async function withdraw(client, parameters) { + let { account: account_ = client.account, chain: chain_ = client.chain, token = address_js_1.l2BaseTokenAddress, to, amount, bridgeAddress, ...rest } = parameters; + const account = account_ ? (0, index_js_1.parseAccount)(account_) : client.account; + if (!account) + throw new account_js_1.AccountNotFoundError({ + docsPath: '/docs/actions/wallet/sendTransaction', + }); + if (!to) + to = account.address; + let data; + let contract; + let value = 0n; + if ((0, index_js_1.isAddressEqual)(token, address_js_1.legacyEthAddress) || + (0, index_js_1.isAddressEqual)(token, address_js_1.ethAddressInContracts)) + token = await (0, getL2TokenAddress_js_1.getL2TokenAddress)(client, { token: address_js_1.ethAddressInContracts }); + if ((0, index_js_1.isAddressEqual)(token, address_js_1.l2BaseTokenAddress)) { + data = (0, index_js_1.encodeFunctionData)({ + abi: abis_js_1.ethTokenAbi, + functionName: 'withdraw', + args: [to], + }); + value = amount; + contract = address_js_1.l2BaseTokenAddress; + } + else { + const assetId = await (0, readContract_js_1.readContract)(client, { + address: address_js_1.l2NativeTokenVaultAddress, + abi: (0, abitype_1.parseAbi)(['function assetId(address token) view returns (bytes32)']), + functionName: 'assetId', + args: [token], + }); + const originChainId = await (0, readContract_js_1.readContract)(client, { + address: address_js_1.l2NativeTokenVaultAddress, + abi: (0, abitype_1.parseAbi)([ + 'function originChainId(bytes32 assetId) view returns (uint256)', + ]), + functionName: 'originChainId', + args: [assetId], + }); + const l1ChainId = await (0, getL1ChainId_js_1.getL1ChainId)(client); + const isTokenL1Native = originChainId === BigInt(l1ChainId) || token === address_js_1.ethAddressInContracts; + if (!bridgeAddress) { + bridgeAddress = isTokenL1Native + ? (await (0, getDefaultBridgeAddresses_js_1.getDefaultBridgeAddresses)(client)).sharedL2 + : address_js_1.l2AssetRouterAddress; + } + if (!isTokenL1Native) { + contract = address_js_1.l2AssetRouterAddress; + if (!chain_) + throw new chain_js_1.ClientChainNotConfiguredError(); + const chainId = chain_.id; + const assetId = (0, index_js_1.keccak256)((0, index_js_1.encodeAbiParameters)([{ type: 'uint256' }, { type: 'address' }, { type: 'address' }], [BigInt(chainId), address_js_1.l2NativeTokenVaultAddress, token])); + const assetData = (0, index_js_1.encodeAbiParameters)([{ type: 'uint256' }, { type: 'address' }, { type: 'address' }], [BigInt(amount), to, token]); + data = (0, index_js_1.encodeFunctionData)({ + abi: (0, abitype_1.parseAbi)([ + 'function withdraw(bytes32 _assetId, bytes _transferData)', + ]), + functionName: 'withdraw', + args: [assetId, assetData], + }); + } + else { + contract = bridgeAddress; + data = (0, index_js_1.encodeFunctionData)({ + abi: abis_js_1.l2SharedBridgeAbi, + functionName: 'withdraw', + args: [to, token, amount], + }); + } + } + return await (0, sendTransaction_js_1.sendTransaction)(client, { + chain: chain_, + account, + to: contract, + data, + value, + ...rest, + }); +} +//# sourceMappingURL=withdraw.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/actions/withdraw.js.map b/node_modules/viem/_cjs/zksync/actions/withdraw.js.map new file mode 100644 index 0000000000000000000000000000000000000000..968d157d2744c40d2fb78cf09bcc5a92523ac883 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/actions/withdraw.js.map @@ -0,0 +1 @@ +{"version":3,"file":"withdraw.js","sourceRoot":"","sources":["../../../zksync/actions/withdraw.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/chainConfig.js b/node_modules/viem/_cjs/zksync/chainConfig.js new file mode 100644 index 0000000000000000000000000000000000000000..b9b2c58a60f860582976d2496a72c52c0723f386 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/chainConfig.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.chainConfig = void 0; +const formatters_js_1 = require("./formatters.js"); +const serializers_js_1 = require("./serializers.js"); +const getEip712Domain_js_1 = require("./utils/getEip712Domain.js"); +exports.chainConfig = { + blockTime: 1_000, + formatters: formatters_js_1.formatters, + serializers: serializers_js_1.serializers, + custom: { + getEip712Domain: getEip712Domain_js_1.getEip712Domain, + }, +}; +//# sourceMappingURL=chainConfig.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/chainConfig.js.map b/node_modules/viem/_cjs/zksync/chainConfig.js.map new file mode 100644 index 0000000000000000000000000000000000000000..2136a1d686f6945b80345b1d39890307ccd674a4 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/chainConfig.js.map @@ -0,0 +1 @@ +{"version":3,"file":"chainConfig.js","sourceRoot":"","sources":["../../zksync/chainConfig.ts"],"names":[],"mappings":";;;AAAA,mDAA4C;AAC5C,qDAA8C;AAC9C,mEAA4D;AAE/C,QAAA,WAAW,GAAG;IACzB,SAAS,EAAE,KAAK;IAChB,UAAU,EAAV,0BAAU;IACV,WAAW,EAAX,4BAAW;IACX,MAAM,EAAE;QACN,eAAe,EAAf,oCAAe;KAChB;CACO,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/chains.js b/node_modules/viem/_cjs/zksync/chains.js new file mode 100644 index 0000000000000000000000000000000000000000..9b12db3e802d8b7ec98b9465f0c19594db8820f8 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/chains.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.zksyncSepoliaTestnet = exports.zksyncLocalNode = exports.zksyncLocalHyperchainL1 = exports.zksyncLocalHyperchain = exports.zksyncLocalCustomHyperchain = exports.zksyncInMemoryNode = exports.zksync = void 0; +var zksync_js_1 = require("../chains/definitions/zksync.js"); +Object.defineProperty(exports, "zksync", { enumerable: true, get: function () { return zksync_js_1.zksync; } }); +var zksyncInMemoryNode_js_1 = require("../chains/definitions/zksyncInMemoryNode.js"); +Object.defineProperty(exports, "zksyncInMemoryNode", { enumerable: true, get: function () { return zksyncInMemoryNode_js_1.zksyncInMemoryNode; } }); +var zksyncLocalCustomHyperchain_js_1 = require("../chains/definitions/zksyncLocalCustomHyperchain.js"); +Object.defineProperty(exports, "zksyncLocalCustomHyperchain", { enumerable: true, get: function () { return zksyncLocalCustomHyperchain_js_1.zksyncLocalCustomHyperchain; } }); +var zksyncLocalHyperchain_js_1 = require("../chains/definitions/zksyncLocalHyperchain.js"); +Object.defineProperty(exports, "zksyncLocalHyperchain", { enumerable: true, get: function () { return zksyncLocalHyperchain_js_1.zksyncLocalHyperchain; } }); +var zksyncLocalHyperchainL1_js_1 = require("../chains/definitions/zksyncLocalHyperchainL1.js"); +Object.defineProperty(exports, "zksyncLocalHyperchainL1", { enumerable: true, get: function () { return zksyncLocalHyperchainL1_js_1.zksyncLocalHyperchainL1; } }); +var zksyncLocalNode_js_1 = require("../chains/definitions/zksyncLocalNode.js"); +Object.defineProperty(exports, "zksyncLocalNode", { enumerable: true, get: function () { return zksyncLocalNode_js_1.zksyncLocalNode; } }); +var zksyncSepoliaTestnet_js_1 = require("../chains/definitions/zksyncSepoliaTestnet.js"); +Object.defineProperty(exports, "zksyncSepoliaTestnet", { enumerable: true, get: function () { return zksyncSepoliaTestnet_js_1.zksyncSepoliaTestnet; } }); +//# sourceMappingURL=chains.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/chains.js.map b/node_modules/viem/_cjs/zksync/chains.js.map new file mode 100644 index 0000000000000000000000000000000000000000..af120255a1adaa0160b536ffc28c40e00757a6fd --- /dev/null +++ b/node_modules/viem/_cjs/zksync/chains.js.map @@ -0,0 +1 @@ +{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../zksync/chains.ts"],"names":[],"mappings":";;;AACA,6DAAwD;AAA/C,mGAAA,MAAM,OAAA;AACf,qFAAgF;AAAvE,2HAAA,kBAAkB,OAAA;AAC3B,uGAAkG;AAAzF,6IAAA,2BAA2B,OAAA;AACpC,2FAAsF;AAA7E,iIAAA,qBAAqB,OAAA;AAC9B,+FAA0F;AAAjF,qIAAA,uBAAuB,OAAA;AAChC,+EAA0E;AAAjE,qHAAA,eAAe,OAAA;AACxB,yFAAoF;AAA3E,+HAAA,oBAAoB,OAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/constants/abis.js b/node_modules/viem/_cjs/zksync/constants/abis.js new file mode 100644 index 0000000000000000000000000000000000000000..35c3f0a5110855fa2981792148af97d8af2f707d --- /dev/null +++ b/node_modules/viem/_cjs/zksync/constants/abis.js @@ -0,0 +1,4655 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.zksyncAbi = exports.bridgehubAbi = exports.ethTokenAbi = exports.l1SharedBridgeAbi = exports.l2SharedBridgeAbi = exports.paymasterAbi = exports.contractDeployerAbi = void 0; +exports.contractDeployerAbi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'accountAddress', + type: 'address', + }, + { + indexed: false, + internalType: 'enum IContractDeployer.AccountNonceOrdering', + name: 'nonceOrdering', + type: 'uint8', + }, + ], + name: 'AccountNonceOrderingUpdated', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'accountAddress', + type: 'address', + }, + { + indexed: false, + internalType: 'enum IContractDeployer.AccountAbstractionVersion', + name: 'aaVersion', + type: 'uint8', + }, + ], + name: 'AccountVersionUpdated', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'deployerAddress', + type: 'address', + }, + { + indexed: true, + internalType: 'bytes32', + name: 'bytecodeHash', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'address', + name: 'contractAddress', + type: 'address', + }, + ], + name: 'ContractDeployed', + type: 'event', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: '_salt', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: '_bytecodeHash', + type: 'bytes32', + }, + { + internalType: 'bytes', + name: '_input', + type: 'bytes', + }, + ], + name: 'create', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: '_salt', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: '_bytecodeHash', + type: 'bytes32', + }, + { + internalType: 'bytes', + name: '_input', + type: 'bytes', + }, + ], + name: 'create2', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: '_salt', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: '_bytecodeHash', + type: 'bytes32', + }, + { + internalType: 'bytes', + name: '_input', + type: 'bytes', + }, + { + internalType: 'enum IContractDeployer.AccountAbstractionVersion', + name: '_aaVersion', + type: 'uint8', + }, + ], + name: 'create2Account', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: '', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: '_bytecodeHash', + type: 'bytes32', + }, + { + internalType: 'bytes', + name: '_input', + type: 'bytes', + }, + { + internalType: 'enum IContractDeployer.AccountAbstractionVersion', + name: '_aaVersion', + type: 'uint8', + }, + ], + name: 'createAccount', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_address', + type: 'address', + }, + ], + name: 'extendedAccountVersion', + outputs: [ + { + internalType: 'enum IContractDeployer.AccountAbstractionVersion', + name: '', + type: 'uint8', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: '_keccak256BytecodeHash', + type: 'bytes32', + }, + ], + name: 'forceDeployKeccak256', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + internalType: 'bytes32', + name: 'bytecodeHash', + type: 'bytes32', + }, + { + internalType: 'address', + name: 'newAddress', + type: 'address', + }, + { + internalType: 'bool', + name: 'callConstructor', + type: 'bool', + }, + { + internalType: 'uint256', + name: 'value', + type: 'uint256', + }, + { + internalType: 'bytes', + name: 'input', + type: 'bytes', + }, + ], + internalType: 'struct ContractDeployer.ForceDeployment', + name: '_deployment', + type: 'tuple', + }, + { + internalType: 'address', + name: '_sender', + type: 'address', + }, + ], + name: 'forceDeployOnAddress', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + internalType: 'bytes32', + name: 'bytecodeHash', + type: 'bytes32', + }, + { + internalType: 'address', + name: 'newAddress', + type: 'address', + }, + { + internalType: 'bool', + name: 'callConstructor', + type: 'bool', + }, + { + internalType: 'uint256', + name: 'value', + type: 'uint256', + }, + { + internalType: 'bytes', + name: 'input', + type: 'bytes', + }, + ], + internalType: 'struct ContractDeployer.ForceDeployment[]', + name: '_deployments', + type: 'tuple[]', + }, + ], + name: 'forceDeployOnAddresses', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_address', + type: 'address', + }, + ], + name: 'getAccountInfo', + outputs: [ + { + components: [ + { + internalType: 'enum IContractDeployer.AccountAbstractionVersion', + name: 'supportedAAVersion', + type: 'uint8', + }, + { + internalType: 'enum IContractDeployer.AccountNonceOrdering', + name: 'nonceOrdering', + type: 'uint8', + }, + ], + internalType: 'struct IContractDeployer.AccountInfo', + name: 'info', + type: 'tuple', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_sender', + type: 'address', + }, + { + internalType: 'uint256', + name: '_senderNonce', + type: 'uint256', + }, + ], + name: 'getNewAddressCreate', + outputs: [ + { + internalType: 'address', + name: 'newAddress', + type: 'address', + }, + ], + stateMutability: 'pure', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_sender', + type: 'address', + }, + { + internalType: 'bytes32', + name: '_bytecodeHash', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: '_salt', + type: 'bytes32', + }, + { + internalType: 'bytes', + name: '_input', + type: 'bytes', + }, + ], + name: 'getNewAddressCreate2', + outputs: [ + { + internalType: 'address', + name: 'newAddress', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'enum IContractDeployer.AccountAbstractionVersion', + name: '_version', + type: 'uint8', + }, + ], + name: 'updateAccountVersion', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'enum IContractDeployer.AccountNonceOrdering', + name: '_nonceOrdering', + type: 'uint8', + }, + ], + name: 'updateNonceOrdering', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, +]; +exports.paymasterAbi = [ + { + inputs: [ + { + internalType: 'address', + name: '_token', + type: 'address', + }, + { + internalType: 'uint256', + name: '_minAllowance', + type: 'uint256', + }, + { + internalType: 'bytes', + name: '_innerInput', + type: 'bytes', + }, + ], + name: 'approvalBased', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes', + name: 'input', + type: 'bytes', + }, + ], + name: 'general', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, +]; +exports.l2SharedBridgeAbi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'l1Sender', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'l2Receiver', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'l2Token', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'FinalizeDeposit', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'l2Sender', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'l1Receiver', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'l2Token', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'WithdrawalInitiated', + type: 'event', + }, + { + inputs: [ + { + internalType: 'address', + name: '_l1Sender', + type: 'address', + }, + { + internalType: 'address', + name: '_l2Receiver', + type: 'address', + }, + { + internalType: 'address', + name: '_l1Token', + type: 'address', + }, + { + internalType: 'uint256', + name: '_amount', + type: 'uint256', + }, + { + internalType: 'bytes', + name: '_data', + type: 'bytes', + }, + ], + name: 'finalizeDeposit', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'l1Bridge', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'l1SharedBridge', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_l2Token', + type: 'address', + }, + ], + name: 'l1TokenAddress', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_l1Token', + type: 'address', + }, + ], + name: 'l2TokenAddress', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_l1Receiver', + type: 'address', + }, + { + internalType: 'address', + name: '_l2Token', + type: 'address', + }, + { + internalType: 'uint256', + name: '_amount', + type: 'uint256', + }, + ], + name: 'withdraw', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, +]; +exports.l1SharedBridgeAbi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'chainId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'address', + name: 'from', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'l1Token', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'BridgehubDepositBaseTokenInitiated', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'chainId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'bytes32', + name: 'txDataHash', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'bytes32', + name: 'l2DepositTxHash', + type: 'bytes32', + }, + ], + name: 'BridgehubDepositFinalized', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'chainId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'bytes32', + name: 'txDataHash', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'address', + name: 'from', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'to', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'l1Token', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'BridgehubDepositInitiated', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'chainId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'address', + name: 'to', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'l1Token', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'ClaimedFailedDepositSharedBridge', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'chainId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'bytes32', + name: 'l2DepositTxHash', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'address', + name: 'from', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'to', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'l1Token', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'LegacyDepositInitiated', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'chainId', + type: 'uint256', + }, + { + indexed: true, + internalType: 'address', + name: 'to', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'l1Token', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'WithdrawalFinalizedSharedBridge', + type: 'event', + }, + { + inputs: [], + name: 'BRIDGE_HUB', + outputs: [ + { + internalType: 'contract IBridgehub', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'L1_WETH_TOKEN', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: '_txDataHash', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: '_txHash', + type: 'bytes32', + }, + ], + name: 'bridgehubConfirmL2Transaction', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + { + internalType: 'address', + name: '_prevMsgSender', + type: 'address', + }, + { + internalType: 'uint256', + name: '_l2Value', + type: 'uint256', + }, + { + internalType: 'bytes', + name: '_data', + type: 'bytes', + }, + ], + name: 'bridgehubDeposit', + outputs: [ + { + components: [ + { + internalType: 'bytes32', + name: 'magicValue', + type: 'bytes32', + }, + { + internalType: 'address', + name: 'l2Contract', + type: 'address', + }, + { + internalType: 'bytes', + name: 'l2Calldata', + type: 'bytes', + }, + { + internalType: 'bytes[]', + name: 'factoryDeps', + type: 'bytes[]', + }, + { + internalType: 'bytes32', + name: 'txDataHash', + type: 'bytes32', + }, + ], + internalType: 'struct L2TransactionRequestTwoBridgesInner', + name: 'request', + type: 'tuple', + }, + ], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + { + internalType: 'address', + name: '_prevMsgSender', + type: 'address', + }, + { + internalType: 'address', + name: '_l1Token', + type: 'address', + }, + { + internalType: 'uint256', + name: '_amount', + type: 'uint256', + }, + ], + name: 'bridgehubDepositBaseToken', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + { + internalType: 'address', + name: '_depositSender', + type: 'address', + }, + { + internalType: 'address', + name: '_l1Token', + type: 'address', + }, + { + internalType: 'uint256', + name: '_amount', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: '_l2TxHash', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: '_l2BatchNumber', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_l2MessageIndex', + type: 'uint256', + }, + { + internalType: 'uint16', + name: '_l2TxNumberInBatch', + type: 'uint16', + }, + { + internalType: 'bytes32[]', + name: '_merkleProof', + type: 'bytes32[]', + }, + ], + name: 'claimFailedDeposit', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_depositSender', + type: 'address', + }, + { + internalType: 'address', + name: '_l1Token', + type: 'address', + }, + { + internalType: 'uint256', + name: '_amount', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: '_l2TxHash', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: '_l2BatchNumber', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_l2MessageIndex', + type: 'uint256', + }, + { + internalType: 'uint16', + name: '_l2TxNumberInBatch', + type: 'uint16', + }, + { + internalType: 'bytes32[]', + name: '_merkleProof', + type: 'bytes32[]', + }, + ], + name: 'claimFailedDepositLegacyErc20Bridge', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: '_l2TxHash', + type: 'bytes32', + }, + ], + name: 'depositHappened', + outputs: [ + { + internalType: 'bytes32', + name: '', + type: 'bytes32', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_msgSender', + type: 'address', + }, + { + internalType: 'address', + name: '_l2Receiver', + type: 'address', + }, + { + internalType: 'address', + name: '_l1Token', + type: 'address', + }, + { + internalType: 'uint256', + name: '_amount', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_l2TxGasLimit', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_l2TxGasPerPubdataByte', + type: 'uint256', + }, + { + internalType: 'address', + name: '_refundRecipient', + type: 'address', + }, + ], + name: 'depositLegacyErc20Bridge', + outputs: [ + { + internalType: 'bytes32', + name: 'txHash', + type: 'bytes32', + }, + ], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_l2BatchNumber', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_l2MessageIndex', + type: 'uint256', + }, + { + internalType: 'uint16', + name: '_l2TxNumberInBatch', + type: 'uint16', + }, + { + internalType: 'bytes', + name: '_message', + type: 'bytes', + }, + { + internalType: 'bytes32[]', + name: '_merkleProof', + type: 'bytes32[]', + }, + ], + name: 'finalizeWithdrawal', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_l2BatchNumber', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_l2MessageIndex', + type: 'uint256', + }, + { + internalType: 'uint16', + name: '_l2TxNumberInBatch', + type: 'uint16', + }, + { + internalType: 'bytes', + name: '_message', + type: 'bytes', + }, + { + internalType: 'bytes32[]', + name: '_merkleProof', + type: 'bytes32[]', + }, + ], + name: 'finalizeWithdrawalLegacyErc20Bridge', + outputs: [ + { + internalType: 'address', + name: 'l1Receiver', + type: 'address', + }, + { + internalType: 'address', + name: 'l1Token', + type: 'address', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_l2BatchNumber', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_l2MessageIndex', + type: 'uint256', + }, + ], + name: 'isWithdrawalFinalized', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + ], + name: 'l2BridgeAddress', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'legacyBridge', + outputs: [ + { + internalType: 'contract IL1ERC20Bridge', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + ], + name: 'receiveEth', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_eraLegacyBridgeLastDepositBatch', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_eraLegacyBridgeLastDepositTxNumber', + type: 'uint256', + }, + ], + name: 'setEraLegacyBridgeLastDepositTime', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_eraPostDiamondUpgradeFirstBatch', + type: 'uint256', + }, + ], + name: 'setEraPostDiamondUpgradeFirstBatch', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_eraPostLegacyBridgeUpgradeFirstBatch', + type: 'uint256', + }, + ], + name: 'setEraPostLegacyBridgeUpgradeFirstBatch', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, +]; +exports.ethTokenAbi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'Mint', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'from', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'to', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'value', + type: 'uint256', + }, + ], + name: 'Transfer', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: '_l2Sender', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: '_l1Receiver', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: '_amount', + type: 'uint256', + }, + ], + name: 'Withdrawal', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: '_l2Sender', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: '_l1Receiver', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: '_amount', + type: 'uint256', + }, + { + indexed: false, + internalType: 'bytes', + name: '_additionalData', + type: 'bytes', + }, + ], + name: 'WithdrawalWithMessage', + type: 'event', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'balanceOf', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'decimals', + outputs: [ + { + internalType: 'uint8', + name: '', + type: 'uint8', + }, + ], + stateMutability: 'pure', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_account', + type: 'address', + }, + { + internalType: 'uint256', + name: '_amount', + type: 'uint256', + }, + ], + name: 'mint', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'name', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'pure', + type: 'function', + }, + { + inputs: [], + name: 'symbol', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'pure', + type: 'function', + }, + { + inputs: [], + name: 'totalSupply', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_from', + type: 'address', + }, + { + internalType: 'address', + name: '_to', + type: 'address', + }, + { + internalType: 'uint256', + name: '_amount', + type: 'uint256', + }, + ], + name: 'transferFromTo', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_l1Receiver', + type: 'address', + }, + ], + name: 'withdraw', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_l1Receiver', + type: 'address', + }, + { + internalType: 'bytes', + name: '_additionalData', + type: 'bytes', + }, + ], + name: 'withdrawWithMessage', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, +]; +exports.bridgehubAbi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'oldAdmin', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'newAdmin', + type: 'address', + }, + ], + name: 'NewAdmin', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'chainId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'address', + name: 'stateTransitionManager', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'chainGovernance', + type: 'address', + }, + ], + name: 'NewChain', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'oldPendingAdmin', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'newPendingAdmin', + type: 'address', + }, + ], + name: 'NewPendingAdmin', + type: 'event', + }, + { + inputs: [], + name: 'acceptAdmin', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_stateTransitionManager', + type: 'address', + }, + ], + name: 'addStateTransitionManager', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_token', + type: 'address', + }, + ], + name: 'addToken', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + ], + name: 'baseToken', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + { + internalType: 'address', + name: '_stateTransitionManager', + type: 'address', + }, + { + internalType: 'address', + name: '_baseToken', + type: 'address', + }, + { + internalType: 'uint256', + name: '_salt', + type: 'uint256', + }, + { + internalType: 'address', + name: '_admin', + type: 'address', + }, + { + internalType: 'bytes', + name: '_initData', + type: 'bytes', + }, + ], + name: 'createNewChain', + outputs: [ + { + internalType: 'uint256', + name: 'chainId', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + ], + name: 'getHyperchain', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_gasPrice', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_l2GasLimit', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_l2GasPerPubdataByteLimit', + type: 'uint256', + }, + ], + name: 'l2TransactionBaseCost', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: '_l2TxHash', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: '_l2BatchNumber', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_l2MessageIndex', + type: 'uint256', + }, + { + internalType: 'uint16', + name: '_l2TxNumberInBatch', + type: 'uint16', + }, + { + internalType: 'bytes32[]', + name: '_merkleProof', + type: 'bytes32[]', + }, + { + internalType: 'enum TxStatus', + name: '_status', + type: 'uint8', + }, + ], + name: 'proveL1ToL2TransactionStatus', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_batchNumber', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_index', + type: 'uint256', + }, + { + components: [ + { + internalType: 'uint8', + name: 'l2ShardId', + type: 'uint8', + }, + { + internalType: 'bool', + name: 'isService', + type: 'bool', + }, + { + internalType: 'uint16', + name: 'txNumberInBatch', + type: 'uint16', + }, + { + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + internalType: 'bytes32', + name: 'key', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 'value', + type: 'bytes32', + }, + ], + internalType: 'struct L2Log', + name: '_log', + type: 'tuple', + }, + { + internalType: 'bytes32[]', + name: '_proof', + type: 'bytes32[]', + }, + ], + name: 'proveL2LogInclusion', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_batchNumber', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_index', + type: 'uint256', + }, + { + components: [ + { + internalType: 'uint16', + name: 'txNumberInBatch', + type: 'uint16', + }, + { + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + internalType: 'struct L2Message', + name: '_message', + type: 'tuple', + }, + { + internalType: 'bytes32[]', + name: '_proof', + type: 'bytes32[]', + }, + ], + name: 'proveL2MessageInclusion', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_stateTransitionManager', + type: 'address', + }, + ], + name: 'removeStateTransitionManager', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + internalType: 'uint256', + name: 'chainId', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'mintValue', + type: 'uint256', + }, + { + internalType: 'address', + name: 'l2Contract', + type: 'address', + }, + { + internalType: 'uint256', + name: 'l2Value', + type: 'uint256', + }, + { + internalType: 'bytes', + name: 'l2Calldata', + type: 'bytes', + }, + { + internalType: 'uint256', + name: 'l2GasLimit', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'l2GasPerPubdataByteLimit', + type: 'uint256', + }, + { + internalType: 'bytes[]', + name: 'factoryDeps', + type: 'bytes[]', + }, + { + internalType: 'address', + name: 'refundRecipient', + type: 'address', + }, + ], + internalType: 'struct L2TransactionRequestDirect', + name: '_request', + type: 'tuple', + }, + ], + name: 'requestL2TransactionDirect', + outputs: [ + { + internalType: 'bytes32', + name: 'canonicalTxHash', + type: 'bytes32', + }, + ], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + internalType: 'uint256', + name: 'chainId', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'mintValue', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'l2Value', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'l2GasLimit', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'l2GasPerPubdataByteLimit', + type: 'uint256', + }, + { + internalType: 'address', + name: 'refundRecipient', + type: 'address', + }, + { + internalType: 'address', + name: 'secondBridgeAddress', + type: 'address', + }, + { + internalType: 'uint256', + name: 'secondBridgeValue', + type: 'uint256', + }, + { + internalType: 'bytes', + name: 'secondBridgeCalldata', + type: 'bytes', + }, + ], + internalType: 'struct L2TransactionRequestTwoBridgesOuter', + name: '_request', + type: 'tuple', + }, + ], + name: 'requestL2TransactionTwoBridges', + outputs: [ + { + internalType: 'bytes32', + name: 'canonicalTxHash', + type: 'bytes32', + }, + ], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_newPendingAdmin', + type: 'address', + }, + ], + name: 'setPendingAdmin', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_sharedBridge', + type: 'address', + }, + ], + name: 'setSharedBridge', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'sharedBridge', + outputs: [ + { + internalType: 'contract IL1SharedBridge', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + ], + name: 'stateTransitionManager', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_stateTransitionManager', + type: 'address', + }, + ], + name: 'stateTransitionManagerIsRegistered', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_baseToken', + type: 'address', + }, + ], + name: 'tokenIsRegistered', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, +]; +exports.zksyncAbi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'batchNumber', + type: 'uint256', + }, + { + indexed: true, + internalType: 'bytes32', + name: 'batchHash', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'bytes32', + name: 'commitment', + type: 'bytes32', + }, + ], + name: 'BlockCommit', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'batchNumber', + type: 'uint256', + }, + { + indexed: true, + internalType: 'bytes32', + name: 'batchHash', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'bytes32', + name: 'commitment', + type: 'bytes32', + }, + ], + name: 'BlockExecution', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'totalBatchesCommitted', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'totalBatchesVerified', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'totalBatchesExecuted', + type: 'uint256', + }, + ], + name: 'BlocksRevert', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'uint256', + name: 'previousLastVerifiedBatch', + type: 'uint256', + }, + { + indexed: true, + internalType: 'uint256', + name: 'currentLastVerifiedBatch', + type: 'uint256', + }, + ], + name: 'BlocksVerification', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + components: [ + { + components: [ + { + internalType: 'address', + name: 'facet', + type: 'address', + }, + { + internalType: 'enum Diamond.Action', + name: 'action', + type: 'uint8', + }, + { + internalType: 'bool', + name: 'isFreezable', + type: 'bool', + }, + { + internalType: 'bytes4[]', + name: 'selectors', + type: 'bytes4[]', + }, + ], + internalType: 'struct Diamond.FacetCut[]', + name: 'facetCuts', + type: 'tuple[]', + }, + { + internalType: 'address', + name: 'initAddress', + type: 'address', + }, + { + internalType: 'bytes', + name: 'initCalldata', + type: 'bytes', + }, + ], + indexed: false, + internalType: 'struct Diamond.DiamondCutData', + name: 'diamondCut', + type: 'tuple', + }, + ], + name: 'ExecuteUpgrade', + type: 'event', + }, + { + anonymous: false, + inputs: [], + name: 'Freeze', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'bool', + name: 'isPorterAvailable', + type: 'bool', + }, + ], + name: 'IsPorterAvailableStatusUpdate', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'oldAdmin', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'newAdmin', + type: 'address', + }, + ], + name: 'NewAdmin', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint128', + name: 'oldNominator', + type: 'uint128', + }, + { + indexed: false, + internalType: 'uint128', + name: 'oldDenominator', + type: 'uint128', + }, + { + indexed: false, + internalType: 'uint128', + name: 'newNominator', + type: 'uint128', + }, + { + indexed: false, + internalType: 'uint128', + name: 'newDenominator', + type: 'uint128', + }, + ], + name: 'NewBaseTokenMultiplier', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + components: [ + { + internalType: 'enum PubdataPricingMode', + name: 'pubdataPricingMode', + type: 'uint8', + }, + { + internalType: 'uint32', + name: 'batchOverheadL1Gas', + type: 'uint32', + }, + { + internalType: 'uint32', + name: 'maxPubdataPerBatch', + type: 'uint32', + }, + { + internalType: 'uint32', + name: 'maxL2GasPerBatch', + type: 'uint32', + }, + { + internalType: 'uint32', + name: 'priorityTxMaxPubdata', + type: 'uint32', + }, + { + internalType: 'uint64', + name: 'minimalL2GasPrice', + type: 'uint64', + }, + ], + indexed: false, + internalType: 'struct FeeParams', + name: 'oldFeeParams', + type: 'tuple', + }, + { + components: [ + { + internalType: 'enum PubdataPricingMode', + name: 'pubdataPricingMode', + type: 'uint8', + }, + { + internalType: 'uint32', + name: 'batchOverheadL1Gas', + type: 'uint32', + }, + { + internalType: 'uint32', + name: 'maxPubdataPerBatch', + type: 'uint32', + }, + { + internalType: 'uint32', + name: 'maxL2GasPerBatch', + type: 'uint32', + }, + { + internalType: 'uint32', + name: 'priorityTxMaxPubdata', + type: 'uint32', + }, + { + internalType: 'uint64', + name: 'minimalL2GasPrice', + type: 'uint64', + }, + ], + indexed: false, + internalType: 'struct FeeParams', + name: 'newFeeParams', + type: 'tuple', + }, + ], + name: 'NewFeeParams', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'oldPendingAdmin', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'newPendingAdmin', + type: 'address', + }, + ], + name: 'NewPendingAdmin', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'txId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'bytes32', + name: 'txHash', + type: 'bytes32', + }, + { + indexed: false, + internalType: 'uint64', + name: 'expirationTimestamp', + type: 'uint64', + }, + { + components: [ + { + internalType: 'uint256', + name: 'txType', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'from', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'to', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'gasLimit', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'gasPerPubdataByteLimit', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'maxFeePerGas', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'maxPriorityFeePerGas', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'paymaster', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'nonce', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'value', + type: 'uint256', + }, + { + internalType: 'uint256[4]', + name: 'reserved', + type: 'uint256[4]', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + { + internalType: 'bytes', + name: 'signature', + type: 'bytes', + }, + { + internalType: 'uint256[]', + name: 'factoryDeps', + type: 'uint256[]', + }, + { + internalType: 'bytes', + name: 'paymasterInput', + type: 'bytes', + }, + { + internalType: 'bytes', + name: 'reservedDynamic', + type: 'bytes', + }, + ], + indexed: false, + internalType: 'struct L2CanonicalTransaction', + name: 'transaction', + type: 'tuple', + }, + { + indexed: false, + internalType: 'bytes[]', + name: 'factoryDeps', + type: 'bytes[]', + }, + ], + name: 'NewPriorityRequest', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'oldPriorityTxMaxGasLimit', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'newPriorityTxMaxGasLimit', + type: 'uint256', + }, + ], + name: 'NewPriorityTxMaxGasLimit', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: 'oldTransactionFilterer', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'newTransactionFilterer', + type: 'address', + }, + ], + name: 'NewTransactionFilterer', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + components: [ + { + components: [ + { + internalType: 'address', + name: 'facet', + type: 'address', + }, + { + internalType: 'enum Diamond.Action', + name: 'action', + type: 'uint8', + }, + { + internalType: 'bool', + name: 'isFreezable', + type: 'bool', + }, + { + internalType: 'bytes4[]', + name: 'selectors', + type: 'bytes4[]', + }, + ], + internalType: 'struct Diamond.FacetCut[]', + name: 'facetCuts', + type: 'tuple[]', + }, + { + internalType: 'address', + name: 'initAddress', + type: 'address', + }, + { + internalType: 'bytes', + name: 'initCalldata', + type: 'bytes', + }, + ], + indexed: false, + internalType: 'struct Diamond.DiamondCutData', + name: 'diamondCut', + type: 'tuple', + }, + { + indexed: true, + internalType: 'uint256', + name: 'proposalId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'bytes32', + name: 'proposalSalt', + type: 'bytes32', + }, + ], + name: 'ProposeTransparentUpgrade', + type: 'event', + }, + { + anonymous: false, + inputs: [], + name: 'Unfreeze', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'validatorAddress', + type: 'address', + }, + { + indexed: false, + internalType: 'bool', + name: 'isActive', + type: 'bool', + }, + ], + name: 'ValidatorStatusUpdate', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'enum PubdataPricingMode', + name: 'validiumMode', + type: 'uint8', + }, + ], + name: 'ValidiumModeStatusUpdate', + type: 'event', + }, + { + inputs: [], + name: 'acceptAdmin', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'baseTokenGasPriceMultiplierDenominator', + outputs: [ + { + internalType: 'uint128', + name: '', + type: 'uint128', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'baseTokenGasPriceMultiplierNominator', + outputs: [ + { + internalType: 'uint128', + name: '', + type: 'uint128', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + internalType: 'address', + name: 'contractL2', + type: 'address', + }, + { + internalType: 'uint256', + name: 'mintValue', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'l2Value', + type: 'uint256', + }, + { + internalType: 'bytes', + name: 'l2Calldata', + type: 'bytes', + }, + { + internalType: 'uint256', + name: 'l2GasLimit', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'l2GasPerPubdataByteLimit', + type: 'uint256', + }, + { + internalType: 'bytes[]', + name: 'factoryDeps', + type: 'bytes[]', + }, + { + internalType: 'address', + name: 'refundRecipient', + type: 'address', + }, + ], + internalType: 'struct BridgehubL2TransactionRequest', + name: '_request', + type: 'tuple', + }, + ], + name: 'bridgehubRequestL2Transaction', + outputs: [ + { + internalType: 'bytes32', + name: 'canonicalTxHash', + type: 'bytes32', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + internalType: 'enum PubdataPricingMode', + name: 'pubdataPricingMode', + type: 'uint8', + }, + { + internalType: 'uint32', + name: 'batchOverheadL1Gas', + type: 'uint32', + }, + { + internalType: 'uint32', + name: 'maxPubdataPerBatch', + type: 'uint32', + }, + { + internalType: 'uint32', + name: 'maxL2GasPerBatch', + type: 'uint32', + }, + { + internalType: 'uint32', + name: 'priorityTxMaxPubdata', + type: 'uint32', + }, + { + internalType: 'uint64', + name: 'minimalL2GasPrice', + type: 'uint64', + }, + ], + internalType: 'struct FeeParams', + name: '_newFeeParams', + type: 'tuple', + }, + ], + name: 'changeFeeParams', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + internalType: 'uint64', + name: 'batchNumber', + type: 'uint64', + }, + { + internalType: 'bytes32', + name: 'batchHash', + type: 'bytes32', + }, + { + internalType: 'uint64', + name: 'indexRepeatedStorageChanges', + type: 'uint64', + }, + { + internalType: 'uint256', + name: 'numberOfLayer1Txs', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: 'priorityOperationsHash', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 'l2LogsTreeRoot', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'timestamp', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: 'commitment', + type: 'bytes32', + }, + ], + internalType: 'struct IExecutor.StoredBatchInfo', + name: '_lastCommittedBatchData', + type: 'tuple', + }, + { + components: [ + { + internalType: 'uint64', + name: 'batchNumber', + type: 'uint64', + }, + { + internalType: 'uint64', + name: 'timestamp', + type: 'uint64', + }, + { + internalType: 'uint64', + name: 'indexRepeatedStorageChanges', + type: 'uint64', + }, + { + internalType: 'bytes32', + name: 'newStateRoot', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'numberOfLayer1Txs', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: 'priorityOperationsHash', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 'bootloaderHeapInitialContentsHash', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 'eventsQueueStateHash', + type: 'bytes32', + }, + { + internalType: 'bytes', + name: 'systemLogs', + type: 'bytes', + }, + { + internalType: 'bytes', + name: 'pubdataCommitments', + type: 'bytes', + }, + ], + internalType: 'struct IExecutor.CommitBatchInfo[]', + name: '_newBatchesData', + type: 'tuple[]', + }, + ], + name: 'commitBatches', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + { + components: [ + { + internalType: 'uint64', + name: 'batchNumber', + type: 'uint64', + }, + { + internalType: 'bytes32', + name: 'batchHash', + type: 'bytes32', + }, + { + internalType: 'uint64', + name: 'indexRepeatedStorageChanges', + type: 'uint64', + }, + { + internalType: 'uint256', + name: 'numberOfLayer1Txs', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: 'priorityOperationsHash', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 'l2LogsTreeRoot', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'timestamp', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: 'commitment', + type: 'bytes32', + }, + ], + internalType: 'struct IExecutor.StoredBatchInfo', + name: '_lastCommittedBatchData', + type: 'tuple', + }, + { + components: [ + { + internalType: 'uint64', + name: 'batchNumber', + type: 'uint64', + }, + { + internalType: 'uint64', + name: 'timestamp', + type: 'uint64', + }, + { + internalType: 'uint64', + name: 'indexRepeatedStorageChanges', + type: 'uint64', + }, + { + internalType: 'bytes32', + name: 'newStateRoot', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'numberOfLayer1Txs', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: 'priorityOperationsHash', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 'bootloaderHeapInitialContentsHash', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 'eventsQueueStateHash', + type: 'bytes32', + }, + { + internalType: 'bytes', + name: 'systemLogs', + type: 'bytes', + }, + { + internalType: 'bytes', + name: 'pubdataCommitments', + type: 'bytes', + }, + ], + internalType: 'struct IExecutor.CommitBatchInfo[]', + name: '_newBatchesData', + type: 'tuple[]', + }, + ], + name: 'commitBatchesSharedBridge', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + internalType: 'uint64', + name: 'batchNumber', + type: 'uint64', + }, + { + internalType: 'bytes32', + name: 'batchHash', + type: 'bytes32', + }, + { + internalType: 'uint64', + name: 'indexRepeatedStorageChanges', + type: 'uint64', + }, + { + internalType: 'uint256', + name: 'numberOfLayer1Txs', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: 'priorityOperationsHash', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 'l2LogsTreeRoot', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'timestamp', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: 'commitment', + type: 'bytes32', + }, + ], + internalType: 'struct IExecutor.StoredBatchInfo[]', + name: '_batchesData', + type: 'tuple[]', + }, + ], + name: 'executeBatches', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + { + components: [ + { + internalType: 'uint64', + name: 'batchNumber', + type: 'uint64', + }, + { + internalType: 'bytes32', + name: 'batchHash', + type: 'bytes32', + }, + { + internalType: 'uint64', + name: 'indexRepeatedStorageChanges', + type: 'uint64', + }, + { + internalType: 'uint256', + name: 'numberOfLayer1Txs', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: 'priorityOperationsHash', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 'l2LogsTreeRoot', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'timestamp', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: 'commitment', + type: 'bytes32', + }, + ], + internalType: 'struct IExecutor.StoredBatchInfo[]', + name: '_batchesData', + type: 'tuple[]', + }, + ], + name: 'executeBatchesSharedBridge', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + components: [ + { + internalType: 'address', + name: 'facet', + type: 'address', + }, + { + internalType: 'enum Diamond.Action', + name: 'action', + type: 'uint8', + }, + { + internalType: 'bool', + name: 'isFreezable', + type: 'bool', + }, + { + internalType: 'bytes4[]', + name: 'selectors', + type: 'bytes4[]', + }, + ], + internalType: 'struct Diamond.FacetCut[]', + name: 'facetCuts', + type: 'tuple[]', + }, + { + internalType: 'address', + name: 'initAddress', + type: 'address', + }, + { + internalType: 'bytes', + name: 'initCalldata', + type: 'bytes', + }, + ], + internalType: 'struct Diamond.DiamondCutData', + name: '_diamondCut', + type: 'tuple', + }, + ], + name: 'executeUpgrade', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes4', + name: '_selector', + type: 'bytes4', + }, + ], + name: 'facetAddress', + outputs: [ + { + internalType: 'address', + name: 'facet', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'facetAddresses', + outputs: [ + { + internalType: 'address[]', + name: 'facets', + type: 'address[]', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_facet', + type: 'address', + }, + ], + name: 'facetFunctionSelectors', + outputs: [ + { + internalType: 'bytes4[]', + name: '', + type: 'bytes4[]', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'facets', + outputs: [ + { + components: [ + { + internalType: 'address', + name: 'addr', + type: 'address', + }, + { + internalType: 'bytes4[]', + name: 'selectors', + type: 'bytes4[]', + }, + ], + internalType: 'struct IGetters.Facet[]', + name: '', + type: 'tuple[]', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_l2BatchNumber', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_l2MessageIndex', + type: 'uint256', + }, + { + internalType: 'uint16', + name: '_l2TxNumberInBatch', + type: 'uint16', + }, + { + internalType: 'bytes', + name: '_message', + type: 'bytes', + }, + { + internalType: 'bytes32[]', + name: '_merkleProof', + type: 'bytes32[]', + }, + ], + name: 'finalizeEthWithdrawal', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'freezeDiamond', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'getAdmin', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getBaseToken', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getBaseTokenBridge', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getBridgehub', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getFirstUnprocessedPriorityTx', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getL2BootloaderBytecodeHash', + outputs: [ + { + internalType: 'bytes32', + name: '', + type: 'bytes32', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getL2DefaultAccountBytecodeHash', + outputs: [ + { + internalType: 'bytes32', + name: '', + type: 'bytes32', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getL2SystemContractsUpgradeBatchNumber', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getL2SystemContractsUpgradeTxHash', + outputs: [ + { + internalType: 'bytes32', + name: '', + type: 'bytes32', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getName', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getPendingAdmin', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getPriorityQueueSize', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getPriorityTxMaxGasLimit', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getProtocolVersion', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getPubdataPricingMode', + outputs: [ + { + internalType: 'enum PubdataPricingMode', + name: '', + type: 'uint8', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getSemverProtocolVersion', + outputs: [ + { + internalType: 'uint32', + name: '', + type: 'uint32', + }, + { + internalType: 'uint32', + name: '', + type: 'uint32', + }, + { + internalType: 'uint32', + name: '', + type: 'uint32', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getStateTransitionManager', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getTotalBatchesCommitted', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getTotalBatchesExecuted', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getTotalBatchesVerified', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getTotalPriorityTxs', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getVerifier', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getVerifierParams', + outputs: [ + { + components: [ + { + internalType: 'bytes32', + name: 'recursionNodeLevelVkHash', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 'recursionLeafLevelVkHash', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 'recursionCircuitsSetVksHash', + type: 'bytes32', + }, + ], + internalType: 'struct VerifierParams', + name: '', + type: 'tuple', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'isDiamondStorageFrozen', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_l2BatchNumber', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_l2MessageIndex', + type: 'uint256', + }, + ], + name: 'isEthWithdrawalFinalized', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_facet', + type: 'address', + }, + ], + name: 'isFacetFreezable', + outputs: [ + { + internalType: 'bool', + name: 'isFreezable', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes4', + name: '_selector', + type: 'bytes4', + }, + ], + name: 'isFunctionFreezable', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_address', + type: 'address', + }, + ], + name: 'isValidator', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_batchNumber', + type: 'uint256', + }, + ], + name: 'l2LogsRootHash', + outputs: [ + { + internalType: 'bytes32', + name: 'merkleRoot', + type: 'bytes32', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_gasPrice', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_l2GasLimit', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_l2GasPerPubdataByteLimit', + type: 'uint256', + }, + ], + name: 'l2TransactionBaseCost', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'priorityQueueFrontOperation', + outputs: [ + { + components: [ + { + internalType: 'bytes32', + name: 'canonicalTxHash', + type: 'bytes32', + }, + { + internalType: 'uint64', + name: 'expirationTimestamp', + type: 'uint64', + }, + { + internalType: 'uint192', + name: 'layer2Tip', + type: 'uint192', + }, + ], + internalType: 'struct PriorityOperation', + name: '', + type: 'tuple', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + internalType: 'uint64', + name: 'batchNumber', + type: 'uint64', + }, + { + internalType: 'bytes32', + name: 'batchHash', + type: 'bytes32', + }, + { + internalType: 'uint64', + name: 'indexRepeatedStorageChanges', + type: 'uint64', + }, + { + internalType: 'uint256', + name: 'numberOfLayer1Txs', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: 'priorityOperationsHash', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 'l2LogsTreeRoot', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'timestamp', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: 'commitment', + type: 'bytes32', + }, + ], + internalType: 'struct IExecutor.StoredBatchInfo', + name: '_prevBatch', + type: 'tuple', + }, + { + components: [ + { + internalType: 'uint64', + name: 'batchNumber', + type: 'uint64', + }, + { + internalType: 'bytes32', + name: 'batchHash', + type: 'bytes32', + }, + { + internalType: 'uint64', + name: 'indexRepeatedStorageChanges', + type: 'uint64', + }, + { + internalType: 'uint256', + name: 'numberOfLayer1Txs', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: 'priorityOperationsHash', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 'l2LogsTreeRoot', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'timestamp', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: 'commitment', + type: 'bytes32', + }, + ], + internalType: 'struct IExecutor.StoredBatchInfo[]', + name: '_committedBatches', + type: 'tuple[]', + }, + { + components: [ + { + internalType: 'uint256[]', + name: 'recursiveAggregationInput', + type: 'uint256[]', + }, + { + internalType: 'uint256[]', + name: 'serializedProof', + type: 'uint256[]', + }, + ], + internalType: 'struct IExecutor.ProofInput', + name: '_proof', + type: 'tuple', + }, + ], + name: 'proveBatches', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + { + components: [ + { + internalType: 'uint64', + name: 'batchNumber', + type: 'uint64', + }, + { + internalType: 'bytes32', + name: 'batchHash', + type: 'bytes32', + }, + { + internalType: 'uint64', + name: 'indexRepeatedStorageChanges', + type: 'uint64', + }, + { + internalType: 'uint256', + name: 'numberOfLayer1Txs', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: 'priorityOperationsHash', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 'l2LogsTreeRoot', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'timestamp', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: 'commitment', + type: 'bytes32', + }, + ], + internalType: 'struct IExecutor.StoredBatchInfo', + name: '_prevBatch', + type: 'tuple', + }, + { + components: [ + { + internalType: 'uint64', + name: 'batchNumber', + type: 'uint64', + }, + { + internalType: 'bytes32', + name: 'batchHash', + type: 'bytes32', + }, + { + internalType: 'uint64', + name: 'indexRepeatedStorageChanges', + type: 'uint64', + }, + { + internalType: 'uint256', + name: 'numberOfLayer1Txs', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: 'priorityOperationsHash', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 'l2LogsTreeRoot', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'timestamp', + type: 'uint256', + }, + { + internalType: 'bytes32', + name: 'commitment', + type: 'bytes32', + }, + ], + internalType: 'struct IExecutor.StoredBatchInfo[]', + name: '_committedBatches', + type: 'tuple[]', + }, + { + components: [ + { + internalType: 'uint256[]', + name: 'recursiveAggregationInput', + type: 'uint256[]', + }, + { + internalType: 'uint256[]', + name: 'serializedProof', + type: 'uint256[]', + }, + ], + internalType: 'struct IExecutor.ProofInput', + name: '_proof', + type: 'tuple', + }, + ], + name: 'proveBatchesSharedBridge', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: '_l2TxHash', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: '_l2BatchNumber', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_l2MessageIndex', + type: 'uint256', + }, + { + internalType: 'uint16', + name: '_l2TxNumberInBatch', + type: 'uint16', + }, + { + internalType: 'bytes32[]', + name: '_merkleProof', + type: 'bytes32[]', + }, + { + internalType: 'enum TxStatus', + name: '_status', + type: 'uint8', + }, + ], + name: 'proveL1ToL2TransactionStatus', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_batchNumber', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_index', + type: 'uint256', + }, + { + components: [ + { + internalType: 'uint8', + name: 'l2ShardId', + type: 'uint8', + }, + { + internalType: 'bool', + name: 'isService', + type: 'bool', + }, + { + internalType: 'uint16', + name: 'txNumberInBatch', + type: 'uint16', + }, + { + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + internalType: 'bytes32', + name: 'key', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 'value', + type: 'bytes32', + }, + ], + internalType: 'struct L2Log', + name: '_log', + type: 'tuple', + }, + { + internalType: 'bytes32[]', + name: '_proof', + type: 'bytes32[]', + }, + ], + name: 'proveL2LogInclusion', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_batchNumber', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_index', + type: 'uint256', + }, + { + components: [ + { + internalType: 'uint16', + name: 'txNumberInBatch', + type: 'uint16', + }, + { + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + internalType: 'bytes', + name: 'data', + type: 'bytes', + }, + ], + internalType: 'struct L2Message', + name: '_message', + type: 'tuple', + }, + { + internalType: 'bytes32[]', + name: '_proof', + type: 'bytes32[]', + }, + ], + name: 'proveL2MessageInclusion', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_contractL2', + type: 'address', + }, + { + internalType: 'uint256', + name: '_l2Value', + type: 'uint256', + }, + { + internalType: 'bytes', + name: '_calldata', + type: 'bytes', + }, + { + internalType: 'uint256', + name: '_l2GasLimit', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_l2GasPerPubdataByteLimit', + type: 'uint256', + }, + { + internalType: 'bytes[]', + name: '_factoryDeps', + type: 'bytes[]', + }, + { + internalType: 'address', + name: '_refundRecipient', + type: 'address', + }, + ], + name: 'requestL2Transaction', + outputs: [ + { + internalType: 'bytes32', + name: 'canonicalTxHash', + type: 'bytes32', + }, + ], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_newLastBatch', + type: 'uint256', + }, + ], + name: 'revertBatches', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_chainId', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_newLastBatch', + type: 'uint256', + }, + ], + name: 'revertBatchesSharedBridge', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_newPendingAdmin', + type: 'address', + }, + ], + name: 'setPendingAdmin', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bool', + name: '_zkPorterIsAvailable', + type: 'bool', + }, + ], + name: 'setPorterAvailability', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_newPriorityTxMaxGasLimit', + type: 'uint256', + }, + ], + name: 'setPriorityTxMaxGasLimit', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'enum PubdataPricingMode', + name: '_pricingMode', + type: 'uint8', + }, + ], + name: 'setPubdataPricingMode', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint128', + name: '_nominator', + type: 'uint128', + }, + { + internalType: 'uint128', + name: '_denominator', + type: 'uint128', + }, + ], + name: 'setTokenMultiplier', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_transactionFilterer', + type: 'address', + }, + ], + name: 'setTransactionFilterer', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_validator', + type: 'address', + }, + { + internalType: 'bool', + name: '_active', + type: 'bool', + }, + ], + name: 'setValidator', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_batchNumber', + type: 'uint256', + }, + ], + name: 'storedBatchHash', + outputs: [ + { + internalType: 'bytes32', + name: '', + type: 'bytes32', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'transferEthToSharedBridge', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'unfreezeDiamond', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: '_protocolVersion', + type: 'uint256', + }, + { + components: [ + { + components: [ + { + internalType: 'address', + name: 'facet', + type: 'address', + }, + { + internalType: 'enum Diamond.Action', + name: 'action', + type: 'uint8', + }, + { + internalType: 'bool', + name: 'isFreezable', + type: 'bool', + }, + { + internalType: 'bytes4[]', + name: 'selectors', + type: 'bytes4[]', + }, + ], + internalType: 'struct Diamond.FacetCut[]', + name: 'facetCuts', + type: 'tuple[]', + }, + { + internalType: 'address', + name: 'initAddress', + type: 'address', + }, + { + internalType: 'bytes', + name: 'initCalldata', + type: 'bytes', + }, + ], + internalType: 'struct Diamond.DiamondCutData', + name: '_cutData', + type: 'tuple', + }, + ], + name: 'upgradeChainFromVersion', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, +]; +//# sourceMappingURL=abis.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/constants/abis.js.map b/node_modules/viem/_cjs/zksync/constants/abis.js.map new file mode 100644 index 0000000000000000000000000000000000000000..65784c1983acedf4199f0afc66cd17a9f4c688c6 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/constants/abis.js.map @@ -0,0 +1 @@ +{"version":3,"file":"abis.js","sourceRoot":"","sources":["../../../zksync/constants/abis.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/constants/address.js b/node_modules/viem/_cjs/zksync/constants/address.js new file mode 100644 index 0000000000000000000000000000000000000000..f21e1977b43709ab315a2f1ff369eb811e4294dd --- /dev/null +++ b/node_modules/viem/_cjs/zksync/constants/address.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.addressModulo = exports.bootloaderFormalAddress = exports.l2NativeTokenVaultAddress = exports.l2AssetRouterAddress = exports.l1ToL2AliasOffset = exports.l1MessengerAddress = exports.l2BaseTokenAddress = exports.ethAddressInContracts = exports.legacyEthAddress = exports.contract2FactoryAddress = exports.contractDeployerAddress = void 0; +exports.contractDeployerAddress = '0x0000000000000000000000000000000000008006'; +exports.contract2FactoryAddress = '0x0000000000000000000000000000000000010000'; +exports.legacyEthAddress = '0x0000000000000000000000000000000000000000'; +exports.ethAddressInContracts = '0x0000000000000000000000000000000000000001'; +exports.l2BaseTokenAddress = '0x000000000000000000000000000000000000800a'; +exports.l1MessengerAddress = '0x0000000000000000000000000000000000008008'; +exports.l1ToL2AliasOffset = '0x1111000000000000000000000000000000001111'; +exports.l2AssetRouterAddress = '0x0000000000000000000000000000000000010003'; +exports.l2NativeTokenVaultAddress = '0x0000000000000000000000000000000000010004'; +exports.bootloaderFormalAddress = '0x0000000000000000000000000000000000008001'; +exports.addressModulo = 2n ** 160n; +//# sourceMappingURL=address.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/constants/address.js.map b/node_modules/viem/_cjs/zksync/constants/address.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a85a3c94dd9a27c67ae8c2d505aecf53835ef87a --- /dev/null +++ b/node_modules/viem/_cjs/zksync/constants/address.js.map @@ -0,0 +1 @@ +{"version":3,"file":"address.js","sourceRoot":"","sources":["../../../zksync/constants/address.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAClC,4CAAqD,CAAA;AAE1C,QAAA,uBAAuB,GAClC,4CAAqD,CAAA;AAG1C,QAAA,gBAAgB,GAC3B,4CAAqD,CAAA;AAE1C,QAAA,qBAAqB,GAChC,4CAAqD,CAAA;AAG1C,QAAA,kBAAkB,GAC7B,4CAAqD,CAAA;AAE1C,QAAA,kBAAkB,GAC7B,4CAAqD,CAAA;AAE1C,QAAA,iBAAiB,GAC5B,4CAAqD,CAAA;AAE1C,QAAA,oBAAoB,GAC/B,4CAAqD,CAAA;AAE1C,QAAA,yBAAyB,GACpC,4CAAqD,CAAA;AAE1C,QAAA,uBAAuB,GAClC,4CAAqD,CAAA;AAE1C,QAAA,aAAa,GAAG,EAAE,IAAI,IAAI,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/constants/contract.js b/node_modules/viem/_cjs/zksync/constants/contract.js new file mode 100644 index 0000000000000000000000000000000000000000..fad35c27207709086b74bf6758b3fa37f4c26b72 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/constants/contract.js @@ -0,0 +1,5 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.accountAbstractionVersion1 = void 0; +exports.accountAbstractionVersion1 = 1; +//# sourceMappingURL=contract.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/constants/contract.js.map b/node_modules/viem/_cjs/zksync/constants/contract.js.map new file mode 100644 index 0000000000000000000000000000000000000000..1642daaf4ee5998c77357c1e2ac20a96eaaccbb2 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/constants/contract.js.map @@ -0,0 +1 @@ +{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../zksync/constants/contract.ts"],"names":[],"mappings":";;;AAAa,QAAA,0BAA0B,GAAG,CAAC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/constants/number.js b/node_modules/viem/_cjs/zksync/constants/number.js new file mode 100644 index 0000000000000000000000000000000000000000..23c39108a7d78877641aa5cbf907af4c3cca9d01 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/constants/number.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.requiredL1ToL2GasPerPubdataLimit = exports.maxBytecodeSize = exports.gasPerPubdataDefault = void 0; +const number_js_1 = require("../../constants/number.js"); +exports.gasPerPubdataDefault = 50000n; +exports.maxBytecodeSize = number_js_1.maxUint16 * 32n; +exports.requiredL1ToL2GasPerPubdataLimit = 800n; +//# sourceMappingURL=number.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/constants/number.js.map b/node_modules/viem/_cjs/zksync/constants/number.js.map new file mode 100644 index 0000000000000000000000000000000000000000..086a4dc2c678dd3071a2ee70e060d751dbb9830d --- /dev/null +++ b/node_modules/viem/_cjs/zksync/constants/number.js.map @@ -0,0 +1 @@ +{"version":3,"file":"number.js","sourceRoot":"","sources":["../../../zksync/constants/number.ts"],"names":[],"mappings":";;;AAAA,yDAAqD;AAExC,QAAA,oBAAoB,GAAG,MAAM,CAAA;AAC7B,QAAA,eAAe,GAAG,qBAAS,GAAG,GAAG,CAAA;AACjC,QAAA,gCAAgC,GAAG,IAAI,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/decorators/eip712.js b/node_modules/viem/_cjs/zksync/decorators/eip712.js new file mode 100644 index 0000000000000000000000000000000000000000..b59c55b9a53ccad121e1caf04b6f48d7528586d7 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/decorators/eip712.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.eip712WalletActions = eip712WalletActions; +const writeContract_js_1 = require("../../actions/wallet/writeContract.js"); +const deployContract_js_1 = require("../actions/deployContract.js"); +const sendTransaction_js_1 = require("../actions/sendTransaction.js"); +const signTransaction_js_1 = require("../actions/signTransaction.js"); +function eip712WalletActions() { + return (client) => ({ + sendTransaction: (args) => (0, sendTransaction_js_1.sendTransaction)(client, args), + signTransaction: (args) => (0, signTransaction_js_1.signTransaction)(client, args), + deployContract: (args) => (0, deployContract_js_1.deployContract)(client, args), + writeContract: (args) => (0, writeContract_js_1.writeContract)(Object.assign(client, { + sendTransaction: (args) => (0, sendTransaction_js_1.sendTransaction)(client, args), + }), args), + }); +} +//# sourceMappingURL=eip712.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/decorators/eip712.js.map b/node_modules/viem/_cjs/zksync/decorators/eip712.js.map new file mode 100644 index 0000000000000000000000000000000000000000..99a6283f8b1a3801f6a74c2ce2947f7c5b342b32 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/decorators/eip712.js.map @@ -0,0 +1 @@ +{"version":3,"file":"eip712.js","sourceRoot":"","sources":["../../../zksync/decorators/eip712.ts"],"names":[],"mappings":";;AA0NA,kDAmBC;AA1OD,4EAAqE;AAKrE,oEAIqC;AACrC,sEAIsC;AACtC,sEAIsC;AAoMtC,SAAgB,mBAAmB;IACjC,OAAO,CAKL,MAAyC,EACJ,EAAE,CAAC,CAAC;QACzC,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,oCAAe,EAAC,MAAM,EAAE,IAAI,CAAC;QACxD,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,oCAAe,EAAC,MAAM,EAAE,IAAI,CAAC;QACxD,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,kCAAc,EAAC,MAAM,EAAE,IAAI,CAAC;QACtD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CACtB,IAAA,gCAAa,EACX,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;YACpB,eAAe,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,IAAA,oCAAe,EAAC,MAAM,EAAE,IAAI,CAAC;SAC9D,CAAC,EACF,IAAI,CACL;KACJ,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/decorators/publicL1.js b/node_modules/viem/_cjs/zksync/decorators/publicL1.js new file mode 100644 index 0000000000000000000000000000000000000000..d363c3057723404750d51cbb6de0dda671b918c5 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/decorators/publicL1.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.publicActionsL1 = publicActionsL1; +const getL1Allowance_js_1 = require("../actions/getL1Allowance.js"); +const getL1Balance_js_1 = require("../actions/getL1Balance.js"); +const getL1TokenBalance_js_1 = require("../actions/getL1TokenBalance.js"); +const isWithdrawalFinalized_js_1 = require("../actions/isWithdrawalFinalized.js"); +function publicActionsL1() { + return (client) => ({ + getL1Allowance: (args) => (0, getL1Allowance_js_1.getL1Allowance)(client, args), + getL1TokenBalance: (args) => (0, getL1TokenBalance_js_1.getL1TokenBalance)(client, args), + getL1Balance: (args) => (0, getL1Balance_js_1.getL1Balance)(client, args), + isWithdrawalFinalized: (args) => (0, isWithdrawalFinalized_js_1.isWithdrawalFinalized)(client, args), + }); +} +//# sourceMappingURL=publicL1.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/decorators/publicL1.js.map b/node_modules/viem/_cjs/zksync/decorators/publicL1.js.map new file mode 100644 index 0000000000000000000000000000000000000000..abe27ae40a05218aec0d2604126f54401fc59ebe --- /dev/null +++ b/node_modules/viem/_cjs/zksync/decorators/publicL1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"publicL1.js","sourceRoot":"","sources":["../../../zksync/decorators/publicL1.ts"],"names":[],"mappings":";;AA0MA,0CAaC;AAnND,oEAIqC;AACrC,gEAImC;AACnC,0EAIwC;AACxC,kFAI4C;AAmL5C,SAAgB,eAAe;IAC7B,OAAO,CAIL,MAAyC,EACf,EAAE,CAAC,CAAC;QAC9B,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,kCAAc,EAAC,MAAM,EAAE,IAAI,CAAC;QACtD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,wCAAiB,EAAC,MAAM,EAAE,IAAI,CAAC;QAE5D,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,8BAAY,EAAC,MAAM,EAAE,IAAI,CAAC;QAClD,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,gDAAqB,EAAC,MAAM,EAAE,IAAI,CAAC;KACrE,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/decorators/publicL2.js b/node_modules/viem/_cjs/zksync/decorators/publicL2.js new file mode 100644 index 0000000000000000000000000000000000000000..ec67d8abaf0af9a506b9b1d923a6e266cf682a3a --- /dev/null +++ b/node_modules/viem/_cjs/zksync/decorators/publicL2.js @@ -0,0 +1,48 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.publicActionsL2 = publicActionsL2; +const estimateFee_js_1 = require("../actions/estimateFee.js"); +const estimateGasL1ToL2_js_1 = require("../actions/estimateGasL1ToL2.js"); +const getAllBalances_js_1 = require("../actions/getAllBalances.js"); +const getBaseTokenL1Address_js_1 = require("../actions/getBaseTokenL1Address.js"); +const getBlockDetails_js_1 = require("../actions/getBlockDetails.js"); +const getBridgehubContractAddress_js_1 = require("../actions/getBridgehubContractAddress.js"); +const getDefaultBridgeAddresses_js_1 = require("../actions/getDefaultBridgeAddresses.js"); +const getGasPerPubdata_js_1 = require("../actions/getGasPerPubdata.js"); +const getL1BatchBlockRange_js_1 = require("../actions/getL1BatchBlockRange.js"); +const getL1BatchDetails_js_1 = require("../actions/getL1BatchDetails.js"); +const getL1BatchNumber_js_1 = require("../actions/getL1BatchNumber.js"); +const getL1ChainId_js_1 = require("../actions/getL1ChainId.js"); +const getL1TokenAddress_js_1 = require("../actions/getL1TokenAddress.js"); +const getL2TokenAddress_js_1 = require("../actions/getL2TokenAddress.js"); +const getLogProof_js_1 = require("../actions/getLogProof.js"); +const getMainContractAddress_js_1 = require("../actions/getMainContractAddress.js"); +const getRawBlockTransactions_js_1 = require("../actions/getRawBlockTransactions.js"); +const getTestnetPaymasterAddress_js_1 = require("../actions/getTestnetPaymasterAddress.js"); +const getTransactionDetails_js_1 = require("../actions/getTransactionDetails.js"); +function publicActionsL2() { + return (client) => { + return { + estimateGasL1ToL2: (args) => (0, estimateGasL1ToL2_js_1.estimateGasL1ToL2)(client, args), + getDefaultBridgeAddresses: () => (0, getDefaultBridgeAddresses_js_1.getDefaultBridgeAddresses)(client), + getTestnetPaymasterAddress: () => (0, getTestnetPaymasterAddress_js_1.getTestnetPaymasterAddress)(client), + getL1ChainId: () => (0, getL1ChainId_js_1.getL1ChainId)(client), + getMainContractAddress: () => (0, getMainContractAddress_js_1.getMainContractAddress)(client), + getAllBalances: (args) => (0, getAllBalances_js_1.getAllBalances)(client, args), + getRawBlockTransaction: (args) => (0, getRawBlockTransactions_js_1.getRawBlockTransactions)(client, args), + getBlockDetails: (args) => (0, getBlockDetails_js_1.getBlockDetails)(client, args), + getL1BatchDetails: (args) => (0, getL1BatchDetails_js_1.getL1BatchDetails)(client, args), + getL1BatchBlockRange: (args) => (0, getL1BatchBlockRange_js_1.getL1BatchBlockRange)(client, args), + getL1BatchNumber: () => (0, getL1BatchNumber_js_1.getL1BatchNumber)(client), + getLogProof: (args) => (0, getLogProof_js_1.getLogProof)(client, args), + getTransactionDetails: (args) => (0, getTransactionDetails_js_1.getTransactionDetails)(client, args), + estimateFee: (args) => (0, estimateFee_js_1.estimateFee)(client, args), + getBridgehubContractAddress: () => (0, getBridgehubContractAddress_js_1.getBridgehubContractAddress)(client), + getBaseTokenL1Address: () => (0, getBaseTokenL1Address_js_1.getBaseTokenL1Address)(client), + getL2TokenAddress: (args) => (0, getL2TokenAddress_js_1.getL2TokenAddress)(client, args), + getL1TokenAddress: (args) => (0, getL1TokenAddress_js_1.getL1TokenAddress)(client, args), + getGasPerPubdata: () => (0, getGasPerPubdata_js_1.getGasPerPubdata)(client), + }; + }; +} +//# sourceMappingURL=publicL2.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/decorators/publicL2.js.map b/node_modules/viem/_cjs/zksync/decorators/publicL2.js.map new file mode 100644 index 0000000000000000000000000000000000000000..12c5c593270b28a01c45f15581cbb95d40ea58aa --- /dev/null +++ b/node_modules/viem/_cjs/zksync/decorators/publicL2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"publicL2.js","sourceRoot":"","sources":["../../../zksync/decorators/publicL2.ts"],"names":[],"mappings":";;AAofA,0CA8BC;AA1gBD,8DAAuD;AACvD,0EAIwC;AACxC,oEAIqC;AACrC,kFAG4C;AAC5C,sEAIsC;AACtC,8FAGkD;AAClD,0FAGgD;AAChD,wEAGuC;AACvC,gFAI2C;AAC3C,0EAIwC;AACxC,wEAGuC;AACvC,gEAGmC;AACnC,0EAIwC;AACxC,0EAIwC;AACxC,8DAIkC;AAClC,oFAG6C;AAC7C,sFAI8C;AAC9C,4FAGiD;AACjD,kFAI4C;AA0Z5C,SAAgB,eAAe;IAC7B,OAAO,CAKL,MAAyC,EACR,EAAE;QACnC,OAAO;YACL,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,wCAAiB,EAAC,MAAM,EAAE,IAAI,CAAC;YAC5D,yBAAyB,EAAE,GAAG,EAAE,CAAC,IAAA,wDAAyB,EAAC,MAAM,CAAC;YAClE,0BAA0B,EAAE,GAAG,EAAE,CAAC,IAAA,0DAA0B,EAAC,MAAM,CAAC;YACpE,YAAY,EAAE,GAAG,EAAE,CAAC,IAAA,8BAAY,EAAC,MAAM,CAAC;YACxC,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAA,kDAAsB,EAAC,MAAM,CAAC;YAC5D,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,kCAAc,EAAC,MAAM,EAAE,IAAI,CAAC;YACtD,sBAAsB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,oDAAuB,EAAC,MAAM,EAAE,IAAI,CAAC;YACvE,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,oCAAe,EAAC,MAAM,EAAE,IAAI,CAAC;YACxD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,wCAAiB,EAAC,MAAM,EAAE,IAAI,CAAC;YAC5D,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,8CAAoB,EAAC,MAAM,EAAE,IAAI,CAAC;YAClE,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAA,sCAAgB,EAAC,MAAM,CAAC;YAChD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,4BAAW,EAAC,MAAM,EAAE,IAAI,CAAC;YAChD,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,gDAAqB,EAAC,MAAM,EAAE,IAAI,CAAC;YACpE,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,4BAAW,EAAC,MAAM,EAAE,IAAI,CAAC;YAChD,2BAA2B,EAAE,GAAG,EAAE,CAAC,IAAA,4DAA2B,EAAC,MAAM,CAAC;YACtE,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAA,gDAAqB,EAAC,MAAM,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,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAA,sCAAgB,EAAC,MAAM,CAAC;SACjD,CAAA;IACH,CAAC,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/decorators/walletL1.js b/node_modules/viem/_cjs/zksync/decorators/walletL1.js new file mode 100644 index 0000000000000000000000000000000000000000..7166b2d2eaba971b82af2d2b944853896d5cdc6c --- /dev/null +++ b/node_modules/viem/_cjs/zksync/decorators/walletL1.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.walletActionsL1 = walletActionsL1; +const claimFailedDeposit_js_1 = require("../actions/claimFailedDeposit.js"); +const deposit_js_1 = require("../actions/deposit.js"); +const finalizeWithdrawal_js_1 = require("../actions/finalizeWithdrawal.js"); +const requestExecute_js_1 = require("../actions/requestExecute.js"); +function walletActionsL1() { + return (client) => ({ + claimFailedDeposit: (args) => (0, claimFailedDeposit_js_1.claimFailedDeposit)(client, args), + deposit: (args) => (0, deposit_js_1.deposit)(client, args), + finalizeWithdrawal: (args) => (0, finalizeWithdrawal_js_1.finalizeWithdrawal)(client, args), + requestExecute: (args) => (0, requestExecute_js_1.requestExecute)(client, args), + }); +} +//# sourceMappingURL=walletL1.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/decorators/walletL1.js.map b/node_modules/viem/_cjs/zksync/decorators/walletL1.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5a4e7a5909e77cd89a83a6968f1e9996d5cc6aba --- /dev/null +++ b/node_modules/viem/_cjs/zksync/decorators/walletL1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"walletL1.js","sourceRoot":"","sources":["../../../zksync/decorators/walletL1.ts"],"names":[],"mappings":";;AAiNA,0CAaC;AA1ND,4EAIyC;AACzC,sDAI8B;AAC9B,4EAIyC;AACzC,oEAIqC;AA0LrC,SAAgB,eAAe;IAC7B,OAAO,CAKL,MAAyC,EACR,EAAE,CAAC,CAAC;QACrC,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0CAAkB,EAAC,MAAM,EAAE,IAAI,CAAC;QAC9D,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,oBAAO,EAAC,MAAM,EAAE,IAAI,CAAC;QACxC,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0CAAkB,EAAC,MAAM,EAAE,IAAI,CAAC;QAC9D,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,kCAAc,EAAC,MAAM,EAAE,IAAI,CAAC;KACvD,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/decorators/walletL2.js b/node_modules/viem/_cjs/zksync/decorators/walletL2.js new file mode 100644 index 0000000000000000000000000000000000000000..4f83ae155cf0ab9094eeb04d59d62a611280c1c2 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/decorators/walletL2.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.walletActionsL2 = walletActionsL2; +const withdraw_js_1 = require("../actions/withdraw.js"); +function walletActionsL2() { + return (client) => ({ + withdraw: (args) => (0, withdraw_js_1.withdraw)(client, args), + }); +} +//# sourceMappingURL=walletL2.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/decorators/walletL2.js.map b/node_modules/viem/_cjs/zksync/decorators/walletL2.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8d8c9c73cb54a98c074f0078f03ce6d68408a471 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/decorators/walletL2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"walletL2.js","sourceRoot":"","sources":["../../../zksync/decorators/walletL2.ts"],"names":[],"mappings":";;AAoFA,0CAUC;AA3FD,wDAI+B;AA6E/B,SAAgB,eAAe;IAC7B,OAAO,CAKL,MAAyC,EACR,EAAE,CAAC,CAAC;QACrC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,sBAAQ,EAAC,MAAM,EAAE,IAAI,CAAC;KAC3C,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/errors/bridge.js b/node_modules/viem/_cjs/zksync/errors/bridge.js new file mode 100644 index 0000000000000000000000000000000000000000..1b57decf89127ae05e22c04ac58e4e31c9784abd --- /dev/null +++ b/node_modules/viem/_cjs/zksync/errors/bridge.js @@ -0,0 +1,56 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.L2BridgeNotFoundError = exports.LogProofNotFoundError = exports.CannotClaimSuccessfulDepositError = exports.WithdrawalLogNotFoundError = exports.TxHashNotFoundInLogsError = exports.BaseFeeHigherThanValueError = void 0; +const base_js_1 = require("../../errors/base.js"); +class BaseFeeHigherThanValueError extends base_js_1.BaseError { + constructor(baseCost, value) { + super([ + 'The base cost of performing the priority operation is higher than the provided transaction value parameter.', + '', + `Base cost: ${baseCost}.`, + `Provided value: ${value}.`, + ].join('\n'), { name: 'BaseFeeHigherThanValueError' }); + } +} +exports.BaseFeeHigherThanValueError = BaseFeeHigherThanValueError; +class TxHashNotFoundInLogsError extends base_js_1.BaseError { + constructor() { + super('The transaction hash not found in event logs.', { + name: 'TxHashNotFoundInLogsError', + }); + } +} +exports.TxHashNotFoundInLogsError = TxHashNotFoundInLogsError; +class WithdrawalLogNotFoundError extends base_js_1.BaseError { + constructor({ hash }) { + super([ + `Withdrawal log with hash ${hash} not found.`, + '', + 'Either the withdrawal transaction is still processing or it did not finish successfully.', + ].join('\n'), { name: 'WithdrawalLogNotFoundError' }); + } +} +exports.WithdrawalLogNotFoundError = WithdrawalLogNotFoundError; +class CannotClaimSuccessfulDepositError extends base_js_1.BaseError { + constructor({ hash }) { + super([`Cannot claim successful deposit: ${hash}.`].join('\n'), { + name: 'CannotClaimSuccessfulDepositError', + }); + } +} +exports.CannotClaimSuccessfulDepositError = CannotClaimSuccessfulDepositError; +class LogProofNotFoundError extends base_js_1.BaseError { + constructor({ hash, index }) { + super([`Log proof not found for hash ${hash} and index ${index}.`].join('\n'), { name: 'LogProofNotFoundError' }); + } +} +exports.LogProofNotFoundError = LogProofNotFoundError; +class L2BridgeNotFoundError extends base_js_1.BaseError { + constructor() { + super(['L2 bridge address not found.'].join('\n'), { + name: 'L2BridgeNotFoundError', + }); + } +} +exports.L2BridgeNotFoundError = L2BridgeNotFoundError; +//# sourceMappingURL=bridge.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/errors/bridge.js.map b/node_modules/viem/_cjs/zksync/errors/bridge.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e8d30b614e86b79f170aee6c50c5bb787d38e14e --- /dev/null +++ b/node_modules/viem/_cjs/zksync/errors/bridge.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../zksync/errors/bridge.ts"],"names":[],"mappings":";;;AAAA,kDAAgD;AAMhD,MAAa,2BAA4B,SAAQ,mBAAS;IACxD,YAAY,QAAgB,EAAE,KAAa;QACzC,KAAK,CACH;YACE,6GAA6G;YAC7G,EAAE;YACF,cAAc,QAAQ,GAAG;YACzB,mBAAmB,KAAK,GAAG;SAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,EAAE,IAAI,EAAE,6BAA6B,EAAE,CACxC,CAAA;IACH,CAAC;CACF;AAZD,kEAYC;AAKD,MAAa,yBAA0B,SAAQ,mBAAS;IACtD;QACE,KAAK,CAAC,+CAA+C,EAAE;YACrD,IAAI,EAAE,2BAA2B;SAClC,CAAC,CAAA;IACJ,CAAC;CACF;AAND,8DAMC;AAKD,MAAa,0BAA2B,SAAQ,mBAAS;IACvD,YAAY,EAAE,IAAI,EAAkB;QAClC,KAAK,CACH;YACE,4BAA4B,IAAI,aAAa;YAC7C,EAAE;YACF,0FAA0F;SAC3F,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,EAAE,IAAI,EAAE,4BAA4B,EAAE,CACvC,CAAA;IACH,CAAC;CACF;AAXD,gEAWC;AAMD,MAAa,iCAAkC,SAAQ,mBAAS;IAC9D,YAAY,EAAE,IAAI,EAAkB;QAClC,KAAK,CAAC,CAAC,oCAAoC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC9D,IAAI,EAAE,mCAAmC;SAC1C,CAAC,CAAA;IACJ,CAAC;CACF;AAND,8EAMC;AAKD,MAAa,qBAAsB,SAAQ,mBAAS;IAClD,YAAY,EAAE,IAAI,EAAE,KAAK,EAAiC;QACxD,KAAK,CACH,CAAC,gCAAgC,IAAI,cAAc,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EACvE,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAClC,CAAA;IACH,CAAC;CACF;AAPD,sDAOC;AAKD,MAAa,qBAAsB,SAAQ,mBAAS;IAClD;QACE,KAAK,CAAC,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACjD,IAAI,EAAE,uBAAuB;SAC9B,CAAC,CAAA;IACJ,CAAC;CACF;AAND,sDAMC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/errors/bytecode.js b/node_modules/viem/_cjs/zksync/errors/bytecode.js new file mode 100644 index 0000000000000000000000000000000000000000..7450270d7e77f0f332690559e069f9f7e1304e55 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/errors/bytecode.js @@ -0,0 +1,23 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.BytecodeLengthMustBeDivisibleBy32Error = exports.BytecodeLengthInWordsMustBeOddError = exports.BytecodeLengthExceedsMaxSizeError = void 0; +const base_js_1 = require("../../errors/base.js"); +class BytecodeLengthExceedsMaxSizeError extends base_js_1.BaseError { + constructor({ givenLength, maxBytecodeSize, }) { + super(`Bytecode cannot be longer than ${maxBytecodeSize} bytes. Given length: ${givenLength}`, { name: 'BytecodeLengthExceedsMaxSizeError' }); + } +} +exports.BytecodeLengthExceedsMaxSizeError = BytecodeLengthExceedsMaxSizeError; +class BytecodeLengthInWordsMustBeOddError extends base_js_1.BaseError { + constructor({ givenLengthInWords }) { + super(`Bytecode length in 32-byte words must be odd. Given length in words: ${givenLengthInWords}`, { name: 'BytecodeLengthInWordsMustBeOddError' }); + } +} +exports.BytecodeLengthInWordsMustBeOddError = BytecodeLengthInWordsMustBeOddError; +class BytecodeLengthMustBeDivisibleBy32Error extends base_js_1.BaseError { + constructor({ givenLength }) { + super(`The bytecode length in bytes must be divisible by 32. Given length: ${givenLength}`, { name: 'BytecodeLengthMustBeDivisibleBy32Error' }); + } +} +exports.BytecodeLengthMustBeDivisibleBy32Error = BytecodeLengthMustBeDivisibleBy32Error; +//# sourceMappingURL=bytecode.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/errors/bytecode.js.map b/node_modules/viem/_cjs/zksync/errors/bytecode.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c0b9414d5113ed3f719b27b8e4f2e7644b04bd1e --- /dev/null +++ b/node_modules/viem/_cjs/zksync/errors/bytecode.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bytecode.js","sourceRoot":"","sources":["../../../zksync/errors/bytecode.ts"],"names":[],"mappings":";;;AAAA,kDAAgD;AAOhD,MAAa,iCAAkC,SAAQ,mBAAS;IAC9D,YAAY,EACV,WAAW,EACX,eAAe,GACkC;QACjD,KAAK,CACH,kCAAkC,eAAe,yBAAyB,WAAW,EAAE,EACvF,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAC9C,CAAA;IACH,CAAC;CACF;AAVD,8EAUC;AAOD,MAAa,mCAAoC,SAAQ,mBAAS;IAChE,YAAY,EAAE,kBAAkB,EAAkC;QAChE,KAAK,CACH,wEAAwE,kBAAkB,EAAE,EAC5F,EAAE,IAAI,EAAE,qCAAqC,EAAE,CAChD,CAAA;IACH,CAAC;CACF;AAPD,kFAOC;AAOD,MAAa,sCAAuC,SAAQ,mBAAS;IACnE,YAAY,EAAE,WAAW,EAA2B;QAClD,KAAK,CACH,uEAAuE,WAAW,EAAE,EACpF,EAAE,IAAI,EAAE,wCAAwC,EAAE,CACnD,CAAA;IACH,CAAC;CACF;AAPD,wFAOC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/errors/token-is-eth.js b/node_modules/viem/_cjs/zksync/errors/token-is-eth.js new file mode 100644 index 0000000000000000000000000000000000000000..da3ba8af3180ea26b14a3acaac24110c7b79f1f4 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/errors/token-is-eth.js @@ -0,0 +1,11 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TokenIsEthError = void 0; +const base_js_1 = require("../../errors/base.js"); +class TokenIsEthError extends base_js_1.BaseError { + constructor() { + super(['Token is an ETH token.', '', 'ETH token cannot be retrieved.'].join('\n'), { name: 'TokenIsEthError' }); + } +} +exports.TokenIsEthError = TokenIsEthError; +//# sourceMappingURL=token-is-eth.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/errors/token-is-eth.js.map b/node_modules/viem/_cjs/zksync/errors/token-is-eth.js.map new file mode 100644 index 0000000000000000000000000000000000000000..94fff56845a02e812acae20eb554241813f7a503 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/errors/token-is-eth.js.map @@ -0,0 +1 @@ +{"version":3,"file":"token-is-eth.js","sourceRoot":"","sources":["../../../zksync/errors/token-is-eth.ts"],"names":[],"mappings":";;;AAAA,kDAAgD;AAKhD,MAAa,eAAgB,SAAQ,mBAAS;IAC5C;QACE,KAAK,CACH,CAAC,wBAAwB,EAAE,EAAE,EAAE,gCAAgC,CAAC,CAAC,IAAI,CACnE,IAAI,CACL,EACD,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAC5B,CAAA;IACH,CAAC;CACF;AATD,0CASC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/errors/transaction.js b/node_modules/viem/_cjs/zksync/errors/transaction.js new file mode 100644 index 0000000000000000000000000000000000000000..8ed54757b6a477f1eefb3ad27aef86e728ef857a --- /dev/null +++ b/node_modules/viem/_cjs/zksync/errors/transaction.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.InvalidEip712TransactionError = void 0; +const base_js_1 = require("../../errors/base.js"); +class InvalidEip712TransactionError extends base_js_1.BaseError { + constructor() { + super([ + 'Transaction is not an EIP712 transaction.', + '', + 'Transaction must:', + ' - include `type: "eip712"`', + ' - include one of the following: `customSignature`, `paymaster`, `paymasterInput`, `gasPerPubdata`, `factoryDeps`', + ].join('\n'), { name: 'InvalidEip712TransactionError' }); + } +} +exports.InvalidEip712TransactionError = InvalidEip712TransactionError; +//# sourceMappingURL=transaction.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/errors/transaction.js.map b/node_modules/viem/_cjs/zksync/errors/transaction.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8fb9c6decbf6d825dd1dc52514c12231b9d6c85c --- /dev/null +++ b/node_modules/viem/_cjs/zksync/errors/transaction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../zksync/errors/transaction.ts"],"names":[],"mappings":";;;AAAA,kDAAgD;AAMhD,MAAa,6BAA8B,SAAQ,mBAAS;IAC1D;QACE,KAAK,CACH;YACE,2CAA2C;YAC3C,EAAE;YACF,mBAAmB;YACnB,8BAA8B;YAC9B,oHAAoH;SACrH,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAC1C,CAAA;IACH,CAAC;CACF;AAbD,sEAaC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/formatters.js b/node_modules/viem/_cjs/zksync/formatters.js new file mode 100644 index 0000000000000000000000000000000000000000..401c360d33b70c8ad87e3ce7b77d38782cbc8248 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/formatters.js @@ -0,0 +1,137 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.formatters = void 0; +const fromHex_js_1 = require("../utils/encoding/fromHex.js"); +const toBytes_js_1 = require("../utils/encoding/toBytes.js"); +const toHex_js_1 = require("../utils/encoding/toHex.js"); +const block_js_1 = require("../utils/formatters/block.js"); +const log_js_1 = require("../utils/formatters/log.js"); +const transaction_js_1 = require("../utils/formatters/transaction.js"); +const transactionReceipt_js_1 = require("../utils/formatters/transactionReceipt.js"); +const transactionRequest_js_1 = require("../utils/formatters/transactionRequest.js"); +const number_js_1 = require("./constants/number.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 = exports.formatters.transaction?.format(transaction); + if (formatted.typeHex === '0x71') + formatted.type = 'eip712'; + else if (formatted.typeHex === '0xff') + formatted.type = 'priority'; + return formatted; + }); + return { + l1BatchNumber: args.l1BatchNumber + ? (0, fromHex_js_1.hexToBigInt)(args.l1BatchNumber) + : null, + l1BatchTimestamp: args.l1BatchTimestamp + ? (0, fromHex_js_1.hexToBigInt)(args.l1BatchTimestamp) + : null, + transactions, + }; + }, + }), + transaction: (0, transaction_js_1.defineTransaction)({ + format(args) { + const transaction = {}; + if (args.type === '0x71') + transaction.type = 'eip712'; + else if (args.type === '0xff') + transaction.type = 'priority'; + return { + ...transaction, + l1BatchNumber: args.l1BatchNumber + ? (0, fromHex_js_1.hexToBigInt)(args.l1BatchNumber) + : null, + l1BatchTxIndex: args.l1BatchTxIndex + ? (0, fromHex_js_1.hexToBigInt)(args.l1BatchTxIndex) + : null, + }; + }, + }), + transactionReceipt: (0, transactionReceipt_js_1.defineTransactionReceipt)({ + format(args) { + return { + l1BatchNumber: args.l1BatchNumber + ? (0, fromHex_js_1.hexToBigInt)(args.l1BatchNumber) + : null, + l1BatchTxIndex: args.l1BatchTxIndex + ? (0, fromHex_js_1.hexToBigInt)(args.l1BatchTxIndex) + : null, + logs: args.logs.map((log) => { + return { + ...(0, log_js_1.formatLog)(log), + l1BatchNumber: log.l1BatchNumber + ? (0, fromHex_js_1.hexToBigInt)(log.l1BatchNumber) + : null, + transactionLogIndex: (0, fromHex_js_1.hexToNumber)(log.transactionLogIndex), + logType: log.logType, + }; + }), + l2ToL1Logs: args.l2ToL1Logs.map((l2ToL1Log) => { + return { + blockNumber: (0, fromHex_js_1.hexToBigInt)(l2ToL1Log.blockHash), + blockHash: l2ToL1Log.blockHash, + l1BatchNumber: l2ToL1Log.l1BatchNumber + ? (0, fromHex_js_1.hexToBigInt)(l2ToL1Log.l1BatchNumber) + : null, + transactionIndex: (0, fromHex_js_1.hexToBigInt)(l2ToL1Log.transactionIndex), + shardId: (0, fromHex_js_1.hexToBigInt)(l2ToL1Log.shardId), + isService: l2ToL1Log.isService, + sender: l2ToL1Log.sender, + key: l2ToL1Log.key, + value: l2ToL1Log.value, + transactionHash: l2ToL1Log.transactionHash, + logIndex: (0, fromHex_js_1.hexToBigInt)(l2ToL1Log.logIndex), + }; + }), + }; + }, + }), + transactionRequest: (0, transactionRequest_js_1.defineTransactionRequest)({ + exclude: [ + 'customSignature', + 'factoryDeps', + 'gasPerPubdata', + 'paymaster', + 'paymasterInput', + ], + format(args) { + if (args.gasPerPubdata || + (args.paymaster && args.paymasterInput) || + args.factoryDeps || + args.customSignature) + return { + eip712Meta: { + ...(args.gasPerPubdata + ? { gasPerPubdata: (0, toHex_js_1.toHex)(args.gasPerPubdata) } + : { gasPerPubdata: (0, toHex_js_1.toHex)(number_js_1.gasPerPubdataDefault) }), + ...(args.paymaster && args.paymasterInput + ? { + paymasterParams: { + paymaster: args.paymaster, + paymasterInput: Array.from((0, toBytes_js_1.hexToBytes)(args.paymasterInput)), + }, + } + : {}), + ...(args.factoryDeps + ? { + factoryDeps: args.factoryDeps.map((dep) => Array.from((0, toBytes_js_1.hexToBytes)(dep))), + } + : {}), + ...(args.customSignature + ? { + customSignature: Array.from((0, toBytes_js_1.hexToBytes)(args.customSignature)), + } + : {}), + }, + type: '0x71', + }; + return {}; + }, + }), +}; +//# sourceMappingURL=formatters.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/formatters.js.map b/node_modules/viem/_cjs/zksync/formatters.js.map new file mode 100644 index 0000000000000000000000000000000000000000..99bc12d22663928bf41c647c270fc8ac7687189a --- /dev/null +++ b/node_modules/viem/_cjs/zksync/formatters.js.map @@ -0,0 +1 @@ +{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../zksync/formatters.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/index.js b/node_modules/viem/_cjs/zksync/index.js new file mode 100644 index 0000000000000000000000000000000000000000..5e31aefb98521522fc9d7d9584fe669e21bfcf91 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/index.js @@ -0,0 +1,120 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.publicActionsL1 = exports.eip712WalletActions = exports.legacyEthAddress = exports.l2BaseTokenAddress = exports.zksyncSepoliaTestnet = exports.zkSyncSepoliaTestnet = exports.zksyncLocalNode = exports.zkSyncLocalNode = exports.zksyncLocalHyperchainL1 = exports.zksyncLocalHyperchain = exports.zksyncLocalCustomHyperchain = exports.zksyncInMemoryNode = exports.zkSyncInMemoryNode = exports.zksync = exports.zkSync = exports.chainConfig = exports.withdraw = exports.signTransaction = exports.signEip712Transaction = exports.sendTransaction = exports.sendEip712Transaction = exports.requestExecute = exports.isWithdrawalFinalized = exports.getTransactionDetails = exports.getTestnetPaymasterAddress = exports.getRawBlockTransactions = exports.getMainContractAddress = exports.getLogProof = exports.getL2TokenAddress = exports.getL1TokenBalance = exports.getL1TokenAddress = exports.getL1ChainId = exports.getL1BatchNumber = exports.getL1BatchDetails = exports.getL1BatchBlockRange = exports.getL1Balance = exports.getL1Allowance = exports.getGasPerPubdata = exports.getDefaultBridgeAddresses = exports.getBridgehubContractAddress = exports.getBlockDetails = exports.getAllBalances = exports.finalizeWithdrawal = exports.estimateFee = exports.deposit = exports.deployContract = exports.claimFailedDeposit = exports.toSmartAccount = exports.toSinglesigSmartAccount = exports.toMultisigSmartAccount = void 0; +exports.getGeneralPaymasterInput = exports.getApprovalBasedPaymasterInput = exports.parseEip712Transaction = exports.hashBytecode = exports.undoL1ToL2Alias = exports.getWithdrawalLog = exports.getWithdrawalL2ToL1Log = exports.getL2HashFromPriorityOp = exports.encodeDeployData = exports.serializeTransaction = exports.walletActionsL2 = exports.walletActionsL1 = exports.publicActionsL2 = void 0; +var toMultisigSmartAccount_js_1 = require("./accounts/toMultisigSmartAccount.js"); +Object.defineProperty(exports, "toMultisigSmartAccount", { enumerable: true, get: function () { return toMultisigSmartAccount_js_1.toMultisigSmartAccount; } }); +var toSinglesigSmartAccount_js_1 = require("./accounts/toSinglesigSmartAccount.js"); +Object.defineProperty(exports, "toSinglesigSmartAccount", { enumerable: true, get: function () { return toSinglesigSmartAccount_js_1.toSinglesigSmartAccount; } }); +var toSmartAccount_js_1 = require("./accounts/toSmartAccount.js"); +Object.defineProperty(exports, "toSmartAccount", { enumerable: true, get: function () { return toSmartAccount_js_1.toSmartAccount; } }); +var claimFailedDeposit_js_1 = require("./actions/claimFailedDeposit.js"); +Object.defineProperty(exports, "claimFailedDeposit", { enumerable: true, get: function () { return claimFailedDeposit_js_1.claimFailedDeposit; } }); +var deployContract_js_1 = require("./actions/deployContract.js"); +Object.defineProperty(exports, "deployContract", { enumerable: true, get: function () { return deployContract_js_1.deployContract; } }); +var deposit_js_1 = require("./actions/deposit.js"); +Object.defineProperty(exports, "deposit", { enumerable: true, get: function () { return deposit_js_1.deposit; } }); +var estimateFee_js_1 = require("./actions/estimateFee.js"); +Object.defineProperty(exports, "estimateFee", { enumerable: true, get: function () { return estimateFee_js_1.estimateFee; } }); +var finalizeWithdrawal_js_1 = require("./actions/finalizeWithdrawal.js"); +Object.defineProperty(exports, "finalizeWithdrawal", { enumerable: true, get: function () { return finalizeWithdrawal_js_1.finalizeWithdrawal; } }); +var getAllBalances_js_1 = require("./actions/getAllBalances.js"); +Object.defineProperty(exports, "getAllBalances", { enumerable: true, get: function () { return getAllBalances_js_1.getAllBalances; } }); +var getBlockDetails_js_1 = require("./actions/getBlockDetails.js"); +Object.defineProperty(exports, "getBlockDetails", { enumerable: true, get: function () { return getBlockDetails_js_1.getBlockDetails; } }); +var getBridgehubContractAddress_js_1 = require("./actions/getBridgehubContractAddress.js"); +Object.defineProperty(exports, "getBridgehubContractAddress", { enumerable: true, get: function () { return getBridgehubContractAddress_js_1.getBridgehubContractAddress; } }); +var getDefaultBridgeAddresses_js_1 = require("./actions/getDefaultBridgeAddresses.js"); +Object.defineProperty(exports, "getDefaultBridgeAddresses", { enumerable: true, get: function () { return getDefaultBridgeAddresses_js_1.getDefaultBridgeAddresses; } }); +var getGasPerPubdata_js_1 = require("./actions/getGasPerPubdata.js"); +Object.defineProperty(exports, "getGasPerPubdata", { enumerable: true, get: function () { return getGasPerPubdata_js_1.getGasPerPubdata; } }); +var getL1Allowance_js_1 = require("./actions/getL1Allowance.js"); +Object.defineProperty(exports, "getL1Allowance", { enumerable: true, get: function () { return getL1Allowance_js_1.getL1Allowance; } }); +var getL1Balance_js_1 = require("./actions/getL1Balance.js"); +Object.defineProperty(exports, "getL1Balance", { enumerable: true, get: function () { return getL1Balance_js_1.getL1Balance; } }); +var getL1BatchBlockRange_js_1 = require("./actions/getL1BatchBlockRange.js"); +Object.defineProperty(exports, "getL1BatchBlockRange", { enumerable: true, get: function () { return getL1BatchBlockRange_js_1.getL1BatchBlockRange; } }); +var getL1BatchDetails_js_1 = require("./actions/getL1BatchDetails.js"); +Object.defineProperty(exports, "getL1BatchDetails", { enumerable: true, get: function () { return getL1BatchDetails_js_1.getL1BatchDetails; } }); +var getL1BatchNumber_js_1 = require("./actions/getL1BatchNumber.js"); +Object.defineProperty(exports, "getL1BatchNumber", { enumerable: true, get: function () { return getL1BatchNumber_js_1.getL1BatchNumber; } }); +var getL1ChainId_js_1 = require("./actions/getL1ChainId.js"); +Object.defineProperty(exports, "getL1ChainId", { enumerable: true, get: function () { return getL1ChainId_js_1.getL1ChainId; } }); +var getL1TokenAddress_js_1 = require("./actions/getL1TokenAddress.js"); +Object.defineProperty(exports, "getL1TokenAddress", { enumerable: true, get: function () { return getL1TokenAddress_js_1.getL1TokenAddress; } }); +var getL1TokenBalance_js_1 = require("./actions/getL1TokenBalance.js"); +Object.defineProperty(exports, "getL1TokenBalance", { enumerable: true, get: function () { return getL1TokenBalance_js_1.getL1TokenBalance; } }); +var getL2TokenAddress_js_1 = require("./actions/getL2TokenAddress.js"); +Object.defineProperty(exports, "getL2TokenAddress", { enumerable: true, get: function () { return getL2TokenAddress_js_1.getL2TokenAddress; } }); +var getLogProof_js_1 = require("./actions/getLogProof.js"); +Object.defineProperty(exports, "getLogProof", { enumerable: true, get: function () { return getLogProof_js_1.getLogProof; } }); +var getMainContractAddress_js_1 = require("./actions/getMainContractAddress.js"); +Object.defineProperty(exports, "getMainContractAddress", { enumerable: true, get: function () { return getMainContractAddress_js_1.getMainContractAddress; } }); +var getRawBlockTransactions_js_1 = require("./actions/getRawBlockTransactions.js"); +Object.defineProperty(exports, "getRawBlockTransactions", { enumerable: true, get: function () { return getRawBlockTransactions_js_1.getRawBlockTransactions; } }); +var getTestnetPaymasterAddress_js_1 = require("./actions/getTestnetPaymasterAddress.js"); +Object.defineProperty(exports, "getTestnetPaymasterAddress", { enumerable: true, get: function () { return getTestnetPaymasterAddress_js_1.getTestnetPaymasterAddress; } }); +var getTransactionDetails_js_1 = require("./actions/getTransactionDetails.js"); +Object.defineProperty(exports, "getTransactionDetails", { enumerable: true, get: function () { return getTransactionDetails_js_1.getTransactionDetails; } }); +var isWithdrawalFinalized_js_1 = require("./actions/isWithdrawalFinalized.js"); +Object.defineProperty(exports, "isWithdrawalFinalized", { enumerable: true, get: function () { return isWithdrawalFinalized_js_1.isWithdrawalFinalized; } }); +var requestExecute_js_1 = require("./actions/requestExecute.js"); +Object.defineProperty(exports, "requestExecute", { enumerable: true, get: function () { return requestExecute_js_1.requestExecute; } }); +var sendEip712Transaction_js_1 = require("./actions/sendEip712Transaction.js"); +Object.defineProperty(exports, "sendEip712Transaction", { enumerable: true, get: function () { return sendEip712Transaction_js_1.sendEip712Transaction; } }); +var sendTransaction_js_1 = require("./actions/sendTransaction.js"); +Object.defineProperty(exports, "sendTransaction", { enumerable: true, get: function () { return sendTransaction_js_1.sendTransaction; } }); +var signEip712Transaction_js_1 = require("./actions/signEip712Transaction.js"); +Object.defineProperty(exports, "signEip712Transaction", { enumerable: true, get: function () { return signEip712Transaction_js_1.signEip712Transaction; } }); +var signTransaction_js_1 = require("./actions/signTransaction.js"); +Object.defineProperty(exports, "signTransaction", { enumerable: true, get: function () { return signTransaction_js_1.signTransaction; } }); +var withdraw_js_1 = require("./actions/withdraw.js"); +Object.defineProperty(exports, "withdraw", { enumerable: true, get: function () { return withdraw_js_1.withdraw; } }); +var chainConfig_js_1 = require("./chainConfig.js"); +Object.defineProperty(exports, "chainConfig", { enumerable: true, get: function () { return chainConfig_js_1.chainConfig; } }); +var chains_js_1 = require("./chains.js"); +Object.defineProperty(exports, "zkSync", { enumerable: true, get: function () { return chains_js_1.zksync; } }); +Object.defineProperty(exports, "zksync", { enumerable: true, get: function () { return chains_js_1.zksync; } }); +Object.defineProperty(exports, "zkSyncInMemoryNode", { enumerable: true, get: function () { return chains_js_1.zksyncInMemoryNode; } }); +Object.defineProperty(exports, "zksyncInMemoryNode", { enumerable: true, get: function () { return chains_js_1.zksyncInMemoryNode; } }); +Object.defineProperty(exports, "zksyncLocalCustomHyperchain", { enumerable: true, get: function () { return chains_js_1.zksyncLocalCustomHyperchain; } }); +Object.defineProperty(exports, "zksyncLocalHyperchain", { enumerable: true, get: function () { return chains_js_1.zksyncLocalHyperchain; } }); +Object.defineProperty(exports, "zksyncLocalHyperchainL1", { enumerable: true, get: function () { return chains_js_1.zksyncLocalHyperchainL1; } }); +Object.defineProperty(exports, "zkSyncLocalNode", { enumerable: true, get: function () { return chains_js_1.zksyncLocalNode; } }); +Object.defineProperty(exports, "zksyncLocalNode", { enumerable: true, get: function () { return chains_js_1.zksyncLocalNode; } }); +Object.defineProperty(exports, "zkSyncSepoliaTestnet", { enumerable: true, get: function () { return chains_js_1.zksyncSepoliaTestnet; } }); +Object.defineProperty(exports, "zksyncSepoliaTestnet", { enumerable: true, get: function () { return chains_js_1.zksyncSepoliaTestnet; } }); +var address_js_1 = require("./constants/address.js"); +Object.defineProperty(exports, "l2BaseTokenAddress", { enumerable: true, get: function () { return address_js_1.l2BaseTokenAddress; } }); +Object.defineProperty(exports, "legacyEthAddress", { enumerable: true, get: function () { return address_js_1.legacyEthAddress; } }); +var eip712_js_1 = require("./decorators/eip712.js"); +Object.defineProperty(exports, "eip712WalletActions", { enumerable: true, get: function () { return eip712_js_1.eip712WalletActions; } }); +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 serializers_js_1 = require("./serializers.js"); +Object.defineProperty(exports, "serializeTransaction", { enumerable: true, get: function () { return serializers_js_1.serializeTransaction; } }); +var encodeDeployData_js_1 = require("./utils/abi/encodeDeployData.js"); +Object.defineProperty(exports, "encodeDeployData", { enumerable: true, get: function () { return encodeDeployData_js_1.encodeDeployData; } }); +var getL2HashFromPriorityOp_js_1 = require("./utils/bridge/getL2HashFromPriorityOp.js"); +Object.defineProperty(exports, "getL2HashFromPriorityOp", { enumerable: true, get: function () { return getL2HashFromPriorityOp_js_1.getL2HashFromPriorityOp; } }); +var getWithdrawalL2ToL1Log_js_1 = require("./utils/bridge/getWithdrawalL2ToL1Log.js"); +Object.defineProperty(exports, "getWithdrawalL2ToL1Log", { enumerable: true, get: function () { return getWithdrawalL2ToL1Log_js_1.getWithdrawalL2ToL1Log; } }); +var getWithdrawalLog_js_1 = require("./utils/bridge/getWithdrawalLog.js"); +Object.defineProperty(exports, "getWithdrawalLog", { enumerable: true, get: function () { return getWithdrawalLog_js_1.getWithdrawalLog; } }); +var undoL1ToL2Alias_js_1 = require("./utils/bridge/undoL1ToL2Alias.js"); +Object.defineProperty(exports, "undoL1ToL2Alias", { enumerable: true, get: function () { return undoL1ToL2Alias_js_1.undoL1ToL2Alias; } }); +var hashBytecode_js_1 = require("./utils/hashBytecode.js"); +Object.defineProperty(exports, "hashBytecode", { enumerable: true, get: function () { return hashBytecode_js_1.hashBytecode; } }); +var parseEip712Transaction_js_1 = require("./utils/parseEip712Transaction.js"); +Object.defineProperty(exports, "parseEip712Transaction", { enumerable: true, get: function () { return parseEip712Transaction_js_1.parseEip712Transaction; } }); +var getApprovalBasedPaymasterInput_js_1 = require("./utils/paymaster/getApprovalBasedPaymasterInput.js"); +Object.defineProperty(exports, "getApprovalBasedPaymasterInput", { enumerable: true, get: function () { return getApprovalBasedPaymasterInput_js_1.getApprovalBasedPaymasterInput; } }); +var getGeneralPaymasterInput_js_1 = require("./utils/paymaster/getGeneralPaymasterInput.js"); +Object.defineProperty(exports, "getGeneralPaymasterInput", { enumerable: true, get: function () { return getGeneralPaymasterInput_js_1.getGeneralPaymasterInput; } }); +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/index.js.map b/node_modules/viem/_cjs/zksync/index.js.map new file mode 100644 index 0000000000000000000000000000000000000000..56bb1b8b9c1eb78cbc6f0ee97248dbf8e0546c8c --- /dev/null +++ b/node_modules/viem/_cjs/zksync/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../zksync/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/serializers.js b/node_modules/viem/_cjs/zksync/serializers.js new file mode 100644 index 0000000000000000000000000000000000000000..f81b2f71d284bd0907ebe30e3196b8bb260131c1 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/serializers.js @@ -0,0 +1,46 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.serializers = void 0; +exports.serializeTransaction = serializeTransaction; +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"); +const number_js_1 = require("./constants/number.js"); +const assertEip712Transaction_js_1 = require("./utils/assertEip712Transaction.js"); +const isEip712Transaction_js_1 = require("./utils/isEip712Transaction.js"); +function serializeTransaction(transaction, signature) { + if ((0, isEip712Transaction_js_1.isEIP712Transaction)(transaction)) + return serializeTransactionEIP712(transaction); + return (0, serializeTransaction_js_1.serializeTransaction)(transaction, signature); +} +exports.serializers = { + transaction: serializeTransaction, +}; +function serializeTransactionEIP712(transaction) { + const { chainId, gas, nonce, to, from, value, maxFeePerGas, maxPriorityFeePerGas, customSignature, factoryDeps, paymaster, paymasterInput, gasPerPubdata, data, } = transaction; + (0, assertEip712Transaction_js_1.assertEip712Transaction)(transaction); + const serializedTransaction = [ + nonce ? (0, toHex_js_1.toHex)(nonce) : '0x', + maxPriorityFeePerGas ? (0, toHex_js_1.toHex)(maxPriorityFeePerGas) : '0x', + maxFeePerGas ? (0, toHex_js_1.toHex)(maxFeePerGas) : '0x', + gas ? (0, toHex_js_1.toHex)(gas) : '0x', + to ?? '0x', + value ? (0, toHex_js_1.toHex)(value) : '0x', + data ?? '0x', + (0, toHex_js_1.toHex)(chainId), + (0, toHex_js_1.toHex)(''), + (0, toHex_js_1.toHex)(''), + (0, toHex_js_1.toHex)(chainId), + from ?? '0x', + gasPerPubdata ? (0, toHex_js_1.toHex)(gasPerPubdata) : (0, toHex_js_1.toHex)(number_js_1.gasPerPubdataDefault), + factoryDeps ?? [], + customSignature ?? '0x', + paymaster && paymasterInput ? [paymaster, paymasterInput] : [], + ]; + return (0, concat_js_1.concatHex)([ + '0x71', + (0, toRlp_js_1.toRlp)(serializedTransaction), + ]); +} +//# sourceMappingURL=serializers.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/serializers.js.map b/node_modules/viem/_cjs/zksync/serializers.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b6eef6b836ae4e0ca006c0df27fd371bdb554d97 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/serializers.js.map @@ -0,0 +1 @@ +{"version":3,"file":"serializers.js","sourceRoot":"","sources":["../../zksync/serializers.ts"],"names":[],"mappings":";;;AAgBA,oDAYC;AAzBD,uDAAmD;AACnD,yDAAkD;AAClD,yDAAkD;AAClD,0FAA4G;AAC5G,qDAA4D;AAM5D,mFAA4E;AAC5E,2EAAoE;AAEpE,SAAgB,oBAAoB,CAClC,WAA0C,EAC1C,SAAiC;IAEjC,IAAI,IAAA,4CAAmB,EAAC,WAAW,CAAC;QAClC,OAAO,0BAA0B,CAC/B,WAAkD,CACnD,CAAA;IACH,OAAO,IAAA,8CAAqB,EAC1B,WAAsC,EACtC,SAAS,CACV,CAAA;AACH,CAAC;AAEY,QAAA,WAAW,GAAG;IACzB,WAAW,EAAE,oBAAoB;CACE,CAAA;AAIrC,SAAS,0BAA0B,CACjC,WAAgD;IAEhD,MAAM,EACJ,OAAO,EACP,GAAG,EACH,KAAK,EACL,EAAE,EACF,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,SAAS,EACT,cAAc,EACd,aAAa,EACb,IAAI,GACL,GAAG,WAAW,CAAA;IAEf,IAAA,oDAAuB,EAAC,WAAW,CAAC,CAAA;IAEpC,MAAM,qBAAqB,GAAG;QAC5B,KAAK,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3B,oBAAoB,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI;QACzD,YAAY,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;QACzC,GAAG,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;QACvB,EAAE,IAAI,IAAI;QACV,KAAK,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;QAC3B,IAAI,IAAI,IAAI;QACZ,IAAA,gBAAK,EAAC,OAAO,CAAC;QACd,IAAA,gBAAK,EAAC,EAAE,CAAC;QACT,IAAA,gBAAK,EAAC,EAAE,CAAC;QACT,IAAA,gBAAK,EAAC,OAAO,CAAC;QACd,IAAI,IAAI,IAAI;QACZ,aAAa,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAK,EAAC,gCAAoB,CAAC;QAClE,WAAW,IAAI,EAAE;QACjB,eAAe,IAAI,IAAI;QACvB,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;KAC/D,CAAA;IAED,OAAO,IAAA,qBAAS,EAAC;QACf,MAAM;QACN,IAAA,gBAAK,EAAC,qBAAqB,CAAC;KAC7B,CAAyC,CAAA;AAC5C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/types/account.js b/node_modules/viem/_cjs/zksync/types/account.js new file mode 100644 index 0000000000000000000000000000000000000000..86ffbb26f7b3df6cbb6603d1577451987ceb744a --- /dev/null +++ b/node_modules/viem/_cjs/zksync/types/account.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=account.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/types/account.js.map b/node_modules/viem/_cjs/zksync/types/account.js.map new file mode 100644 index 0000000000000000000000000000000000000000..79991a3ec59a59a20d6d273300e2b5ba72546c11 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/types/account.js.map @@ -0,0 +1 @@ +{"version":3,"file":"account.js","sourceRoot":"","sources":["../../../zksync/types/account.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/types/block.js b/node_modules/viem/_cjs/zksync/types/block.js new file mode 100644 index 0000000000000000000000000000000000000000..e50e90b18a71a08b6c9e31cc41fe8fb6a7260666 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/types/block.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=block.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/types/block.js.map b/node_modules/viem/_cjs/zksync/types/block.js.map new file mode 100644 index 0000000000000000000000000000000000000000..05d09167a395cbc213a90eda8847bda51122b2c9 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/types/block.js.map @@ -0,0 +1 @@ +{"version":3,"file":"block.js","sourceRoot":"","sources":["../../../zksync/types/block.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/types/chain.js b/node_modules/viem/_cjs/zksync/types/chain.js new file mode 100644 index 0000000000000000000000000000000000000000..87269576c1d94d0f96eb2c56bb953bb75f12aadf --- /dev/null +++ b/node_modules/viem/_cjs/zksync/types/chain.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=chain.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/types/chain.js.map b/node_modules/viem/_cjs/zksync/types/chain.js.map new file mode 100644 index 0000000000000000000000000000000000000000..29e10016a6b638df194365ac8409d47c200ce5a9 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/types/chain.js.map @@ -0,0 +1 @@ +{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../zksync/types/chain.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/types/contract.js b/node_modules/viem/_cjs/zksync/types/contract.js new file mode 100644 index 0000000000000000000000000000000000000000..b47942b128834276404d00755c404e5821d35fa4 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/types/contract.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=contract.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/types/contract.js.map b/node_modules/viem/_cjs/zksync/types/contract.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8ac90ad1cd4a68cbd7c656fa119d1a93e84601f3 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/types/contract.js.map @@ -0,0 +1 @@ +{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../zksync/types/contract.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/types/eip1193.js b/node_modules/viem/_cjs/zksync/types/eip1193.js new file mode 100644 index 0000000000000000000000000000000000000000..d7fdc0664b3a8fde11a6601e30608b08995567ce --- /dev/null +++ b/node_modules/viem/_cjs/zksync/types/eip1193.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=eip1193.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/types/eip1193.js.map b/node_modules/viem/_cjs/zksync/types/eip1193.js.map new file mode 100644 index 0000000000000000000000000000000000000000..cb427ede9c0095c6aa80c8844963e4d65f66580b --- /dev/null +++ b/node_modules/viem/_cjs/zksync/types/eip1193.js.map @@ -0,0 +1 @@ +{"version":3,"file":"eip1193.js","sourceRoot":"","sources":["../../../zksync/types/eip1193.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/types/eip712.js b/node_modules/viem/_cjs/zksync/types/eip712.js new file mode 100644 index 0000000000000000000000000000000000000000..2603fda5e31226a8b36d099dfa400da16ed093ae --- /dev/null +++ b/node_modules/viem/_cjs/zksync/types/eip712.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=eip712.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/types/eip712.js.map b/node_modules/viem/_cjs/zksync/types/eip712.js.map new file mode 100644 index 0000000000000000000000000000000000000000..73cfa2ab09016d8a8c92fc88e0e80685f611dea5 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/types/eip712.js.map @@ -0,0 +1 @@ +{"version":3,"file":"eip712.js","sourceRoot":"","sources":["../../../zksync/types/eip712.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/types/fee.js b/node_modules/viem/_cjs/zksync/types/fee.js new file mode 100644 index 0000000000000000000000000000000000000000..609b30f5ed1c54d31decff4980dd34694a94a2cb --- /dev/null +++ b/node_modules/viem/_cjs/zksync/types/fee.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=fee.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/types/fee.js.map b/node_modules/viem/_cjs/zksync/types/fee.js.map new file mode 100644 index 0000000000000000000000000000000000000000..83483b7918fb1a4cc3ecfbf891b9999891e55c47 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/types/fee.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fee.js","sourceRoot":"","sources":["../../../zksync/types/fee.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/types/log.js b/node_modules/viem/_cjs/zksync/types/log.js new file mode 100644 index 0000000000000000000000000000000000000000..0e1d12276d97e479b6f4a31b825d76e641b8e071 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/types/log.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=log.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/types/log.js.map b/node_modules/viem/_cjs/zksync/types/log.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9644c64e02bf8284ade0d8c6871aaf7977914070 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/types/log.js.map @@ -0,0 +1 @@ +{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../zksync/types/log.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/types/proof.js b/node_modules/viem/_cjs/zksync/types/proof.js new file mode 100644 index 0000000000000000000000000000000000000000..a26c74734ea8c50be870a696ab6c6454e1f8cc0a --- /dev/null +++ b/node_modules/viem/_cjs/zksync/types/proof.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=proof.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/types/proof.js.map b/node_modules/viem/_cjs/zksync/types/proof.js.map new file mode 100644 index 0000000000000000000000000000000000000000..15fa4a4d44ae390708911de4160dc33d98fe04fa --- /dev/null +++ b/node_modules/viem/_cjs/zksync/types/proof.js.map @@ -0,0 +1 @@ +{"version":3,"file":"proof.js","sourceRoot":"","sources":["../../../zksync/types/proof.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/types/transaction.js b/node_modules/viem/_cjs/zksync/types/transaction.js new file mode 100644 index 0000000000000000000000000000000000000000..28e14033822825832b8a433ad3aa6e02e114479f --- /dev/null +++ b/node_modules/viem/_cjs/zksync/types/transaction.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=transaction.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/types/transaction.js.map b/node_modules/viem/_cjs/zksync/types/transaction.js.map new file mode 100644 index 0000000000000000000000000000000000000000..3046649de506fc6335c282f069473423038c10cb --- /dev/null +++ b/node_modules/viem/_cjs/zksync/types/transaction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../zksync/types/transaction.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/abi/encodeDeployData.js b/node_modules/viem/_cjs/zksync/utils/abi/encodeDeployData.js new file mode 100644 index 0000000000000000000000000000000000000000..76bbdcf9564e7b019500d0cac400019799e485bc --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/abi/encodeDeployData.js @@ -0,0 +1,67 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.encodeDeployData = encodeDeployData; +const bytes_js_1 = require("../../../constants/bytes.js"); +const abi_js_1 = require("../../../errors/abi.js"); +const encodeAbiParameters_js_1 = require("../../../utils/abi/encodeAbiParameters.js"); +const encodeFunctionData_js_1 = require("../../../utils/abi/encodeFunctionData.js"); +const toHex_js_1 = require("../../../utils/encoding/toHex.js"); +const abis_js_1 = require("../../constants/abis.js"); +const contract_js_1 = require("../../constants/contract.js"); +const hashBytecode_js_1 = require("../hashBytecode.js"); +const docsPath = '/docs/contract/encodeDeployData'; +function encodeDeployData(parameters) { + const { abi, args, bytecode, deploymentType, salt } = parameters; + if (!args || args.length === 0) { + const { functionName, argsContractDeployer } = getDeploymentDetails(deploymentType, salt ?? bytes_js_1.zeroHash, (0, toHex_js_1.toHex)((0, hashBytecode_js_1.hashBytecode)(bytecode)), '0x'); + return (0, encodeFunctionData_js_1.encodeFunctionData)({ + abi: abis_js_1.contractDeployerAbi, + functionName, + args: argsContractDeployer, + }); + } + const description = abi.find((x) => 'type' in x && x.type === 'constructor'); + if (!description) + throw new abi_js_1.AbiConstructorNotFoundError({ docsPath }); + if (!('inputs' in description)) + throw new abi_js_1.AbiConstructorParamsNotFoundError({ docsPath }); + if (!description.inputs || description.inputs.length === 0) + throw new abi_js_1.AbiConstructorParamsNotFoundError({ docsPath }); + const data = (0, encodeAbiParameters_js_1.encodeAbiParameters)(description.inputs, args); + const { functionName, argsContractDeployer } = getDeploymentDetails(deploymentType, salt ?? bytes_js_1.zeroHash, (0, toHex_js_1.toHex)((0, hashBytecode_js_1.hashBytecode)(bytecode)), data); + return (0, encodeFunctionData_js_1.encodeFunctionData)({ + abi: abis_js_1.contractDeployerAbi, + functionName, + args: argsContractDeployer, + }); +} +function getDeploymentDetails(deploymentType, salt, bytecodeHash, data) { + const contractDeploymentArgs = [salt, bytecodeHash, data]; + const deploymentOptions = { + create: { + functionName: 'create', + argsContractDeployer: contractDeploymentArgs, + }, + create2: { + functionName: 'create2', + argsContractDeployer: contractDeploymentArgs, + }, + createAccount: { + functionName: 'createAccount', + argsContractDeployer: [ + ...contractDeploymentArgs, + contract_js_1.accountAbstractionVersion1, + ], + }, + create2Account: { + functionName: 'create2Account', + argsContractDeployer: [ + ...contractDeploymentArgs, + contract_js_1.accountAbstractionVersion1, + ], + }, + }; + const deploymentKey = deploymentType || 'create'; + return deploymentOptions[deploymentKey]; +} +//# sourceMappingURL=encodeDeployData.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/abi/encodeDeployData.js.map b/node_modules/viem/_cjs/zksync/utils/abi/encodeDeployData.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6d55197218ac0457da6e561002e36034adb0bdac --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/abi/encodeDeployData.js.map @@ -0,0 +1 @@ +{"version":3,"file":"encodeDeployData.js","sourceRoot":"","sources":["../../../../zksync/utils/abi/encodeDeployData.ts"],"names":[],"mappings":";;AAgDA,4CAwCC;AAtFD,0DAAsD;AACtD,mDAG+B;AAI/B,sFAA+E;AAK/E,oFAGiD;AACjD,+DAAwD;AACxD,qDAA6D;AAC7D,6DAAwE;AAExE,wDAA6E;AAE7E,MAAM,QAAQ,GAAG,iCAAiC,CAAA;AAuBlD,SAAgB,gBAAgB,CAC9B,UAA2C;IAE3C,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,GACjD,UAAwC,CAAA;IAE1C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,GAAG,oBAAoB,CACjE,cAAc,EACd,IAAI,IAAI,mBAAQ,EAChB,IAAA,gBAAK,EAAC,IAAA,8BAAY,EAAC,QAAQ,CAAC,CAAC,EAC7B,IAAI,CACL,CAAA;QACD,OAAO,IAAA,0CAAkB,EAAC;YACxB,GAAG,EAAE,6BAAmB;YACxB,YAAY;YACZ,IAAI,EAAE,oBAAoB;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAA;IAC5E,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,oCAA2B,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IACrE,IAAI,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC;QAC5B,MAAM,IAAI,0CAAiC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC3D,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QACxD,MAAM,IAAI,0CAAiC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAE3D,MAAM,IAAI,GAAG,IAAA,4CAAmB,EAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC1D,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,GAAG,oBAAoB,CACjE,cAAc,EACd,IAAI,IAAI,mBAAQ,EAChB,IAAA,gBAAK,EAAC,IAAA,8BAAY,EAAC,QAAQ,CAAC,CAAC,EAC7B,IAAI,CACL,CAAA;IAED,OAAO,IAAA,0CAAkB,EAAC;QACxB,GAAG,EAAE,6BAAmB;QACxB,YAAY;QACZ,IAAI,EAAE,oBAAoB;KAC3B,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,cAAsC,EACtC,IAAU,EACV,YAAiB,EACjB,IAAS;IAKT,MAAM,sBAAsB,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA;IAEzD,MAAM,iBAAiB,GAAG;QACxB,MAAM,EAAE;YACN,YAAY,EAAE,QAAQ;YACtB,oBAAoB,EAAE,sBAAsB;SAC7C;QACD,OAAO,EAAE;YACP,YAAY,EAAE,SAAS;YACvB,oBAAoB,EAAE,sBAAsB;SAC7C;QACD,aAAa,EAAE;YACb,YAAY,EAAE,eAAe;YAC7B,oBAAoB,EAAE;gBACpB,GAAG,sBAAsB;gBACzB,wCAA0B;aAC3B;SACF;QACD,cAAc,EAAE;YACd,YAAY,EAAE,gBAAgB;YAC9B,oBAAoB,EAAE;gBACpB,GAAG,sBAAsB;gBACzB,wCAA0B;aAC3B;SACF;KACF,CAAA;IAED,MAAM,aAAa,GAAG,cAAc,IAAI,QAAQ,CAAA;IAChD,OAAO,iBAAiB,CAAC,aAAa,CAAC,CAAA;AACzC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/assertEip712Request.js b/node_modules/viem/_cjs/zksync/utils/assertEip712Request.js new file mode 100644 index 0000000000000000000000000000000000000000..0008fadc2facfd3622a5a53c520a05742c32cdf8 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/assertEip712Request.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.assertEip712Request = assertEip712Request; +const assertRequest_js_1 = require("../../utils/transaction/assertRequest.js"); +const transaction_js_1 = require("../errors/transaction.js"); +const isEip712Transaction_js_1 = require("./isEip712Transaction.js"); +function assertEip712Request(args) { + if (!(0, isEip712Transaction_js_1.isEIP712Transaction)(args)) + throw new transaction_js_1.InvalidEip712TransactionError(); + (0, assertRequest_js_1.assertRequest)(args); +} +//# sourceMappingURL=assertEip712Request.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/assertEip712Request.js.map b/node_modules/viem/_cjs/zksync/utils/assertEip712Request.js.map new file mode 100644 index 0000000000000000000000000000000000000000..656050c078aec08f8a05267d20f46086527de8b9 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/assertEip712Request.js.map @@ -0,0 +1 @@ +{"version":3,"file":"assertEip712Request.js","sourceRoot":"","sources":["../../../zksync/utils/assertEip712Request.ts"],"names":[],"mappings":";;AAwBA,kDAIC;AA1BD,+EAGiD;AAGjD,6DAGiC;AACjC,qEAA8D;AAY9D,SAAgB,mBAAmB,CAAC,IAAmC;IACrE,IAAI,CAAC,IAAA,4CAAmB,EAAC,IAAW,CAAC;QACnC,MAAM,IAAI,8CAA6B,EAAE,CAAA;IAC3C,IAAA,gCAAa,EAAC,IAAW,CAAC,CAAA;AAC5B,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/assertEip712Transaction.js b/node_modules/viem/_cjs/zksync/utils/assertEip712Transaction.js new file mode 100644 index 0000000000000000000000000000000000000000..dfc677de80abfc6137c982f60925cc0544412760 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/assertEip712Transaction.js @@ -0,0 +1,29 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.assertEip712Transaction = assertEip712Transaction; +const address_js_1 = require("../../errors/address.js"); +const base_js_1 = require("../../errors/base.js"); +const chain_js_1 = require("../../errors/chain.js"); +const isAddress_js_1 = require("../../utils/address/isAddress.js"); +const transaction_js_1 = require("../errors/transaction.js"); +const isEip712Transaction_js_1 = require("./isEip712Transaction.js"); +function assertEip712Transaction(transaction) { + const { chainId, to, from, paymaster, paymasterInput } = transaction; + if (!(0, isEip712Transaction_js_1.isEIP712Transaction)(transaction)) + throw new transaction_js_1.InvalidEip712TransactionError(); + if (!chainId || chainId <= 0) + throw new chain_js_1.InvalidChainIdError({ chainId }); + if (to && !(0, isAddress_js_1.isAddress)(to)) + throw new address_js_1.InvalidAddressError({ address: to }); + if (from && !(0, isAddress_js_1.isAddress)(from)) + throw new address_js_1.InvalidAddressError({ address: from }); + if (paymaster && !(0, isAddress_js_1.isAddress)(paymaster)) + throw new address_js_1.InvalidAddressError({ address: paymaster }); + if (paymaster && !paymasterInput) { + throw new base_js_1.BaseError('`paymasterInput` must be provided when `paymaster` is defined'); + } + if (!paymaster && paymasterInput) { + throw new base_js_1.BaseError('`paymaster` must be provided when `paymasterInput` is defined'); + } +} +//# sourceMappingURL=assertEip712Transaction.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/assertEip712Transaction.js.map b/node_modules/viem/_cjs/zksync/utils/assertEip712Transaction.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7f56cfde6df18fda6e8e68be895e6b319637fbc0 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/assertEip712Transaction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"assertEip712Transaction.js","sourceRoot":"","sources":["../../../zksync/utils/assertEip712Transaction.ts"],"names":[],"mappings":";;AAYA,0DAuBC;AAnCD,wDAA6D;AAC7D,kDAAgD;AAChD,oDAA2D;AAE3D,mEAA4D;AAC5D,6DAAwE;AAKxE,qEAA8D;AAE9D,SAAgB,uBAAuB,CACrC,WAAwD;IAExD,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,GACpD,WAAkD,CAAA;IAEpD,IAAI,CAAC,IAAA,4CAAmB,EAAC,WAAW,CAAC;QACnC,MAAM,IAAI,8CAA6B,EAAE,CAAA;IAC3C,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC;QAAE,MAAM,IAAI,8BAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IACxE,IAAI,EAAE,IAAI,CAAC,IAAA,wBAAS,EAAC,EAAE,CAAC;QAAE,MAAM,IAAI,gCAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;IACxE,IAAI,IAAI,IAAI,CAAC,IAAA,wBAAS,EAAC,IAAI,CAAC;QAAE,MAAM,IAAI,gCAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9E,IAAI,SAAS,IAAI,CAAC,IAAA,wBAAS,EAAC,SAAS,CAAC;QACpC,MAAM,IAAI,gCAAmB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;IACvD,IAAI,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,mBAAS,CACjB,+DAA+D,CAChE,CAAA;IACH,CAAC;IACD,IAAI,CAAC,SAAS,IAAI,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,mBAAS,CACjB,+DAA+D,CAChE,CAAA;IACH,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/bridge/applyL1ToL2Alias.js b/node_modules/viem/_cjs/zksync/utils/bridge/applyL1ToL2Alias.js new file mode 100644 index 0000000000000000000000000000000000000000..f6d77ec034f61ece90f157d7f5c5b9df3736506f --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/bridge/applyL1ToL2Alias.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.applyL1ToL2Alias = applyL1ToL2Alias; +const index_js_1 = require("../../../utils/index.js"); +const address_js_1 = require("../../constants/address.js"); +function applyL1ToL2Alias(address) { + return (0, index_js_1.pad)((0, index_js_1.toHex)((BigInt(address) + BigInt(address_js_1.l1ToL2AliasOffset)) % address_js_1.addressModulo), { size: 20 }); +} +//# sourceMappingURL=applyL1ToL2Alias.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/bridge/applyL1ToL2Alias.js.map b/node_modules/viem/_cjs/zksync/utils/bridge/applyL1ToL2Alias.js.map new file mode 100644 index 0000000000000000000000000000000000000000..512475c5549204372f6b18953f911b13f4d594cb --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/bridge/applyL1ToL2Alias.js.map @@ -0,0 +1 @@ +{"version":3,"file":"applyL1ToL2Alias.js","sourceRoot":"","sources":["../../../../zksync/utils/bridge/applyL1ToL2Alias.ts"],"names":[],"mappings":";;AAuBA,4CAKC;AA3BD,sDAAoD;AACpD,2DAA6E;AAqB7E,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,IAAA,cAAG,EACR,IAAA,gBAAK,EAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,8BAAiB,CAAC,CAAC,GAAG,0BAAa,CAAC,EACpE,EAAE,IAAI,EAAE,EAAE,EAAE,CACb,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/bridge/getL2HashFromPriorityOp.js b/node_modules/viem/_cjs/zksync/utils/bridge/getL2HashFromPriorityOp.js new file mode 100644 index 0000000000000000000000000000000000000000..69a5347295afb4ef36f164afd3ac5441c5d4257e --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/bridge/getL2HashFromPriorityOp.js @@ -0,0 +1,28 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getL2HashFromPriorityOp = getL2HashFromPriorityOp; +const index_js_1 = require("../../../utils/index.js"); +const abis_js_1 = require("../../constants/abis.js"); +const bridge_js_1 = require("../../errors/bridge.js"); +function getL2HashFromPriorityOp(receipt, zksync) { + let hash = null; + for (const log of receipt.logs) { + if (!(0, index_js_1.isAddressEqual)(log.address, zksync)) + continue; + try { + const priorityQueueLog = (0, index_js_1.decodeEventLog)({ + abi: abis_js_1.zksyncAbi, + data: log.data, + topics: log.topics, + }); + if (priorityQueueLog && priorityQueueLog.args.txHash !== null) + hash = priorityQueueLog.args.txHash; + } + catch (_e) { } + } + if (!hash) { + throw new bridge_js_1.TxHashNotFoundInLogsError(); + } + return hash; +} +//# sourceMappingURL=getL2HashFromPriorityOp.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/bridge/getL2HashFromPriorityOp.js.map b/node_modules/viem/_cjs/zksync/utils/bridge/getL2HashFromPriorityOp.js.map new file mode 100644 index 0000000000000000000000000000000000000000..0e11e1b14ffa174fc2a1c0a61365ce96e5b787ad --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/bridge/getL2HashFromPriorityOp.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getL2HashFromPriorityOp.js","sourceRoot":"","sources":["../../../../zksync/utils/bridge/getL2HashFromPriorityOp.ts"],"names":[],"mappings":";;AAwCA,0DAsBC;AA3DD,sDAAwE;AACxE,qDAAmD;AACnD,sDAG+B;AAgC/B,SAAgB,uBAAuB,CACrC,OAA2B,EAC3B,MAAe;IAEf,IAAI,IAAI,GAAgB,IAAI,CAAA;IAC5B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAA,yBAAc,EAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC;YAAE,SAAQ;QAClD,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,IAAA,yBAAc,EAAC;gBACtC,GAAG,EAAE,mBAAS;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB,CAAC,CAAA;YACF,IAAI,gBAAgB,IAAK,gBAAgB,CAAC,IAAY,CAAC,MAAM,KAAK,IAAI;gBACpE,IAAI,GAAI,gBAAgB,CAAC,IAAY,CAAC,MAAM,CAAA;QAChD,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC,CAAA,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,qCAAyB,EAAE,CAAA;IACvC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/bridge/getWithdrawalL2ToL1Log.js b/node_modules/viem/_cjs/zksync/utils/bridge/getWithdrawalL2ToL1Log.js new file mode 100644 index 0000000000000000000000000000000000000000..1f9a0b7afd07046a89a7e4e7f5b9d260f7bf23e4 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/bridge/getWithdrawalL2ToL1Log.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getWithdrawalL2ToL1Log = getWithdrawalL2ToL1Log; +const index_js_1 = require("../../../actions/index.js"); +const index_js_2 = require("../../../utils/index.js"); +const address_js_1 = require("../../constants/address.js"); +async function getWithdrawalL2ToL1Log(client, parameters) { + const { hash, index = 0 } = parameters; + const receipt = (await (0, index_js_1.getTransactionReceipt)(client, { + hash, + })); + const messages = Array.from(receipt.l2ToL1Logs.entries()).filter(([, log]) => (0, index_js_2.isAddressEqual)(log.sender, address_js_1.l1MessengerAddress)); + const [l2ToL1LogIndex, l2ToL1Log] = messages[index]; + return { + l2ToL1LogIndex, + l2ToL1Log, + }; +} +//# sourceMappingURL=getWithdrawalL2ToL1Log.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/bridge/getWithdrawalL2ToL1Log.js.map b/node_modules/viem/_cjs/zksync/utils/bridge/getWithdrawalL2ToL1Log.js.map new file mode 100644 index 0000000000000000000000000000000000000000..900a051112b556ca9a3c267aeb779eb21d4601fa --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/bridge/getWithdrawalL2ToL1Log.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getWithdrawalL2ToL1Log.js","sourceRoot":"","sources":["../../../../zksync/utils/bridge/getWithdrawalL2ToL1Log.ts"],"names":[],"mappings":";;AA0BA,wDAoBC;AA5CD,wDAAiE;AAKjE,sDAAwD;AACxD,2DAA+D;AAkBxD,KAAK,UAAU,sBAAsB,CAI1C,MAAyC,EACzC,UAA4C;IAE5C,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,UAAU,CAAA;IACtC,MAAM,OAAO,GAAG,CAAC,MAAM,IAAA,gCAAqB,EAAC,MAAM,EAAE;QACnD,IAAI;KACL,CAAC,CAA6B,CAAA;IAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAC3E,IAAA,yBAAc,EAAC,GAAG,CAAC,MAAiB,EAAE,+BAAkB,CAAC,CAC1D,CAAA;IACD,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEnD,OAAO;QACL,cAAc;QACd,SAAS;KACV,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/bridge/getWithdrawalLog.js b/node_modules/viem/_cjs/zksync/utils/bridge/getWithdrawalLog.js new file mode 100644 index 0000000000000000000000000000000000000000..1e7d058baa5d4262aed785e7c95c88f7b6d440e3 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/bridge/getWithdrawalLog.js @@ -0,0 +1,19 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getWithdrawalLog = getWithdrawalLog; +const index_js_1 = require("../../../actions/index.js"); +const index_js_2 = require("../../../utils/index.js"); +const address_js_1 = require("../../constants/address.js"); +async function getWithdrawalLog(client, parameters) { + const { hash, index = 0 } = parameters; + const receipt = (await (0, index_js_1.getTransactionReceipt)(client, { + hash, + })); + const log = receipt.logs.filter((log) => (0, index_js_2.isAddressEqual)(log.address, address_js_1.l1MessengerAddress) && + log.topics[0] === (0, index_js_2.toFunctionHash)('L1MessageSent(address,bytes32,bytes)'))[index]; + return { + log, + l1BatchTxId: receipt.l1BatchTxIndex, + }; +} +//# sourceMappingURL=getWithdrawalLog.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/bridge/getWithdrawalLog.js.map b/node_modules/viem/_cjs/zksync/utils/bridge/getWithdrawalLog.js.map new file mode 100644 index 0000000000000000000000000000000000000000..2d06fcef85d939027d551398143ff115da183869 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/bridge/getWithdrawalLog.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getWithdrawalLog.js","sourceRoot":"","sources":["../../../../zksync/utils/bridge/getWithdrawalLog.ts"],"names":[],"mappings":";;AAyBA,4CAqBC;AA7CD,wDAAiE;AAKjE,sDAAwE;AACxE,2DAA+D;AAkBxD,KAAK,UAAU,gBAAgB,CAIpC,MAAyC,EACzC,UAAsC;IAEtC,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,UAAU,CAAA;IACtC,MAAM,OAAO,GAAG,CAAC,MAAM,IAAA,gCAAqB,EAAC,MAAM,EAAE;QACnD,IAAI;KACL,CAAC,CAA6B,CAAA;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAC7B,CAAC,GAAG,EAAE,EAAE,CACN,IAAA,yBAAc,EAAC,GAAG,CAAC,OAAO,EAAE,+BAAkB,CAAC;QAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAA,yBAAc,EAAC,sCAAsC,CAAC,CAC3E,CAAC,KAAK,CAAC,CAAA;IAER,OAAO;QACL,GAAG;QACH,WAAW,EAAE,OAAO,CAAC,cAAc;KACpC,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/bridge/undoL1ToL2Alias.js b/node_modules/viem/_cjs/zksync/utils/bridge/undoL1ToL2Alias.js new file mode 100644 index 0000000000000000000000000000000000000000..89ab4e121ede13823469bfa11a6bc9529efb122f --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/bridge/undoL1ToL2Alias.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.undoL1ToL2Alias = undoL1ToL2Alias; +const index_js_1 = require("../../../utils/index.js"); +const address_js_1 = require("../../constants/address.js"); +function undoL1ToL2Alias(address) { + let result = BigInt(address) - BigInt(address_js_1.l1ToL2AliasOffset); + if (result < 0n) + result += address_js_1.addressModulo; + return (0, index_js_1.pad)((0, index_js_1.toHex)(result), { size: 20 }); +} +//# sourceMappingURL=undoL1ToL2Alias.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/bridge/undoL1ToL2Alias.js.map b/node_modules/viem/_cjs/zksync/utils/bridge/undoL1ToL2Alias.js.map new file mode 100644 index 0000000000000000000000000000000000000000..dddf01df279a3fdb19721fd8f413d71d3539df09 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/bridge/undoL1ToL2Alias.js.map @@ -0,0 +1 @@ +{"version":3,"file":"undoL1ToL2Alias.js","sourceRoot":"","sources":["../../../../zksync/utils/bridge/undoL1ToL2Alias.ts"],"names":[],"mappings":";;AAiBA,0CAIC;AApBD,sDAAoD;AACpD,2DAA6E;AAe7E,SAAgB,eAAe,CAAC,OAAgB;IAC9C,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,8BAAiB,CAAC,CAAA;IACxD,IAAI,MAAM,GAAG,EAAE;QAAE,MAAM,IAAI,0BAAa,CAAA;IACxC,OAAO,IAAA,cAAG,EAAC,IAAA,gBAAK,EAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;AACzC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/camelCaseKeys.js b/node_modules/viem/_cjs/zksync/utils/camelCaseKeys.js new file mode 100644 index 0000000000000000000000000000000000000000..be38615e8ab29c05c4b5da87c81b37867675db3e --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/camelCaseKeys.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.camelCaseKeys = camelCaseKeys; +function camelCaseKeys(response) { + if (!response) + return response; + if (typeof response !== 'object') + return response; + if (Array.isArray(response)) + return response.map(camelCaseKeys); + return Object.fromEntries(Object.entries(response).map(([key, value]) => [ + key.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase()), + camelCaseKeys(value), + ])); +} +//# sourceMappingURL=camelCaseKeys.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/camelCaseKeys.js.map b/node_modules/viem/_cjs/zksync/utils/camelCaseKeys.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5f317e7cdf055e153f864171d0c1a49ceb03f5e3 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/camelCaseKeys.js.map @@ -0,0 +1 @@ +{"version":3,"file":"camelCaseKeys.js","sourceRoot":"","sources":["../../../zksync/utils/camelCaseKeys.ts"],"names":[],"mappings":";;AAAA,sCAUC;AAVD,SAAgB,aAAa,CAAC,QAAgB;IAC5C,IAAI,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC9B,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAA;IACjD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC/D,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC7C,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC7D,aAAa,CAAC,KAAK,CAAC;KACrB,CAAC,CACH,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/getEip712Domain.js b/node_modules/viem/_cjs/zksync/utils/getEip712Domain.js new file mode 100644 index 0000000000000000000000000000000000000000..3d8beb751817c13164b7db19574165c7f2f4e7a1 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/getEip712Domain.js @@ -0,0 +1,57 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getEip712Domain = void 0; +const toHex_js_1 = require("../../utils/encoding/toHex.js"); +const number_js_1 = require("../constants/number.js"); +const assertEip712Transaction_js_1 = require("./assertEip712Transaction.js"); +const hashBytecode_js_1 = require("./hashBytecode.js"); +const getEip712Domain = (transaction) => { + (0, assertEip712Transaction_js_1.assertEip712Transaction)(transaction); + const message = transactionToMessage(transaction); + return { + domain: { + name: 'zkSync', + version: '2', + chainId: transaction.chainId, + }, + types: { + Transaction: [ + { name: 'txType', type: 'uint256' }, + { name: 'from', type: 'uint256' }, + { name: 'to', type: 'uint256' }, + { name: 'gasLimit', type: 'uint256' }, + { name: 'gasPerPubdataByteLimit', type: 'uint256' }, + { name: 'maxFeePerGas', type: 'uint256' }, + { name: 'maxPriorityFeePerGas', type: 'uint256' }, + { name: 'paymaster', type: 'uint256' }, + { name: 'nonce', type: 'uint256' }, + { name: 'value', type: 'uint256' }, + { name: 'data', type: 'bytes' }, + { name: 'factoryDeps', type: 'bytes32[]' }, + { name: 'paymasterInput', type: 'bytes' }, + ], + }, + primaryType: 'Transaction', + message: message, + }; +}; +exports.getEip712Domain = getEip712Domain; +function transactionToMessage(transaction) { + const { gas, nonce, to, from, value, maxFeePerGas, maxPriorityFeePerGas, factoryDeps, paymaster, paymasterInput, gasPerPubdata, data, } = transaction; + return { + txType: 113n, + from: BigInt(from), + to: to ? BigInt(to) : 0n, + gasLimit: gas ?? 0n, + gasPerPubdataByteLimit: gasPerPubdata ?? number_js_1.gasPerPubdataDefault, + maxFeePerGas: maxFeePerGas ?? 0n, + maxPriorityFeePerGas: maxPriorityFeePerGas ?? 0n, + paymaster: paymaster ? BigInt(paymaster) : 0n, + nonce: nonce ? BigInt(nonce) : 0n, + value: value ?? 0n, + data: data ?? '0x', + factoryDeps: factoryDeps?.map((dep) => (0, toHex_js_1.toHex)((0, hashBytecode_js_1.hashBytecode)(dep))) ?? [], + paymasterInput: paymasterInput ? paymasterInput : '0x', + }; +} +//# sourceMappingURL=getEip712Domain.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/getEip712Domain.js.map b/node_modules/viem/_cjs/zksync/utils/getEip712Domain.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f2aa20420e210b48a957612e908e1e40f13ba271 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/getEip712Domain.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getEip712Domain.js","sourceRoot":"","sources":["../../../zksync/utils/getEip712Domain.ts"],"names":[],"mappings":";;;AAAA,4DAAqD;AACrD,sDAA6D;AAO7D,6EAAsE;AACtE,uDAAgD;AAEzC,MAAM,eAAe,GAGxB,CAAC,WAAW,EAAE,EAAE;IAClB,IAAA,oDAAuB,EAAC,WAAW,CAAC,CAAA;IAEpC,MAAM,OAAO,GAAG,oBAAoB,CAClC,WAAkD,CACnD,CAAA;IAED,OAAO;QACL,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,WAAW,CAAC,OAAO;SAC7B;QACD,KAAK,EAAE;YACL,WAAW,EAAE;gBACX,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;gBACrC,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,SAAS,EAAE;gBACnD,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzC,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC/B,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE;gBAC1C,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;aAC1C;SACF;QACD,WAAW,EAAE,aAAa;QAC1B,OAAO,EAAE,OAAO;KACjB,CAAA;AACH,CAAC,CAAA;AApCY,QAAA,eAAe,mBAoC3B;AAKD,SAAS,oBAAoB,CAC3B,WAAgD;IAEhD,MAAM,EACJ,GAAG,EACH,KAAK,EACL,EAAE,EACF,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,SAAS,EACT,cAAc,EACd,aAAa,EACb,IAAI,GACL,GAAG,WAAW,CAAA;IAEf,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;QAClB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QACxB,QAAQ,EAAE,GAAG,IAAI,EAAE;QACnB,sBAAsB,EAAE,aAAa,IAAI,gCAAoB;QAC7D,YAAY,EAAE,YAAY,IAAI,EAAE;QAChC,oBAAoB,EAAE,oBAAoB,IAAI,EAAE;QAChD,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;QAC7C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;QACjC,KAAK,EAAE,KAAK,IAAI,EAAE;QAClB,IAAI,EAAE,IAAI,IAAI,IAAI;QAClB,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,gBAAK,EAAC,IAAA,8BAAY,EAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;QACtE,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI;KACvD,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/hashBytecode.js b/node_modules/viem/_cjs/zksync/utils/hashBytecode.js new file mode 100644 index 0000000000000000000000000000000000000000..efc9a53a6df9a79db1426cef1c5134c27a3ad107 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/hashBytecode.js @@ -0,0 +1,35 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.hashBytecode = hashBytecode; +const pad_js_1 = require("../../utils/data/pad.js"); +const toBytes_js_1 = require("../../utils/encoding/toBytes.js"); +const sha256_js_1 = require("../../utils/hash/sha256.js"); +const number_js_1 = require("../constants/number.js"); +const bytecode_js_1 = require("../errors/bytecode.js"); +function hashBytecode(bytecode) { + const bytecodeBytes = (0, toBytes_js_1.toBytes)(bytecode); + if (bytecodeBytes.length % 32 !== 0) + throw new bytecode_js_1.BytecodeLengthMustBeDivisibleBy32Error({ + givenLength: bytecodeBytes.length, + }); + if (bytecodeBytes.length > number_js_1.maxBytecodeSize) + throw new bytecode_js_1.BytecodeLengthExceedsMaxSizeError({ + givenLength: bytecodeBytes.length, + maxBytecodeSize: number_js_1.maxBytecodeSize, + }); + const hashStr = (0, sha256_js_1.sha256)(bytecodeBytes); + const hash = (0, toBytes_js_1.toBytes)(hashStr); + const bytecodeLengthInWords = bytecodeBytes.length / 32; + if (bytecodeLengthInWords % 2 === 0) { + throw new bytecode_js_1.BytecodeLengthInWordsMustBeOddError({ + givenLengthInWords: bytecodeLengthInWords, + }); + } + const bytecodeLength = (0, toBytes_js_1.toBytes)(bytecodeLengthInWords); + const bytecodeLengthPadded = (0, pad_js_1.pad)(bytecodeLength, { size: 2 }); + const codeHashVersion = new Uint8Array([1, 0]); + hash.set(codeHashVersion, 0); + hash.set(bytecodeLengthPadded, 2); + return hash; +} +//# sourceMappingURL=hashBytecode.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/hashBytecode.js.map b/node_modules/viem/_cjs/zksync/utils/hashBytecode.js.map new file mode 100644 index 0000000000000000000000000000000000000000..401626dc3cde069b981a87e0fcb20b374a029322 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/hashBytecode.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hashBytecode.js","sourceRoot":"","sources":["../../../zksync/utils/hashBytecode.ts"],"names":[],"mappings":";;AAuBA,oCAoCC;AAzDD,oDAA6C;AAC7C,gEAAgF;AAChF,0DAAyE;AACzE,sDAAwD;AACxD,uDAO8B;AAU9B,SAAgB,YAAY,CAAC,QAAa;IACxC,MAAM,aAAa,GAAG,IAAA,oBAAO,EAAC,QAAQ,CAAC,CAAA;IACvC,IAAI,aAAa,CAAC,MAAM,GAAG,EAAE,KAAK,CAAC;QACjC,MAAM,IAAI,oDAAsC,CAAC;YAC/C,WAAW,EAAE,aAAa,CAAC,MAAM;SAClC,CAAC,CAAA;IAEJ,IAAI,aAAa,CAAC,MAAM,GAAG,2BAAe;QACxC,MAAM,IAAI,+CAAiC,CAAC;YAC1C,WAAW,EAAE,aAAa,CAAC,MAAM;YACjC,eAAe,EAAf,2BAAe;SAChB,CAAC,CAAA;IAEJ,MAAM,OAAO,GAAG,IAAA,kBAAM,EAAC,aAAa,CAAC,CAAA;IACrC,MAAM,IAAI,GAAG,IAAA,oBAAO,EAAC,OAAO,CAAC,CAAA;IAI7B,MAAM,qBAAqB,GAAG,aAAa,CAAC,MAAM,GAAG,EAAE,CAAA;IACvD,IAAI,qBAAqB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,iDAAmC,CAAC;YAC5C,kBAAkB,EAAE,qBAAqB;SAC1C,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,oBAAO,EAAC,qBAAqB,CAAC,CAAA;IAIrD,MAAM,oBAAoB,GAAG,IAAA,YAAG,EAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAA;IAE7D,MAAM,eAAe,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9C,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAA;IAC5B,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAA;IAEjC,OAAO,IAAI,CAAA;AACb,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/isEip712Transaction.js b/node_modules/viem/_cjs/zksync/utils/isEip712Transaction.js new file mode 100644 index 0000000000000000000000000000000000000000..b4c4407b4fa67e580e604a33c48f8956ac35b15c --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/isEip712Transaction.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isEIP712Transaction = isEIP712Transaction; +function isEIP712Transaction(transaction) { + if (transaction.type === 'eip712') + return true; + if (('customSignature' in transaction && transaction.customSignature) || + ('paymaster' in transaction && transaction.paymaster) || + ('paymasterInput' in transaction && transaction.paymasterInput) || + ('gasPerPubdata' in transaction && + typeof transaction.gasPerPubdata === 'bigint') || + ('factoryDeps' in transaction && transaction.factoryDeps)) + return true; + return false; +} +//# sourceMappingURL=isEip712Transaction.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/isEip712Transaction.js.map b/node_modules/viem/_cjs/zksync/utils/isEip712Transaction.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b89bf64f2d738aaa05e8db88116729d57902af05 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/isEip712Transaction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"isEip712Transaction.js","sourceRoot":"","sources":["../../../zksync/utils/isEip712Transaction.ts"],"names":[],"mappings":";;AAMA,kDAgBC;AAhBD,SAAgB,mBAAmB,CACjC,WAEC;IAED,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC9C,IACE,CAAC,iBAAiB,IAAI,WAAW,IAAI,WAAW,CAAC,eAAe,CAAC;QACjE,CAAC,WAAW,IAAI,WAAW,IAAI,WAAW,CAAC,SAAS,CAAC;QACrD,CAAC,gBAAgB,IAAI,WAAW,IAAI,WAAW,CAAC,cAAc,CAAC;QAC/D,CAAC,eAAe,IAAI,WAAW;YAC7B,OAAO,WAAW,CAAC,aAAa,KAAK,QAAQ,CAAC;QAChD,CAAC,aAAa,IAAI,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC;QAEzD,OAAO,IAAI,CAAA;IACb,OAAO,KAAK,CAAA;AACd,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/isEth.js b/node_modules/viem/_cjs/zksync/utils/isEth.js new file mode 100644 index 0000000000000000000000000000000000000000..de3692d08fb2212341eca9823a4a91cc54ae51e6 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/isEth.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isEth = isEth; +const address_js_1 = require("../constants/address.js"); +function isEth(token) { + return (token.localeCompare(address_js_1.legacyEthAddress, undefined, { + sensitivity: 'accent', + }) === 0 || + token.localeCompare(address_js_1.l2BaseTokenAddress, undefined, { + sensitivity: 'accent', + }) === 0 || + token.localeCompare(address_js_1.ethAddressInContracts, undefined, { + sensitivity: 'accent', + }) === 0); +} +//# sourceMappingURL=isEth.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/isEth.js.map b/node_modules/viem/_cjs/zksync/utils/isEth.js.map new file mode 100644 index 0000000000000000000000000000000000000000..0135053eb92574602e2c99eb6cf17ffe3dded7f1 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/isEth.js.map @@ -0,0 +1 @@ +{"version":3,"file":"isEth.js","sourceRoot":"","sources":["../../../zksync/utils/isEth.ts"],"names":[],"mappings":";;AAOA,sBAYC;AAlBD,wDAIgC;AAEhC,SAAgB,KAAK,CAAC,KAAc;IAClC,OAAO,CACL,KAAK,CAAC,aAAa,CAAC,6BAAgB,EAAE,SAAS,EAAE;QAC/C,WAAW,EAAE,QAAQ;KACtB,CAAC,KAAK,CAAC;QACR,KAAK,CAAC,aAAa,CAAC,+BAAkB,EAAE,SAAS,EAAE;YACjD,WAAW,EAAE,QAAQ;SACtB,CAAC,KAAK,CAAC;QACR,KAAK,CAAC,aAAa,CAAC,kCAAqB,EAAE,SAAS,EAAE;YACpD,WAAW,EAAE,QAAQ;SACtB,CAAC,KAAK,CAAC,CACT,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/parseEip712Transaction.js b/node_modules/viem/_cjs/zksync/utils/parseEip712Transaction.js new file mode 100644 index 0000000000000000000000000000000000000000..4bdcc3f3b632018d32189108b04996ed30f15ca9 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/parseEip712Transaction.js @@ -0,0 +1,48 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.parseEip712Transaction = parseEip712Transaction; +const base_js_1 = require("../../errors/base.js"); +const index_js_1 = require("../../utils/index.js"); +function parseEip712Transaction(transaction) { + const payload = (0, index_js_1.fromHex)(transaction, 'bytes'); + if (payload[0] !== 113) + throw new base_js_1.BaseError('transaction type must be eip712'); + function validHex(value) { + if (!value || value === '0x') + return '0x0'; + return value; + } + function parsePaymasterArray(arr) { + if (arr.length === 0) + return undefined; + if (arr.length !== 2) + throw new base_js_1.BaseError(`Invalid paymaster parameters, expected to have length of 2, found ${arr.length}!`); + return { + paymaster: arr[0], + paymasterInput: arr[1], + }; + } + const raw = (0, index_js_1.fromRlp)(payload.slice(1)); + const paymasterParams = parsePaymasterArray(raw[15]); + return { + type: 'eip712', + nonce: (0, index_js_1.hexToNumber)(validHex(raw[0])), + maxPriorityFeePerGas: (0, index_js_1.hexToBigInt)(validHex(raw[1])), + maxFeePerGas: (0, index_js_1.hexToBigInt)(validHex(raw[2])), + gas: (0, index_js_1.hexToBigInt)(validHex(raw[3])), + to: raw[4], + value: (0, index_js_1.hexToBigInt)(validHex(raw[5])), + data: raw[6], + v: (0, index_js_1.hexToBigInt)(validHex(raw[7])), + r: raw[8], + s: raw[9], + chainId: (0, index_js_1.hexToNumber)(validHex(raw[10])), + from: raw[11], + gasPerPubdata: (0, index_js_1.hexToBigInt)(validHex(raw[12])), + factoryDeps: raw[13], + customSignature: raw[14], + paymaster: paymasterParams?.paymaster, + paymasterInput: paymasterParams?.paymasterInput, + }; +} +//# sourceMappingURL=parseEip712Transaction.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/parseEip712Transaction.js.map b/node_modules/viem/_cjs/zksync/utils/parseEip712Transaction.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ce4a5f768b511be1963c54d5b53e761c45d91cdc --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/parseEip712Transaction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parseEip712Transaction.js","sourceRoot":"","sources":["../../../zksync/utils/parseEip712Transaction.ts"],"names":[],"mappings":";;AAUA,wDA8CC;AAxDD,kDAAgD;AAEhD,mDAK6B;AAG7B,SAAgB,sBAAsB,CACpC,WAAgB;IAEhB,MAAM,OAAO,GAAG,IAAA,kBAAO,EAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAC7C,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;QAAE,MAAM,IAAI,mBAAS,CAAC,iCAAiC,CAAC,CAAA;IAE9E,SAAS,QAAQ,CAAC,KAAU;QAC1B,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAA;QAC1C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,SAAS,mBAAmB,CAAC,GAAU;QACrC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAA;QACtC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAClB,MAAM,IAAI,mBAAS,CACjB,qEAAqE,GAAG,CAAC,MAAM,GAAG,CACnF,CAAA;QAEH,OAAO;YACL,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;YACjB,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC;SACvB,CAAA;IACH,CAAC;IAED,MAAM,GAAG,GAAG,IAAA,kBAAO,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAU,CAAA;IAC9C,MAAM,eAAe,GAAG,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAqB,CAAC,CAAA;IACxE,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,IAAA,sBAAW,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,oBAAoB,EAAE,IAAA,sBAAW,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,YAAY,EAAE,IAAA,sBAAW,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,GAAG,EAAE,IAAA,sBAAW,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QACV,KAAK,EAAE,IAAA,sBAAW,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACZ,CAAC,EAAE,IAAA,sBAAW,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACT,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACT,OAAO,EAAE,IAAA,sBAAW,EAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACb,aAAa,EAAE,IAAA,sBAAW,EAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7C,WAAW,EAAE,GAAG,CAAC,EAAE,CAAqB;QACxC,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC;QACxB,SAAS,EAAE,eAAe,EAAE,SAAS;QACrC,cAAc,EAAE,eAAe,EAAE,cAAc;KAChD,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/paymaster/getApprovalBasedPaymasterInput.js b/node_modules/viem/_cjs/zksync/utils/paymaster/getApprovalBasedPaymasterInput.js new file mode 100644 index 0000000000000000000000000000000000000000..93e5b177566d76cce73464849b35cb4db6999070 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/paymaster/getApprovalBasedPaymasterInput.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getApprovalBasedPaymasterInput = getApprovalBasedPaymasterInput; +const encodeFunctionData_js_1 = require("../../../utils/abi/encodeFunctionData.js"); +const toHex_js_1 = require("../../../utils/encoding/toHex.js"); +const abis_js_1 = require("../../constants/abis.js"); +function getApprovalBasedPaymasterInput(parameters) { + const { innerInput, minAllowance, token } = parameters; + const innerInputHex = typeof innerInput === 'string' ? innerInput : (0, toHex_js_1.bytesToHex)(innerInput); + return (0, encodeFunctionData_js_1.encodeFunctionData)({ + abi: abis_js_1.paymasterAbi, + functionName: 'approvalBased', + args: [token, minAllowance, innerInputHex], + }); +} +//# sourceMappingURL=getApprovalBasedPaymasterInput.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/paymaster/getApprovalBasedPaymasterInput.js.map b/node_modules/viem/_cjs/zksync/utils/paymaster/getApprovalBasedPaymasterInput.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5923bbc256920e27070fb62f396aaff157a640dd --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/paymaster/getApprovalBasedPaymasterInput.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getApprovalBasedPaymasterInput.js","sourceRoot":"","sources":["../../../../zksync/utils/paymaster/getApprovalBasedPaymasterInput.ts"],"names":[],"mappings":";;AAkBA,wEAaC;AA7BD,oFAGiD;AACjD,+DAA6D;AAC7D,qDAAsD;AAWtD,SAAgB,8BAA8B,CAC5C,UAAoD;IAEpD,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,UAAU,CAAA;IAEtD,MAAM,aAAa,GACjB,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,qBAAU,EAAC,UAAU,CAAC,CAAA;IAEtE,OAAO,IAAA,0CAAkB,EAAC;QACxB,GAAG,EAAE,sBAAY;QACjB,YAAY,EAAE,eAAe;QAC7B,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,CAAC;KAC3C,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/paymaster/getGeneralPaymasterInput.js b/node_modules/viem/_cjs/zksync/utils/paymaster/getGeneralPaymasterInput.js new file mode 100644 index 0000000000000000000000000000000000000000..7feae4879c3a62179aeecf824ce321c6a49813e1 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/paymaster/getGeneralPaymasterInput.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getGeneralPaymasterInput = getGeneralPaymasterInput; +const encodeFunctionData_js_1 = require("../../../utils/abi/encodeFunctionData.js"); +const toHex_js_1 = require("../../../utils/encoding/toHex.js"); +const abis_js_1 = require("../../constants/abis.js"); +function getGeneralPaymasterInput(parameters) { + const { innerInput } = parameters; + const innerInputHex = typeof innerInput === 'string' ? innerInput : (0, toHex_js_1.bytesToHex)(innerInput); + return (0, encodeFunctionData_js_1.encodeFunctionData)({ + abi: abis_js_1.paymasterAbi, + functionName: 'general', + args: [innerInputHex], + }); +} +//# sourceMappingURL=getGeneralPaymasterInput.js.map \ No newline at end of file diff --git a/node_modules/viem/_cjs/zksync/utils/paymaster/getGeneralPaymasterInput.js.map b/node_modules/viem/_cjs/zksync/utils/paymaster/getGeneralPaymasterInput.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7a9a94c1edc3a0063fa1eb254e975cb71fe99956 --- /dev/null +++ b/node_modules/viem/_cjs/zksync/utils/paymaster/getGeneralPaymasterInput.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getGeneralPaymasterInput.js","sourceRoot":"","sources":["../../../../zksync/utils/paymaster/getGeneralPaymasterInput.ts"],"names":[],"mappings":";;AAcA,4DAaC;AA1BD,oFAGiD;AACjD,+DAA6D;AAC7D,qDAAsD;AAQtD,SAAgB,wBAAwB,CACtC,UAA8C;IAE9C,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;IAEjC,MAAM,aAAa,GACjB,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,qBAAU,EAAC,UAAU,CAAC,CAAA;IAEtE,OAAO,IAAA,0CAAkB,EAAC;QACxB,GAAG,EAAE,sBAAY;QACjB,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE,CAAC,aAAa,CAAC;KACtB,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/accounts/createWebAuthnCredential.js b/node_modules/viem/_esm/account-abstraction/accounts/createWebAuthnCredential.js new file mode 100644 index 0000000000000000000000000000000000000000..b77a81e052aaf2b94671fc4a38b37e6bf3740f3d --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/accounts/createWebAuthnCredential.js @@ -0,0 +1,12 @@ +// TODO(v3): Remove this in favor of `ox/WebAuthnP256` entirely. +import * as PublicKey from 'ox/PublicKey'; +import * as WebAuthnP256 from 'ox/WebAuthnP256'; +export async function createWebAuthnCredential(parameters) { + const credential = await WebAuthnP256.createCredential(parameters); + return { + id: credential.id, + publicKey: PublicKey.toHex(credential.publicKey, { includePrefix: false }), + raw: credential.raw, + }; +} +//# sourceMappingURL=createWebAuthnCredential.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/accounts/createWebAuthnCredential.js.map b/node_modules/viem/_esm/account-abstraction/accounts/createWebAuthnCredential.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d10affdb05661ad6b82b0878f0609b06d3e20d8b --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/accounts/createWebAuthnCredential.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createWebAuthnCredential.js","sourceRoot":"","sources":["../../../account-abstraction/accounts/createWebAuthnCredential.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,KAAK,SAAS,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAA;AAe/C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,UAA8C;IAE9C,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;IAClE,OAAO;QACL,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QAC1E,GAAG,EAAE,UAAU,CAAC,GAAG;KACpB,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.js b/node_modules/viem/_esm/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.js new file mode 100644 index 0000000000000000000000000000000000000000..2d04847e8032ac30036f4a1299770aa5e96d80ac --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.js @@ -0,0 +1,752 @@ +import * as Signature from 'ox/Signature'; +import { readContract } from '../../../actions/public/readContract.js'; +import { BaseError } from '../../../errors/base.js'; +import { decodeFunctionData } from '../../../utils/abi/decodeFunctionData.js'; +import { encodeAbiParameters } from '../../../utils/abi/encodeAbiParameters.js'; +import { encodeFunctionData } from '../../../utils/abi/encodeFunctionData.js'; +import { encodePacked } from '../../../utils/abi/encodePacked.js'; +import { pad } from '../../../utils/data/pad.js'; +import { size } from '../../../utils/data/size.js'; +import { stringToHex } from '../../../utils/encoding/toHex.js'; +import { hashMessage } from '../../../utils/signature/hashMessage.js'; +import { hashTypedData } from '../../../utils/signature/hashTypedData.js'; +import { parseSignature } from '../../../utils/signature/parseSignature.js'; +import { entryPoint06Abi } from '../../constants/abis.js'; +import { entryPoint06Address } from '../../constants/address.js'; +import { getUserOperationHash } from '../../utils/userOperation/getUserOperationHash.js'; +import { toSmartAccount } from '../toSmartAccount.js'; +const factoryAddress = { + '1.1': '0xba5ed110efdba3d005bfc882d75358acbbb85842', + '1': '0x0ba5ed0c6aa8c49038f819e587e2633c4a9f428a', +}; +/** + * @description Create a Coinbase Smart Account. + * + * @param parameters - {@link ToCoinbaseSmartAccountParameters} + * @returns Coinbase Smart Account. {@link ToCoinbaseSmartAccountReturnType} + * + * @example + * import { toCoinbaseSmartAccount } from 'viem/account-abstraction' + * import { privateKeyToAccount } from 'viem/accounts' + * import { client } from './client.js' + * + * const account = toCoinbaseSmartAccount({ + * client, + * owners: [privateKeyToAccount('0x...')], + * version: '1.1', + * }) + */ +export async function toCoinbaseSmartAccount(parameters) { + const { client, ownerIndex = 0, owners, nonce = 0n, version = '1', } = parameters; + let address = parameters.address; + const entryPoint = { + abi: entryPoint06Abi, + address: entryPoint06Address, + version: '0.6', + }; + const factory = { + abi: factoryAbi, + address: factoryAddress[version], + }; + const owners_bytes = owners.map((owner) => { + if (typeof owner === 'string') + return pad(owner); + if (owner.type === 'webAuthn') + return owner.publicKey; + if (owner.type === 'local') + return pad(owner.address); + throw new BaseError('invalid owner type'); + }); + const owner = (() => { + const owner = owners[ownerIndex] ?? owners[0]; + if (typeof owner === 'string') + return { address: owner, type: 'address' }; + return owner; + })(); + return toSmartAccount({ + client, + entryPoint, + extend: { abi, factory }, + async decodeCalls(data) { + const result = decodeFunctionData({ + abi, + data, + }); + if (result.functionName === 'execute') + return [ + { to: result.args[0], value: result.args[1], data: result.args[2] }, + ]; + if (result.functionName === 'executeBatch') + return result.args[0].map((arg) => ({ + to: arg.target, + value: arg.value, + data: arg.data, + })); + throw new BaseError(`unable to decode calls for "${result.functionName}"`); + }, + async encodeCalls(calls) { + if (calls.length === 1) + return encodeFunctionData({ + abi, + functionName: 'execute', + args: [calls[0].to, calls[0].value ?? 0n, calls[0].data ?? '0x'], + }); + return encodeFunctionData({ + abi, + functionName: 'executeBatch', + args: [ + calls.map((call) => ({ + data: call.data ?? '0x', + target: call.to, + value: call.value ?? 0n, + })), + ], + }); + }, + async getAddress() { + address ??= await readContract(client, { + ...factory, + functionName: 'getAddress', + args: [owners_bytes, nonce], + }); + return address; + }, + async getFactoryArgs() { + const factoryData = encodeFunctionData({ + abi: factory.abi, + functionName: 'createAccount', + args: [owners_bytes, nonce], + }); + return { factory: factory.address, factoryData }; + }, + async getStubSignature() { + if (owner.type === 'webAuthn') + return '0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000170000000000000000000000000000000000000000000000000000000000000001949fc7c88032b9fcb5f6efc7a7b8c63668eae9871b765e23123bb473ff57aa831a7c0d9276168ebcc29f2875a0239cffdf2a9cd1c2007c5c77c071db9264df1d000000000000000000000000000000000000000000000000000000000000002549960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a7b2274797065223a22776562617574686e2e676574222c226368616c6c656e6765223a2273496a396e6164474850596759334b7156384f7a4a666c726275504b474f716d59576f4d57516869467773222c226f726967696e223a2268747470733a2f2f7369676e2e636f696e626173652e636f6d222c2263726f73734f726967696e223a66616c73657d00000000000000000000000000000000000000000000'; + return wrapSignature({ + ownerIndex, + signature: '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c', + }); + }, + async sign(parameters) { + const address = await this.getAddress(); + const typedData = toReplaySafeTypedData({ + address, + chainId: client.chain.id, + hash: parameters.hash, + }); + if (owner.type === 'address') + throw new Error('owner cannot sign'); + const signature = await signTypedData({ owner, typedData }); + return wrapSignature({ + ownerIndex, + signature, + }); + }, + async signMessage(parameters) { + const { message } = parameters; + const address = await this.getAddress(); + const typedData = toReplaySafeTypedData({ + address, + chainId: client.chain.id, + hash: hashMessage(message), + }); + if (owner.type === 'address') + throw new Error('owner cannot sign'); + const signature = await signTypedData({ owner, typedData }); + return wrapSignature({ + ownerIndex, + signature, + }); + }, + async signTypedData(parameters) { + const { domain, types, primaryType, message } = parameters; + const address = await this.getAddress(); + const typedData = toReplaySafeTypedData({ + address, + chainId: client.chain.id, + hash: hashTypedData({ + domain, + message, + primaryType, + types, + }), + }); + if (owner.type === 'address') + throw new Error('owner cannot sign'); + const signature = await signTypedData({ owner, typedData }); + return wrapSignature({ + ownerIndex, + signature, + }); + }, + async signUserOperation(parameters) { + const { chainId = client.chain.id, ...userOperation } = parameters; + const address = await this.getAddress(); + const hash = getUserOperationHash({ + chainId, + entryPointAddress: entryPoint.address, + entryPointVersion: entryPoint.version, + userOperation: { + ...userOperation, + sender: address, + }, + }); + if (owner.type === 'address') + throw new Error('owner cannot sign'); + const signature = await sign({ hash, owner }); + return wrapSignature({ + ownerIndex, + signature, + }); + }, + userOperation: { + async estimateGas(userOperation) { + if (owner.type !== 'webAuthn') + return; + // Accounts with WebAuthn owner require a minimum verification gas limit of 800,000. + return { + verificationGasLimit: BigInt(Math.max(Number(userOperation.verificationGasLimit ?? 0n), 800_000)), + }; + }, + }, + }); +} +///////////////////////////////////////////////////////////////////////////////////////////// +// Utilities +///////////////////////////////////////////////////////////////////////////////////////////// +/** @internal */ +export async function signTypedData({ typedData, owner, }) { + if (owner.type === 'local' && owner.signTypedData) + return owner.signTypedData(typedData); + const hash = hashTypedData(typedData); + return sign({ hash, owner }); +} +/** @internal */ +export async function sign({ hash, owner, }) { + // WebAuthn Account (Passkey) + if (owner.type === 'webAuthn') { + const { signature, webauthn } = await owner.sign({ + hash, + }); + return toWebAuthnSignature({ signature, webauthn }); + } + if (owner.sign) + return owner.sign({ hash }); + throw new BaseError('`owner` does not support raw sign.'); +} +/** @internal */ +export function toReplaySafeTypedData({ address, chainId, hash, }) { + return { + domain: { + chainId, + name: 'Coinbase Smart Wallet', + verifyingContract: address, + version: '1', + }, + types: { + CoinbaseSmartWalletMessage: [ + { + name: 'hash', + type: 'bytes32', + }, + ], + }, + primaryType: 'CoinbaseSmartWalletMessage', + message: { + hash, + }, + }; +} +/** @internal */ +export function toWebAuthnSignature({ webauthn, signature, }) { + const { r, s } = Signature.fromHex(signature); + return encodeAbiParameters([ + { + components: [ + { + name: 'authenticatorData', + type: 'bytes', + }, + { name: 'clientDataJSON', type: 'bytes' }, + { name: 'challengeIndex', type: 'uint256' }, + { name: 'typeIndex', type: 'uint256' }, + { + name: 'r', + type: 'uint256', + }, + { + name: 's', + type: 'uint256', + }, + ], + type: 'tuple', + }, + ], [ + { + authenticatorData: webauthn.authenticatorData, + clientDataJSON: stringToHex(webauthn.clientDataJSON), + challengeIndex: BigInt(webauthn.challengeIndex ?? 0n), + typeIndex: BigInt(webauthn.typeIndex ?? 0n), + r, + s, + }, + ]); +} +/** @internal */ +export function wrapSignature(parameters) { + const { ownerIndex = 0 } = parameters; + const signatureData = (() => { + if (size(parameters.signature) !== 65) + return parameters.signature; + const signature = parseSignature(parameters.signature); + return encodePacked(['bytes32', 'bytes32', 'uint8'], [signature.r, signature.s, signature.yParity === 0 ? 27 : 28]); + })(); + return encodeAbiParameters([ + { + components: [ + { + name: 'ownerIndex', + type: 'uint8', + }, + { + name: 'signatureData', + type: 'bytes', + }, + ], + type: 'tuple', + }, + ], [ + { + ownerIndex, + signatureData, + }, + ]); +} +///////////////////////////////////////////////////////////////////////////////////////////// +// Constants +///////////////////////////////////////////////////////////////////////////////////////////// +const abi = [ + { inputs: [], stateMutability: 'nonpayable', type: 'constructor' }, + { + inputs: [{ name: 'owner', type: 'bytes' }], + name: 'AlreadyOwner', + type: 'error', + }, + { inputs: [], name: 'Initialized', type: 'error' }, + { + inputs: [{ name: 'owner', type: 'bytes' }], + name: 'InvalidEthereumAddressOwner', + type: 'error', + }, + { + inputs: [{ name: 'key', type: 'uint256' }], + name: 'InvalidNonceKey', + type: 'error', + }, + { + inputs: [{ name: 'owner', type: 'bytes' }], + name: 'InvalidOwnerBytesLength', + type: 'error', + }, + { inputs: [], name: 'LastOwner', type: 'error' }, + { + inputs: [{ name: 'index', type: 'uint256' }], + name: 'NoOwnerAtIndex', + type: 'error', + }, + { + inputs: [{ name: 'ownersRemaining', type: 'uint256' }], + name: 'NotLastOwner', + type: 'error', + }, + { + inputs: [{ name: 'selector', type: 'bytes4' }], + name: 'SelectorNotAllowed', + type: 'error', + }, + { inputs: [], name: 'Unauthorized', type: 'error' }, + { inputs: [], name: 'UnauthorizedCallContext', type: 'error' }, + { inputs: [], name: 'UpgradeFailed', type: 'error' }, + { + inputs: [ + { name: 'index', type: 'uint256' }, + { name: 'expectedOwner', type: 'bytes' }, + { name: 'actualOwner', type: 'bytes' }, + ], + name: 'WrongOwnerAtIndex', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'index', + type: 'uint256', + }, + { indexed: false, name: 'owner', type: 'bytes' }, + ], + name: 'AddOwner', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'index', + type: 'uint256', + }, + { indexed: false, name: 'owner', type: 'bytes' }, + ], + name: 'RemoveOwner', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'implementation', + type: 'address', + }, + ], + name: 'Upgraded', + type: 'event', + }, + { stateMutability: 'payable', type: 'fallback' }, + { + inputs: [], + name: 'REPLAYABLE_NONCE_KEY', + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ name: 'owner', type: 'address' }], + name: 'addOwnerAddress', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { name: 'x', type: 'bytes32' }, + { name: 'y', type: 'bytes32' }, + ], + name: 'addOwnerPublicKey', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [{ name: 'functionSelector', type: 'bytes4' }], + name: 'canSkipChainIdValidation', + outputs: [{ name: '', type: 'bool' }], + stateMutability: 'pure', + type: 'function', + }, + { + inputs: [], + name: 'domainSeparator', + outputs: [{ name: '', type: 'bytes32' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'eip712Domain', + outputs: [ + { name: 'fields', type: 'bytes1' }, + { name: 'name', type: 'string' }, + { name: 'version', type: 'string' }, + { name: 'chainId', type: 'uint256' }, + { name: 'verifyingContract', type: 'address' }, + { name: 'salt', type: 'bytes32' }, + { name: 'extensions', type: 'uint256[]' }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'entryPoint', + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { name: 'target', type: 'address' }, + { name: 'value', type: 'uint256' }, + { name: 'data', type: 'bytes' }, + ], + name: 'execute', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { name: 'target', type: 'address' }, + { name: 'value', type: 'uint256' }, + { name: 'data', type: 'bytes' }, + ], + name: 'calls', + type: 'tuple[]', + }, + ], + name: 'executeBatch', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [{ name: 'calls', type: 'bytes[]' }], + name: 'executeWithoutChainIdValidation', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { name: 'sender', type: 'address' }, + { name: 'nonce', type: 'uint256' }, + { name: 'initCode', type: 'bytes' }, + { name: 'callData', type: 'bytes' }, + { name: 'callGasLimit', type: 'uint256' }, + { + name: 'verificationGasLimit', + type: 'uint256', + }, + { + name: 'preVerificationGas', + type: 'uint256', + }, + { name: 'maxFeePerGas', type: 'uint256' }, + { + name: 'maxPriorityFeePerGas', + type: 'uint256', + }, + { name: 'paymasterAndData', type: 'bytes' }, + { name: 'signature', type: 'bytes' }, + ], + name: 'userOp', + type: 'tuple', + }, + ], + name: 'getUserOpHashWithoutChainId', + outputs: [{ name: '', type: 'bytes32' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'implementation', + outputs: [{ name: '$', type: 'address' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ name: 'owners', type: 'bytes[]' }], + name: 'initialize', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [{ name: 'account', type: 'address' }], + name: 'isOwnerAddress', + outputs: [{ name: '', type: 'bool' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ name: 'account', type: 'bytes' }], + name: 'isOwnerBytes', + outputs: [{ name: '', type: 'bool' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { name: 'x', type: 'bytes32' }, + { name: 'y', type: 'bytes32' }, + ], + name: 'isOwnerPublicKey', + outputs: [{ name: '', type: 'bool' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { name: 'hash', type: 'bytes32' }, + { name: 'signature', type: 'bytes' }, + ], + name: 'isValidSignature', + outputs: [{ name: 'result', type: 'bytes4' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'nextOwnerIndex', + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ name: 'index', type: 'uint256' }], + name: 'ownerAtIndex', + outputs: [{ name: '', type: 'bytes' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'ownerCount', + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'proxiableUUID', + outputs: [{ name: '', type: 'bytes32' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { name: 'index', type: 'uint256' }, + { name: 'owner', type: 'bytes' }, + ], + name: 'removeLastOwner', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { name: 'index', type: 'uint256' }, + { name: 'owner', type: 'bytes' }, + ], + name: 'removeOwnerAtIndex', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'removedOwnersCount', + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ name: 'hash', type: 'bytes32' }], + name: 'replaySafeHash', + outputs: [{ name: '', type: 'bytes32' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { name: 'newImplementation', type: 'address' }, + { name: 'data', type: 'bytes' }, + ], + name: 'upgradeToAndCall', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { name: 'sender', type: 'address' }, + { name: 'nonce', type: 'uint256' }, + { name: 'initCode', type: 'bytes' }, + { name: 'callData', type: 'bytes' }, + { name: 'callGasLimit', type: 'uint256' }, + { + name: 'verificationGasLimit', + type: 'uint256', + }, + { + name: 'preVerificationGas', + type: 'uint256', + }, + { name: 'maxFeePerGas', type: 'uint256' }, + { + name: 'maxPriorityFeePerGas', + type: 'uint256', + }, + { name: 'paymasterAndData', type: 'bytes' }, + { name: 'signature', type: 'bytes' }, + ], + name: 'userOp', + type: 'tuple', + }, + { name: 'userOpHash', type: 'bytes32' }, + { name: 'missingAccountFunds', type: 'uint256' }, + ], + name: 'validateUserOp', + outputs: [{ name: 'validationData', type: 'uint256' }], + stateMutability: 'nonpayable', + type: 'function', + }, + { stateMutability: 'payable', type: 'receive' }, +]; +const factoryAbi = [ + { + inputs: [{ name: 'implementation_', type: 'address' }], + stateMutability: 'payable', + type: 'constructor', + }, + { inputs: [], name: 'OwnerRequired', type: 'error' }, + { + inputs: [ + { name: 'owners', type: 'bytes[]' }, + { name: 'nonce', type: 'uint256' }, + ], + name: 'createAccount', + outputs: [ + { + name: 'account', + type: 'address', + }, + ], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [ + { name: 'owners', type: 'bytes[]' }, + { name: 'nonce', type: 'uint256' }, + ], + name: 'getAddress', + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'implementation', + outputs: [{ name: '', type: 'address' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'initCodeHash', + outputs: [{ name: '', type: 'bytes32' }], + stateMutability: 'view', + type: 'function', + }, +]; +//# sourceMappingURL=toCoinbaseSmartAccount.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.js.map b/node_modules/viem/_esm/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.js.map new file mode 100644 index 0000000000000000000000000000000000000000..cd5c5c74541b38b1c56f29dfe5a05b0596127e01 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toCoinbaseSmartAccount.js","sourceRoot":"","sources":["../../../../account-abstraction/accounts/implementations/toCoinbaseSmartAccount.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/accounts/implementations/toSimple7702SmartAccount.js b/node_modules/viem/_esm/account-abstraction/accounts/implementations/toSimple7702SmartAccount.js new file mode 100644 index 0000000000000000000000000000000000000000..1fd5751184f9a66eee1bacd10a26637bdcb92ccd --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/accounts/implementations/toSimple7702SmartAccount.js @@ -0,0 +1,288 @@ +import { BaseError } from '../../../errors/base.js'; +import { decodeFunctionData } from '../../../utils/abi/decodeFunctionData.js'; +import { encodeFunctionData } from '../../../utils/abi/encodeFunctionData.js'; +import { entryPoint08Abi, entryPoint09Abi } from '../../constants/abis.js'; +import { entryPoint08Address, entryPoint09Address, } from '../../constants/address.js'; +import { getUserOperationTypedData } from '../../utils/userOperation/getUserOperationTypedData.js'; +import { toSmartAccount } from '../toSmartAccount.js'; +/** + * @description Create a Simple7702 Smart Account – based off [eth-infinitism's `Simple7702Account.sol`](https://github.com/eth-infinitism/account-abstraction/blob/develop/contracts/accounts/Simple7702Account.sol). + * + * @param parameters - {@link ToSimple7702SmartAccountParameters} + * @returns Simple7702 Smart Account. {@link ToSimple7702SmartAccountReturnType} + * + * @example + * import { toSimple7702SmartAccount } from 'viem/account-abstraction' + * import { client } from './client.js' + * + * const implementation = toSimple7702SmartAccount({ + * client, + * owner: '0x...', + * }) + */ +export async function toSimple7702SmartAccount(parameters) { + const { client, getNonce, owner } = parameters; + const entryPoint = (() => { + if (parameters.entryPoint === '0.9') + return { + abi: entryPoint09Abi, + address: entryPoint09Address, + version: '0.9', + }; + if (typeof parameters.entryPoint === 'object') + return parameters.entryPoint; + return { + abi: entryPoint08Abi, + address: entryPoint08Address, + version: '0.8', + }; + })(); + const implementation = (() => { + if (parameters.implementation) + return parameters.implementation; + if (parameters.entryPoint === '0.9') + return '0xa46cc63eBF4Bd77888AA327837d20b23A63a56B5'; + return '0xe6Cae83BdE06E4c305530e199D7217f42808555B'; + })(); + return toSmartAccount({ + authorization: { account: owner, address: implementation }, + abi, + client, + extend: { abi, owner }, // not removing abi from here as this will be a breaking change + entryPoint, + getNonce, + async decodeCalls(data) { + const result = decodeFunctionData({ + abi, + data, + }); + if (result.functionName === 'execute') + return [ + { to: result.args[0], value: result.args[1], data: result.args[2] }, + ]; + if (result.functionName === 'executeBatch') + return result.args[0].map((arg) => ({ + to: arg.target, + value: arg.value, + data: arg.data, + })); + throw new BaseError(`unable to decode calls for "${result.functionName}"`); + }, + async encodeCalls(calls) { + if (calls.length === 1) + return encodeFunctionData({ + abi, + functionName: 'execute', + args: [calls[0].to, calls[0].value ?? 0n, calls[0].data ?? '0x'], + }); + return encodeFunctionData({ + abi, + functionName: 'executeBatch', + args: [ + calls.map((call) => ({ + data: call.data ?? '0x', + target: call.to, + value: call.value ?? 0n, + })), + ], + }); + }, + async getAddress() { + return owner.address; + }, + async getFactoryArgs() { + return { factory: '0x7702', factoryData: '0x' }; + }, + async getStubSignature() { + return '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c'; + }, + async signMessage(parameters) { + const { message } = parameters; + return await owner.signMessage({ message }); + }, + async signTypedData(parameters) { + const { domain, types, primaryType, message } = parameters; + return await owner.signTypedData({ + domain, + message, + primaryType, + types, + }); + }, + async signUserOperation(parameters) { + const { chainId = client.chain.id, ...userOperation } = parameters; + const address = await this.getAddress(); + const typedData = getUserOperationTypedData({ + chainId, + entryPointAddress: entryPoint.address, + userOperation: { + ...userOperation, + sender: address, + }, + }); + return await owner.signTypedData(typedData); + }, + }); +} +///////////////////////////////////////////////////////////////////////////////////////////// +// Constants +const abi = [ + { inputs: [], name: 'ECDSAInvalidSignature', type: 'error' }, + { + inputs: [{ internalType: 'uint256', name: 'length', type: 'uint256' }], + name: 'ECDSAInvalidSignatureLength', + type: 'error', + }, + { + inputs: [{ internalType: 'bytes32', name: 's', type: 'bytes32' }], + name: 'ECDSAInvalidSignatureS', + type: 'error', + }, + { + inputs: [ + { internalType: 'uint256', name: 'index', type: 'uint256' }, + { internalType: 'bytes', name: 'error', type: 'bytes' }, + ], + name: 'ExecuteError', + type: 'error', + }, + { stateMutability: 'payable', type: 'fallback' }, + { + inputs: [], + name: 'entryPoint', + outputs: [ + { internalType: 'contract IEntryPoint', name: '', type: 'address' }, + ], + stateMutability: 'pure', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: 'target', type: 'address' }, + { internalType: 'uint256', name: 'value', type: 'uint256' }, + { internalType: 'bytes', name: 'data', type: 'bytes' }, + ], + name: 'execute', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { internalType: 'address', name: 'target', type: 'address' }, + { internalType: 'uint256', name: 'value', type: 'uint256' }, + { internalType: 'bytes', name: 'data', type: 'bytes' }, + ], + internalType: 'struct BaseAccount.Call[]', + name: 'calls', + type: 'tuple[]', + }, + ], + name: 'executeBatch', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'getNonce', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { internalType: 'bytes32', name: 'hash', type: 'bytes32' }, + { internalType: 'bytes', name: 'signature', type: 'bytes' }, + ], + name: 'isValidSignature', + outputs: [{ internalType: 'bytes4', name: 'magicValue', type: 'bytes4' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: '', type: 'address' }, + { internalType: 'address', name: '', type: 'address' }, + { internalType: 'uint256[]', name: '', type: 'uint256[]' }, + { internalType: 'uint256[]', name: '', type: 'uint256[]' }, + { internalType: 'bytes', name: '', type: 'bytes' }, + ], + name: 'onERC1155BatchReceived', + outputs: [{ internalType: 'bytes4', name: '', type: 'bytes4' }], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: '', type: 'address' }, + { internalType: 'address', name: '', type: 'address' }, + { internalType: 'uint256', name: '', type: 'uint256' }, + { internalType: 'uint256', name: '', type: 'uint256' }, + { internalType: 'bytes', name: '', type: 'bytes' }, + ], + name: 'onERC1155Received', + outputs: [{ internalType: 'bytes4', name: '', type: 'bytes4' }], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: '', type: 'address' }, + { internalType: 'address', name: '', type: 'address' }, + { internalType: 'uint256', name: '', type: 'uint256' }, + { internalType: 'bytes', name: '', type: 'bytes' }, + ], + name: 'onERC721Received', + outputs: [{ internalType: 'bytes4', name: '', type: 'bytes4' }], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [{ internalType: 'bytes4', name: 'id', type: 'bytes4' }], + name: 'supportsInterface', + outputs: [{ internalType: 'bool', name: '', type: 'bool' }], + stateMutability: 'pure', + type: 'function', + }, + { + inputs: [ + { + components: [ + { internalType: 'address', name: 'sender', type: 'address' }, + { internalType: 'uint256', name: 'nonce', type: 'uint256' }, + { internalType: 'bytes', name: 'initCode', type: 'bytes' }, + { internalType: 'bytes', name: 'callData', type: 'bytes' }, + { + internalType: 'bytes32', + name: 'accountGasLimits', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'preVerificationGas', + type: 'uint256', + }, + { internalType: 'bytes32', name: 'gasFees', type: 'bytes32' }, + { internalType: 'bytes', name: 'paymasterAndData', type: 'bytes' }, + { internalType: 'bytes', name: 'signature', type: 'bytes' }, + ], + internalType: 'struct PackedUserOperation', + name: 'userOp', + type: 'tuple', + }, + { internalType: 'bytes32', name: 'userOpHash', type: 'bytes32' }, + { internalType: 'uint256', name: 'missingAccountFunds', type: 'uint256' }, + ], + name: 'validateUserOp', + outputs: [ + { internalType: 'uint256', name: 'validationData', type: 'uint256' }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { stateMutability: 'payable', type: 'receive' }, +]; +//# sourceMappingURL=toSimple7702SmartAccount.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/accounts/implementations/toSimple7702SmartAccount.js.map b/node_modules/viem/_esm/account-abstraction/accounts/implementations/toSimple7702SmartAccount.js.map new file mode 100644 index 0000000000000000000000000000000000000000..57cb4825088ae142a92f7c37cea6c25474b17e23 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/accounts/implementations/toSimple7702SmartAccount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toSimple7702SmartAccount.js","sourceRoot":"","sources":["../../../../account-abstraction/accounts/implementations/toSimple7702SmartAccount.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/accounts/implementations/toSoladySmartAccount.js b/node_modules/viem/_esm/account-abstraction/accounts/implementations/toSoladySmartAccount.js new file mode 100644 index 0000000000000000000000000000000000000000..44622fcac19f63f3aace828d42a718be2bf9b6ae --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/accounts/implementations/toSoladySmartAccount.js @@ -0,0 +1,717 @@ +import { parseAccount } from '../../../accounts/utils/parseAccount.js'; +import { readContract } from '../../../actions/public/readContract.js'; +import { signMessage as signMessage_ } from '../../../actions/wallet/signMessage.js'; +import { BaseError } from '../../../errors/base.js'; +import { signMessage } from '../../../experimental/erc7739/actions/signMessage.js'; +import { signTypedData } from '../../../experimental/erc7739/actions/signTypedData.js'; +import { decodeFunctionData } from '../../../utils/abi/decodeFunctionData.js'; +import { encodeFunctionData } from '../../../utils/abi/encodeFunctionData.js'; +import { pad } from '../../../utils/data/pad.js'; +import { getAction } from '../../../utils/getAction.js'; +import { entryPoint07Abi } from '../../constants/abis.js'; +import { entryPoint07Address } from '../../constants/address.js'; +import { getUserOperationHash } from '../../utils/userOperation/getUserOperationHash.js'; +import { toSmartAccount } from '../toSmartAccount.js'; +/** + * @description Create a Solady Smart Account – based off [Solady's `ERC4337.sol`](https://github.com/Vectorized/solady/blob/main/src/accounts/ERC4337.sol). + * + * @param parameters - {@link ToSoladySmartAccountParameters} + * @returns Solady Smart Account. {@link ToSoladySmartAccountReturnType} + * + * @example + * import { toSoladySmartAccount } from 'viem/account-abstraction' + * import { client } from './client.js' + * + * const implementation = toSoladySmartAccount({ + * client, + * owner: '0x...', + * }) + */ +export async function toSoladySmartAccount(parameters) { + const { address, client, entryPoint: entryPoint_ = { + abi: entryPoint07Abi, + address: entryPoint07Address, + version: '0.7', + }, factoryAddress = '0x5d82735936c6Cd5DE57cC3c1A799f6B2E6F933Df', getNonce, salt = '0x0', } = parameters; + const entryPoint = { + abi: entryPoint_.abi, + address: entryPoint_.address, + version: entryPoint_.version, + }; + const factory = { + abi: factoryAbi, + address: factoryAddress, + }; + const owner = parseAccount(parameters.owner); + return toSmartAccount({ + client, + entryPoint, + getNonce, + extend: { abi, factory }, + async decodeCalls(data) { + const result = decodeFunctionData({ + abi, + data, + }); + if (result.functionName === 'execute') + return [ + { to: result.args[0], value: result.args[1], data: result.args[2] }, + ]; + if (result.functionName === 'executeBatch') + return result.args[0].map((arg) => ({ + to: arg.target, + value: arg.value, + data: arg.data, + })); + throw new BaseError(`unable to decode calls for "${result.functionName}"`); + }, + async encodeCalls(calls) { + if (calls.length === 1) + return encodeFunctionData({ + abi, + functionName: 'execute', + args: [calls[0].to, calls[0].value ?? 0n, calls[0].data ?? '0x'], + }); + return encodeFunctionData({ + abi, + functionName: 'executeBatch', + args: [ + calls.map((call) => ({ + data: call.data ?? '0x', + target: call.to, + value: call.value ?? 0n, + })), + ], + }); + }, + async getAddress() { + if (address) + return address; + return await readContract(client, { + ...factory, + functionName: 'getAddress', + args: [pad(salt)], + }); + }, + async getFactoryArgs() { + const factoryData = encodeFunctionData({ + abi: factory.abi, + functionName: 'createAccount', + args: [owner.address, pad(salt)], + }); + return { factory: factory.address, factoryData }; + }, + async getStubSignature() { + return '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c'; + }, + async signMessage(parameters) { + const { message } = parameters; + const [address, { factory, factoryData }] = await Promise.all([ + this.getAddress(), + this.getFactoryArgs(), + ]); + return await signMessage(client, { + account: owner, + factory, + factoryData, + message, + verifier: address, + }); + }, + async signTypedData(parameters) { + const { domain, types, primaryType, message } = parameters; + const [address, { factory, factoryData }] = await Promise.all([ + this.getAddress(), + this.getFactoryArgs(), + ]); + return await signTypedData(client, { + account: owner, + domain, + message, + factory, + factoryData, + primaryType, + types, + verifier: address, + }); + }, + async signUserOperation(parameters) { + const { chainId = client.chain.id, ...userOperation } = parameters; + const address = await this.getAddress(); + const userOpHash = getUserOperationHash({ + chainId, + entryPointAddress: entryPoint.address, + entryPointVersion: entryPoint.version, + userOperation: { + ...userOperation, + sender: address, + }, + }); + const signature = await getAction(client, signMessage_, 'signMessage')({ + account: owner, + message: { + raw: userOpHash, + }, + }); + return signature; + }, + }); +} +///////////////////////////////////////////////////////////////////////////////////////////// +// Constants +const abi = [ + { + type: 'fallback', + stateMutability: 'payable', + }, + { + type: 'receive', + stateMutability: 'payable', + }, + { + type: 'function', + name: 'addDeposit', + inputs: [], + outputs: [], + stateMutability: 'payable', + }, + { + type: 'function', + name: 'cancelOwnershipHandover', + inputs: [], + outputs: [], + stateMutability: 'payable', + }, + { + type: 'function', + name: 'completeOwnershipHandover', + inputs: [ + { + name: 'pendingOwner', + type: 'address', + }, + ], + outputs: [], + stateMutability: 'payable', + }, + { + type: 'function', + name: 'delegateExecute', + inputs: [ + { + name: 'delegate', + type: 'address', + }, + { + name: 'data', + type: 'bytes', + }, + ], + outputs: [ + { + name: 'result', + type: 'bytes', + }, + ], + stateMutability: 'payable', + }, + { + type: 'function', + name: 'eip712Domain', + inputs: [], + outputs: [ + { + name: 'name', + type: 'string', + }, + { + name: 'version', + type: 'string', + }, + { + name: 'chainId', + type: 'uint256', + }, + { + name: 'verifyingContract', + type: 'address', + }, + { + name: 'salt', + type: 'bytes32', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'entryPoint', + inputs: [], + outputs: [ + { + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'execute', + inputs: [ + { + name: 'target', + type: 'address', + }, + { + name: 'value', + type: 'uint256', + }, + { + name: 'data', + type: 'bytes', + }, + ], + outputs: [ + { + name: 'result', + type: 'bytes', + }, + ], + stateMutability: 'payable', + }, + { + type: 'function', + name: 'executeBatch', + inputs: [ + { + name: 'calls', + type: 'tuple[]', + components: [ + { + name: 'target', + type: 'address', + }, + { + name: 'value', + type: 'uint256', + }, + { + name: 'data', + type: 'bytes', + }, + ], + }, + ], + outputs: [ + { + name: 'results', + type: 'bytes[]', + }, + ], + stateMutability: 'payable', + }, + { + type: 'function', + name: 'getDeposit', + inputs: [], + outputs: [ + { + name: 'result', + type: 'uint256', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'initialize', + inputs: [ + { + name: 'newOwner', + type: 'address', + }, + ], + outputs: [], + stateMutability: 'payable', + }, + { + type: 'function', + name: 'isValidSignature', + inputs: [ + { + name: 'hash', + type: 'bytes32', + }, + { + name: 'signature', + type: 'bytes', + }, + ], + outputs: [ + { + name: 'result', + type: 'bytes4', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'owner', + inputs: [], + outputs: [ + { + name: 'result', + type: 'address', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'ownershipHandoverExpiresAt', + inputs: [ + { + name: 'pendingOwner', + type: 'address', + }, + ], + outputs: [ + { + name: 'result', + type: 'uint256', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'proxiableUUID', + inputs: [], + outputs: [ + { + name: '', + type: 'bytes32', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'renounceOwnership', + inputs: [], + outputs: [], + stateMutability: 'payable', + }, + { + type: 'function', + name: 'requestOwnershipHandover', + inputs: [], + outputs: [], + stateMutability: 'payable', + }, + { + type: 'function', + name: 'storageLoad', + inputs: [ + { + name: 'storageSlot', + type: 'bytes32', + }, + ], + outputs: [ + { + name: 'result', + type: 'bytes32', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'storageStore', + inputs: [ + { + name: 'storageSlot', + type: 'bytes32', + }, + { + name: 'storageValue', + type: 'bytes32', + }, + ], + outputs: [], + stateMutability: 'payable', + }, + { + type: 'function', + name: 'transferOwnership', + inputs: [ + { + name: 'newOwner', + type: 'address', + }, + ], + outputs: [], + stateMutability: 'payable', + }, + { + type: 'function', + name: 'upgradeToAndCall', + inputs: [ + { + name: 'newImplementation', + type: 'address', + }, + { + name: 'data', + type: 'bytes', + }, + ], + outputs: [], + stateMutability: 'payable', + }, + { + type: 'function', + name: 'validateUserOp', + inputs: [ + { + name: 'userOp', + type: 'tuple', + components: [ + { + name: 'sender', + type: 'address', + }, + { + name: 'nonce', + type: 'uint256', + }, + { + name: 'initCode', + type: 'bytes', + }, + { + name: 'callData', + type: 'bytes', + }, + { + name: 'accountGasLimits', + type: 'bytes32', + }, + { + name: 'preVerificationGas', + type: 'uint256', + }, + { + name: 'gasFees', + type: 'bytes32', + }, + { + name: 'paymasterAndData', + type: 'bytes', + }, + { + name: 'signature', + type: 'bytes', + }, + ], + }, + { + name: 'userOpHash', + type: 'bytes32', + }, + { + name: 'missingAccountFunds', + type: 'uint256', + }, + ], + outputs: [ + { + name: 'validationData', + type: 'uint256', + }, + ], + stateMutability: 'payable', + }, + { + type: 'function', + name: 'withdrawDepositTo', + inputs: [ + { + name: 'to', + type: 'address', + }, + { + name: 'amount', + type: 'uint256', + }, + ], + outputs: [], + stateMutability: 'payable', + }, + { + type: 'event', + name: 'OwnershipHandoverCanceled', + inputs: [ + { + name: 'pendingOwner', + type: 'address', + indexed: true, + }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'OwnershipHandoverRequested', + inputs: [ + { + name: 'pendingOwner', + type: 'address', + indexed: true, + }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'OwnershipTransferred', + inputs: [ + { + name: 'oldOwner', + type: 'address', + indexed: true, + }, + { + name: 'newOwner', + type: 'address', + indexed: true, + }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'Upgraded', + inputs: [ + { + name: 'implementation', + type: 'address', + indexed: true, + }, + ], + anonymous: false, + }, + { + type: 'error', + name: 'AlreadyInitialized', + inputs: [], + }, + { + type: 'error', + name: 'FnSelectorNotRecognized', + inputs: [], + }, + { + type: 'error', + name: 'NewOwnerIsZeroAddress', + inputs: [], + }, + { + type: 'error', + name: 'NoHandoverRequest', + inputs: [], + }, + { + type: 'error', + name: 'Unauthorized', + inputs: [], + }, + { + type: 'error', + name: 'UnauthorizedCallContext', + inputs: [], + }, + { + type: 'error', + name: 'UpgradeFailed', + inputs: [], + }, +]; +const factoryAbi = [ + { + type: 'constructor', + inputs: [ + { + name: 'erc4337', + type: 'address', + }, + ], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'createAccount', + inputs: [ + { + name: 'owner', + type: 'address', + }, + { + name: 'salt', + type: 'bytes32', + }, + ], + outputs: [ + { + name: '', + type: 'address', + }, + ], + stateMutability: 'payable', + }, + { + type: 'function', + name: 'getAddress', + inputs: [ + { + name: 'salt', + type: 'bytes32', + }, + ], + outputs: [ + { + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'implementation', + inputs: [], + outputs: [ + { + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'initCodeHash', + inputs: [], + outputs: [ + { + name: '', + type: 'bytes32', + }, + ], + stateMutability: 'view', + }, +]; +//# sourceMappingURL=toSoladySmartAccount.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/accounts/implementations/toSoladySmartAccount.js.map b/node_modules/viem/_esm/account-abstraction/accounts/implementations/toSoladySmartAccount.js.map new file mode 100644 index 0000000000000000000000000000000000000000..66a93fce167516b9f7bd100e6cb47a0d866feaf1 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/accounts/implementations/toSoladySmartAccount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toSoladySmartAccount.js","sourceRoot":"","sources":["../../../../account-abstraction/accounts/implementations/toSoladySmartAccount.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/accounts/toSmartAccount.js b/node_modules/viem/_esm/account-abstraction/accounts/toSmartAccount.js new file mode 100644 index 0000000000000000000000000000000000000000..7b143128030a793daae7a538eef1b91dd0965098 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/accounts/toSmartAccount.js @@ -0,0 +1,107 @@ +import { parseAbi } from 'abitype'; +import { getCode } from '../../actions/public/getCode.js'; +import { readContract } from '../../actions/public/readContract.js'; +import { getAction } from '../../utils/getAction.js'; +import { createNonceManager } from '../../utils/nonceManager.js'; +import { serializeErc6492Signature } from '../../utils/signature/serializeErc6492Signature.js'; +/** + * @description Creates a Smart Account with a provided account implementation. + * + * @param parameters - {@link ToSmartAccountParameters} + * @returns A Smart Account. {@link ToSmartAccountReturnType} + */ +export async function toSmartAccount(implementation) { + const { extend, nonceKeyManager = createNonceManager({ + source: { + get() { + return Date.now(); + }, + set() { }, + }, + }), ...rest } = implementation; + let deployed = false; + const address = await implementation.getAddress(); + return { + ...extend, + ...rest, + address, + async getFactoryArgs() { + if ('isDeployed' in this && (await this.isDeployed())) + return { factory: undefined, factoryData: undefined }; + return implementation.getFactoryArgs(); + }, + async getNonce(parameters) { + const key = parameters?.key ?? + BigInt(await nonceKeyManager.consume({ + address, + chainId: implementation.client.chain.id, + client: implementation.client, + })); + if (implementation.getNonce) + return await implementation.getNonce({ ...parameters, key }); + const nonce = await readContract(implementation.client, { + abi: parseAbi([ + 'function getNonce(address, uint192) pure returns (uint256)', + ]), + address: implementation.entryPoint.address, + functionName: 'getNonce', + args: [address, key], + }); + return nonce; + }, + async isDeployed() { + if (deployed) + return true; + const code = await getAction(implementation.client, getCode, 'getCode')({ + address, + }); + deployed = Boolean(code); + return deployed; + }, + ...(implementation.sign + ? { + async sign(parameters) { + const [{ factory, factoryData }, signature] = await Promise.all([ + this.getFactoryArgs(), + implementation.sign(parameters), + ]); + if (factory && factoryData) + return serializeErc6492Signature({ + address: factory, + data: factoryData, + signature, + }); + return signature; + }, + } + : {}), + async signMessage(parameters) { + const [{ factory, factoryData }, signature] = await Promise.all([ + this.getFactoryArgs(), + implementation.signMessage(parameters), + ]); + if (factory && factoryData && factory !== '0x7702') + return serializeErc6492Signature({ + address: factory, + data: factoryData, + signature, + }); + return signature; + }, + async signTypedData(parameters) { + const [{ factory, factoryData }, signature] = await Promise.all([ + this.getFactoryArgs(), + implementation.signTypedData(parameters), + ]); + if (factory && factoryData && factory !== '0x7702') + return serializeErc6492Signature({ + address: factory, + data: factoryData, + signature, + }); + return signature; + }, + type: 'smart', + }; +} +//# sourceMappingURL=toSmartAccount.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/accounts/toSmartAccount.js.map b/node_modules/viem/_esm/account-abstraction/accounts/toSmartAccount.js.map new file mode 100644 index 0000000000000000000000000000000000000000..2c6fe04e1eca586a4bc03b5f8681cea1ae956530 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/accounts/toSmartAccount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toSmartAccount.js","sourceRoot":"","sources":["../../../account-abstraction/accounts/toSmartAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAA;AAe9F;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAGlC,cAA8B;IAE9B,MAAM,EACJ,MAAM,EACN,eAAe,GAAG,kBAAkB,CAAC;QACnC,MAAM,EAAE;YACN,GAAG;gBACD,OAAO,IAAI,CAAC,GAAG,EAAE,CAAA;YACnB,CAAC;YACD,GAAG,KAAI,CAAC;SACT;KACF,CAAC,EACF,GAAG,IAAI,EACR,GAAG,cAAc,CAAA;IAElB,IAAI,QAAQ,GAAG,KAAK,CAAA;IAEpB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,CAAA;IAEjD,OAAO;QACL,GAAG,MAAM;QACT,GAAG,IAAI;QACP,OAAO;QACP,KAAK,CAAC,cAAc;YAClB,IAAI,YAAY,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBACnD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAA;YACvD,OAAO,cAAc,CAAC,cAAc,EAAE,CAAA;QACxC,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,UAAU;YACvB,MAAM,GAAG,GACP,UAAU,EAAE,GAAG;gBACf,MAAM,CACJ,MAAM,eAAe,CAAC,OAAO,CAAC;oBAC5B,OAAO;oBACP,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,KAAM,CAAC,EAAG;oBACzC,MAAM,EAAE,cAAc,CAAC,MAAM;iBAC9B,CAAC,CACH,CAAA;YAEH,IAAI,cAAc,CAAC,QAAQ;gBACzB,OAAO,MAAM,cAAc,CAAC,QAAQ,CAAC,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,CAAC,CAAA;YAE9D,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE;gBACtD,GAAG,EAAE,QAAQ,CAAC;oBACZ,4DAA4D;iBAC7D,CAAC;gBACF,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,OAAO;gBAC1C,YAAY,EAAE,UAAU;gBACxB,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,CAAC,CAAA;YACF,OAAO,KAAK,CAAA;QACd,CAAC;QACD,KAAK,CAAC,UAAU;YACd,IAAI,QAAQ;gBAAE,OAAO,IAAI,CAAA;YACzB,MAAM,IAAI,GAAG,MAAM,SAAS,CAC1B,cAAc,CAAC,MAAM,EACrB,OAAO,EACP,SAAS,CACV,CAAC;gBACA,OAAO;aACR,CAAC,CAAA;YACF,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;YACxB,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,GAAG,CAAC,cAAc,CAAC,IAAI;YACrB,CAAC,CAAC;gBACE,KAAK,CAAC,IAAI,CAAC,UAAU;oBACnB,MAAM,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;wBAC9D,IAAI,CAAC,cAAc,EAAE;wBACrB,cAAc,CAAC,IAAK,CAAC,UAAU,CAAC;qBACjC,CAAC,CAAA;oBACF,IAAI,OAAO,IAAI,WAAW;wBACxB,OAAO,yBAAyB,CAAC;4BAC/B,OAAO,EAAE,OAAO;4BAChB,IAAI,EAAE,WAAW;4BACjB,SAAS;yBACV,CAAC,CAAA;oBACJ,OAAO,SAAS,CAAA;gBAClB,CAAC;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,KAAK,CAAC,WAAW,CAAC,UAAU;YAC1B,MAAM,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC9D,IAAI,CAAC,cAAc,EAAE;gBACrB,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC;aACvC,CAAC,CAAA;YACF,IAAI,OAAO,IAAI,WAAW,IAAI,OAAO,KAAK,QAAQ;gBAChD,OAAO,yBAAyB,CAAC;oBAC/B,OAAO,EAAE,OAAO;oBAChB,IAAI,EAAE,WAAW;oBACjB,SAAS;iBACV,CAAC,CAAA;YACJ,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,UAAU;YAC5B,MAAM,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC9D,IAAI,CAAC,cAAc,EAAE;gBACrB,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC;aACzC,CAAC,CAAA;YACF,IAAI,OAAO,IAAI,WAAW,IAAI,OAAO,KAAK,QAAQ;gBAChD,OAAO,yBAAyB,CAAC;oBAC/B,OAAO,EAAE,OAAO;oBAChB,IAAI,EAAE,WAAW;oBACjB,SAAS;iBACV,CAAC,CAAA;YACJ,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,IAAI,EAAE,OAAO;KAC8B,CAAA;AAC/C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/accounts/toWebAuthnAccount.js b/node_modules/viem/_esm/account-abstraction/accounts/toWebAuthnAccount.js new file mode 100644 index 0000000000000000000000000000000000000000..ba8991e286cede9c7b146315c07a49dc86948b82 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/accounts/toWebAuthnAccount.js @@ -0,0 +1,38 @@ +import * as Signature from 'ox/Signature'; +import * as WebAuthnP256 from 'ox/WebAuthnP256'; +import { hashMessage } from '../../utils/signature/hashMessage.js'; +import { hashTypedData } from '../../utils/signature/hashTypedData.js'; +/** + * @description Creates an Account from a WebAuthn Credential. + * + * @returns A WebAuthn Account. + */ +export function toWebAuthnAccount(parameters) { + const { getFn, rpId } = parameters; + const { id, publicKey } = parameters.credential; + return { + id, + publicKey, + async sign({ hash }) { + const { metadata, raw, signature } = await WebAuthnP256.sign({ + credentialId: id, + getFn, + challenge: hash, + rpId, + }); + return { + signature: Signature.toHex(signature), + raw, + webauthn: metadata, + }; + }, + async signMessage({ message }) { + return this.sign({ hash: hashMessage(message) }); + }, + async signTypedData(parameters) { + return this.sign({ hash: hashTypedData(parameters) }); + }, + type: 'webAuthn', + }; +} +//# sourceMappingURL=toWebAuthnAccount.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/accounts/toWebAuthnAccount.js.map b/node_modules/viem/_esm/account-abstraction/accounts/toWebAuthnAccount.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9a616a4d3778295190b63e5c889384306561931b --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/accounts/toWebAuthnAccount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toWebAuthnAccount.js","sourceRoot":"","sources":["../../../account-abstraction/accounts/toWebAuthnAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAA;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AA6BtE;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAuC;IAEvC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,UAAU,CAAA;IAClC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,UAAU,CAAA;IAC/C,OAAO;QACL,EAAE;QACF,SAAS;QACT,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE;YACjB,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;gBAC3D,YAAY,EAAE,EAAE;gBAChB,KAAK;gBACL,SAAS,EAAE,IAAI;gBACf,IAAI;aACL,CAAC,CAAA;YACF,OAAO;gBACL,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;gBACrC,GAAG;gBACH,QAAQ,EAAE,QAAQ;aACnB,CAAA;QACH,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE;YAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAClD,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,UAAU;YAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACvD,CAAC;QACD,IAAI,EAAE,UAAU;KACjB,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/accounts/types.js b/node_modules/viem/_esm/account-abstraction/accounts/types.js new file mode 100644 index 0000000000000000000000000000000000000000..718fd38ae40c67ea23b242517cf9919f602c5a3e --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/accounts/types.js @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/accounts/types.js.map b/node_modules/viem/_esm/account-abstraction/accounts/types.js.map new file mode 100644 index 0000000000000000000000000000000000000000..98e71484e3723179e8678e370482dc295700bac9 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/accounts/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../account-abstraction/accounts/types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/actions/bundler/estimateUserOperationGas.js b/node_modules/viem/_esm/account-abstraction/actions/bundler/estimateUserOperationGas.js new file mode 100644 index 0000000000000000000000000000000000000000..aea42f223231a4f643265bd37dd73244ef641bf8 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/actions/bundler/estimateUserOperationGas.js @@ -0,0 +1,74 @@ +import { parseAccount, } from '../../../accounts/utils/parseAccount.js'; +import { AccountNotFoundError } from '../../../errors/account.js'; +import { getAction } from '../../../utils/getAction.js'; +import { serializeStateOverride } from '../../../utils/stateOverride.js'; +import { getUserOperationError } from '../../utils/errors/getUserOperationError.js'; +import { formatUserOperationGas, } from '../../utils/formatters/userOperationGas.js'; +import { formatUserOperationRequest, } from '../../utils/formatters/userOperationRequest.js'; +import { prepareUserOperation, } from './prepareUserOperation.js'; +/** + * Returns an estimate of gas values necessary to execute the User Operation. + * + * - Docs: https://viem.sh/actions/bundler/estimateUserOperationGas + * + * @param client - Client to use + * @param parameters - {@link EstimateUserOperationGasParameters} + * @returns The gas estimate (in wei). {@link EstimateUserOperationGasReturnType} + * + * @example + * import { createBundlerClient, http, parseEther } from 'viem' + * import { toSmartAccount } from 'viem/accounts' + * import { mainnet } from 'viem/chains' + * import { estimateUserOperationGas } from 'viem/actions' + * + * const account = await toSmartAccount({ ... }) + * + * const bundlerClient = createBundlerClient({ + * chain: mainnet, + * transport: http(), + * }) + * + * const values = await estimateUserOperationGas(bundlerClient, { + * account, + * calls: [{ to: '0x...', value: parseEther('1') }], + * }) + */ +export async function estimateUserOperationGas(client, parameters) { + const { account: account_ = client.account, entryPointAddress, stateOverride, } = parameters; + if (!account_ && !parameters.sender) + throw new AccountNotFoundError(); + const account = account_ ? parseAccount(account_) : undefined; + const rpcStateOverride = serializeStateOverride(stateOverride); + const request = account + ? await getAction(client, prepareUserOperation, 'prepareUserOperation')({ + ...parameters, + parameters: [ + 'authorization', + 'factory', + 'fees', + 'nonce', + 'paymaster', + 'signature', + ], + }) + : parameters; + try { + const params = [ + formatUserOperationRequest(request), + (entryPointAddress ?? account?.entryPoint?.address), + ]; + const result = await client.request({ + method: 'eth_estimateUserOperationGas', + params: rpcStateOverride ? [...params, rpcStateOverride] : [...params], + }); + return formatUserOperationGas(result); + } + catch (error) { + const calls = parameters.calls; + throw getUserOperationError(error, { + ...request, + ...(calls ? { calls } : {}), + }); + } +} +//# sourceMappingURL=estimateUserOperationGas.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/actions/bundler/estimateUserOperationGas.js.map b/node_modules/viem/_esm/account-abstraction/actions/bundler/estimateUserOperationGas.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c039e9e05e66814b387ad2079dd94e3856f0d343 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/actions/bundler/estimateUserOperationGas.js.map @@ -0,0 +1 @@ +{"version":3,"file":"estimateUserOperationGas.js","sourceRoot":"","sources":["../../../../account-abstraction/actions/bundler/estimateUserOperationGas.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,YAAY,GACb,MAAM,yCAAyC,CAAA;AAGhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAcjE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAgBxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AACnF,OAAO,EAEL,sBAAsB,GACvB,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAEL,0BAA0B,GAC3B,MAAM,gDAAgD,CAAA;AACvD,OAAO,EAGL,oBAAoB,GACrB,MAAM,2BAA2B,CAAA;AAoElC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAK5C,MAAqD,EACrD,UAIC;IAED,MAAM,EACJ,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,iBAAiB,EACjB,aAAa,GACd,GAAG,UAAU,CAAA;IAEd,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,MAAM,IAAI,oBAAoB,EAAE,CAAA;IACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAE7D,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAA;IAE9D,MAAM,OAAO,GAAG,OAAO;QACrB,CAAC,CAAC,MAAM,SAAS,CACb,MAAM,EACN,oBAAoB,EACpB,sBAAsB,CACvB,CAAC;YACA,GAAG,UAAU;YACb,UAAU,EAAE;gBACV,eAAe;gBACf,SAAS;gBACT,MAAM;gBACN,OAAO;gBACP,WAAW;gBACX,WAAW;aACZ;SAC2C,CAAC;QACjD,CAAC,CAAC,UAAU,CAAA;IAEd,IAAI,CAAC;QACH,MAAM,MAAM,GAAG;YACb,0BAA0B,CAAC,OAAwB,CAAC;YACpD,CAAC,iBAAiB,IAAI,OAAO,EAAE,UAAU,EAAE,OAAO,CAAE;SAC5C,CAAA;QAEV,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;YAClC,MAAM,EAAE,8BAA8B;YACtC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;SACvE,CAAC,CAAA;QACF,OAAO,sBAAsB,CAAC,MAAM,CAGnC,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GAAI,UAAkB,CAAC,KAAK,CAAA;QACvC,MAAM,qBAAqB,CAAC,KAAkB,EAAE;YAC9C,GAAI,OAAyB;YAC7B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5B,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/actions/bundler/getSupportedEntryPoints.js b/node_modules/viem/_esm/account-abstraction/actions/bundler/getSupportedEntryPoints.js new file mode 100644 index 0000000000000000000000000000000000000000..a44b4727f240cb198b591f7b38dbca3a9ab590da --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/actions/bundler/getSupportedEntryPoints.js @@ -0,0 +1,25 @@ +/** + * Returns the EntryPoints that the bundler supports. + * + * - Docs: https://viem.sh/actions/bundler/getSupportedEntryPoints + * + * @param client - Client to use + * @param parameters - {@link GetSupportedEntryPointsParameters} + * @returns Supported Entry Points. {@link GetSupportedEntryPointsReturnType} + * + * @example + * import { createBundlerClient, http, parseEther } from 'viem' + * import { mainnet } from 'viem/chains' + * import { getSupportedEntryPoints } from 'viem/actions' + * + * const bundlerClient = createBundlerClient({ + * chain: mainnet, + * transport: http(), + * }) + * + * const addresses = await getSupportedEntryPoints(bundlerClient) + */ +export function getSupportedEntryPoints(client) { + return client.request({ method: 'eth_supportedEntryPoints' }); +} +//# sourceMappingURL=getSupportedEntryPoints.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/actions/bundler/getSupportedEntryPoints.js.map b/node_modules/viem/_esm/account-abstraction/actions/bundler/getSupportedEntryPoints.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7e2895efb74c8b689d030ca46a203a1b59646867 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/actions/bundler/getSupportedEntryPoints.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getSupportedEntryPoints.js","sourceRoot":"","sources":["../../../../account-abstraction/actions/bundler/getSupportedEntryPoints.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAyB;IAC/D,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAA;AAC/D,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/actions/bundler/getUserOperation.js b/node_modules/viem/_esm/account-abstraction/actions/bundler/getUserOperation.js new file mode 100644 index 0000000000000000000000000000000000000000..c046f2cd23b08290eefef3eba33c220cdd2235e6 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/actions/bundler/getUserOperation.js @@ -0,0 +1,42 @@ +import { UserOperationNotFoundError, } from '../../errors/userOperation.js'; +import { formatUserOperation } from '../../utils/formatters/userOperation.js'; +/** + * Retrieves information about a User Operation given a hash. + * + * - Docs: https://viem.sh/account-abstraction/actions/bundler/getUserOperation + * + * @param client - Client to use + * @param parameters - {@link GetUserOperationParameters} + * @returns The receipt. {@link GetUserOperationReturnType} + * + * @example + * import { createBundlerClient, http } from 'viem' + * import { mainnet } from 'viem/chains' + * import { getUserOperation } from 'viem/actions + * + * const client = createBundlerClient({ + * chain: mainnet, + * transport: http(), + * }) + * + * const receipt = await getUserOperation(client, { + * hash: '0x4ca7ee652d57678f26e887c149ab0735f41de37bcad58c9f6d3ed5824f15b74d', + * }) + */ +export async function getUserOperation(client, { hash }) { + const result = await client.request({ + method: 'eth_getUserOperationByHash', + params: [hash], + }, { dedupe: true }); + if (!result) + throw new UserOperationNotFoundError({ hash }); + const { blockHash, blockNumber, entryPoint, transactionHash, userOperation } = result; + return { + blockHash, + blockNumber: BigInt(blockNumber), + entryPoint, + transactionHash, + userOperation: formatUserOperation(userOperation), + }; +} +//# sourceMappingURL=getUserOperation.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/actions/bundler/getUserOperation.js.map b/node_modules/viem/_esm/account-abstraction/actions/bundler/getUserOperation.js.map new file mode 100644 index 0000000000000000000000000000000000000000..bd6a760fe14829f3b5899b04328c2cf5507c1394 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/actions/bundler/getUserOperation.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getUserOperation.js","sourceRoot":"","sources":["../../../../account-abstraction/actions/bundler/getUserOperation.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,0BAA0B,GAE3B,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAyB7E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAyB,EACzB,EAAE,IAAI,EAA8B;IAEpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CACjC;QACE,MAAM,EAAE,4BAA4B;QACpC,MAAM,EAAE,CAAC,IAAI,CAAC;KACf,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAA;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,0BAA0B,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAE3D,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,GAC1E,MAAM,CAAA;IAER,OAAO;QACL,SAAS;QACT,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;QAChC,UAAU;QACV,eAAe;QACf,aAAa,EAAE,mBAAmB,CAAC,aAAa,CAAC;KAClD,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/actions/bundler/getUserOperationReceipt.js b/node_modules/viem/_esm/account-abstraction/actions/bundler/getUserOperationReceipt.js new file mode 100644 index 0000000000000000000000000000000000000000..a62fdb5182d7a4e27c239777b8e75d937e87b328 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/actions/bundler/getUserOperationReceipt.js @@ -0,0 +1,35 @@ +import { UserOperationReceiptNotFoundError, } from '../../errors/userOperation.js'; +import { formatUserOperationReceipt } from '../../utils/formatters/userOperationReceipt.js'; +/** + * Returns the User Operation Receipt given a User Operation hash. + * + * - Docs: https://viem.sh/docs/actions/bundler/getUserOperationReceipt + * + * @param client - Client to use + * @param parameters - {@link GetUserOperationReceiptParameters} + * @returns The receipt. {@link GetUserOperationReceiptReturnType} + * + * @example + * import { createBundlerClient, http } from 'viem' + * import { mainnet } from 'viem/chains' + * import { getUserOperationReceipt } from 'viem/actions + * + * const client = createBundlerClient({ + * chain: mainnet, + * transport: http(), + * }) + * + * const receipt = await getUserOperationReceipt(client, { + * hash: '0x4ca7ee652d57678f26e887c149ab0735f41de37bcad58c9f6d3ed5824f15b74d', + * }) + */ +export async function getUserOperationReceipt(client, { hash }) { + const receipt = await client.request({ + method: 'eth_getUserOperationReceipt', + params: [hash], + }, { dedupe: true }); + if (!receipt) + throw new UserOperationReceiptNotFoundError({ hash }); + return formatUserOperationReceipt(receipt); +} +//# sourceMappingURL=getUserOperationReceipt.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/actions/bundler/getUserOperationReceipt.js.map b/node_modules/viem/_esm/account-abstraction/actions/bundler/getUserOperationReceipt.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d091491c78cefa5eb63a6cdaaf20add56d694ee1 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/actions/bundler/getUserOperationReceipt.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getUserOperationReceipt.js","sourceRoot":"","sources":["../../../../account-abstraction/actions/bundler/getUserOperationReceipt.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,iCAAiC,GAElC,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,gDAAgD,CAAA;AAc3F;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAyB,EACzB,EAAE,IAAI,EAAqC;IAE3C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAClC;QACE,MAAM,EAAE,6BAA6B;QACrC,MAAM,EAAE,CAAC,IAAI,CAAC;KACf,EACD,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAA;IAED,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,iCAAiC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAEnE,OAAO,0BAA0B,CAAC,OAAO,CAAC,CAAA;AAC5C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/actions/bundler/prepareUserOperation.js b/node_modules/viem/_esm/account-abstraction/actions/bundler/prepareUserOperation.js new file mode 100644 index 0000000000000000000000000000000000000000..0b866fbbd058cbf7ec30d5e6aa19f1b869c7ad63 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/actions/bundler/prepareUserOperation.js @@ -0,0 +1,357 @@ +import { parseAccount, } from '../../../accounts/utils/parseAccount.js'; +import { prepareAuthorization } from '../../../actions/index.js'; +import { estimateFeesPerGas, } from '../../../actions/public/estimateFeesPerGas.js'; +import { getChainId as getChainId_ } from '../../../actions/public/getChainId.js'; +import { AccountNotFoundError } from '../../../errors/account.js'; +import { encodeFunctionData, } from '../../../utils/abi/encodeFunctionData.js'; +import { concat } from '../../../utils/data/concat.js'; +import { getAction } from '../../../utils/getAction.js'; +import { getPaymasterData as getPaymasterData_, } from '../paymaster/getPaymasterData.js'; +import { getPaymasterStubData as getPaymasterStubData_, } from '../paymaster/getPaymasterStubData.js'; +import { estimateUserOperationGas, } from './estimateUserOperationGas.js'; +const defaultParameters = [ + 'factory', + 'fees', + 'gas', + 'paymaster', + 'nonce', + 'signature', + 'authorization', +]; +/** + * Prepares a User Operation and fills in missing properties. + * + * - Docs: https://viem.sh/actions/bundler/prepareUserOperation + * + * @param args - {@link PrepareUserOperationParameters} + * @returns The User Operation. {@link PrepareUserOperationReturnType} + * + * @example + * import { createBundlerClient, http } from 'viem' + * import { toSmartAccount } from 'viem/accounts' + * import { mainnet } from 'viem/chains' + * import { prepareUserOperation } from 'viem/actions' + * + * const account = await toSmartAccount({ ... }) + * + * const client = createBundlerClient({ + * chain: mainnet, + * transport: http(), + * }) + * + * const request = await prepareUserOperation(client, { + * account, + * calls: [{ to: '0x...', value: parseEther('1') }], + * }) + */ +export async function prepareUserOperation(client, parameters_) { + const parameters = parameters_; + const { account: account_ = client.account, dataSuffix = typeof client.dataSuffix === 'string' + ? client.dataSuffix + : client.dataSuffix?.value, parameters: properties = defaultParameters, stateOverride, } = parameters; + //////////////////////////////////////////////////////////////////////////////// + // Assert that an Account is defined. + //////////////////////////////////////////////////////////////////////////////// + if (!account_) + throw new AccountNotFoundError(); + const account = parseAccount(account_); + //////////////////////////////////////////////////////////////////////////////// + // Declare typed Bundler Client. + //////////////////////////////////////////////////////////////////////////////// + const bundlerClient = client; + //////////////////////////////////////////////////////////////////////////////// + // Declare Paymaster properties. + //////////////////////////////////////////////////////////////////////////////// + const paymaster = parameters.paymaster ?? bundlerClient?.paymaster; + const paymasterAddress = typeof paymaster === 'string' ? paymaster : undefined; + const { getPaymasterStubData, getPaymasterData } = (() => { + // If `paymaster: true`, we will assume the Bundler Client supports Paymaster Actions. + if (paymaster === true) + return { + getPaymasterStubData: (parameters) => getAction(bundlerClient, getPaymasterStubData_, 'getPaymasterStubData')(parameters), + getPaymasterData: (parameters) => getAction(bundlerClient, getPaymasterData_, 'getPaymasterData')(parameters), + }; + // If Actions are passed to `paymaster` (via Paymaster Client or directly), we will use them. + if (typeof paymaster === 'object') { + const { getPaymasterStubData, getPaymasterData } = paymaster; + return { + getPaymasterStubData: (getPaymasterData && getPaymasterStubData + ? getPaymasterStubData + : getPaymasterData), + getPaymasterData: getPaymasterData && getPaymasterStubData + ? getPaymasterData + : undefined, + }; + } + // No Paymaster functions. + return { + getPaymasterStubData: undefined, + getPaymasterData: undefined, + }; + })(); + const paymasterContext = parameters.paymasterContext + ? parameters.paymasterContext + : bundlerClient?.paymasterContext; + //////////////////////////////////////////////////////////////////////////////// + // Set up the User Operation request. + //////////////////////////////////////////////////////////////////////////////// + let request = { + ...parameters, + paymaster: paymasterAddress, + sender: account.address, + }; + //////////////////////////////////////////////////////////////////////////////// + // Concurrently prepare properties required to fill the User Operation. + //////////////////////////////////////////////////////////////////////////////// + const [callData, factory, fees, nonce, authorization] = await Promise.all([ + (async () => { + if (parameters.calls) + return account.encodeCalls(parameters.calls.map((call_) => { + const call = call_; + if (call.abi) + return { + data: encodeFunctionData(call), + to: call.to, + value: call.value, + }; + return call; + })); + return parameters.callData; + })(), + (async () => { + if (!properties.includes('factory')) + return undefined; + if (parameters.initCode) + return { initCode: parameters.initCode }; + if (parameters.factory && parameters.factoryData) { + return { + factory: parameters.factory, + factoryData: parameters.factoryData, + }; + } + const { factory, factoryData } = await account.getFactoryArgs(); + if (account.entryPoint.version === '0.6') + return { + initCode: factory && factoryData ? concat([factory, factoryData]) : undefined, + }; + return { + factory, + factoryData, + }; + })(), + (async () => { + if (!properties.includes('fees')) + return undefined; + // If we have sufficient properties for fees, return them. + if (typeof parameters.maxFeePerGas === 'bigint' && + typeof parameters.maxPriorityFeePerGas === 'bigint') + return request; + // If the Bundler Client has a `estimateFeesPerGas` hook, run it. + if (bundlerClient?.userOperation?.estimateFeesPerGas) { + const fees = await bundlerClient.userOperation.estimateFeesPerGas({ + account, + bundlerClient, + userOperation: request, + }); + return { + ...request, + ...fees, + }; + } + // Otherwise, we will need to estimate the fees to fill the fee properties. + try { + const client_ = bundlerClient.client ?? client; + const fees = await getAction(client_, estimateFeesPerGas, 'estimateFeesPerGas')({ + chain: client_.chain, + type: 'eip1559', + }); + return { + maxFeePerGas: typeof parameters.maxFeePerGas === 'bigint' + ? parameters.maxFeePerGas + : BigInt( + // Bundlers unfortunately have strict rules on fee prechecks – we will need to set a generous buffer. + 2n * fees.maxFeePerGas), + maxPriorityFeePerGas: typeof parameters.maxPriorityFeePerGas === 'bigint' + ? parameters.maxPriorityFeePerGas + : BigInt( + // Bundlers unfortunately have strict rules on fee prechecks – we will need to set a generous buffer. + 2n * fees.maxPriorityFeePerGas), + }; + } + catch { + return undefined; + } + })(), + (async () => { + if (!properties.includes('nonce')) + return undefined; + if (typeof parameters.nonce === 'bigint') + return parameters.nonce; + return account.getNonce(); + })(), + (async () => { + if (!properties.includes('authorization')) + return undefined; + if (typeof parameters.authorization === 'object') + return parameters.authorization; + if (account.authorization && !(await account.isDeployed())) { + const authorization = await prepareAuthorization(account.client, account.authorization); + return { + ...authorization, + r: '0xfffffffffffffffffffffffffffffff000000000000000000000000000000000', + s: '0x7aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', + yParity: 1, + }; + } + return undefined; + })(), + ]); + //////////////////////////////////////////////////////////////////////////////// + // Fill User Operation with the prepared properties from above. + //////////////////////////////////////////////////////////////////////////////// + if (typeof callData !== 'undefined') + request.callData = dataSuffix ? concat([callData, dataSuffix]) : callData; + if (typeof factory !== 'undefined') + request = { ...request, ...factory }; + if (typeof fees !== 'undefined') + request = { ...request, ...fees }; + if (typeof nonce !== 'undefined') + request.nonce = nonce; + if (typeof authorization !== 'undefined') + request.authorization = authorization; + //////////////////////////////////////////////////////////////////////////////// + // Fill User Operation with the `signature` property. + //////////////////////////////////////////////////////////////////////////////// + if (properties.includes('signature')) { + if (typeof parameters.signature !== 'undefined') + request.signature = parameters.signature; + else + request.signature = await account.getStubSignature(request); + } + //////////////////////////////////////////////////////////////////////////////// + // `initCode` is required to be filled with EntryPoint 0.6. + //////////////////////////////////////////////////////////////////////////////// + // If no `initCode` is provided, we use an empty bytes string. + if (account.entryPoint.version === '0.6' && !request.initCode) + request.initCode = '0x'; + //////////////////////////////////////////////////////////////////////////////// + // Fill User Operation with paymaster-related properties for **gas estimation**. + //////////////////////////////////////////////////////////////////////////////// + let chainId; + async function getChainId() { + if (chainId) + return chainId; + if (client.chain) + return client.chain.id; + const chainId_ = await getAction(client, getChainId_, 'getChainId')({}); + chainId = chainId_; + return chainId; + } + // If the User Operation is intended to be sponsored, we will need to fill the paymaster-related + // User Operation properties required to estimate the User Operation gas. + let isPaymasterPopulated = false; + if (properties.includes('paymaster') && + getPaymasterStubData && + !paymasterAddress && + !parameters.paymasterAndData) { + const { isFinal = false, sponsor: _, ...paymasterArgs } = await getPaymasterStubData({ + chainId: await getChainId(), + entryPointAddress: account.entryPoint.address, + context: paymasterContext, + ...request, + }); + isPaymasterPopulated = isFinal; + request = { + ...request, + ...paymasterArgs, + }; + } + //////////////////////////////////////////////////////////////////////////////// + // `paymasterAndData` is required to be filled with EntryPoint 0.6. + //////////////////////////////////////////////////////////////////////////////// + // If no `paymasterAndData` is provided, we use an empty bytes string. + if (account.entryPoint.version === '0.6' && !request.paymasterAndData) + request.paymasterAndData = '0x'; + //////////////////////////////////////////////////////////////////////////////// + // Fill User Operation with gas-related properties. + //////////////////////////////////////////////////////////////////////////////// + if (properties.includes('gas')) { + // If the Account has opinionated gas estimation logic, run the `estimateGas` hook and + // fill the request with the prepared gas properties. + if (account.userOperation?.estimateGas) { + const gas = await account.userOperation.estimateGas(request); + request = { + ...request, + ...gas, + }; + } + // If not all the gas properties are already populated, we will need to estimate the gas + // to fill the gas properties. + if (typeof request.callGasLimit === 'undefined' || + typeof request.preVerificationGas === 'undefined' || + typeof request.verificationGasLimit === 'undefined' || + (request.paymaster && + typeof request.paymasterPostOpGasLimit === 'undefined') || + (request.paymaster && + typeof request.paymasterVerificationGasLimit === 'undefined')) { + const gas = await getAction(bundlerClient, estimateUserOperationGas, 'estimateUserOperationGas')({ + account, + // Some Bundlers fail if nullish gas values are provided for gas estimation :') – + // so we will need to set a default zeroish value. + callGasLimit: 0n, + preVerificationGas: 0n, + verificationGasLimit: 0n, + stateOverride, + ...(request.paymaster + ? { + paymasterPostOpGasLimit: 0n, + paymasterVerificationGasLimit: 0n, + } + : {}), + ...request, + }); + request = { + ...request, + callGasLimit: request.callGasLimit ?? gas.callGasLimit, + preVerificationGas: request.preVerificationGas ?? gas.preVerificationGas, + verificationGasLimit: request.verificationGasLimit ?? gas.verificationGasLimit, + paymasterPostOpGasLimit: request.paymasterPostOpGasLimit ?? gas.paymasterPostOpGasLimit, + paymasterVerificationGasLimit: request.paymasterVerificationGasLimit ?? + gas.paymasterVerificationGasLimit, + }; + } + } + //////////////////////////////////////////////////////////////////////////////// + // Fill User Operation with paymaster-related properties for **sending** the User Operation. + //////////////////////////////////////////////////////////////////////////////// + // If the User Operation is intended to be sponsored, we will need to fill the paymaster-related + // User Operation properties required to send the User Operation. + if (properties.includes('paymaster') && + getPaymasterData && + !paymasterAddress && + !parameters.paymasterAndData && + !isPaymasterPopulated) { + // Retrieve paymaster-related User Operation properties to be used for **sending** the User Operation. + const paymaster = await getPaymasterData({ + chainId: await getChainId(), + entryPointAddress: account.entryPoint.address, + context: paymasterContext, + ...request, + }); + request = { + ...request, + ...paymaster, + }; + } + //////////////////////////////////////////////////////////////////////////////// + // Remove redundant properties that do not conform to the User Operation schema. + //////////////////////////////////////////////////////////////////////////////// + delete request.calls; + delete request.parameters; + delete request.paymasterContext; + if (typeof request.paymaster !== 'string') + delete request.paymaster; + //////////////////////////////////////////////////////////////////////////////// + return request; +} +//# sourceMappingURL=prepareUserOperation.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/actions/bundler/prepareUserOperation.js.map b/node_modules/viem/_esm/account-abstraction/actions/bundler/prepareUserOperation.js.map new file mode 100644 index 0000000000000000000000000000000000000000..dc84b7053ee9f5581eab793ed79deb6df3f9e1ba --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/actions/bundler/prepareUserOperation.js.map @@ -0,0 +1 @@ +{"version":3,"file":"prepareUserOperation.js","sourceRoot":"","sources":["../../../../account-abstraction/actions/bundler/prepareUserOperation.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/actions/bundler/sendUserOperation.js b/node_modules/viem/_esm/account-abstraction/actions/bundler/sendUserOperation.js new file mode 100644 index 0000000000000000000000000000000000000000..bfbcd66064d2dd63eb25454987ff96f379d33f06 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/actions/bundler/sendUserOperation.js @@ -0,0 +1,66 @@ +import { parseAccount } from '../../../accounts/utils/parseAccount.js'; +import { AccountNotFoundError } from '../../../errors/account.js'; +import { getAction } from '../../../utils/getAction.js'; +import { getUserOperationError } from '../../utils/errors/getUserOperationError.js'; +import { formatUserOperationRequest, } from '../../utils/formatters/userOperationRequest.js'; +import { prepareUserOperation, } from './prepareUserOperation.js'; +/** + * Broadcasts a User Operation to the Bundler. + * + * - Docs: https://viem.sh/actions/bundler/sendUserOperation + * + * @param client - Client to use + * @param parameters - {@link SendUserOperationParameters} + * @returns The User Operation hash. {@link SendUserOperationReturnType} + * + * @example + * import { createBundlerClient, http, parseEther } from 'viem' + * import { mainnet } from 'viem/chains' + * import { toSmartAccount } from 'viem/accounts' + * import { sendUserOperation } from 'viem/actions' + * + * const account = await toSmartAccount({ ... }) + * + * const bundlerClient = createBundlerClient({ + * chain: mainnet, + * transport: http(), + * }) + * + * const values = await sendUserOperation(bundlerClient, { + * account, + * calls: [{ to: '0x...', value: parseEther('1') }], + * }) + */ +export async function sendUserOperation(client, parameters) { + const { account: account_ = client.account, entryPointAddress } = parameters; + if (!account_ && !parameters.sender) + throw new AccountNotFoundError(); + const account = account_ ? parseAccount(account_) : undefined; + const request = account + ? await getAction(client, prepareUserOperation, 'prepareUserOperation')(parameters) + : parameters; + const signature = (parameters.signature || + (await account?.signUserOperation?.(request))); + const rpcParameters = formatUserOperationRequest({ + ...request, + signature, + }); + try { + return await client.request({ + method: 'eth_sendUserOperation', + params: [ + rpcParameters, + (entryPointAddress ?? account?.entryPoint?.address), + ], + }, { retryCount: 0 }); + } + catch (error) { + const calls = parameters.calls; + throw getUserOperationError(error, { + ...request, + ...(calls ? { calls } : {}), + signature, + }); + } +} +//# sourceMappingURL=sendUserOperation.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/actions/bundler/sendUserOperation.js.map b/node_modules/viem/_esm/account-abstraction/actions/bundler/sendUserOperation.js.map new file mode 100644 index 0000000000000000000000000000000000000000..3b1a232b29182b435021ba72eff98da7111ad008 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/actions/bundler/sendUserOperation.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sendUserOperation.js","sourceRoot":"","sources":["../../../../account-abstraction/actions/bundler/sendUserOperation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAA;AAGtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAQjE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAevD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AACnF,OAAO,EAEL,0BAA0B,GAC3B,MAAM,gDAAgD,CAAA;AACvD,OAAO,EAGL,oBAAoB,GACrB,MAAM,2BAA2B,CAAA;AAsDlC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAKrC,MAAqD,EACrD,UAAwE;IAExE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,UAAU,CAAA;IAE5E,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,MAAM,IAAI,oBAAoB,EAAE,CAAA;IACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAE7D,MAAM,OAAO,GAAG,OAAO;QACrB,CAAC,CAAC,MAAM,SAAS,CACb,MAAM,EACN,oBAAoB,EACpB,sBAAsB,CACvB,CAAC,UAAuD,CAAC;QAC5D,CAAC,CAAC,UAAU,CAAA;IAEd,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,SAAS;QACrC,CAAC,MAAM,OAAO,EAAE,iBAAiB,EAAE,CAAC,OAAwB,CAAC,CAAC,CAAE,CAAA;IAElE,MAAM,aAAa,GAAG,0BAA0B,CAAC;QAC/C,GAAG,OAAO;QACV,SAAS;KACO,CAAC,CAAA;IAEnB,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,OAAO,CACzB;YACE,MAAM,EAAE,uBAAuB;YAC/B,MAAM,EAAE;gBACN,aAAa;gBACb,CAAC,iBAAiB,IAAI,OAAO,EAAE,UAAU,EAAE,OAAO,CAAE;aACrD;SACF,EACD,EAAE,UAAU,EAAE,CAAC,EAAE,CAClB,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GAAI,UAAkB,CAAC,KAAK,CAAA;QACvC,MAAM,qBAAqB,CAAC,KAAkB,EAAE;YAC9C,GAAI,OAAyB;YAC7B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,SAAS;SACV,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/actions/bundler/waitForUserOperationReceipt.js b/node_modules/viem/_esm/account-abstraction/actions/bundler/waitForUserOperationReceipt.js new file mode 100644 index 0000000000000000000000000000000000000000..642f7ae6f796cdab5967788bba644459680c9c77 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/actions/bundler/waitForUserOperationReceipt.js @@ -0,0 +1,74 @@ +import { getAction } from '../../../utils/getAction.js'; +import { observe } from '../../../utils/observe.js'; +import { poll } from '../../../utils/poll.js'; +import { stringify } from '../../../utils/stringify.js'; +import { WaitForUserOperationReceiptTimeoutError, } from '../../errors/userOperation.js'; +import { getUserOperationReceipt, } from './getUserOperationReceipt.js'; +/** + * Waits for the User Operation to be included on a [Block](https://viem.sh/docs/glossary/terms#block) (one confirmation), and then returns the User Operation receipt. + * + * - Docs: https://viem.sh/docs/actions/bundler/waitForUserOperationReceipt + * + * @param client - Client to use + * @param parameters - {@link WaitForUserOperationReceiptParameters} + * @returns The receipt. {@link WaitForUserOperationReceiptReturnType} + * + * @example + * import { createBundlerClient, http } from 'viem' + * import { mainnet } from 'viem/chains' + * import { waitForUserOperationReceipt } from 'viem/actions' + * + * const client = createBundlerClient({ + * chain: mainnet, + * transport: http(), + * }) + * + * const receipt = await waitForUserOperationReceipt(client, { + * hash: '0x4ca7ee652d57678f26e887c149ab0735f41de37bcad58c9f6d3ed5824f15b74d', + * }) + */ +export function waitForUserOperationReceipt(client, parameters) { + const { hash, pollingInterval = client.pollingInterval, retryCount, timeout = 120_000, } = parameters; + let count = 0; + const observerId = stringify([ + 'waitForUserOperationReceipt', + client.uid, + hash, + ]); + return new Promise((resolve, reject) => { + const unobserve = observe(observerId, { resolve, reject }, (emit) => { + const done = (fn) => { + unpoll(); + fn(); + unobserve(); + }; + const timeoutId = timeout + ? setTimeout(() => done(() => emit.reject(new WaitForUserOperationReceiptTimeoutError({ hash }))), timeout) + : undefined; + const unpoll = poll(async () => { + if (retryCount && count >= retryCount) { + clearTimeout(timeoutId); + done(() => emit.reject(new WaitForUserOperationReceiptTimeoutError({ hash }))); + } + try { + const receipt = await getAction(client, getUserOperationReceipt, 'getUserOperationReceipt')({ hash }); + clearTimeout(timeoutId); + done(() => emit.resolve(receipt)); + } + catch (err) { + const error = err; + if (error.name !== 'UserOperationReceiptNotFoundError') { + clearTimeout(timeoutId); + done(() => emit.reject(error)); + } + } + count++; + }, { + emitOnBegin: true, + interval: pollingInterval, + }); + return unpoll; + }); + }); +} +//# sourceMappingURL=waitForUserOperationReceipt.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/actions/bundler/waitForUserOperationReceipt.js.map b/node_modules/viem/_esm/account-abstraction/actions/bundler/waitForUserOperationReceipt.js.map new file mode 100644 index 0000000000000000000000000000000000000000..0b4cd9561ba1137b764c2485de24a0d28a97b62b --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/actions/bundler/waitForUserOperationReceipt.js.map @@ -0,0 +1 @@ +{"version":3,"file":"waitForUserOperationReceipt.js","sourceRoot":"","sources":["../../../../account-abstraction/actions/bundler/waitForUserOperationReceipt.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAyB,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAsB,IAAI,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EACL,uCAAuC,GAExC,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAEL,uBAAuB,GACxB,MAAM,8BAA8B,CAAA;AA4BrC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAyB,EACzB,UAAiD;IAEjD,MAAM,EACJ,IAAI,EACJ,eAAe,GAAG,MAAM,CAAC,eAAe,EACxC,UAAU,EACV,OAAO,GAAG,OAAO,GAClB,GAAG,UAAU,CAAA;IAEd,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,MAAM,UAAU,GAAG,SAAS,CAAC;QAC3B,6BAA6B;QAC7B,MAAM,CAAC,GAAG;QACV,IAAI;KACL,CAAC,CAAA;IAEF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;YAClE,MAAM,IAAI,GAAG,CAAC,EAAc,EAAE,EAAE;gBAC9B,MAAM,EAAE,CAAA;gBACR,EAAE,EAAE,CAAA;gBACJ,SAAS,EAAE,CAAA;YACb,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,OAAO;gBACvB,CAAC,CAAC,UAAU,CACR,GAAG,EAAE,CACH,IAAI,CAAC,GAAG,EAAE,CACR,IAAI,CAAC,MAAM,CACT,IAAI,uCAAuC,CAAC,EAAE,IAAI,EAAE,CAAC,CACtD,CACF,EACH,OAAO,CACR;gBACH,CAAC,CAAC,SAAS,CAAA;YAEb,MAAM,MAAM,GAAG,IAAI,CACjB,KAAK,IAAI,EAAE;gBACT,IAAI,UAAU,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;oBACtC,YAAY,CAAC,SAAS,CAAC,CAAA;oBACvB,IAAI,CAAC,GAAG,EAAE,CACR,IAAI,CAAC,MAAM,CACT,IAAI,uCAAuC,CAAC,EAAE,IAAI,EAAE,CAAC,CACtD,CACF,CAAA;gBACH,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAC7B,MAAM,EACN,uBAAuB,EACvB,yBAAyB,CAC1B,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;oBACX,YAAY,CAAC,SAAS,CAAC,CAAA;oBACvB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;gBACnC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,KAAK,GAAG,GAAuC,CAAA;oBACrD,IAAI,KAAK,CAAC,IAAI,KAAK,mCAAmC,EAAE,CAAC;wBACvD,YAAY,CAAC,SAAS,CAAC,CAAA;wBACvB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;oBAChC,CAAC;gBACH,CAAC;gBAED,KAAK,EAAE,CAAA;YACT,CAAC,EACD;gBACE,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,eAAe;aAC1B,CACF,CAAA;YAED,OAAO,MAAM,CAAA;QACf,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/actions/paymaster/getPaymasterData.js b/node_modules/viem/_esm/account-abstraction/actions/paymaster/getPaymasterData.js new file mode 100644 index 0000000000000000000000000000000000000000..471eb36a5115c3a3ee7af593b1816e61b8010ee2 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/actions/paymaster/getPaymasterData.js @@ -0,0 +1,56 @@ +import { hexToBigInt } from '../../../utils/encoding/fromHex.js'; +import { numberToHex } from '../../../utils/encoding/toHex.js'; +import { formatUserOperationRequest, } from '../../utils/formatters/userOperationRequest.js'; +/** + * Retrieves paymaster-related User Operation properties to be used for sending the User Operation. + * + * - Docs: https://viem.sh/account-abstraction/actions/paymaster/getPaymasterData + * + * @param client - Client to use + * @param parameters - {@link GetPaymasterDataParameters} + * @returns Paymaster-related User Operation properties. {@link GetPaymasterDataReturnType} + * + * @example + * import { http } from 'viem' + * import { createPaymasterClient, getPaymasterData } from 'viem/account-abstraction' + * + * const paymasterClient = createPaymasterClient({ + * transport: http('https://...'), + * }) + * + * const userOperation = { ... } + * + * const values = await getPaymasterData(paymasterClient, { + * chainId: 1, + * entryPointAddress: '0x...', + * ...userOperation, + * }) + */ +export async function getPaymasterData(client, parameters) { + const { chainId, entryPointAddress, context, ...userOperation } = parameters; + const request = formatUserOperationRequest(userOperation); + const { paymasterPostOpGasLimit, paymasterVerificationGasLimit, ...rest } = await client.request({ + method: 'pm_getPaymasterData', + params: [ + { + ...request, + callGasLimit: request.callGasLimit ?? '0x0', + verificationGasLimit: request.verificationGasLimit ?? '0x0', + preVerificationGas: request.preVerificationGas ?? '0x0', + }, + entryPointAddress, + numberToHex(chainId), + context, + ], + }); + return { + ...rest, + ...(paymasterPostOpGasLimit && { + paymasterPostOpGasLimit: hexToBigInt(paymasterPostOpGasLimit), + }), + ...(paymasterVerificationGasLimit && { + paymasterVerificationGasLimit: hexToBigInt(paymasterVerificationGasLimit), + }), + }; +} +//# sourceMappingURL=getPaymasterData.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/actions/paymaster/getPaymasterData.js.map b/node_modules/viem/_esm/account-abstraction/actions/paymaster/getPaymasterData.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c24698e2bd6db838162f166dc9e0ed68f7b02c85 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/actions/paymaster/getPaymasterData.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getPaymasterData.js","sourceRoot":"","sources":["../../../../account-abstraction/actions/paymaster/getPaymasterData.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAE9D,OAAO,EAEL,0BAA0B,GAC3B,MAAM,gDAAgD,CAAA;AA6FvD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAyB,EACzB,UAAsC;IAEtC,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,UAAU,CAAA;IAC5E,MAAM,OAAO,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAA;IACzD,MAAM,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,GAAG,IAAI,EAAE,GACvE,MAAM,MAAM,CAAC,OAAO,CAAC;QACnB,MAAM,EAAE,qBAAqB;QAC7B,MAAM,EAAE;YACN;gBACE,GAAG,OAAO;gBACV,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK;gBAC3C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,KAAK;gBAC3D,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,KAAK;aACxD;YACD,iBAAiB;YACjB,WAAW,CAAC,OAAO,CAAC;YACpB,OAAO;SACR;KACF,CAAC,CAAA;IACJ,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,uBAAuB,IAAI;YAC7B,uBAAuB,EAAE,WAAW,CAAC,uBAAuB,CAAC;SAC9D,CAAC;QACF,GAAG,CAAC,6BAA6B,IAAI;YACnC,6BAA6B,EAAE,WAAW,CAAC,6BAA6B,CAAC;SAC1E,CAAC;KACsC,CAAA;AAC5C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/actions/paymaster/getPaymasterStubData.js b/node_modules/viem/_esm/account-abstraction/actions/paymaster/getPaymasterStubData.js new file mode 100644 index 0000000000000000000000000000000000000000..57225fd0b4f0f266d4aa2765121bf429f3acc9ff --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/actions/paymaster/getPaymasterStubData.js @@ -0,0 +1,56 @@ +import { hexToBigInt } from '../../../utils/encoding/fromHex.js'; +import { numberToHex } from '../../../utils/encoding/toHex.js'; +import { formatUserOperationRequest, } from '../../utils/formatters/userOperationRequest.js'; +/** + * Retrieves paymaster-related User Operation properties to be used for gas estimation. + * + * - Docs: https://viem.sh/account-abstraction/actions/paymaster/getPaymasterStubData + * + * @param client - Client to use + * @param parameters - {@link GetPaymasterStubDataParameters} + * @returns Paymaster-related User Operation properties. {@link GetPaymasterStubDataReturnType} + * + * @example + * import { http } from 'viem' + * import { createPaymasterClient, getPaymasterStubData } from 'viem/account-abstraction' + * + * const paymasterClient = createPaymasterClient({ + * transport: http('https://...'), + * }) + * + * const userOperation = { ... } + * + * const values = await getPaymasterStubData(paymasterClient, { + * chainId: 1, + * entryPointAddress: '0x...', + * ...userOperation, + * }) + */ +export async function getPaymasterStubData(client, parameters) { + const { chainId, entryPointAddress, context, ...userOperation } = parameters; + const request = formatUserOperationRequest(userOperation); + const { paymasterPostOpGasLimit, paymasterVerificationGasLimit, ...rest } = await client.request({ + method: 'pm_getPaymasterStubData', + params: [ + { + ...request, + callGasLimit: request.callGasLimit ?? '0x0', + verificationGasLimit: request.verificationGasLimit ?? '0x0', + preVerificationGas: request.preVerificationGas ?? '0x0', + }, + entryPointAddress, + numberToHex(chainId), + context, + ], + }); + return { + ...rest, + ...(paymasterPostOpGasLimit && { + paymasterPostOpGasLimit: hexToBigInt(paymasterPostOpGasLimit), + }), + ...(paymasterVerificationGasLimit && { + paymasterVerificationGasLimit: hexToBigInt(paymasterVerificationGasLimit), + }), + }; +} +//# sourceMappingURL=getPaymasterStubData.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/actions/paymaster/getPaymasterStubData.js.map b/node_modules/viem/_esm/account-abstraction/actions/paymaster/getPaymasterStubData.js.map new file mode 100644 index 0000000000000000000000000000000000000000..bedc3945c75f4494a3984aef5324f4fed59ad166 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/actions/paymaster/getPaymasterStubData.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getPaymasterStubData.js","sourceRoot":"","sources":["../../../../account-abstraction/actions/paymaster/getPaymasterStubData.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAE9D,OAAO,EAEL,0BAA0B,GAC3B,MAAM,gDAAgD,CAAA;AAsEvD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAyB,EACzB,UAA0C;IAE1C,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,UAAU,CAAA;IAC5E,MAAM,OAAO,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAA;IACzD,MAAM,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,GAAG,IAAI,EAAE,GACvE,MAAM,MAAM,CAAC,OAAO,CAAC;QACnB,MAAM,EAAE,yBAAyB;QACjC,MAAM,EAAE;YACN;gBACE,GAAG,OAAO;gBACV,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,KAAK;gBAC3C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,KAAK;gBAC3D,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,KAAK;aACxD;YACD,iBAAiB;YACjB,WAAW,CAAC,OAAO,CAAC;YACpB,OAAO;SACR;KACF,CAAC,CAAA;IACJ,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,uBAAuB,IAAI;YAC7B,uBAAuB,EAAE,WAAW,CAAC,uBAAuB,CAAC;SAC9D,CAAC;QACF,GAAG,CAAC,6BAA6B,IAAI;YACnC,6BAA6B,EAAE,WAAW,CAAC,6BAA6B,CAAC;SAC1E,CAAC;KAC0C,CAAA;AAChD,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/clients/createBundlerClient.js b/node_modules/viem/_esm/account-abstraction/clients/createBundlerClient.js new file mode 100644 index 0000000000000000000000000000000000000000..8e75f8b15cc2823764c8308a8471e67f34fbb837 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/clients/createBundlerClient.js @@ -0,0 +1,21 @@ +import { createClient, } from '../../clients/createClient.js'; +import { bundlerActions } from './decorators/bundler.js'; +export function createBundlerClient(parameters) { + const { client: client_, dataSuffix, key = 'bundler', name = 'Bundler Client', paymaster, paymasterContext, transport, userOperation, } = parameters; + const client = Object.assign(createClient({ + ...parameters, + chain: parameters.chain ?? client_?.chain, + key, + name, + transport, + type: 'bundlerClient', + }), { + client: client_, + dataSuffix: dataSuffix ?? client_?.dataSuffix, + paymaster, + paymasterContext, + userOperation, + }); + return client.extend(bundlerActions); +} +//# sourceMappingURL=createBundlerClient.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/clients/createBundlerClient.js.map b/node_modules/viem/_esm/account-abstraction/clients/createBundlerClient.js.map new file mode 100644 index 0000000000000000000000000000000000000000..25d9cbc2f74af1472031f78c2d26086d7295171b --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/clients/createBundlerClient.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createBundlerClient.js","sourceRoot":"","sources":["../../../account-abstraction/clients/createBundlerClient.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,YAAY,GACb,MAAM,+BAA+B,CAAA;AAStC,OAAO,EAAuB,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAsH7E,MAAM,UAAU,mBAAmB,CACjC,UAA+B;IAE/B,MAAM,EACJ,MAAM,EAAE,OAAO,EACf,UAAU,EACV,GAAG,GAAG,SAAS,EACf,IAAI,GAAG,gBAAgB,EACvB,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,aAAa,GACd,GAAG,UAAU,CAAA;IACd,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAC1B,YAAY,CAAC;QACX,GAAG,UAAU;QACb,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,OAAO,EAAE,KAAK;QACzC,GAAG;QACH,IAAI;QACJ,SAAS;QACT,IAAI,EAAE,eAAe;KACtB,CAAC,EACF;QACE,MAAM,EAAE,OAAO;QACf,UAAU,EAAE,UAAU,IAAI,OAAO,EAAE,UAAU;QAC7C,SAAS;QACT,gBAAgB;QAChB,aAAa;KACd,CACF,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAQ,CAAA;AAC7C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/clients/createPaymasterClient.js b/node_modules/viem/_esm/account-abstraction/clients/createPaymasterClient.js new file mode 100644 index 0000000000000000000000000000000000000000..1969be648d3bd071e65dcc715ed4f7718edf2b28 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/clients/createPaymasterClient.js @@ -0,0 +1,14 @@ +import { createClient, } from '../../clients/createClient.js'; +import { paymasterActions, } from './decorators/paymaster.js'; +export function createPaymasterClient(parameters) { + const { key = 'bundler', name = 'Bundler Client', transport } = parameters; + const client = createClient({ + ...parameters, + key, + name, + transport, + type: 'PaymasterClient', + }); + return client.extend(paymasterActions); +} +//# sourceMappingURL=createPaymasterClient.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/clients/createPaymasterClient.js.map b/node_modules/viem/_esm/account-abstraction/clients/createPaymasterClient.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b879c20fad72d8ea4f19e1c7a584f75624bd87e6 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/clients/createPaymasterClient.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createPaymasterClient.js","sourceRoot":"","sources":["../../../account-abstraction/clients/createPaymasterClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,YAAY,GACb,MAAM,+BAA+B,CAAA;AAKtC,OAAO,EAEL,gBAAgB,GACjB,MAAM,2BAA2B,CAAA;AAoDlC,MAAM,UAAU,qBAAqB,CACnC,UAAiC;IAEjC,MAAM,EAAE,GAAG,GAAG,SAAS,EAAE,IAAI,GAAG,gBAAgB,EAAE,SAAS,EAAE,GAAG,UAAU,CAAA;IAC1E,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,GAAG,UAAU;QACb,GAAG;QACH,IAAI;QACJ,SAAS;QACT,IAAI,EAAE,iBAAiB;KACxB,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;AACxC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/clients/decorators/bundler.js b/node_modules/viem/_esm/account-abstraction/clients/decorators/bundler.js new file mode 100644 index 0000000000000000000000000000000000000000..711859a52d67650823ec489cbdfaacf44b9ae2eb --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/clients/decorators/bundler.js @@ -0,0 +1,21 @@ +import { getChainId, } from '../../../actions/public/getChainId.js'; +import { estimateUserOperationGas, } from '../../actions/bundler/estimateUserOperationGas.js'; +import { getSupportedEntryPoints, } from '../../actions/bundler/getSupportedEntryPoints.js'; +import { getUserOperation, } from '../../actions/bundler/getUserOperation.js'; +import { getUserOperationReceipt, } from '../../actions/bundler/getUserOperationReceipt.js'; +import { prepareUserOperation, } from '../../actions/bundler/prepareUserOperation.js'; +import { sendUserOperation, } from '../../actions/bundler/sendUserOperation.js'; +import { waitForUserOperationReceipt, } from '../../actions/bundler/waitForUserOperationReceipt.js'; +export function bundlerActions(client) { + return { + estimateUserOperationGas: (parameters) => estimateUserOperationGas(client, parameters), + getChainId: () => getChainId(client), + getSupportedEntryPoints: () => getSupportedEntryPoints(client), + getUserOperation: (parameters) => getUserOperation(client, parameters), + getUserOperationReceipt: (parameters) => getUserOperationReceipt(client, parameters), + prepareUserOperation: (parameters) => prepareUserOperation(client, parameters), + sendUserOperation: (parameters) => sendUserOperation(client, parameters), + waitForUserOperationReceipt: (parameters) => waitForUserOperationReceipt(client, parameters), + }; +} +//# sourceMappingURL=bundler.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/clients/decorators/bundler.js.map b/node_modules/viem/_esm/account-abstraction/clients/decorators/bundler.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d5bc79de098b53495fd5baf1db26582c1de713c0 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/clients/decorators/bundler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../../account-abstraction/clients/decorators/bundler.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,GACX,MAAM,uCAAuC,CAAA;AAK9C,OAAO,EAGL,wBAAwB,GACzB,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAEL,uBAAuB,GACxB,MAAM,kDAAkD,CAAA;AACzD,OAAO,EAGL,gBAAgB,GACjB,MAAM,2CAA2C,CAAA;AAClD,OAAO,EAGL,uBAAuB,GACxB,MAAM,kDAAkD,CAAA;AACzD,OAAO,EAIL,oBAAoB,GACrB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAGL,iBAAiB,GAClB,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAGL,2BAA2B,GAC5B,MAAM,sDAAsD,CAAA;AA0O7D,MAAM,UAAU,cAAc,CAI5B,MAAyC;IACzC,OAAO;QACL,wBAAwB,EAAE,CAAC,UAAU,EAAE,EAAE,CACvC,wBAAwB,CAAC,MAAM,EAAE,UAAU,CAAC;QAC9C,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QACpC,uBAAuB,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,MAAM,CAAC;QAC9D,gBAAgB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC;QACtE,uBAAuB,EAAE,CAAC,UAAU,EAAE,EAAE,CACtC,uBAAuB,CAAC,MAAM,EAAE,UAAU,CAAC;QAC7C,oBAAoB,EAAE,CAAC,UAAU,EAAE,EAAE,CACnC,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC;QAC1C,iBAAiB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC;QACxE,2BAA2B,EAAE,CAAC,UAAU,EAAE,EAAE,CAC1C,2BAA2B,CAAC,MAAM,EAAE,UAAU,CAAC;KAClD,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/clients/decorators/paymaster.js b/node_modules/viem/_esm/account-abstraction/clients/decorators/paymaster.js new file mode 100644 index 0000000000000000000000000000000000000000..3888c37c41148bb6659d3fdfb20f43f6aa4bd02c --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/clients/decorators/paymaster.js @@ -0,0 +1,9 @@ +import { getPaymasterData, } from '../../actions/paymaster/getPaymasterData.js'; +import { getPaymasterStubData, } from '../../actions/paymaster/getPaymasterStubData.js'; +export function paymasterActions(client) { + return { + getPaymasterData: (parameters) => getPaymasterData(client, parameters), + getPaymasterStubData: (parameters) => getPaymasterStubData(client, parameters), + }; +} +//# sourceMappingURL=paymaster.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/clients/decorators/paymaster.js.map b/node_modules/viem/_esm/account-abstraction/clients/decorators/paymaster.js.map new file mode 100644 index 0000000000000000000000000000000000000000..1179623cbff0012aeb031fcb4ee394baf23684bf --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/clients/decorators/paymaster.js.map @@ -0,0 +1 @@ +{"version":3,"file":"paymaster.js","sourceRoot":"","sources":["../../../../account-abstraction/clients/decorators/paymaster.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,gBAAgB,GACjB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAGL,oBAAoB,GACrB,MAAM,iDAAiD,CAAA;AA6DxD,MAAM,UAAU,gBAAgB,CAC9B,MAAyB;IAEzB,OAAO;QACL,gBAAgB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC;QACtE,oBAAoB,EAAE,CAAC,UAAU,EAAE,EAAE,CACnC,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC;KAC3C,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/constants/abis.js b/node_modules/viem/_esm/account-abstraction/constants/abis.js new file mode 100644 index 0000000000000000000000000000000000000000..530f1bd40f4369c21064e941ed01ef25b001a980 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/constants/abis.js @@ -0,0 +1,2874 @@ +export const entryPoint06Abi = [ + { + inputs: [ + { name: 'preOpGas', type: 'uint256' }, + { name: 'paid', type: 'uint256' }, + { name: 'validAfter', type: 'uint48' }, + { name: 'validUntil', type: 'uint48' }, + { name: 'targetSuccess', type: 'bool' }, + { name: 'targetResult', type: 'bytes' }, + ], + name: 'ExecutionResult', + type: 'error', + }, + { + inputs: [ + { name: 'opIndex', type: 'uint256' }, + { name: 'reason', type: 'string' }, + ], + name: 'FailedOp', + type: 'error', + }, + { + inputs: [{ name: 'sender', type: 'address' }], + name: 'SenderAddressResult', + type: 'error', + }, + { + inputs: [{ name: 'aggregator', type: 'address' }], + name: 'SignatureValidationFailed', + type: 'error', + }, + { + inputs: [ + { + components: [ + { name: 'preOpGas', type: 'uint256' }, + { name: 'prefund', type: 'uint256' }, + { name: 'sigFailed', type: 'bool' }, + { name: 'validAfter', type: 'uint48' }, + { name: 'validUntil', type: 'uint48' }, + { name: 'paymasterContext', type: 'bytes' }, + ], + name: 'returnInfo', + type: 'tuple', + }, + { + components: [ + { name: 'stake', type: 'uint256' }, + { name: 'unstakeDelaySec', type: 'uint256' }, + ], + name: 'senderInfo', + type: 'tuple', + }, + { + components: [ + { name: 'stake', type: 'uint256' }, + { name: 'unstakeDelaySec', type: 'uint256' }, + ], + name: 'factoryInfo', + type: 'tuple', + }, + { + components: [ + { name: 'stake', type: 'uint256' }, + { name: 'unstakeDelaySec', type: 'uint256' }, + ], + name: 'paymasterInfo', + type: 'tuple', + }, + ], + name: 'ValidationResult', + type: 'error', + }, + { + inputs: [ + { + components: [ + { name: 'preOpGas', type: 'uint256' }, + { name: 'prefund', type: 'uint256' }, + { name: 'sigFailed', type: 'bool' }, + { name: 'validAfter', type: 'uint48' }, + { name: 'validUntil', type: 'uint48' }, + { name: 'paymasterContext', type: 'bytes' }, + ], + name: 'returnInfo', + type: 'tuple', + }, + { + components: [ + { name: 'stake', type: 'uint256' }, + { name: 'unstakeDelaySec', type: 'uint256' }, + ], + name: 'senderInfo', + type: 'tuple', + }, + { + components: [ + { name: 'stake', type: 'uint256' }, + { name: 'unstakeDelaySec', type: 'uint256' }, + ], + name: 'factoryInfo', + type: 'tuple', + }, + { + components: [ + { name: 'stake', type: 'uint256' }, + { name: 'unstakeDelaySec', type: 'uint256' }, + ], + name: 'paymasterInfo', + type: 'tuple', + }, + { + components: [ + { name: 'aggregator', type: 'address' }, + { + components: [ + { name: 'stake', type: 'uint256' }, + { + name: 'unstakeDelaySec', + type: 'uint256', + }, + ], + name: 'stakeInfo', + type: 'tuple', + }, + ], + name: 'aggregatorInfo', + type: 'tuple', + }, + ], + name: 'ValidationResultWithAggregation', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'userOpHash', + type: 'bytes32', + }, + { + indexed: true, + name: 'sender', + type: 'address', + }, + { + indexed: false, + name: 'factory', + type: 'address', + }, + { + indexed: false, + name: 'paymaster', + type: 'address', + }, + ], + name: 'AccountDeployed', + type: 'event', + }, + { anonymous: false, inputs: [], name: 'BeforeExecution', type: 'event' }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'account', + type: 'address', + }, + { + indexed: false, + name: 'totalDeposit', + type: 'uint256', + }, + ], + name: 'Deposited', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'aggregator', + type: 'address', + }, + ], + name: 'SignatureAggregatorChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'account', + type: 'address', + }, + { + indexed: false, + name: 'totalStaked', + type: 'uint256', + }, + { + indexed: false, + name: 'unstakeDelaySec', + type: 'uint256', + }, + ], + name: 'StakeLocked', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'account', + type: 'address', + }, + { + indexed: false, + name: 'withdrawTime', + type: 'uint256', + }, + ], + name: 'StakeUnlocked', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'account', + type: 'address', + }, + { + indexed: false, + name: 'withdrawAddress', + type: 'address', + }, + { + indexed: false, + name: 'amount', + type: 'uint256', + }, + ], + name: 'StakeWithdrawn', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'userOpHash', + type: 'bytes32', + }, + { + indexed: true, + name: 'sender', + type: 'address', + }, + { + indexed: true, + name: 'paymaster', + type: 'address', + }, + { + indexed: false, + name: 'nonce', + type: 'uint256', + }, + { indexed: false, name: 'success', type: 'bool' }, + { + indexed: false, + name: 'actualGasCost', + type: 'uint256', + }, + { + indexed: false, + name: 'actualGasUsed', + type: 'uint256', + }, + ], + name: 'UserOperationEvent', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'userOpHash', + type: 'bytes32', + }, + { + indexed: true, + name: 'sender', + type: 'address', + }, + { + indexed: false, + name: 'nonce', + type: 'uint256', + }, + { + indexed: false, + name: 'revertReason', + type: 'bytes', + }, + ], + name: 'UserOperationRevertReason', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'account', + type: 'address', + }, + { + indexed: false, + name: 'withdrawAddress', + type: 'address', + }, + { + indexed: false, + name: 'amount', + type: 'uint256', + }, + ], + name: 'Withdrawn', + type: 'event', + }, + { + inputs: [], + name: 'SIG_VALIDATION_FAILED', + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { name: 'initCode', type: 'bytes' }, + { name: 'sender', type: 'address' }, + { name: 'paymasterAndData', type: 'bytes' }, + ], + name: '_validateSenderAndPaymaster', + outputs: [], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ name: 'unstakeDelaySec', type: 'uint32' }], + name: 'addStake', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [{ name: 'account', type: 'address' }], + name: 'balanceOf', + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ name: 'account', type: 'address' }], + name: 'depositTo', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [{ name: '', type: 'address' }], + name: 'deposits', + outputs: [ + { name: 'deposit', type: 'uint112' }, + { name: 'staked', type: 'bool' }, + { name: 'stake', type: 'uint112' }, + { name: 'unstakeDelaySec', type: 'uint32' }, + { name: 'withdrawTime', type: 'uint48' }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ name: 'account', type: 'address' }], + name: 'getDepositInfo', + outputs: [ + { + components: [ + { name: 'deposit', type: 'uint112' }, + { name: 'staked', type: 'bool' }, + { name: 'stake', type: 'uint112' }, + { name: 'unstakeDelaySec', type: 'uint32' }, + { name: 'withdrawTime', type: 'uint48' }, + ], + name: 'info', + type: 'tuple', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { name: 'sender', type: 'address' }, + { name: 'key', type: 'uint192' }, + ], + name: 'getNonce', + outputs: [{ name: 'nonce', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ name: 'initCode', type: 'bytes' }], + name: 'getSenderAddress', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { name: 'sender', type: 'address' }, + { name: 'nonce', type: 'uint256' }, + { name: 'initCode', type: 'bytes' }, + { name: 'callData', type: 'bytes' }, + { name: 'callGasLimit', type: 'uint256' }, + { + name: 'verificationGasLimit', + type: 'uint256', + }, + { + name: 'preVerificationGas', + type: 'uint256', + }, + { name: 'maxFeePerGas', type: 'uint256' }, + { + name: 'maxPriorityFeePerGas', + type: 'uint256', + }, + { name: 'paymasterAndData', type: 'bytes' }, + { name: 'signature', type: 'bytes' }, + ], + name: 'userOp', + type: 'tuple', + }, + ], + name: 'getUserOpHash', + outputs: [{ name: '', type: 'bytes32' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + components: [ + { name: 'sender', type: 'address' }, + { name: 'nonce', type: 'uint256' }, + { name: 'initCode', type: 'bytes' }, + { name: 'callData', type: 'bytes' }, + { + name: 'callGasLimit', + type: 'uint256', + }, + { + name: 'verificationGasLimit', + type: 'uint256', + }, + { + name: 'preVerificationGas', + type: 'uint256', + }, + { + name: 'maxFeePerGas', + type: 'uint256', + }, + { + name: 'maxPriorityFeePerGas', + type: 'uint256', + }, + { + name: 'paymasterAndData', + type: 'bytes', + }, + { name: 'signature', type: 'bytes' }, + ], + name: 'userOps', + type: 'tuple[]', + }, + { + name: 'aggregator', + type: 'address', + }, + { name: 'signature', type: 'bytes' }, + ], + name: 'opsPerAggregator', + type: 'tuple[]', + }, + { name: 'beneficiary', type: 'address' }, + ], + name: 'handleAggregatedOps', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { name: 'sender', type: 'address' }, + { name: 'nonce', type: 'uint256' }, + { name: 'initCode', type: 'bytes' }, + { name: 'callData', type: 'bytes' }, + { name: 'callGasLimit', type: 'uint256' }, + { + name: 'verificationGasLimit', + type: 'uint256', + }, + { + name: 'preVerificationGas', + type: 'uint256', + }, + { name: 'maxFeePerGas', type: 'uint256' }, + { + name: 'maxPriorityFeePerGas', + type: 'uint256', + }, + { name: 'paymasterAndData', type: 'bytes' }, + { name: 'signature', type: 'bytes' }, + ], + name: 'ops', + type: 'tuple[]', + }, + { name: 'beneficiary', type: 'address' }, + ], + name: 'handleOps', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [{ name: 'key', type: 'uint192' }], + name: 'incrementNonce', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { name: 'callData', type: 'bytes' }, + { + components: [ + { + components: [ + { name: 'sender', type: 'address' }, + { name: 'nonce', type: 'uint256' }, + { + name: 'callGasLimit', + type: 'uint256', + }, + { + name: 'verificationGasLimit', + type: 'uint256', + }, + { + name: 'preVerificationGas', + type: 'uint256', + }, + { name: 'paymaster', type: 'address' }, + { + name: 'maxFeePerGas', + type: 'uint256', + }, + { + name: 'maxPriorityFeePerGas', + type: 'uint256', + }, + ], + name: 'mUserOp', + type: 'tuple', + }, + { name: 'userOpHash', type: 'bytes32' }, + { name: 'prefund', type: 'uint256' }, + { name: 'contextOffset', type: 'uint256' }, + { name: 'preOpGas', type: 'uint256' }, + ], + name: 'opInfo', + type: 'tuple', + }, + { name: 'context', type: 'bytes' }, + ], + name: 'innerHandleOp', + outputs: [{ name: 'actualGasCost', type: 'uint256' }], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { name: '', type: 'address' }, + { name: '', type: 'uint192' }, + ], + name: 'nonceSequenceNumber', + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + components: [ + { name: 'sender', type: 'address' }, + { name: 'nonce', type: 'uint256' }, + { name: 'initCode', type: 'bytes' }, + { name: 'callData', type: 'bytes' }, + { name: 'callGasLimit', type: 'uint256' }, + { + name: 'verificationGasLimit', + type: 'uint256', + }, + { + name: 'preVerificationGas', + type: 'uint256', + }, + { name: 'maxFeePerGas', type: 'uint256' }, + { + name: 'maxPriorityFeePerGas', + type: 'uint256', + }, + { name: 'paymasterAndData', type: 'bytes' }, + { name: 'signature', type: 'bytes' }, + ], + name: 'op', + type: 'tuple', + }, + { name: 'target', type: 'address' }, + { name: 'targetCallData', type: 'bytes' }, + ], + name: 'simulateHandleOp', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { name: 'sender', type: 'address' }, + { name: 'nonce', type: 'uint256' }, + { name: 'initCode', type: 'bytes' }, + { name: 'callData', type: 'bytes' }, + { name: 'callGasLimit', type: 'uint256' }, + { + name: 'verificationGasLimit', + type: 'uint256', + }, + { + name: 'preVerificationGas', + type: 'uint256', + }, + { name: 'maxFeePerGas', type: 'uint256' }, + { + name: 'maxPriorityFeePerGas', + type: 'uint256', + }, + { name: 'paymasterAndData', type: 'bytes' }, + { name: 'signature', type: 'bytes' }, + ], + name: 'userOp', + type: 'tuple', + }, + ], + name: 'simulateValidation', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'unlockStake', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + name: 'withdrawAddress', + type: 'address', + }, + ], + name: 'withdrawStake', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + name: 'withdrawAddress', + type: 'address', + }, + { name: 'withdrawAmount', type: 'uint256' }, + ], + name: 'withdrawTo', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { stateMutability: 'payable', type: 'receive' }, +]; +export const entryPoint07Abi = [ + { + inputs: [ + { name: 'success', type: 'bool' }, + { name: 'ret', type: 'bytes' }, + ], + name: 'DelegateAndRevert', + type: 'error', + }, + { + inputs: [ + { name: 'opIndex', type: 'uint256' }, + { name: 'reason', type: 'string' }, + ], + name: 'FailedOp', + type: 'error', + }, + { + inputs: [ + { name: 'opIndex', type: 'uint256' }, + { name: 'reason', type: 'string' }, + { name: 'inner', type: 'bytes' }, + ], + name: 'FailedOpWithRevert', + type: 'error', + }, + { + inputs: [{ name: 'returnData', type: 'bytes' }], + name: 'PostOpReverted', + type: 'error', + }, + { inputs: [], name: 'ReentrancyGuardReentrantCall', type: 'error' }, + { + inputs: [{ name: 'sender', type: 'address' }], + name: 'SenderAddressResult', + type: 'error', + }, + { + inputs: [{ name: 'aggregator', type: 'address' }], + name: 'SignatureValidationFailed', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'userOpHash', + type: 'bytes32', + }, + { + indexed: true, + name: 'sender', + type: 'address', + }, + { + indexed: false, + name: 'factory', + type: 'address', + }, + { + indexed: false, + name: 'paymaster', + type: 'address', + }, + ], + name: 'AccountDeployed', + type: 'event', + }, + { anonymous: false, inputs: [], name: 'BeforeExecution', type: 'event' }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'account', + type: 'address', + }, + { + indexed: false, + name: 'totalDeposit', + type: 'uint256', + }, + ], + name: 'Deposited', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'userOpHash', + type: 'bytes32', + }, + { + indexed: true, + name: 'sender', + type: 'address', + }, + { + indexed: false, + name: 'nonce', + type: 'uint256', + }, + { + indexed: false, + name: 'revertReason', + type: 'bytes', + }, + ], + name: 'PostOpRevertReason', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'aggregator', + type: 'address', + }, + ], + name: 'SignatureAggregatorChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'account', + type: 'address', + }, + { + indexed: false, + name: 'totalStaked', + type: 'uint256', + }, + { + indexed: false, + name: 'unstakeDelaySec', + type: 'uint256', + }, + ], + name: 'StakeLocked', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'account', + type: 'address', + }, + { + indexed: false, + name: 'withdrawTime', + type: 'uint256', + }, + ], + name: 'StakeUnlocked', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'account', + type: 'address', + }, + { + indexed: false, + name: 'withdrawAddress', + type: 'address', + }, + { + indexed: false, + name: 'amount', + type: 'uint256', + }, + ], + name: 'StakeWithdrawn', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'userOpHash', + type: 'bytes32', + }, + { + indexed: true, + name: 'sender', + type: 'address', + }, + { + indexed: true, + name: 'paymaster', + type: 'address', + }, + { + indexed: false, + name: 'nonce', + type: 'uint256', + }, + { indexed: false, name: 'success', type: 'bool' }, + { + indexed: false, + name: 'actualGasCost', + type: 'uint256', + }, + { + indexed: false, + name: 'actualGasUsed', + type: 'uint256', + }, + ], + name: 'UserOperationEvent', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'userOpHash', + type: 'bytes32', + }, + { + indexed: true, + name: 'sender', + type: 'address', + }, + { + indexed: false, + name: 'nonce', + type: 'uint256', + }, + ], + name: 'UserOperationPrefundTooLow', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'userOpHash', + type: 'bytes32', + }, + { + indexed: true, + name: 'sender', + type: 'address', + }, + { + indexed: false, + name: 'nonce', + type: 'uint256', + }, + { + indexed: false, + name: 'revertReason', + type: 'bytes', + }, + ], + name: 'UserOperationRevertReason', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: 'account', + type: 'address', + }, + { + indexed: false, + name: 'withdrawAddress', + type: 'address', + }, + { + indexed: false, + name: 'amount', + type: 'uint256', + }, + ], + name: 'Withdrawn', + type: 'event', + }, + { + inputs: [{ name: 'unstakeDelaySec', type: 'uint32' }], + name: 'addStake', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [{ name: 'account', type: 'address' }], + name: 'balanceOf', + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { name: 'target', type: 'address' }, + { name: 'data', type: 'bytes' }, + ], + name: 'delegateAndRevert', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [{ name: 'account', type: 'address' }], + name: 'depositTo', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [{ name: '', type: 'address' }], + name: 'deposits', + outputs: [ + { name: 'deposit', type: 'uint256' }, + { name: 'staked', type: 'bool' }, + { name: 'stake', type: 'uint112' }, + { name: 'unstakeDelaySec', type: 'uint32' }, + { name: 'withdrawTime', type: 'uint48' }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ name: 'account', type: 'address' }], + name: 'getDepositInfo', + outputs: [ + { + components: [ + { name: 'deposit', type: 'uint256' }, + { name: 'staked', type: 'bool' }, + { name: 'stake', type: 'uint112' }, + { name: 'unstakeDelaySec', type: 'uint32' }, + { name: 'withdrawTime', type: 'uint48' }, + ], + name: 'info', + type: 'tuple', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { name: 'sender', type: 'address' }, + { name: 'key', type: 'uint192' }, + ], + name: 'getNonce', + outputs: [{ name: 'nonce', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ name: 'initCode', type: 'bytes' }], + name: 'getSenderAddress', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { name: 'sender', type: 'address' }, + { name: 'nonce', type: 'uint256' }, + { name: 'initCode', type: 'bytes' }, + { name: 'callData', type: 'bytes' }, + { + name: 'accountGasLimits', + type: 'bytes32', + }, + { + name: 'preVerificationGas', + type: 'uint256', + }, + { name: 'gasFees', type: 'bytes32' }, + { name: 'paymasterAndData', type: 'bytes' }, + { name: 'signature', type: 'bytes' }, + ], + name: 'userOp', + type: 'tuple', + }, + ], + name: 'getUserOpHash', + outputs: [{ name: '', type: 'bytes32' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + components: [ + { name: 'sender', type: 'address' }, + { name: 'nonce', type: 'uint256' }, + { name: 'initCode', type: 'bytes' }, + { name: 'callData', type: 'bytes' }, + { + name: 'accountGasLimits', + type: 'bytes32', + }, + { + name: 'preVerificationGas', + type: 'uint256', + }, + { name: 'gasFees', type: 'bytes32' }, + { + name: 'paymasterAndData', + type: 'bytes', + }, + { name: 'signature', type: 'bytes' }, + ], + name: 'userOps', + type: 'tuple[]', + }, + { + name: 'aggregator', + type: 'address', + }, + { name: 'signature', type: 'bytes' }, + ], + name: 'opsPerAggregator', + type: 'tuple[]', + }, + { name: 'beneficiary', type: 'address' }, + ], + name: 'handleAggregatedOps', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { name: 'sender', type: 'address' }, + { name: 'nonce', type: 'uint256' }, + { name: 'initCode', type: 'bytes' }, + { name: 'callData', type: 'bytes' }, + { + name: 'accountGasLimits', + type: 'bytes32', + }, + { + name: 'preVerificationGas', + type: 'uint256', + }, + { name: 'gasFees', type: 'bytes32' }, + { name: 'paymasterAndData', type: 'bytes' }, + { name: 'signature', type: 'bytes' }, + ], + name: 'ops', + type: 'tuple[]', + }, + { name: 'beneficiary', type: 'address' }, + ], + name: 'handleOps', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [{ name: 'key', type: 'uint192' }], + name: 'incrementNonce', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { name: 'callData', type: 'bytes' }, + { + components: [ + { + components: [ + { name: 'sender', type: 'address' }, + { name: 'nonce', type: 'uint256' }, + { + name: 'verificationGasLimit', + type: 'uint256', + }, + { + name: 'callGasLimit', + type: 'uint256', + }, + { + name: 'paymasterVerificationGasLimit', + type: 'uint256', + }, + { + name: 'paymasterPostOpGasLimit', + type: 'uint256', + }, + { + name: 'preVerificationGas', + type: 'uint256', + }, + { name: 'paymaster', type: 'address' }, + { + name: 'maxFeePerGas', + type: 'uint256', + }, + { + name: 'maxPriorityFeePerGas', + type: 'uint256', + }, + ], + name: 'mUserOp', + type: 'tuple', + }, + { name: 'userOpHash', type: 'bytes32' }, + { name: 'prefund', type: 'uint256' }, + { name: 'contextOffset', type: 'uint256' }, + { name: 'preOpGas', type: 'uint256' }, + ], + name: 'opInfo', + type: 'tuple', + }, + { name: 'context', type: 'bytes' }, + ], + name: 'innerHandleOp', + outputs: [{ name: 'actualGasCost', type: 'uint256' }], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { name: '', type: 'address' }, + { name: '', type: 'uint192' }, + ], + name: 'nonceSequenceNumber', + outputs: [{ name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ name: 'interfaceId', type: 'bytes4' }], + name: 'supportsInterface', + outputs: [{ name: '', type: 'bool' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'unlockStake', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + name: 'withdrawAddress', + type: 'address', + }, + ], + name: 'withdrawStake', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + name: 'withdrawAddress', + type: 'address', + }, + { name: 'withdrawAmount', type: 'uint256' }, + ], + name: 'withdrawTo', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { stateMutability: 'payable', type: 'receive' }, +]; +export const entryPoint08Abi = [ + { inputs: [], stateMutability: 'nonpayable', type: 'constructor' }, + { + inputs: [ + { internalType: 'bool', name: 'success', type: 'bool' }, + { internalType: 'bytes', name: 'ret', type: 'bytes' }, + ], + name: 'DelegateAndRevert', + type: 'error', + }, + { + inputs: [ + { internalType: 'uint256', name: 'opIndex', type: 'uint256' }, + { internalType: 'string', name: 'reason', type: 'string' }, + ], + name: 'FailedOp', + type: 'error', + }, + { + inputs: [ + { internalType: 'uint256', name: 'opIndex', type: 'uint256' }, + { internalType: 'string', name: 'reason', type: 'string' }, + { internalType: 'bytes', name: 'inner', type: 'bytes' }, + ], + name: 'FailedOpWithRevert', + type: 'error', + }, + { inputs: [], name: 'InvalidShortString', type: 'error' }, + { + inputs: [{ internalType: 'bytes', name: 'returnData', type: 'bytes' }], + name: 'PostOpReverted', + type: 'error', + }, + { inputs: [], name: 'ReentrancyGuardReentrantCall', type: 'error' }, + { + inputs: [{ internalType: 'address', name: 'sender', type: 'address' }], + name: 'SenderAddressResult', + type: 'error', + }, + { + inputs: [{ internalType: 'address', name: 'aggregator', type: 'address' }], + name: 'SignatureValidationFailed', + type: 'error', + }, + { + inputs: [{ internalType: 'string', name: 'str', type: 'string' }], + name: 'StringTooLong', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'userOpHash', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'factory', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'paymaster', + type: 'address', + }, + ], + name: 'AccountDeployed', + type: 'event', + }, + { anonymous: false, inputs: [], name: 'BeforeExecution', type: 'event' }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'totalDeposit', + type: 'uint256', + }, + ], + name: 'Deposited', + type: 'event', + }, + { anonymous: false, inputs: [], name: 'EIP712DomainChanged', type: 'event' }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'userOpHash', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'nonce', + type: 'uint256', + }, + { + indexed: false, + internalType: 'bytes', + name: 'revertReason', + type: 'bytes', + }, + ], + name: 'PostOpRevertReason', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'aggregator', + type: 'address', + }, + ], + name: 'SignatureAggregatorChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'totalStaked', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'unstakeDelaySec', + type: 'uint256', + }, + ], + name: 'StakeLocked', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'withdrawTime', + type: 'uint256', + }, + ], + name: 'StakeUnlocked', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'withdrawAddress', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'StakeWithdrawn', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'userOpHash', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'paymaster', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'nonce', + type: 'uint256', + }, + { indexed: false, internalType: 'bool', name: 'success', type: 'bool' }, + { + indexed: false, + internalType: 'uint256', + name: 'actualGasCost', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'actualGasUsed', + type: 'uint256', + }, + ], + name: 'UserOperationEvent', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'userOpHash', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'nonce', + type: 'uint256', + }, + ], + name: 'UserOperationPrefundTooLow', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'userOpHash', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'nonce', + type: 'uint256', + }, + { + indexed: false, + internalType: 'bytes', + name: 'revertReason', + type: 'bytes', + }, + ], + name: 'UserOperationRevertReason', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'withdrawAddress', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'Withdrawn', + type: 'event', + }, + { + inputs: [ + { internalType: 'uint32', name: 'unstakeDelaySec', type: 'uint32' }, + ], + name: 'addStake', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [{ internalType: 'address', name: 'account', type: 'address' }], + name: 'balanceOf', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: 'target', type: 'address' }, + { internalType: 'bytes', name: 'data', type: 'bytes' }, + ], + name: 'delegateAndRevert', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [{ internalType: 'address', name: 'account', type: 'address' }], + name: 'depositTo', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [], + name: 'eip712Domain', + outputs: [ + { internalType: 'bytes1', name: 'fields', type: 'bytes1' }, + { internalType: 'string', name: 'name', type: 'string' }, + { internalType: 'string', name: 'version', type: 'string' }, + { internalType: 'uint256', name: 'chainId', type: 'uint256' }, + { internalType: 'address', name: 'verifyingContract', type: 'address' }, + { internalType: 'bytes32', name: 'salt', type: 'bytes32' }, + { internalType: 'uint256[]', name: 'extensions', type: 'uint256[]' }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ internalType: 'address', name: 'account', type: 'address' }], + name: 'getDepositInfo', + outputs: [ + { + components: [ + { internalType: 'uint256', name: 'deposit', type: 'uint256' }, + { internalType: 'bool', name: 'staked', type: 'bool' }, + { internalType: 'uint112', name: 'stake', type: 'uint112' }, + { internalType: 'uint32', name: 'unstakeDelaySec', type: 'uint32' }, + { internalType: 'uint48', name: 'withdrawTime', type: 'uint48' }, + ], + internalType: 'struct IStakeManager.DepositInfo', + name: 'info', + type: 'tuple', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getDomainSeparatorV4', + outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: 'sender', type: 'address' }, + { internalType: 'uint192', name: 'key', type: 'uint192' }, + ], + name: 'getNonce', + outputs: [{ internalType: 'uint256', name: 'nonce', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getPackedUserOpTypeHash', + outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }], + stateMutability: 'pure', + type: 'function', + }, + { + inputs: [{ internalType: 'bytes', name: 'initCode', type: 'bytes' }], + name: 'getSenderAddress', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { internalType: 'address', name: 'sender', type: 'address' }, + { internalType: 'uint256', name: 'nonce', type: 'uint256' }, + { internalType: 'bytes', name: 'initCode', type: 'bytes' }, + { internalType: 'bytes', name: 'callData', type: 'bytes' }, + { + internalType: 'bytes32', + name: 'accountGasLimits', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'preVerificationGas', + type: 'uint256', + }, + { internalType: 'bytes32', name: 'gasFees', type: 'bytes32' }, + { internalType: 'bytes', name: 'paymasterAndData', type: 'bytes' }, + { internalType: 'bytes', name: 'signature', type: 'bytes' }, + ], + internalType: 'struct PackedUserOperation', + name: 'userOp', + type: 'tuple', + }, + ], + name: 'getUserOpHash', + outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + components: [ + { internalType: 'address', name: 'sender', type: 'address' }, + { internalType: 'uint256', name: 'nonce', type: 'uint256' }, + { internalType: 'bytes', name: 'initCode', type: 'bytes' }, + { internalType: 'bytes', name: 'callData', type: 'bytes' }, + { + internalType: 'bytes32', + name: 'accountGasLimits', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'preVerificationGas', + type: 'uint256', + }, + { internalType: 'bytes32', name: 'gasFees', type: 'bytes32' }, + { + internalType: 'bytes', + name: 'paymasterAndData', + type: 'bytes', + }, + { internalType: 'bytes', name: 'signature', type: 'bytes' }, + ], + internalType: 'struct PackedUserOperation[]', + name: 'userOps', + type: 'tuple[]', + }, + { + internalType: 'contract IAggregator', + name: 'aggregator', + type: 'address', + }, + { internalType: 'bytes', name: 'signature', type: 'bytes' }, + ], + internalType: 'struct IEntryPoint.UserOpsPerAggregator[]', + name: 'opsPerAggregator', + type: 'tuple[]', + }, + { internalType: 'address payable', name: 'beneficiary', type: 'address' }, + ], + name: 'handleAggregatedOps', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { internalType: 'address', name: 'sender', type: 'address' }, + { internalType: 'uint256', name: 'nonce', type: 'uint256' }, + { internalType: 'bytes', name: 'initCode', type: 'bytes' }, + { internalType: 'bytes', name: 'callData', type: 'bytes' }, + { + internalType: 'bytes32', + name: 'accountGasLimits', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'preVerificationGas', + type: 'uint256', + }, + { internalType: 'bytes32', name: 'gasFees', type: 'bytes32' }, + { internalType: 'bytes', name: 'paymasterAndData', type: 'bytes' }, + { internalType: 'bytes', name: 'signature', type: 'bytes' }, + ], + internalType: 'struct PackedUserOperation[]', + name: 'ops', + type: 'tuple[]', + }, + { internalType: 'address payable', name: 'beneficiary', type: 'address' }, + ], + name: 'handleOps', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [{ internalType: 'uint192', name: 'key', type: 'uint192' }], + name: 'incrementNonce', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { internalType: 'bytes', name: 'callData', type: 'bytes' }, + { + components: [ + { + components: [ + { internalType: 'address', name: 'sender', type: 'address' }, + { internalType: 'uint256', name: 'nonce', type: 'uint256' }, + { + internalType: 'uint256', + name: 'verificationGasLimit', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'callGasLimit', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'paymasterVerificationGasLimit', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'paymasterPostOpGasLimit', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'preVerificationGas', + type: 'uint256', + }, + { internalType: 'address', name: 'paymaster', type: 'address' }, + { + internalType: 'uint256', + name: 'maxFeePerGas', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'maxPriorityFeePerGas', + type: 'uint256', + }, + ], + internalType: 'struct EntryPoint.MemoryUserOp', + name: 'mUserOp', + type: 'tuple', + }, + { internalType: 'bytes32', name: 'userOpHash', type: 'bytes32' }, + { internalType: 'uint256', name: 'prefund', type: 'uint256' }, + { internalType: 'uint256', name: 'contextOffset', type: 'uint256' }, + { internalType: 'uint256', name: 'preOpGas', type: 'uint256' }, + ], + internalType: 'struct EntryPoint.UserOpInfo', + name: 'opInfo', + type: 'tuple', + }, + { internalType: 'bytes', name: 'context', type: 'bytes' }, + ], + name: 'innerHandleOp', + outputs: [ + { internalType: 'uint256', name: 'actualGasCost', type: 'uint256' }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: '', type: 'address' }, + { internalType: 'uint192', name: '', type: 'uint192' }, + ], + name: 'nonceSequenceNumber', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'senderCreator', + outputs: [ + { internalType: 'contract ISenderCreator', name: '', type: 'address' }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ internalType: 'bytes4', name: 'interfaceId', type: 'bytes4' }], + name: 'supportsInterface', + outputs: [{ internalType: 'bool', name: '', type: 'bool' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'unlockStake', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address payable', + name: 'withdrawAddress', + type: 'address', + }, + ], + name: 'withdrawStake', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address payable', + name: 'withdrawAddress', + type: 'address', + }, + { internalType: 'uint256', name: 'withdrawAmount', type: 'uint256' }, + ], + name: 'withdrawTo', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { stateMutability: 'payable', type: 'receive' }, +]; +export const entryPoint09Abi = [ + { inputs: [], stateMutability: 'nonpayable', type: 'constructor' }, + { + inputs: [ + { internalType: 'bool', name: 'success', type: 'bool' }, + { internalType: 'bytes', name: 'ret', type: 'bytes' }, + ], + name: 'DelegateAndRevert', + type: 'error', + }, + { + inputs: [ + { internalType: 'address', name: 'account', type: 'address' }, + { internalType: 'address', name: 'withdrawAddress', type: 'address' }, + { internalType: 'uint256', name: 'amount', type: 'uint256' }, + { internalType: 'bytes', name: 'revertReason', type: 'bytes' }, + ], + name: 'DepositWithdrawalFailed', + type: 'error', + }, + { + inputs: [{ internalType: 'address', name: 'sender', type: 'address' }], + name: 'Eip7702SenderNotDelegate', + type: 'error', + }, + { + inputs: [{ internalType: 'address', name: 'sender', type: 'address' }], + name: 'Eip7702SenderWithoutCode', + type: 'error', + }, + { + inputs: [ + { internalType: 'uint256', name: 'opIndex', type: 'uint256' }, + { internalType: 'string', name: 'reason', type: 'string' }, + ], + name: 'FailedOp', + type: 'error', + }, + { + inputs: [ + { internalType: 'uint256', name: 'opIndex', type: 'uint256' }, + { internalType: 'string', name: 'reason', type: 'string' }, + { internalType: 'bytes', name: 'inner', type: 'bytes' }, + ], + name: 'FailedOpWithRevert', + type: 'error', + }, + { + inputs: [ + { internalType: 'address', name: 'beneficiary', type: 'address' }, + { internalType: 'uint256', name: 'amount', type: 'uint256' }, + { internalType: 'bytes', name: 'revertData', type: 'bytes' }, + ], + name: 'FailedSendToBeneficiary', + type: 'error', + }, + { + inputs: [ + { internalType: 'uint256', name: 'currentDeposit', type: 'uint256' }, + { internalType: 'uint256', name: 'withdrawAmount', type: 'uint256' }, + ], + name: 'InsufficientDeposit', + type: 'error', + }, + { inputs: [], name: 'InternalFunction', type: 'error' }, + { + inputs: [{ internalType: 'address', name: 'beneficiary', type: 'address' }], + name: 'InvalidBeneficiary', + type: 'error', + }, + { + inputs: [{ internalType: 'address', name: 'paymaster', type: 'address' }], + name: 'InvalidPaymaster', + type: 'error', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'paymasterAndDataLength', + type: 'uint256', + }, + ], + name: 'InvalidPaymasterData', + type: 'error', + }, + { + inputs: [ + { internalType: 'uint256', name: 'dataLength', type: 'uint256' }, + { internalType: 'uint256', name: 'pmSignatureLength', type: 'uint256' }, + ], + name: 'InvalidPaymasterSignatureLength', + type: 'error', + }, + { inputs: [], name: 'InvalidShortString', type: 'error' }, + { + inputs: [ + { internalType: 'uint256', name: 'msgValue', type: 'uint256' }, + { internalType: 'uint256', name: 'currentStake', type: 'uint256' }, + ], + name: 'InvalidStake', + type: 'error', + }, + { + inputs: [ + { internalType: 'uint256', name: 'newUnstakeDelaySec', type: 'uint256' }, + { + internalType: 'uint256', + name: 'currentUnstakeDelaySec', + type: 'uint256', + }, + ], + name: 'InvalidUnstakeDelay', + type: 'error', + }, + { + inputs: [ + { internalType: 'uint256', name: 'currentStake', type: 'uint256' }, + { internalType: 'uint256', name: 'unstakeDelaySec', type: 'uint256' }, + { internalType: 'bool', name: 'staked', type: 'bool' }, + ], + name: 'NotStaked', + type: 'error', + }, + { + inputs: [{ internalType: 'bytes', name: 'returnData', type: 'bytes' }], + name: 'PostOpReverted', + type: 'error', + }, + { inputs: [], name: 'Reentrancy', type: 'error' }, + { + inputs: [{ internalType: 'address', name: 'sender', type: 'address' }], + name: 'SenderAddressResult', + type: 'error', + }, + { + inputs: [{ internalType: 'address', name: 'aggregator', type: 'address' }], + name: 'SignatureValidationFailed', + type: 'error', + }, + { + inputs: [ + { internalType: 'uint256', name: 'withdrawTime', type: 'uint256' }, + { internalType: 'uint256', name: 'blockTimestamp', type: 'uint256' }, + ], + name: 'StakeNotUnlocked', + type: 'error', + }, + { + inputs: [ + { internalType: 'address', name: 'account', type: 'address' }, + { internalType: 'address', name: 'withdrawAddress', type: 'address' }, + { internalType: 'uint256', name: 'amount', type: 'uint256' }, + { internalType: 'bytes', name: 'revertReason', type: 'bytes' }, + ], + name: 'StakeWithdrawalFailed', + type: 'error', + }, + { + inputs: [{ internalType: 'string', name: 'str', type: 'string' }], + name: 'StringTooLong', + type: 'error', + }, + { + inputs: [ + { internalType: 'uint256', name: 'withdrawTime', type: 'uint256' }, + { internalType: 'uint256', name: 'blockTimestamp', type: 'uint256' }, + ], + name: 'WithdrawalNotDue', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'userOpHash', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'factory', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'paymaster', + type: 'address', + }, + ], + name: 'AccountDeployed', + type: 'event', + }, + { anonymous: false, inputs: [], name: 'BeforeExecution', type: 'event' }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'totalDeposit', + type: 'uint256', + }, + ], + name: 'Deposited', + type: 'event', + }, + { anonymous: false, inputs: [], name: 'EIP712DomainChanged', type: 'event' }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'userOpHash', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'delegate', + type: 'address', + }, + ], + name: 'EIP7702AccountInitialized', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'userOpHash', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'unusedFactory', + type: 'address', + }, + ], + name: 'IgnoredInitCode', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'userOpHash', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'nonce', + type: 'uint256', + }, + { + indexed: false, + internalType: 'bytes', + name: 'revertReason', + type: 'bytes', + }, + ], + name: 'PostOpRevertReason', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'aggregator', + type: 'address', + }, + ], + name: 'SignatureAggregatorChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'totalStaked', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'unstakeDelaySec', + type: 'uint256', + }, + ], + name: 'StakeLocked', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'withdrawTime', + type: 'uint256', + }, + ], + name: 'StakeUnlocked', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'withdrawAddress', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'StakeWithdrawn', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'userOpHash', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'paymaster', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'nonce', + type: 'uint256', + }, + { indexed: false, internalType: 'bool', name: 'success', type: 'bool' }, + { + indexed: false, + internalType: 'uint256', + name: 'actualGasCost', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'actualGasUsed', + type: 'uint256', + }, + ], + name: 'UserOperationEvent', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'userOpHash', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'nonce', + type: 'uint256', + }, + ], + name: 'UserOperationPrefundTooLow', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'userOpHash', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'address', + name: 'sender', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'nonce', + type: 'uint256', + }, + { + indexed: false, + internalType: 'bytes', + name: 'revertReason', + type: 'bytes', + }, + ], + name: 'UserOperationRevertReason', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'withdrawAddress', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'Withdrawn', + type: 'event', + }, + { + inputs: [ + { internalType: 'uint32', name: 'unstakeDelaySec', type: 'uint32' }, + ], + name: 'addStake', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [{ internalType: 'address', name: 'account', type: 'address' }], + name: 'balanceOf', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: 'target', type: 'address' }, + { internalType: 'bytes', name: 'data', type: 'bytes' }, + ], + name: 'delegateAndRevert', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [{ internalType: 'address', name: 'account', type: 'address' }], + name: 'depositTo', + outputs: [], + stateMutability: 'payable', + type: 'function', + }, + { + inputs: [], + name: 'eip712Domain', + outputs: [ + { internalType: 'bytes1', name: 'fields', type: 'bytes1' }, + { internalType: 'string', name: 'name', type: 'string' }, + { internalType: 'string', name: 'version', type: 'string' }, + { internalType: 'uint256', name: 'chainId', type: 'uint256' }, + { internalType: 'address', name: 'verifyingContract', type: 'address' }, + { internalType: 'bytes32', name: 'salt', type: 'bytes32' }, + { internalType: 'uint256[]', name: 'extensions', type: 'uint256[]' }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getCurrentUserOpHash', + outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ internalType: 'address', name: 'account', type: 'address' }], + name: 'getDepositInfo', + outputs: [ + { + components: [ + { internalType: 'uint256', name: 'deposit', type: 'uint256' }, + { internalType: 'bool', name: 'staked', type: 'bool' }, + { internalType: 'uint112', name: 'stake', type: 'uint112' }, + { internalType: 'uint32', name: 'unstakeDelaySec', type: 'uint32' }, + { internalType: 'uint48', name: 'withdrawTime', type: 'uint48' }, + ], + internalType: 'struct IStakeManager.DepositInfo', + name: 'info', + type: 'tuple', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getDomainSeparatorV4', + outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: 'sender', type: 'address' }, + { internalType: 'uint192', name: 'key', type: 'uint192' }, + ], + name: 'getNonce', + outputs: [{ internalType: 'uint256', name: 'nonce', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'getPackedUserOpTypeHash', + outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }], + stateMutability: 'pure', + type: 'function', + }, + { + inputs: [{ internalType: 'bytes', name: 'initCode', type: 'bytes' }], + name: 'getSenderAddress', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { internalType: 'address', name: 'sender', type: 'address' }, + { internalType: 'uint256', name: 'nonce', type: 'uint256' }, + { internalType: 'bytes', name: 'initCode', type: 'bytes' }, + { internalType: 'bytes', name: 'callData', type: 'bytes' }, + { + internalType: 'bytes32', + name: 'accountGasLimits', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'preVerificationGas', + type: 'uint256', + }, + { internalType: 'bytes32', name: 'gasFees', type: 'bytes32' }, + { internalType: 'bytes', name: 'paymasterAndData', type: 'bytes' }, + { internalType: 'bytes', name: 'signature', type: 'bytes' }, + ], + internalType: 'struct PackedUserOperation', + name: 'userOp', + type: 'tuple', + }, + ], + name: 'getUserOpHash', + outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + components: [ + { + components: [ + { internalType: 'address', name: 'sender', type: 'address' }, + { internalType: 'uint256', name: 'nonce', type: 'uint256' }, + { internalType: 'bytes', name: 'initCode', type: 'bytes' }, + { internalType: 'bytes', name: 'callData', type: 'bytes' }, + { + internalType: 'bytes32', + name: 'accountGasLimits', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'preVerificationGas', + type: 'uint256', + }, + { internalType: 'bytes32', name: 'gasFees', type: 'bytes32' }, + { + internalType: 'bytes', + name: 'paymasterAndData', + type: 'bytes', + }, + { internalType: 'bytes', name: 'signature', type: 'bytes' }, + ], + internalType: 'struct PackedUserOperation[]', + name: 'userOps', + type: 'tuple[]', + }, + { + internalType: 'contract IAggregator', + name: 'aggregator', + type: 'address', + }, + { internalType: 'bytes', name: 'signature', type: 'bytes' }, + ], + internalType: 'struct IEntryPoint.UserOpsPerAggregator[]', + name: 'opsPerAggregator', + type: 'tuple[]', + }, + { internalType: 'address payable', name: 'beneficiary', type: 'address' }, + ], + name: 'handleAggregatedOps', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + components: [ + { internalType: 'address', name: 'sender', type: 'address' }, + { internalType: 'uint256', name: 'nonce', type: 'uint256' }, + { internalType: 'bytes', name: 'initCode', type: 'bytes' }, + { internalType: 'bytes', name: 'callData', type: 'bytes' }, + { + internalType: 'bytes32', + name: 'accountGasLimits', + type: 'bytes32', + }, + { + internalType: 'uint256', + name: 'preVerificationGas', + type: 'uint256', + }, + { internalType: 'bytes32', name: 'gasFees', type: 'bytes32' }, + { internalType: 'bytes', name: 'paymasterAndData', type: 'bytes' }, + { internalType: 'bytes', name: 'signature', type: 'bytes' }, + ], + internalType: 'struct PackedUserOperation[]', + name: 'ops', + type: 'tuple[]', + }, + { internalType: 'address payable', name: 'beneficiary', type: 'address' }, + ], + name: 'handleOps', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [{ internalType: 'uint192', name: 'key', type: 'uint192' }], + name: 'incrementNonce', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { internalType: 'bytes', name: 'callData', type: 'bytes' }, + { + components: [ + { + components: [ + { internalType: 'address', name: 'sender', type: 'address' }, + { internalType: 'uint256', name: 'nonce', type: 'uint256' }, + { + internalType: 'uint256', + name: 'verificationGasLimit', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'callGasLimit', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'paymasterVerificationGasLimit', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'paymasterPostOpGasLimit', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'preVerificationGas', + type: 'uint256', + }, + { internalType: 'address', name: 'paymaster', type: 'address' }, + { + internalType: 'uint256', + name: 'maxFeePerGas', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'maxPriorityFeePerGas', + type: 'uint256', + }, + ], + internalType: 'struct EntryPoint.MemoryUserOp', + name: 'mUserOp', + type: 'tuple', + }, + { internalType: 'bytes32', name: 'userOpHash', type: 'bytes32' }, + { internalType: 'uint256', name: 'prefund', type: 'uint256' }, + { internalType: 'uint256', name: 'contextOffset', type: 'uint256' }, + { internalType: 'uint256', name: 'preOpGas', type: 'uint256' }, + ], + internalType: 'struct EntryPoint.UserOpInfo', + name: 'opInfo', + type: 'tuple', + }, + { internalType: 'bytes', name: 'context', type: 'bytes' }, + ], + name: 'innerHandleOp', + outputs: [ + { internalType: 'uint256', name: 'actualGasCost', type: 'uint256' }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { internalType: 'address', name: '', type: 'address' }, + { internalType: 'uint192', name: '', type: 'uint192' }, + ], + name: 'nonceSequenceNumber', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'senderCreator', + outputs: [ + { internalType: 'contract ISenderCreator', name: '', type: 'address' }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [{ internalType: 'bytes4', name: 'interfaceId', type: 'bytes4' }], + name: 'supportsInterface', + outputs: [{ internalType: 'bool', name: '', type: 'bool' }], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'unlockStake', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address payable', + name: 'withdrawAddress', + type: 'address', + }, + ], + name: 'withdrawStake', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address payable', + name: 'withdrawAddress', + type: 'address', + }, + { internalType: 'uint256', name: 'withdrawAmount', type: 'uint256' }, + ], + name: 'withdrawTo', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { stateMutability: 'payable', type: 'receive' }, +]; +//# sourceMappingURL=abis.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/constants/abis.js.map b/node_modules/viem/_esm/account-abstraction/constants/abis.js.map new file mode 100644 index 0000000000000000000000000000000000000000..bb5d37853aa24999d97218eb95e7fb33a7182465 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/constants/abis.js.map @@ -0,0 +1 @@ +{"version":3,"file":"abis.js","sourceRoot":"","sources":["../../../account-abstraction/constants/abis.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YACrC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACjC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE;YACvC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE;SACxC;QACD,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;SACnC;QACD,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjD,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE;oBACnC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACtC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACtC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;iBAC5C;gBAED,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC7C;gBAED,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC7C;gBAED,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC7C;gBAED,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE;oBACnC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACtC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACtC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;iBAC5C;gBAED,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC7C;gBAED,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC7C;gBAED,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC7C;gBAED,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;oBACvC;wBACE,UAAU,EAAE;4BACV,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;4BAClC;gCACE,IAAI,EAAE,iBAAiB;gCACvB,IAAI,EAAE,SAAS;6BAChB;yBACF;wBAED,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,OAAO;qBACd;iBACF;gBAED,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,iCAAiC;QACvC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,OAAO;KACd;IACD,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE;IACxE;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;YACjD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;YACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5C;QACD,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACrD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACvC,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YAChC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3C,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;SACzC;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE;YACP;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBAChC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC3C,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACzC;gBAED,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;SACjC;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC7C,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;oBACzC;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;oBACzC;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBACrC;gBAED,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV;wBACE,UAAU,EAAE;4BACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;4BACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;4BAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;4BACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;4BACnC;gCACE,IAAI,EAAE,cAAc;gCACpB,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,sBAAsB;gCAC5B,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,oBAAoB;gCAC1B,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,cAAc;gCACpB,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,sBAAsB;gCAC5B,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,kBAAkB;gCACxB,IAAI,EAAE,OAAO;6BACd;4BACD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;yBACrC;wBAED,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBACrC;gBAED,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;SACzC;QACD,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;oBACzC;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;oBACzC;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBACrC;gBAED,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;SACzC;QACD,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1C,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;YACnC;gBACE,UAAU,EAAE;oBACV;wBACE,UAAU,EAAE;4BACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;4BACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;4BAClC;gCACE,IAAI,EAAE,cAAc;gCACpB,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,sBAAsB;gCAC5B,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,oBAAoB;gCAC1B,IAAI,EAAE,SAAS;6BAChB;4BACD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;4BACtC;gCACE,IAAI,EAAE,cAAc;gCACpB,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,sBAAsB;gCAC5B,IAAI,EAAE,SAAS;6BAChB;yBACF;wBAED,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,OAAO;qBACd;oBACD,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;oBACvC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1C,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;iBACtC;gBAED,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;aACd;YACD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;SACnC;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACrD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7B,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC9B;QACD,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;oBACzC;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;oBACzC;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBACrC;gBAED,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,OAAO;aACd;YACD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;SAC1C;QACD,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;oBACzC;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;oBACzC;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBACrC;gBAED,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;SAC5C;QACD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;CACvC,CAAA;AAEV,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;YACjC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;SAC/B;QACD,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;SACnC;QACD,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;SACjC;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC/C,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACd;IACD,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,OAAO,EAAE;IACnE;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjD,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,OAAO;KACd;IACD,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE;IACxE;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;YACjD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBAEb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBAEd,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACrD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;SAChC;QACD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACvC,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YAChC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3C,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;SACzC;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE;YACP;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBAChC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC3C,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACzC;gBAED,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;SACjC;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC7C,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC;wBACE,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBACrC;gBAED,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV;wBACE,UAAU,EAAE;4BACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;4BACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;4BAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;4BACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;4BACnC;gCACE,IAAI,EAAE,kBAAkB;gCACxB,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,oBAAoB;gCAC1B,IAAI,EAAE,SAAS;6BAChB;4BACD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;4BACpC;gCACE,IAAI,EAAE,kBAAkB;gCACxB,IAAI,EAAE,OAAO;6BACd;4BACD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;yBACrC;wBAED,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBACrC;gBAED,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;SACzC;QACD,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC;wBACE,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBACrC;gBAED,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;SACzC;QACD,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1C,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;YACnC;gBACE,UAAU,EAAE;oBACV;wBACE,UAAU,EAAE;4BACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;4BACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;4BAClC;gCACE,IAAI,EAAE,sBAAsB;gCAC5B,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,cAAc;gCACpB,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,+BAA+B;gCACrC,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,yBAAyB;gCAC/B,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,oBAAoB;gCAC1B,IAAI,EAAE,SAAS;6BAChB;4BACD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;4BACtC;gCACE,IAAI,EAAE,cAAc;gCACpB,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,IAAI,EAAE,sBAAsB;gCAC5B,IAAI,EAAE,SAAS;6BAChB;yBACF;wBAED,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,OAAO;qBACd;oBACD,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;oBACvC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1C,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;iBACtC;gBAED,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;aACd;YACD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;SACnC;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACrD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7B,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC9B;QACD,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACjD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACrC,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;SAC5C;QACD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;CACvC,CAAA;AAEV,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE;IAClE;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;YACvD,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;SACtD;QACD,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC3D;QACD,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;SACxD;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE;IACzD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACtE,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACd;IACD,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,OAAO,EAAE;IACnE;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACtE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1E,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACjE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,OAAO;KACd;IACD,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE;IACxE;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO;KACd;IACD,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE;IAC5E;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;YACvE;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE;SACpE;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACvE,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;SACvD;QACD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACvE,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE;YACP,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1D,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxD,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;YACvE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YAC1D,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE;SACrE;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACvE,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE;YACP;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC7D,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC3D,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACnE,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACjE;gBACD,YAAY,EAAE,kCAAkC;gBAChD,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;SAC1D;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACtE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACpE,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC3D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC1D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC1D;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC7D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;oBAClE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBAC5D;gBACD,YAAY,EAAE,4BAA4B;gBAC1C,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV;wBACE,UAAU,EAAE;4BACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;4BAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;4BAC3D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;4BAC1D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;4BAC1D;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,kBAAkB;gCACxB,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,oBAAoB;gCAC1B,IAAI,EAAE,SAAS;6BAChB;4BACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;4BAC7D;gCACE,YAAY,EAAE,OAAO;gCACrB,IAAI,EAAE,kBAAkB;gCACxB,IAAI,EAAE,OAAO;6BACd;4BACD,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;yBAC5D;wBACD,YAAY,EAAE,8BAA8B;wBAC5C,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,YAAY,EAAE,sBAAsB;wBACpC,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBAC5D;gBACD,YAAY,EAAE,2CAA2C;gBACzD,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;SAC1E;QACD,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC3D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC1D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC1D;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC7D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;oBAClE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBAC5D;gBACD,YAAY,EAAE,8BAA8B;gBAC5C,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;SAC1E;QACD,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACnE,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;YAC1D;gBACE,UAAU,EAAE;oBACV;wBACE,UAAU,EAAE;4BACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;4BAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;4BAC3D;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,sBAAsB;gCAC5B,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,cAAc;gCACpB,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,+BAA+B;gCACrC,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,yBAAyB;gCAC/B,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,oBAAoB;gCAC1B,IAAI,EAAE,SAAS;6BAChB;4BACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;4BAC/D;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,cAAc;gCACpB,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,sBAAsB;gCAC5B,IAAI,EAAE,SAAS;6BAChB;yBACF;wBACD,YAAY,EAAE,gCAAgC;wBAC9C,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,OAAO;qBACd;oBACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;oBAChE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC7D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC/D;gBACD,YAAY,EAAE,8BAA8B;gBAC5C,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;aACd;YACD,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;SAC1D;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;SACpE;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SACvD;QACD,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE;YACP,EAAE,YAAY,EAAE,yBAAyB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SACvE;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACzE,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC3D,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;SACrE;QACD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;CACvC,CAAA;AAEV,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE;IAClE;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;YACvD,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;SACtD;QACD,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE;YACrE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE;SAC/D;QACD,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACtE,IAAI,EAAE,0BAA0B;QAChC,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACtE,IAAI,EAAE,0BAA0B;QAChC,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC3D;QACD,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;SACxD;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;YACjE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SAC7D;QACD,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;YACpE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;SACrE;QACD,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,OAAO;KACd;IACD,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;IACvD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC3E,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACzE,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;YAChE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;SACxE;QACD,IAAI,EAAE,iCAAiC;QACvC,IAAI,EAAE,OAAO;KACd;IACD,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE;IACzD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;SACnE;QACD,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE;YACxE;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YAClE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE;YACrE,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;SACvD;QACD,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACtE,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACd;IACD,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;IACjD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACtE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1E,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YAClE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;SACrE;QACD,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE;YACrE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE;SAC/D;QACD,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACjE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YAClE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;SACrE;QACD,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,OAAO;KACd;IACD,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE;IACxE;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO;KACd;IACD,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE;IAC5E;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;YACvE;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,OAAO;KACd;IACD;QACE,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN;gBACE,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE;SACpE;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACvE,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;SACvD;QACD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACvE,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE;YACP,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1D,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxD,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;YACvE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YAC1D,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE;SACrE;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACvE,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE;YACP;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC7D,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC3D,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACnE,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACjE;gBACD,YAAY,EAAE,kCAAkC;gBAChD,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;SAC1D;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACtE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACpE,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC3D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC1D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC1D;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC7D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;oBAClE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBAC5D;gBACD,YAAY,EAAE,4BAA4B;gBAC1C,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV;wBACE,UAAU,EAAE;4BACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;4BAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;4BAC3D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;4BAC1D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;4BAC1D;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,kBAAkB;gCACxB,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,oBAAoB;gCAC1B,IAAI,EAAE,SAAS;6BAChB;4BACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;4BAC7D;gCACE,YAAY,EAAE,OAAO;gCACrB,IAAI,EAAE,kBAAkB;gCACxB,IAAI,EAAE,OAAO;6BACd;4BACD,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;yBAC5D;wBACD,YAAY,EAAE,8BAA8B;wBAC5C,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,YAAY,EAAE,sBAAsB;wBACpC,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBAC5D;gBACD,YAAY,EAAE,2CAA2C;gBACzD,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;SAC1E;QACD,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC3D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC1D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC1D;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;qBAChB;oBACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC7D,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;oBAClE,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBAC5D;gBACD,YAAY,EAAE,8BAA8B;gBAC5C,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;SAC1E;QACD,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACnE,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;YAC1D;gBACE,UAAU,EAAE;oBACV;wBACE,UAAU,EAAE;4BACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;4BAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;4BAC3D;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,sBAAsB;gCAC5B,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,cAAc;gCACpB,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,+BAA+B;gCACrC,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,yBAAyB;gCAC/B,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,oBAAoB;gCAC1B,IAAI,EAAE,SAAS;6BAChB;4BACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;4BAC/D;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,cAAc;gCACpB,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,sBAAsB;gCAC5B,IAAI,EAAE,SAAS;6BAChB;yBACF;wBACD,YAAY,EAAE,gCAAgC;wBAC9C,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,OAAO;qBACd;oBACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;oBAChE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC7D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC/D;gBACD,YAAY,EAAE,8BAA8B;gBAC5C,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;aACd;YACD,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;SAC1D;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;SACpE;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SACvD;QACD,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE;YACP,EAAE,YAAY,EAAE,yBAAyB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SACvE;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACzE,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC3D,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;SACrE;QACD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;CACvC,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/constants/address.js b/node_modules/viem/_esm/account-abstraction/constants/address.js new file mode 100644 index 0000000000000000000000000000000000000000..cb737d88aa627e2926d33a388aab97862a5aa3ca --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/constants/address.js @@ -0,0 +1,5 @@ +export const entryPoint06Address = '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789'; +export const entryPoint07Address = '0x0000000071727De22E5E9d8BAf0edAc6f37da032'; +export const entryPoint08Address = '0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108'; +export const entryPoint09Address = '0x433709009B8330FDa32311DF1C2AFA402eD8D009'; +//# sourceMappingURL=address.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/constants/address.js.map b/node_modules/viem/_esm/account-abstraction/constants/address.js.map new file mode 100644 index 0000000000000000000000000000000000000000..fbab239902d0fcda2ffa6fd18c423bdcf5d8a167 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/constants/address.js.map @@ -0,0 +1 @@ +{"version":3,"file":"address.js","sourceRoot":"","sources":["../../../account-abstraction/constants/address.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAC9B,4CAAqD,CAAA;AACvD,MAAM,CAAC,MAAM,mBAAmB,GAC9B,4CAAqD,CAAA;AACvD,MAAM,CAAC,MAAM,mBAAmB,GAC9B,4CAAqD,CAAA;AACvD,MAAM,CAAC,MAAM,mBAAmB,GAC9B,4CAAqD,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/errors/bundler.js b/node_modules/viem/_esm/account-abstraction/errors/bundler.js new file mode 100644 index 0000000000000000000000000000000000000000..c780b6435c7ec4439ead61372b616602b8c5c65e --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/errors/bundler.js @@ -0,0 +1,601 @@ +import { BaseError } from '../../errors/base.js'; +export class AccountNotDeployedError extends BaseError { + constructor({ cause, }) { + super('Smart Account is not deployed.', { + cause, + metaMessages: [ + 'This could arise when:', + '- No `factory`/`factoryData` or `initCode` properties are provided for Smart Account deployment.', + '- An incorrect `sender` address is provided.', + ], + name: 'AccountNotDeployedError', + }); + } +} +Object.defineProperty(AccountNotDeployedError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa20/ +}); +export class ExecutionRevertedError extends BaseError { + constructor({ cause, data, message, } = {}) { + const reason = message + ?.replace('execution reverted: ', '') + ?.replace('execution reverted', ''); + super(`Execution reverted ${reason ? `with reason: ${reason}` : 'for an unknown reason'}.`, { + cause, + name: 'ExecutionRevertedError', + }); + Object.defineProperty(this, "data", { + enumerable: true, + configurable: true, + writable: true, + value: void 0 + }); + this.data = data; + } +} +Object.defineProperty(ExecutionRevertedError, "code", { + enumerable: true, + configurable: true, + writable: true, + value: -32521 +}); +Object.defineProperty(ExecutionRevertedError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /execution reverted/ +}); +export class FailedToSendToBeneficiaryError extends BaseError { + constructor({ cause, }) { + super('Failed to send funds to beneficiary.', { + cause, + name: 'FailedToSendToBeneficiaryError', + }); + } +} +Object.defineProperty(FailedToSendToBeneficiaryError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa91/ +}); +export class GasValuesOverflowError extends BaseError { + constructor({ cause, }) { + super('Gas value overflowed.', { + cause, + metaMessages: [ + 'This could arise when:', + '- one of the gas values exceeded 2**120 (uint120)', + ].filter(Boolean), + name: 'GasValuesOverflowError', + }); + } +} +Object.defineProperty(GasValuesOverflowError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa94/ +}); +export class HandleOpsOutOfGasError extends BaseError { + constructor({ cause, }) { + super('The `handleOps` function was called by the Bundler with a gas limit too low.', { + cause, + name: 'HandleOpsOutOfGasError', + }); + } +} +Object.defineProperty(HandleOpsOutOfGasError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa95/ +}); +export class InitCodeFailedError extends BaseError { + constructor({ cause, factory, factoryData, initCode, }) { + super('Failed to simulate deployment for Smart Account.', { + cause, + metaMessages: [ + 'This could arise when:', + '- Invalid `factory`/`factoryData` or `initCode` properties are present', + '- Smart Account deployment execution ran out of gas (low `verificationGasLimit` value)', + '- Smart Account deployment execution reverted with an error\n', + factory && `factory: ${factory}`, + factoryData && `factoryData: ${factoryData}`, + initCode && `initCode: ${initCode}`, + ].filter(Boolean), + name: 'InitCodeFailedError', + }); + } +} +Object.defineProperty(InitCodeFailedError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa13/ +}); +export class InitCodeMustCreateSenderError extends BaseError { + constructor({ cause, factory, factoryData, initCode, }) { + super('Smart Account initialization implementation did not create an account.', { + cause, + metaMessages: [ + 'This could arise when:', + '- `factory`/`factoryData` or `initCode` properties are invalid', + '- Smart Account initialization implementation is incorrect\n', + factory && `factory: ${factory}`, + factoryData && `factoryData: ${factoryData}`, + initCode && `initCode: ${initCode}`, + ].filter(Boolean), + name: 'InitCodeMustCreateSenderError', + }); + } +} +Object.defineProperty(InitCodeMustCreateSenderError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa15/ +}); +export class InitCodeMustReturnSenderError extends BaseError { + constructor({ cause, factory, factoryData, initCode, sender, }) { + super('Smart Account initialization implementation does not return the expected sender.', { + cause, + metaMessages: [ + 'This could arise when:', + 'Smart Account initialization implementation does not return a sender address\n', + factory && `factory: ${factory}`, + factoryData && `factoryData: ${factoryData}`, + initCode && `initCode: ${initCode}`, + sender && `sender: ${sender}`, + ].filter(Boolean), + name: 'InitCodeMustReturnSenderError', + }); + } +} +Object.defineProperty(InitCodeMustReturnSenderError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa14/ +}); +export class InsufficientPrefundError extends BaseError { + constructor({ cause, }) { + super('Smart Account does not have sufficient funds to execute the User Operation.', { + cause, + metaMessages: [ + 'This could arise when:', + '- the Smart Account does not have sufficient funds to cover the required prefund, or', + '- a Paymaster was not provided', + ].filter(Boolean), + name: 'InsufficientPrefundError', + }); + } +} +Object.defineProperty(InsufficientPrefundError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa21/ +}); +export class InternalCallOnlyError extends BaseError { + constructor({ cause, }) { + super('Bundler attempted to call an invalid function on the EntryPoint.', { + cause, + name: 'InternalCallOnlyError', + }); + } +} +Object.defineProperty(InternalCallOnlyError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa92/ +}); +export class InvalidAggregatorError extends BaseError { + constructor({ cause, }) { + super('Bundler used an invalid aggregator for handling aggregated User Operations.', { + cause, + name: 'InvalidAggregatorError', + }); + } +} +Object.defineProperty(InvalidAggregatorError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa96/ +}); +export class InvalidAccountNonceError extends BaseError { + constructor({ cause, nonce, }) { + super('Invalid Smart Account nonce used for User Operation.', { + cause, + metaMessages: [nonce && `nonce: ${nonce}`].filter(Boolean), + name: 'InvalidAccountNonceError', + }); + } +} +Object.defineProperty(InvalidAccountNonceError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa25/ +}); +export class InvalidBeneficiaryError extends BaseError { + constructor({ cause, }) { + super('Bundler has not set a beneficiary address.', { + cause, + name: 'InvalidBeneficiaryError', + }); + } +} +Object.defineProperty(InvalidBeneficiaryError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa90/ +}); +export class InvalidFieldsError extends BaseError { + constructor({ cause, }) { + super('Invalid fields set on User Operation.', { + cause, + name: 'InvalidFieldsError', + }); + } +} +Object.defineProperty(InvalidFieldsError, "code", { + enumerable: true, + configurable: true, + writable: true, + value: -32602 +}); +export class InvalidPaymasterAndDataError extends BaseError { + constructor({ cause, paymasterAndData, }) { + super('Paymaster properties provided are invalid.', { + cause, + metaMessages: [ + 'This could arise when:', + '- the `paymasterAndData` property is of an incorrect length\n', + paymasterAndData && `paymasterAndData: ${paymasterAndData}`, + ].filter(Boolean), + name: 'InvalidPaymasterAndDataError', + }); + } +} +Object.defineProperty(InvalidPaymasterAndDataError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa93/ +}); +export class PaymasterDepositTooLowError extends BaseError { + constructor({ cause, }) { + super('Paymaster deposit for the User Operation is too low.', { + cause, + metaMessages: [ + 'This could arise when:', + '- the Paymaster has deposited less than the expected amount via the `deposit` function', + ].filter(Boolean), + name: 'PaymasterDepositTooLowError', + }); + } +} +Object.defineProperty(PaymasterDepositTooLowError, "code", { + enumerable: true, + configurable: true, + writable: true, + value: -32508 +}); +Object.defineProperty(PaymasterDepositTooLowError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa31/ +}); +export class PaymasterFunctionRevertedError extends BaseError { + constructor({ cause, }) { + super('The `validatePaymasterUserOp` function on the Paymaster reverted.', { + cause, + name: 'PaymasterFunctionRevertedError', + }); + } +} +Object.defineProperty(PaymasterFunctionRevertedError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa33/ +}); +export class PaymasterNotDeployedError extends BaseError { + constructor({ cause, }) { + super('The Paymaster contract has not been deployed.', { + cause, + name: 'PaymasterNotDeployedError', + }); + } +} +Object.defineProperty(PaymasterNotDeployedError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa30/ +}); +export class PaymasterRateLimitError extends BaseError { + constructor({ cause }) { + super('UserOperation rejected because paymaster (or signature aggregator) is throttled/banned.', { + cause, + name: 'PaymasterRateLimitError', + }); + } +} +Object.defineProperty(PaymasterRateLimitError, "code", { + enumerable: true, + configurable: true, + writable: true, + value: -32504 +}); +export class PaymasterStakeTooLowError extends BaseError { + constructor({ cause }) { + super('UserOperation rejected because paymaster (or signature aggregator) stake or unstake-delay is too low.', { + cause, + name: 'PaymasterStakeTooLowError', + }); + } +} +Object.defineProperty(PaymasterStakeTooLowError, "code", { + enumerable: true, + configurable: true, + writable: true, + value: -32505 +}); +export class PaymasterPostOpFunctionRevertedError extends BaseError { + constructor({ cause, }) { + super('Paymaster `postOp` function reverted.', { + cause, + name: 'PaymasterPostOpFunctionRevertedError', + }); + } +} +Object.defineProperty(PaymasterPostOpFunctionRevertedError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa50/ +}); +export class SenderAlreadyConstructedError extends BaseError { + constructor({ cause, factory, factoryData, initCode, }) { + super('Smart Account has already been deployed.', { + cause, + metaMessages: [ + 'Remove the following properties and try again:', + factory && '`factory`', + factoryData && '`factoryData`', + initCode && '`initCode`', + ].filter(Boolean), + name: 'SenderAlreadyConstructedError', + }); + } +} +Object.defineProperty(SenderAlreadyConstructedError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa10/ +}); +export class SignatureCheckFailedError extends BaseError { + constructor({ cause }) { + super('UserOperation rejected because account signature check failed (or paymaster signature, if the paymaster uses its data as signature).', { + cause, + name: 'SignatureCheckFailedError', + }); + } +} +Object.defineProperty(SignatureCheckFailedError, "code", { + enumerable: true, + configurable: true, + writable: true, + value: -32507 +}); +export class SmartAccountFunctionRevertedError extends BaseError { + constructor({ cause, }) { + super('The `validateUserOp` function on the Smart Account reverted.', { + cause, + name: 'SmartAccountFunctionRevertedError', + }); + } +} +Object.defineProperty(SmartAccountFunctionRevertedError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa23/ +}); +export class UnsupportedSignatureAggregatorError extends BaseError { + constructor({ cause }) { + super('UserOperation rejected because account specified unsupported signature aggregator.', { + cause, + name: 'UnsupportedSignatureAggregatorError', + }); + } +} +Object.defineProperty(UnsupportedSignatureAggregatorError, "code", { + enumerable: true, + configurable: true, + writable: true, + value: -32506 +}); +export class UserOperationExpiredError extends BaseError { + constructor({ cause, }) { + super('User Operation expired.', { + cause, + metaMessages: [ + 'This could arise when:', + '- the `validAfter` or `validUntil` values returned from `validateUserOp` on the Smart Account are not satisfied', + ].filter(Boolean), + name: 'UserOperationExpiredError', + }); + } +} +Object.defineProperty(UserOperationExpiredError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa22/ +}); +export class UserOperationPaymasterExpiredError extends BaseError { + constructor({ cause, }) { + super('Paymaster for User Operation expired.', { + cause, + metaMessages: [ + 'This could arise when:', + '- the `validAfter` or `validUntil` values returned from `validatePaymasterUserOp` on the Paymaster are not satisfied', + ].filter(Boolean), + name: 'UserOperationPaymasterExpiredError', + }); + } +} +Object.defineProperty(UserOperationPaymasterExpiredError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa32/ +}); +export class UserOperationSignatureError extends BaseError { + constructor({ cause, }) { + super('Signature provided for the User Operation is invalid.', { + cause, + metaMessages: [ + 'This could arise when:', + '- the `signature` for the User Operation is incorrectly computed, and unable to be verified by the Smart Account', + ].filter(Boolean), + name: 'UserOperationSignatureError', + }); + } +} +Object.defineProperty(UserOperationSignatureError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa24/ +}); +export class UserOperationPaymasterSignatureError extends BaseError { + constructor({ cause, }) { + super('Signature provided for the User Operation is invalid.', { + cause, + metaMessages: [ + 'This could arise when:', + '- the `signature` for the User Operation is incorrectly computed, and unable to be verified by the Paymaster', + ].filter(Boolean), + name: 'UserOperationPaymasterSignatureError', + }); + } +} +Object.defineProperty(UserOperationPaymasterSignatureError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa34/ +}); +export class UserOperationRejectedByEntryPointError extends BaseError { + constructor({ cause }) { + super("User Operation rejected by EntryPoint's `simulateValidation` during account creation or validation.", { + cause, + name: 'UserOperationRejectedByEntryPointError', + }); + } +} +Object.defineProperty(UserOperationRejectedByEntryPointError, "code", { + enumerable: true, + configurable: true, + writable: true, + value: -32500 +}); +export class UserOperationRejectedByPaymasterError extends BaseError { + constructor({ cause }) { + super("User Operation rejected by Paymaster's `validatePaymasterUserOp`.", { + cause, + name: 'UserOperationRejectedByPaymasterError', + }); + } +} +Object.defineProperty(UserOperationRejectedByPaymasterError, "code", { + enumerable: true, + configurable: true, + writable: true, + value: -32501 +}); +export class UserOperationRejectedByOpCodeError extends BaseError { + constructor({ cause }) { + super('User Operation rejected with op code validation error.', { + cause, + name: 'UserOperationRejectedByOpCodeError', + }); + } +} +Object.defineProperty(UserOperationRejectedByOpCodeError, "code", { + enumerable: true, + configurable: true, + writable: true, + value: -32502 +}); +export class UserOperationOutOfTimeRangeError extends BaseError { + constructor({ cause }) { + super('UserOperation out of time-range: either wallet or paymaster returned a time-range, and it is already expired (or will expire soon).', { + cause, + name: 'UserOperationOutOfTimeRangeError', + }); + } +} +Object.defineProperty(UserOperationOutOfTimeRangeError, "code", { + enumerable: true, + configurable: true, + writable: true, + value: -32503 +}); +export class UnknownBundlerError extends BaseError { + constructor({ cause }) { + super(`An error occurred while executing user operation: ${cause?.shortMessage}`, { + cause, + name: 'UnknownBundlerError', + }); + } +} +export class VerificationGasLimitExceededError extends BaseError { + constructor({ cause, }) { + super('User Operation verification gas limit exceeded.', { + cause, + metaMessages: [ + 'This could arise when:', + '- the gas used for verification exceeded the `verificationGasLimit`', + ].filter(Boolean), + name: 'VerificationGasLimitExceededError', + }); + } +} +Object.defineProperty(VerificationGasLimitExceededError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa40/ +}); +export class VerificationGasLimitTooLowError extends BaseError { + constructor({ cause, }) { + super('User Operation verification gas limit is too low.', { + cause, + metaMessages: [ + 'This could arise when:', + '- the `verificationGasLimit` is too low to verify the User Operation', + ].filter(Boolean), + name: 'VerificationGasLimitTooLowError', + }); + } +} +Object.defineProperty(VerificationGasLimitTooLowError, "message", { + enumerable: true, + configurable: true, + writable: true, + value: /aa41/ +}); +//# sourceMappingURL=bundler.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/errors/bundler.js.map b/node_modules/viem/_esm/account-abstraction/errors/bundler.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c88eb5e9268ced6541c7ed152f9e1a21b9b88cc0 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/errors/bundler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../../account-abstraction/errors/bundler.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/errors/userOperation.js b/node_modules/viem/_esm/account-abstraction/errors/userOperation.js new file mode 100644 index 0000000000000000000000000000000000000000..4e17b7543e1bcf2f7ba930bdbf72042d35e04574 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/errors/userOperation.js @@ -0,0 +1,63 @@ +import { BaseError } from '../../errors/base.js'; +import { prettyPrint } from '../../errors/transaction.js'; +import { formatGwei } from '../../utils/index.js'; +export class UserOperationExecutionError extends BaseError { + constructor(cause, { callData, callGasLimit, docsPath, factory, factoryData, initCode, maxFeePerGas, maxPriorityFeePerGas, nonce, paymaster, paymasterAndData, paymasterData, paymasterPostOpGasLimit, paymasterVerificationGasLimit, preVerificationGas, sender, signature, verificationGasLimit, }) { + const prettyArgs = prettyPrint({ + callData, + callGasLimit, + factory, + factoryData, + initCode, + maxFeePerGas: typeof maxFeePerGas !== 'undefined' && + `${formatGwei(maxFeePerGas)} gwei`, + maxPriorityFeePerGas: typeof maxPriorityFeePerGas !== 'undefined' && + `${formatGwei(maxPriorityFeePerGas)} gwei`, + nonce, + paymaster, + paymasterAndData, + paymasterData, + paymasterPostOpGasLimit, + paymasterVerificationGasLimit, + preVerificationGas, + sender, + signature, + verificationGasLimit, + }); + super(cause.shortMessage, { + cause, + docsPath, + metaMessages: [ + ...(cause.metaMessages ? [...cause.metaMessages, ' '] : []), + 'Request Arguments:', + prettyArgs, + ].filter(Boolean), + name: 'UserOperationExecutionError', + }); + Object.defineProperty(this, "cause", { + enumerable: true, + configurable: true, + writable: true, + value: void 0 + }); + this.cause = cause; + } +} +export class UserOperationReceiptNotFoundError extends BaseError { + constructor({ hash }) { + super(`User Operation receipt with hash "${hash}" could not be found. The User Operation may not have been processed yet.`, { name: 'UserOperationReceiptNotFoundError' }); + } +} +export class UserOperationNotFoundError extends BaseError { + constructor({ hash }) { + super(`User Operation with hash "${hash}" could not be found.`, { + name: 'UserOperationNotFoundError', + }); + } +} +export class WaitForUserOperationReceiptTimeoutError extends BaseError { + constructor({ hash }) { + super(`Timed out while waiting for User Operation with hash "${hash}" to be confirmed.`, { name: 'WaitForUserOperationReceiptTimeoutError' }); + } +} +//# sourceMappingURL=userOperation.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/errors/userOperation.js.map b/node_modules/viem/_esm/account-abstraction/errors/userOperation.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8365c6ea28858c52b9f4dc81c6b14570144a4453 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/errors/userOperation.js.map @@ -0,0 +1 @@ +{"version":3,"file":"userOperation.js","sourceRoot":"","sources":["../../../account-abstraction/errors/userOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAMjD,MAAM,OAAO,2BAA4B,SAAQ,SAAS;IAGxD,YACE,KAAgB,EAChB,EACE,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,6BAA6B,EAC7B,kBAAkB,EAClB,MAAM,EACN,SAAS,EACT,oBAAoB,GAGrB;QAED,MAAM,UAAU,GAAG,WAAW,CAAC;YAC7B,QAAQ;YACR,YAAY;YACZ,OAAO;YACP,WAAW;YACX,QAAQ;YACR,YAAY,EACV,OAAO,YAAY,KAAK,WAAW;gBACnC,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO;YACpC,oBAAoB,EAClB,OAAO,oBAAoB,KAAK,WAAW;gBAC3C,GAAG,UAAU,CAAC,oBAAoB,CAAC,OAAO;YAC5C,KAAK;YACL,SAAS;YACT,gBAAgB;YAChB,aAAa;YACb,uBAAuB;YACvB,6BAA6B;YAC7B,kBAAkB;YAClB,MAAM;YACN,SAAS;YACT,oBAAoB;SACrB,CAAC,CAAA;QAEF,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE;YACxB,KAAK;YACL,QAAQ;YACR,YAAY,EAAE;gBACZ,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,oBAAoB;gBACpB,UAAU;aACX,CAAC,MAAM,CAAC,OAAO,CAAa;YAC7B,IAAI,EAAE,6BAA6B;SACpC,CAAC,CAAA;QA5DK;;;;;WAAgB;QA6DvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;CACF;AAMD,MAAM,OAAO,iCAAkC,SAAQ,SAAS;IAC9D,YAAY,EAAE,IAAI,EAAkB;QAClC,KAAK,CACH,qCAAqC,IAAI,2EAA2E,EACpH,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAC9C,CAAA;IACH,CAAC;CACF;AAKD,MAAM,OAAO,0BAA2B,SAAQ,SAAS;IACvD,YAAY,EAAE,IAAI,EAAkB;QAClC,KAAK,CAAC,6BAA6B,IAAI,uBAAuB,EAAE;YAC9D,IAAI,EAAE,4BAA4B;SACnC,CAAC,CAAA;IACJ,CAAC;CACF;AAMD,MAAM,OAAO,uCAAwC,SAAQ,SAAS;IACpE,YAAY,EAAE,IAAI,EAAkB;QAClC,KAAK,CACH,yDAAyD,IAAI,oBAAoB,EACjF,EAAE,IAAI,EAAE,yCAAyC,EAAE,CACpD,CAAA;IACH,CAAC;CACF"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/index.js b/node_modules/viem/_esm/account-abstraction/index.js new file mode 100644 index 0000000000000000000000000000000000000000..a625ce1cb109d7bde5a4e7d92ed4a872cabc2da3 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/index.js @@ -0,0 +1,36 @@ +// biome-ignore lint/performance/noBarrelFile: entrypoint +export { createWebAuthnCredential, } from './accounts/createWebAuthnCredential.js'; +export { toCoinbaseSmartAccount, } from './accounts/implementations/toCoinbaseSmartAccount.js'; +export { toSimple7702SmartAccount, } from './accounts/implementations/toSimple7702SmartAccount.js'; +export { toSoladySmartAccount, } from './accounts/implementations/toSoladySmartAccount.js'; +export { toSmartAccount, } from './accounts/toSmartAccount.js'; +export { toWebAuthnAccount, } from './accounts/toWebAuthnAccount.js'; +export { estimateUserOperationGas, } from './actions/bundler/estimateUserOperationGas.js'; +export { getSupportedEntryPoints, } from './actions/bundler/getSupportedEntryPoints.js'; +export { getUserOperation, } from './actions/bundler/getUserOperation.js'; +export { getUserOperationReceipt, } from './actions/bundler/getUserOperationReceipt.js'; +export { prepareUserOperation, } from './actions/bundler/prepareUserOperation.js'; +export { sendUserOperation, } from './actions/bundler/sendUserOperation.js'; +export { waitForUserOperationReceipt, } from './actions/bundler/waitForUserOperationReceipt.js'; +export { getPaymasterData, } from './actions/paymaster/getPaymasterData.js'; +export { getPaymasterStubData, } from './actions/paymaster/getPaymasterStubData.js'; +export { createBundlerClient, } from './clients/createBundlerClient.js'; +export { createPaymasterClient, } from './clients/createPaymasterClient.js'; +export { bundlerActions, } from './clients/decorators/bundler.js'; +export { paymasterActions, } from './clients/decorators/paymaster.js'; +export { entryPoint06Abi, entryPoint07Abi, entryPoint08Abi, entryPoint09Abi, } from './constants/abis.js'; +export { entryPoint06Address, entryPoint07Address, entryPoint08Address, entryPoint09Address, } from './constants/address.js'; +export { AccountNotDeployedError, FailedToSendToBeneficiaryError, GasValuesOverflowError, HandleOpsOutOfGasError, InitCodeFailedError, InitCodeMustCreateSenderError, InitCodeMustReturnSenderError, InsufficientPrefundError, InternalCallOnlyError, InvalidAggregatorError, InvalidBeneficiaryError, InvalidPaymasterAndDataError, PaymasterDepositTooLowError, PaymasterFunctionRevertedError, PaymasterNotDeployedError, PaymasterPostOpFunctionRevertedError, SenderAlreadyConstructedError, SmartAccountFunctionRevertedError, UnknownBundlerError, UserOperationExpiredError, UserOperationPaymasterExpiredError, UserOperationPaymasterSignatureError, UserOperationSignatureError, VerificationGasLimitExceededError, VerificationGasLimitTooLowError, } from './errors/bundler.js'; +export { UserOperationExecutionError, UserOperationNotFoundError, UserOperationReceiptNotFoundError, WaitForUserOperationReceiptTimeoutError, } from './errors/userOperation.js'; +export { getBundlerError, } from './utils/errors/getBundlerError.js'; +export { getUserOperationError, } from './utils/errors/getUserOperationError.js'; +export { formatUserOperation, } from './utils/formatters/userOperation.js'; +export { formatUserOperationGas, } from './utils/formatters/userOperationGas.js'; +export { formatUserOperationReceipt, } from './utils/formatters/userOperationReceipt.js'; +export { formatUserOperationRequest, } from './utils/formatters/userOperationRequest.js'; +export { getInitCode, } from './utils/userOperation/getInitCode.js'; +export { getUserOperationHash, } from './utils/userOperation/getUserOperationHash.js'; +export { getUserOperationTypedData, } from './utils/userOperation/getUserOperationTypedData.js'; +export { toPackedUserOperation, } from './utils/userOperation/toPackedUserOperation.js'; +export { toUserOperation } from './utils/userOperation/toUserOperation.js'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/index.js.map b/node_modules/viem/_esm/account-abstraction/index.js.map new file mode 100644 index 0000000000000000000000000000000000000000..65be8bf8d419ef70f244e15c9b5eefcc45c905d3 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../account-abstraction/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,OAAO,EAGL,wBAAwB,GAEzB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAIL,sBAAsB,GACvB,MAAM,sDAAsD,CAAA;AAC7D,OAAO,EAIL,wBAAwB,GACzB,MAAM,wDAAwD,CAAA;AAC/D,OAAO,EAIL,oBAAoB,GACrB,MAAM,oDAAoD,CAAA;AAC3D,OAAO,EAGL,cAAc,GACf,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAIL,iBAAiB,GAClB,MAAM,iCAAiC,CAAA;AAQxC,OAAO,EAIL,wBAAwB,GACzB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAGL,uBAAuB,GACxB,MAAM,8CAA8C,CAAA;AACrD,OAAO,EAIL,gBAAgB,GACjB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAIL,uBAAuB,GACxB,MAAM,8CAA8C,CAAA;AACrD,OAAO,EAML,oBAAoB,GACrB,MAAM,2CAA2C,CAAA;AAClD,OAAO,EAIL,iBAAiB,GAClB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAIL,2BAA2B,GAC5B,MAAM,kDAAkD,CAAA;AAEzD,OAAO,EAIL,gBAAgB,GACjB,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAIL,oBAAoB,GACrB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAIL,mBAAmB,GACpB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAEL,qBAAqB,GAGtB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAEL,cAAc,GACf,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAEL,gBAAgB,GACjB,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EACL,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EACL,uBAAuB,EAEvB,8BAA8B,EAE9B,sBAAsB,EAEtB,sBAAsB,EAEtB,mBAAmB,EAEnB,6BAA6B,EAE7B,6BAA6B,EAE7B,wBAAwB,EAExB,qBAAqB,EAErB,sBAAsB,EAEtB,uBAAuB,EAEvB,4BAA4B,EAE5B,2BAA2B,EAE3B,8BAA8B,EAE9B,yBAAyB,EAEzB,oCAAoC,EAEpC,6BAA6B,EAE7B,iCAAiC,EAEjC,mBAAmB,EAEnB,yBAAyB,EAEzB,kCAAkC,EAElC,oCAAoC,EAEpC,2BAA2B,EAE3B,iCAAiC,EAEjC,+BAA+B,GAEhC,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,2BAA2B,EAE3B,0BAA0B,EAE1B,iCAAiC,EAEjC,uCAAuC,GAExC,MAAM,2BAA2B,CAAA;AAyBlC,OAAO,EAGL,eAAe,GAChB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAIL,qBAAqB,GACtB,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAEL,mBAAmB,GACpB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAEL,sBAAsB,GACvB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAEL,0BAA0B,GAC3B,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAEL,0BAA0B,GAC3B,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAEL,WAAW,GACZ,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAGL,oBAAoB,GACrB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAGL,yBAAyB,GAC1B,MAAM,oDAAoD,CAAA;AAC3D,OAAO,EAEL,qBAAqB,GACtB,MAAM,gDAAgD,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/types/account.js b/node_modules/viem/_esm/account-abstraction/types/account.js new file mode 100644 index 0000000000000000000000000000000000000000..b56c4b9849aab9e64c849af5f66258f979160029 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/types/account.js @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=account.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/types/account.js.map b/node_modules/viem/_esm/account-abstraction/types/account.js.map new file mode 100644 index 0000000000000000000000000000000000000000..772d400b0ad70d869679c151723628435a32ede1 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/types/account.js.map @@ -0,0 +1 @@ +{"version":3,"file":"account.js","sourceRoot":"","sources":["../../../account-abstraction/types/account.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/types/entryPointVersion.js b/node_modules/viem/_esm/account-abstraction/types/entryPointVersion.js new file mode 100644 index 0000000000000000000000000000000000000000..367e2b2debf1101fb258c59a31ed0857604764df --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/types/entryPointVersion.js @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=entryPointVersion.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/types/entryPointVersion.js.map b/node_modules/viem/_esm/account-abstraction/types/entryPointVersion.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f494f9cc1eb3206d6df5fb5dfbdb4ab452e2bcf5 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/types/entryPointVersion.js.map @@ -0,0 +1 @@ +{"version":3,"file":"entryPointVersion.js","sourceRoot":"","sources":["../../../account-abstraction/types/entryPointVersion.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/types/rpc.js b/node_modules/viem/_esm/account-abstraction/types/rpc.js new file mode 100644 index 0000000000000000000000000000000000000000..f3a500abe4f2fcf9714b6acf92dcc586458bb96c --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/types/rpc.js @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=rpc.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/types/rpc.js.map b/node_modules/viem/_esm/account-abstraction/types/rpc.js.map new file mode 100644 index 0000000000000000000000000000000000000000..0f7a01a9f06f3f9c5e109864dc8e3c5fbca05c98 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/types/rpc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../account-abstraction/types/rpc.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/types/userOperation.js b/node_modules/viem/_esm/account-abstraction/types/userOperation.js new file mode 100644 index 0000000000000000000000000000000000000000..e947b4bdd979a5c0008359f4ee41e935df4be68b --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/types/userOperation.js @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=userOperation.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/types/userOperation.js.map b/node_modules/viem/_esm/account-abstraction/types/userOperation.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e6d9fb62f304a9463e6d3185f79f85e12c7c31c5 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/types/userOperation.js.map @@ -0,0 +1 @@ +{"version":3,"file":"userOperation.js","sourceRoot":"","sources":["../../../account-abstraction/types/userOperation.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/errors/getBundlerError.js b/node_modules/viem/_esm/account-abstraction/utils/errors/getBundlerError.js new file mode 100644 index 0000000000000000000000000000000000000000..cee1933a1ed18ddee09a8693ce0ab00929c0ac40 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/errors/getBundlerError.js @@ -0,0 +1,184 @@ +import { AccountNotDeployedError, ExecutionRevertedError, FailedToSendToBeneficiaryError, GasValuesOverflowError, HandleOpsOutOfGasError, InitCodeFailedError, InitCodeMustCreateSenderError, InitCodeMustReturnSenderError, InsufficientPrefundError, InternalCallOnlyError, InvalidAccountNonceError, InvalidAggregatorError, InvalidBeneficiaryError, InvalidFieldsError, InvalidPaymasterAndDataError, PaymasterDepositTooLowError, PaymasterFunctionRevertedError, PaymasterNotDeployedError, PaymasterPostOpFunctionRevertedError, PaymasterRateLimitError, PaymasterStakeTooLowError, SenderAlreadyConstructedError, SignatureCheckFailedError, SmartAccountFunctionRevertedError, UnknownBundlerError, UnsupportedSignatureAggregatorError, UserOperationExpiredError, UserOperationOutOfTimeRangeError, UserOperationPaymasterExpiredError, UserOperationPaymasterSignatureError, UserOperationRejectedByEntryPointError, UserOperationRejectedByOpCodeError, UserOperationRejectedByPaymasterError, UserOperationSignatureError, VerificationGasLimitExceededError, VerificationGasLimitTooLowError, } from '../../errors/bundler.js'; +const bundlerErrors = [ + ExecutionRevertedError, + InvalidFieldsError, + PaymasterDepositTooLowError, + PaymasterRateLimitError, + PaymasterStakeTooLowError, + SignatureCheckFailedError, + UnsupportedSignatureAggregatorError, + UserOperationOutOfTimeRangeError, + UserOperationRejectedByEntryPointError, + UserOperationRejectedByPaymasterError, + UserOperationRejectedByOpCodeError, +]; +export function getBundlerError(err, args) { + const message = (err.details || '').toLowerCase(); + if (AccountNotDeployedError.message.test(message)) + return new AccountNotDeployedError({ + cause: err, + }); + if (FailedToSendToBeneficiaryError.message.test(message)) + return new FailedToSendToBeneficiaryError({ + cause: err, + }); + if (GasValuesOverflowError.message.test(message)) + return new GasValuesOverflowError({ + cause: err, + }); + if (HandleOpsOutOfGasError.message.test(message)) + return new HandleOpsOutOfGasError({ + cause: err, + }); + if (InitCodeFailedError.message.test(message)) + return new InitCodeFailedError({ + cause: err, + factory: args.factory, + factoryData: args.factoryData, + initCode: args.initCode, + }); + if (InitCodeMustCreateSenderError.message.test(message)) + return new InitCodeMustCreateSenderError({ + cause: err, + factory: args.factory, + factoryData: args.factoryData, + initCode: args.initCode, + }); + if (InitCodeMustReturnSenderError.message.test(message)) + return new InitCodeMustReturnSenderError({ + cause: err, + factory: args.factory, + factoryData: args.factoryData, + initCode: args.initCode, + sender: args.sender, + }); + if (InsufficientPrefundError.message.test(message)) + return new InsufficientPrefundError({ + cause: err, + }); + if (InternalCallOnlyError.message.test(message)) + return new InternalCallOnlyError({ + cause: err, + }); + if (InvalidAccountNonceError.message.test(message)) + return new InvalidAccountNonceError({ + cause: err, + nonce: args.nonce, + }); + if (InvalidAggregatorError.message.test(message)) + return new InvalidAggregatorError({ + cause: err, + }); + if (InvalidBeneficiaryError.message.test(message)) + return new InvalidBeneficiaryError({ + cause: err, + }); + if (InvalidPaymasterAndDataError.message.test(message)) + return new InvalidPaymasterAndDataError({ + cause: err, + }); + if (PaymasterDepositTooLowError.message.test(message)) + return new PaymasterDepositTooLowError({ + cause: err, + }); + if (PaymasterFunctionRevertedError.message.test(message)) + return new PaymasterFunctionRevertedError({ + cause: err, + }); + if (PaymasterNotDeployedError.message.test(message)) + return new PaymasterNotDeployedError({ + cause: err, + }); + if (PaymasterPostOpFunctionRevertedError.message.test(message)) + return new PaymasterPostOpFunctionRevertedError({ + cause: err, + }); + if (SmartAccountFunctionRevertedError.message.test(message)) + return new SmartAccountFunctionRevertedError({ + cause: err, + }); + if (SenderAlreadyConstructedError.message.test(message)) + return new SenderAlreadyConstructedError({ + cause: err, + factory: args.factory, + factoryData: args.factoryData, + initCode: args.initCode, + }); + if (UserOperationExpiredError.message.test(message)) + return new UserOperationExpiredError({ + cause: err, + }); + if (UserOperationPaymasterExpiredError.message.test(message)) + return new UserOperationPaymasterExpiredError({ + cause: err, + }); + if (UserOperationPaymasterSignatureError.message.test(message)) + return new UserOperationPaymasterSignatureError({ + cause: err, + }); + if (UserOperationSignatureError.message.test(message)) + return new UserOperationSignatureError({ + cause: err, + }); + if (VerificationGasLimitExceededError.message.test(message)) + return new VerificationGasLimitExceededError({ + cause: err, + }); + if (VerificationGasLimitTooLowError.message.test(message)) + return new VerificationGasLimitTooLowError({ + cause: err, + }); + const error = err.walk((e) => bundlerErrors.some((error) => error.code === e.code)); + if (error) { + if (error.code === ExecutionRevertedError.code) + return new ExecutionRevertedError({ + cause: err, + data: error.data, + message: error.details, + }); + if (error.code === InvalidFieldsError.code) + return new InvalidFieldsError({ + cause: err, + }); + if (error.code === PaymasterDepositTooLowError.code) + return new PaymasterDepositTooLowError({ + cause: err, + }); + if (error.code === PaymasterRateLimitError.code) + return new PaymasterRateLimitError({ + cause: err, + }); + if (error.code === PaymasterStakeTooLowError.code) + return new PaymasterStakeTooLowError({ + cause: err, + }); + if (error.code === SignatureCheckFailedError.code) + return new SignatureCheckFailedError({ + cause: err, + }); + if (error.code === UnsupportedSignatureAggregatorError.code) + return new UnsupportedSignatureAggregatorError({ + cause: err, + }); + if (error.code === UserOperationOutOfTimeRangeError.code) + return new UserOperationOutOfTimeRangeError({ + cause: err, + }); + if (error.code === UserOperationRejectedByEntryPointError.code) + return new UserOperationRejectedByEntryPointError({ + cause: err, + }); + if (error.code === UserOperationRejectedByPaymasterError.code) + return new UserOperationRejectedByPaymasterError({ + cause: err, + }); + if (error.code === UserOperationRejectedByOpCodeError.code) + return new UserOperationRejectedByOpCodeError({ + cause: err, + }); + } + return new UnknownBundlerError({ + cause: err, + }); +} +//# sourceMappingURL=getBundlerError.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/errors/getBundlerError.js.map b/node_modules/viem/_esm/account-abstraction/utils/errors/getBundlerError.js.map new file mode 100644 index 0000000000000000000000000000000000000000..2d3f52eafd5ed5776322ea8dc1516338a18531a7 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/errors/getBundlerError.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getBundlerError.js","sourceRoot":"","sources":["../../../../account-abstraction/utils/errors/getBundlerError.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/errors/getUserOperationError.js b/node_modules/viem/_esm/account-abstraction/utils/errors/getUserOperationError.js new file mode 100644 index 0000000000000000000000000000000000000000..52141507280b59d9dde0e7420166150bd4caf4a2 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/errors/getUserOperationError.js @@ -0,0 +1,85 @@ +import { BaseError } from '../../../errors/base.js'; +import { ContractFunctionExecutionError, ContractFunctionRevertedError, ContractFunctionZeroDataError, } from '../../../errors/contract.js'; +import { decodeErrorResult } from '../../../utils/abi/decodeErrorResult.js'; +import { ExecutionRevertedError } from '../../errors/bundler.js'; +import { UserOperationExecutionError, } from '../../errors/userOperation.js'; +import { getBundlerError, } from './getBundlerError.js'; +export function getUserOperationError(err, { calls, docsPath, ...args }) { + const cause = (() => { + const cause = getBundlerError(err, args); + if (calls && cause instanceof ExecutionRevertedError) { + const revertData = getRevertData(cause); + const contractCalls = calls?.filter((call) => call.abi); + if (revertData && contractCalls.length > 0) + return getContractError({ calls: contractCalls, revertData }); + } + return cause; + })(); + return new UserOperationExecutionError(cause, { + docsPath, + ...args, + }); +} +///////////////////////////////////////////////////////////////////////////////// +function getRevertData(error) { + let revertData; + error.walk((e) => { + const error = e; + if (typeof error.data === 'string' || + typeof error.data?.revertData === 'string' || + (!(error instanceof BaseError) && typeof error.message === 'string')) { + const match = (error.data?.revertData || + error.data || + error.message).match?.(/(0x[A-Za-z0-9]*)/); + if (match) { + revertData = match[1]; + return true; + } + } + return false; + }); + return revertData; +} +function getContractError(parameters) { + const { calls, revertData } = parameters; + const { abi, functionName, args, to } = (() => { + const contractCalls = calls?.filter((call) => Boolean(call.abi)); + if (contractCalls.length === 1) + return contractCalls[0]; + const compatContractCalls = contractCalls.filter((call) => { + try { + return Boolean(decodeErrorResult({ + abi: call.abi, + data: revertData, + })); + } + catch { + return false; + } + }); + if (compatContractCalls.length === 1) + return compatContractCalls[0]; + return { + abi: [], + functionName: contractCalls.reduce((acc, call) => `${acc ? `${acc} | ` : ''}${call.functionName}`, ''), + args: undefined, + to: undefined, + }; + })(); + const cause = (() => { + if (revertData === '0x') + return new ContractFunctionZeroDataError({ functionName }); + return new ContractFunctionRevertedError({ + abi, + data: revertData, + functionName, + }); + })(); + return new ContractFunctionExecutionError(cause, { + abi, + args, + contractAddress: to, + functionName, + }); +} +//# sourceMappingURL=getUserOperationError.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/errors/getUserOperationError.js.map b/node_modules/viem/_esm/account-abstraction/utils/errors/getUserOperationError.js.map new file mode 100644 index 0000000000000000000000000000000000000000..97772c174d7b5f70e3ae32c3cccddaed025e96ba --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/errors/getUserOperationError.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getUserOperationError.js","sourceRoot":"","sources":["../../../../account-abstraction/utils/errors/getUserOperationError.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperation.js b/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperation.js new file mode 100644 index 0000000000000000000000000000000000000000..f3cf4b9ca4ebfde509bb7d2185793215b496cc3d --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperation.js @@ -0,0 +1,21 @@ +export function formatUserOperation(parameters) { + const userOperation = { ...parameters }; + if (parameters.callGasLimit) + userOperation.callGasLimit = BigInt(parameters.callGasLimit); + if (parameters.maxFeePerGas) + userOperation.maxFeePerGas = BigInt(parameters.maxFeePerGas); + if (parameters.maxPriorityFeePerGas) + userOperation.maxPriorityFeePerGas = BigInt(parameters.maxPriorityFeePerGas); + if (parameters.nonce) + userOperation.nonce = BigInt(parameters.nonce); + if (parameters.paymasterPostOpGasLimit) + userOperation.paymasterPostOpGasLimit = BigInt(parameters.paymasterPostOpGasLimit); + if (parameters.paymasterVerificationGasLimit) + userOperation.paymasterVerificationGasLimit = BigInt(parameters.paymasterVerificationGasLimit); + if (parameters.preVerificationGas) + userOperation.preVerificationGas = BigInt(parameters.preVerificationGas); + if (parameters.verificationGasLimit) + userOperation.verificationGasLimit = BigInt(parameters.verificationGasLimit); + return userOperation; +} +//# sourceMappingURL=userOperation.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperation.js.map b/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperation.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7647f5033aa3d34798e3397a605f52a8171a17c1 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperation.js.map @@ -0,0 +1 @@ +{"version":3,"file":"userOperation.js","sourceRoot":"","sources":["../../../../account-abstraction/utils/formatters/userOperation.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,mBAAmB,CAAC,UAA4B;IAC9D,MAAM,aAAa,GAAG,EAAE,GAAG,UAAU,EAA8B,CAAA;IAEnE,IAAI,UAAU,CAAC,YAAY;QACzB,aAAa,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;IAC9D,IAAI,UAAU,CAAC,YAAY;QACzB,aAAa,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;IAC9D,IAAI,UAAU,CAAC,oBAAoB;QACjC,aAAa,CAAC,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;IAC9E,IAAI,UAAU,CAAC,KAAK;QAAE,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACpE,IAAI,UAAU,CAAC,uBAAuB;QACpC,aAAa,CAAC,uBAAuB,GAAG,MAAM,CAC5C,UAAU,CAAC,uBAAuB,CACnC,CAAA;IACH,IAAI,UAAU,CAAC,6BAA6B;QAC1C,aAAa,CAAC,6BAA6B,GAAG,MAAM,CAClD,UAAU,CAAC,6BAA6B,CACzC,CAAA;IACH,IAAI,UAAU,CAAC,kBAAkB;QAC/B,aAAa,CAAC,kBAAkB,GAAG,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;IAC1E,IAAI,UAAU,CAAC,oBAAoB;QACjC,aAAa,CAAC,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;IAE9E,OAAO,aAAa,CAAA;AACtB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationGas.js b/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationGas.js new file mode 100644 index 0000000000000000000000000000000000000000..9596452123bee683b0607ce528df5eeb2dd636b0 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationGas.js @@ -0,0 +1,15 @@ +export function formatUserOperationGas(parameters) { + const gas = {}; + if (parameters.callGasLimit) + gas.callGasLimit = BigInt(parameters.callGasLimit); + if (parameters.preVerificationGas) + gas.preVerificationGas = BigInt(parameters.preVerificationGas); + if (parameters.verificationGasLimit) + gas.verificationGasLimit = BigInt(parameters.verificationGasLimit); + if (parameters.paymasterPostOpGasLimit) + gas.paymasterPostOpGasLimit = BigInt(parameters.paymasterPostOpGasLimit); + if (parameters.paymasterVerificationGasLimit) + gas.paymasterVerificationGasLimit = BigInt(parameters.paymasterVerificationGasLimit); + return gas; +} +//# sourceMappingURL=userOperationGas.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationGas.js.map b/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationGas.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d160d041bbdff9b75fb32743f9e8051e54675b89 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationGas.js.map @@ -0,0 +1 @@ +{"version":3,"file":"userOperationGas.js","sourceRoot":"","sources":["../../../../account-abstraction/utils/formatters/userOperationGas.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,sBAAsB,CACpC,UAAiD;IAEjD,MAAM,GAAG,GAAG,EAAwC,CAAA;IAEpD,IAAI,UAAU,CAAC,YAAY;QACzB,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;IACpD,IAAI,UAAU,CAAC,kBAAkB;QAC/B,GAAG,CAAC,kBAAkB,GAAG,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;IAChE,IAAI,UAAU,CAAC,oBAAoB;QACjC,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;IACpE,IAAI,UAAU,CAAC,uBAAuB;QACpC,GAAG,CAAC,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAA;IAC1E,IAAI,UAAU,CAAC,6BAA6B;QAC1C,GAAG,CAAC,6BAA6B,GAAG,MAAM,CACxC,UAAU,CAAC,6BAA6B,CACzC,CAAA;IAEH,OAAO,GAAG,CAAA;AACZ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationReceipt.js b/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationReceipt.js new file mode 100644 index 0000000000000000000000000000000000000000..a0cb383bf61c37578436d982a2bd673f3de62eb4 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationReceipt.js @@ -0,0 +1,15 @@ +import { formatLog } from '../../../utils/formatters/log.js'; +import { formatTransactionReceipt } from '../../../utils/formatters/transactionReceipt.js'; +export function formatUserOperationReceipt(parameters) { + const receipt = { ...parameters }; + if (parameters.actualGasCost) + receipt.actualGasCost = BigInt(parameters.actualGasCost); + if (parameters.actualGasUsed) + receipt.actualGasUsed = BigInt(parameters.actualGasUsed); + if (parameters.logs) + receipt.logs = parameters.logs.map((log) => formatLog(log)); + if (parameters.receipt) + receipt.receipt = formatTransactionReceipt(receipt.receipt); + return receipt; +} +//# sourceMappingURL=userOperationReceipt.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationReceipt.js.map b/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationReceipt.js.map new file mode 100644 index 0000000000000000000000000000000000000000..4eeb6298502e6f7b97126b1ddd19c4e3ee0aae47 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationReceipt.js.map @@ -0,0 +1 @@ +{"version":3,"file":"userOperationReceipt.js","sourceRoot":"","sources":["../../../../account-abstraction/utils/formatters/userOperationReceipt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAA;AAM1F,MAAM,UAAU,0BAA0B,CACxC,UAAmC;IAEnC,MAAM,OAAO,GAAG,EAAE,GAAG,UAAU,EAAqC,CAAA;IAEpE,IAAI,UAAU,CAAC,aAAa;QAC1B,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IAC1D,IAAI,UAAU,CAAC,aAAa;QAC1B,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IAC1D,IAAI,UAAU,CAAC,IAAI;QACjB,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAQ,CAAA;IACpE,IAAI,UAAU,CAAC,OAAO;QACpB,OAAO,CAAC,OAAO,GAAG,wBAAwB,CAAC,OAAO,CAAC,OAAc,CAAC,CAAA;IAEpE,OAAO,OAAO,CAAA;AAChB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationRequest.js b/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationRequest.js new file mode 100644 index 0000000000000000000000000000000000000000..d383e8b2226d15bff7dd2d3efbbc9f99debfa058 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationRequest.js @@ -0,0 +1,61 @@ +import { numberToHex } from '../../../utils/encoding/toHex.js'; +import { pad } from '../../../utils/index.js'; +export function formatUserOperationRequest(request) { + const rpcRequest = {}; + if (typeof request.callData !== 'undefined') + rpcRequest.callData = request.callData; + if (typeof request.callGasLimit !== 'undefined') + rpcRequest.callGasLimit = numberToHex(request.callGasLimit); + if (typeof request.factory !== 'undefined') + rpcRequest.factory = request.factory; + if (typeof request.factoryData !== 'undefined') + rpcRequest.factoryData = request.factoryData; + if (typeof request.initCode !== 'undefined') + rpcRequest.initCode = request.initCode; + if (typeof request.maxFeePerGas !== 'undefined') + rpcRequest.maxFeePerGas = numberToHex(request.maxFeePerGas); + if (typeof request.maxPriorityFeePerGas !== 'undefined') + rpcRequest.maxPriorityFeePerGas = numberToHex(request.maxPriorityFeePerGas); + if (typeof request.nonce !== 'undefined') + rpcRequest.nonce = numberToHex(request.nonce); + if (typeof request.paymaster !== 'undefined') + rpcRequest.paymaster = request.paymaster; + if (typeof request.paymasterAndData !== 'undefined') + rpcRequest.paymasterAndData = request.paymasterAndData || '0x'; + if (typeof request.paymasterData !== 'undefined') + rpcRequest.paymasterData = request.paymasterData; + if (typeof request.paymasterPostOpGasLimit !== 'undefined') + rpcRequest.paymasterPostOpGasLimit = numberToHex(request.paymasterPostOpGasLimit); + if (typeof request.paymasterSignature !== 'undefined') + rpcRequest.paymasterSignature = request.paymasterSignature; + if (typeof request.paymasterVerificationGasLimit !== 'undefined') + rpcRequest.paymasterVerificationGasLimit = numberToHex(request.paymasterVerificationGasLimit); + if (typeof request.preVerificationGas !== 'undefined') + rpcRequest.preVerificationGas = numberToHex(request.preVerificationGas); + if (typeof request.sender !== 'undefined') + rpcRequest.sender = request.sender; + if (typeof request.signature !== 'undefined') + rpcRequest.signature = request.signature; + if (typeof request.verificationGasLimit !== 'undefined') + rpcRequest.verificationGasLimit = numberToHex(request.verificationGasLimit); + if (typeof request.authorization !== 'undefined') + rpcRequest.eip7702Auth = formatAuthorization(request.authorization); + return rpcRequest; +} +function formatAuthorization(authorization) { + return { + address: authorization.address, + chainId: numberToHex(authorization.chainId), + nonce: numberToHex(authorization.nonce), + r: authorization.r + ? numberToHex(BigInt(authorization.r), { size: 32 }) + : pad('0x', { size: 32 }), + s: authorization.s + ? numberToHex(BigInt(authorization.s), { size: 32 }) + : pad('0x', { size: 32 }), + yParity: typeof authorization.yParity !== 'undefined' + ? numberToHex(authorization.yParity, { size: 1 }) + : pad('0x', { size: 32 }), + }; +} +//# sourceMappingURL=userOperationRequest.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationRequest.js.map b/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationRequest.js.map new file mode 100644 index 0000000000000000000000000000000000000000..94d287d9aa2f180135fc8560e283efb6e7d8ac7a --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/formatters/userOperationRequest.js.map @@ -0,0 +1 @@ +{"version":3,"file":"userOperationRequest.js","sourceRoot":"","sources":["../../../../account-abstraction/utils/formatters/userOperationRequest.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/userOperation/getInitCode.js b/node_modules/viem/_esm/account-abstraction/utils/userOperation/getInitCode.js new file mode 100644 index 0000000000000000000000000000000000000000..d2af629876e6c9d1b80c5a92670c1397ab1ec12b --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/userOperation/getInitCode.js @@ -0,0 +1,16 @@ +import { concat } from '../../../utils/data/concat.js'; +export function getInitCode(userOperation, options = {}) { + const { forHash } = options; + const { authorization, factory, factoryData } = userOperation; + if (forHash && + (factory === '0x7702' || + factory === '0x7702000000000000000000000000000000000000')) { + if (!authorization) + return '0x7702000000000000000000000000000000000000'; + return concat([authorization.address, factoryData ?? '0x']); + } + if (!factory) + return '0x'; + return concat([factory, factoryData ?? '0x']); +} +//# sourceMappingURL=getInitCode.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/userOperation/getInitCode.js.map b/node_modules/viem/_esm/account-abstraction/utils/userOperation/getInitCode.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d2dbb707b16c05784065e61badafaa9735bff31d --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/userOperation/getInitCode.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getInitCode.js","sourceRoot":"","sources":["../../../../account-abstraction/utils/userOperation/getInitCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAQtD,MAAM,UAAU,WAAW,CACzB,aAGC,EACD,UAA8B,EAAE;IAEhC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;IAC3B,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,aAAa,CAAA;IAC7D,IACE,OAAO;QACP,CAAC,OAAO,KAAK,QAAQ;YACnB,OAAO,KAAK,4CAA4C,CAAC,EAC3D,CAAC;QACD,IAAI,CAAC,aAAa;YAAE,OAAO,4CAA4C,CAAA;QACvE,OAAO,MAAM,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC,CAAC,CAAA;IAC7D,CAAC;IACD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IACzB,OAAO,MAAM,CAAC,CAAC,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC,CAAC,CAAA;AAC/C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/userOperation/getUserOperationHash.js b/node_modules/viem/_esm/account-abstraction/utils/userOperation/getUserOperationHash.js new file mode 100644 index 0000000000000000000000000000000000000000..53b3951e62b41fa20c22e2a608a3b464ddaa3417 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/userOperation/getUserOperationHash.js @@ -0,0 +1,78 @@ +import { encodeAbiParameters } from '../../../utils/abi/encodeAbiParameters.js'; +import { keccak256 } from '../../../utils/hash/keccak256.js'; +import { hashTypedData } from '../../../utils/signature/hashTypedData.js'; +import { getInitCode } from './getInitCode.js'; +import { getUserOperationTypedData } from './getUserOperationTypedData.js'; +import { toPackedUserOperation } from './toPackedUserOperation.js'; +export function getUserOperationHash(parameters) { + const { chainId, entryPointAddress, entryPointVersion } = parameters; + const userOperation = parameters.userOperation; + const { authorization, callData = '0x', callGasLimit, maxFeePerGas, maxPriorityFeePerGas, nonce, paymasterAndData = '0x', preVerificationGas, sender, verificationGasLimit, } = userOperation; + if (entryPointVersion === '0.8' || entryPointVersion === '0.9') + return hashTypedData(getUserOperationTypedData({ + chainId, + entryPointAddress, + userOperation, + })); + const packedUserOp = (() => { + if (entryPointVersion === '0.6') { + const factory = userOperation.initCode?.slice(0, 42); + const factoryData = userOperation.initCode?.slice(42); + const initCode = getInitCode({ + authorization, + factory, + factoryData, + }, { forHash: true }); + return encodeAbiParameters([ + { type: 'address' }, + { type: 'uint256' }, + { type: 'bytes32' }, + { type: 'bytes32' }, + { type: 'uint256' }, + { type: 'uint256' }, + { type: 'uint256' }, + { type: 'uint256' }, + { type: 'uint256' }, + { type: 'bytes32' }, + ], [ + sender, + nonce, + keccak256(initCode), + keccak256(callData), + callGasLimit, + verificationGasLimit, + preVerificationGas, + maxFeePerGas, + maxPriorityFeePerGas, + keccak256(paymasterAndData), + ]); + } + if (entryPointVersion === '0.7') { + const packedUserOp = toPackedUserOperation(userOperation, { + forHash: true, + }); + return encodeAbiParameters([ + { type: 'address' }, + { type: 'uint256' }, + { type: 'bytes32' }, + { type: 'bytes32' }, + { type: 'bytes32' }, + { type: 'uint256' }, + { type: 'bytes32' }, + { type: 'bytes32' }, + ], [ + packedUserOp.sender, + packedUserOp.nonce, + keccak256(packedUserOp.initCode), + keccak256(packedUserOp.callData), + packedUserOp.accountGasLimits, + packedUserOp.preVerificationGas, + packedUserOp.gasFees, + keccak256(packedUserOp.paymasterAndData), + ]); + } + throw new Error(`entryPointVersion "${entryPointVersion}" not supported.`); + })(); + return keccak256(encodeAbiParameters([{ type: 'bytes32' }, { type: 'address' }, { type: 'uint256' }], [keccak256(packedUserOp), entryPointAddress, BigInt(chainId)])); +} +//# sourceMappingURL=getUserOperationHash.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/userOperation/getUserOperationHash.js.map b/node_modules/viem/_esm/account-abstraction/utils/userOperation/getUserOperationHash.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e4c800e09d3727884bcee518951f3af8e34104d9 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/userOperation/getUserOperationHash.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getUserOperationHash.js","sourceRoot":"","sources":["../../../../account-abstraction/utils/userOperation/getUserOperationHash.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/userOperation/getUserOperationTypedData.js b/node_modules/viem/_esm/account-abstraction/utils/userOperation/getUserOperationTypedData.js new file mode 100644 index 0000000000000000000000000000000000000000..28d928ddd7ba2e0f7db43aabe2859c5668eacab3 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/userOperation/getUserOperationTypedData.js @@ -0,0 +1,29 @@ +import { toPackedUserOperation } from './toPackedUserOperation.js'; +const types = { + PackedUserOperation: [ + { type: 'address', name: 'sender' }, + { type: 'uint256', name: 'nonce' }, + { type: 'bytes', name: 'initCode' }, + { type: 'bytes', name: 'callData' }, + { type: 'bytes32', name: 'accountGasLimits' }, + { type: 'uint256', name: 'preVerificationGas' }, + { type: 'bytes32', name: 'gasFees' }, + { type: 'bytes', name: 'paymasterAndData' }, + ], +}; +export function getUserOperationTypedData(parameters) { + const { chainId, entryPointAddress, userOperation } = parameters; + const packedUserOp = toPackedUserOperation(userOperation, { forHash: true }); + return { + types, + primaryType: 'PackedUserOperation', + domain: { + name: 'ERC4337', + version: '1', + chainId, + verifyingContract: entryPointAddress, + }, + message: packedUserOp, + }; +} +//# sourceMappingURL=getUserOperationTypedData.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/userOperation/getUserOperationTypedData.js.map b/node_modules/viem/_esm/account-abstraction/utils/userOperation/getUserOperationTypedData.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9e1c119e6595582984b509493ca790822f59b250 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/userOperation/getUserOperationTypedData.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getUserOperationTypedData.js","sourceRoot":"","sources":["../../../../account-abstraction/utils/userOperation/getUserOperationTypedData.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAalE,MAAM,KAAK,GAAG;IACZ,mBAAmB,EAAE;QACnB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;QACnC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;QAClC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE;QACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE;QACnC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE;QAC7C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE;QAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE;KAC5C;CACO,CAAA;AAEV,MAAM,UAAU,yBAAyB,CACvC,UAA+C;IAE/C,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,GAAG,UAAU,CAAA;IAEhE,MAAM,YAAY,GAAG,qBAAqB,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAE5E,OAAO;QACL,KAAK;QACL,WAAW,EAAE,qBAAqB;QAClC,MAAM,EAAE;YACN,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,GAAG;YACZ,OAAO;YACP,iBAAiB,EAAE,iBAAiB;SACrC;QACD,OAAO,EAAE,YAAY;KACtB,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/userOperation/toPackedUserOperation.js b/node_modules/viem/_esm/account-abstraction/utils/userOperation/toPackedUserOperation.js new file mode 100644 index 0000000000000000000000000000000000000000..0279b2284f69ffc12b24cbc026a1c9588ae52a8b --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/userOperation/toPackedUserOperation.js @@ -0,0 +1,58 @@ +import { concat } from '../../../utils/data/concat.js'; +import { pad } from '../../../utils/data/pad.js'; +import { size } from '../../../utils/data/size.js'; +import { numberToHex } from '../../../utils/index.js'; +import { getInitCode } from './getInitCode.js'; +/** Magic suffix for paymaster signature encoding (keccak256("PaymasterSignature")[:8]) */ +const paymasterSignatureMagic = '0x22e325a297439656'; +export function toPackedUserOperation(userOperation, options = {}) { + const { callGasLimit, callData, maxPriorityFeePerGas, maxFeePerGas, paymaster, paymasterData, paymasterPostOpGasLimit, paymasterSignature, paymasterVerificationGasLimit, sender, signature = '0x', verificationGasLimit, } = userOperation; + const accountGasLimits = concat([ + pad(numberToHex(verificationGasLimit || 0n), { size: 16 }), + pad(numberToHex(callGasLimit || 0n), { size: 16 }), + ]); + const initCode = getInitCode(userOperation, options); + const gasFees = concat([ + pad(numberToHex(maxPriorityFeePerGas || 0n), { size: 16 }), + pad(numberToHex(maxFeePerGas || 0n), { size: 16 }), + ]); + const nonce = userOperation.nonce ?? 0n; + // For v0.9, paymasterSignature can be provided separately and appended after paymasterData. + // The encoding uses a magic suffix and length prefix as per ERC-4337 spec: + // - forHash: just append the magic (signature is not part of hash) + // - !forHash: append signature + length (2 bytes) + magic + const paymasterAndData = paymaster + ? concat([ + paymaster, + pad(numberToHex(paymasterVerificationGasLimit || 0n), { + size: 16, + }), + pad(numberToHex(paymasterPostOpGasLimit || 0n), { + size: 16, + }), + paymasterData || '0x', + ...(paymasterSignature + ? options.forHash + ? [paymasterSignatureMagic] + : [ + paymasterSignature, + pad(numberToHex(size(paymasterSignature)), { size: 2 }), + paymasterSignatureMagic, + ] + : []), + ]) + : '0x'; + const preVerificationGas = userOperation.preVerificationGas ?? 0n; + return { + accountGasLimits, + callData, + initCode, + gasFees, + nonce, + paymasterAndData, + preVerificationGas, + sender, + signature, + }; +} +//# sourceMappingURL=toPackedUserOperation.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/userOperation/toPackedUserOperation.js.map b/node_modules/viem/_esm/account-abstraction/utils/userOperation/toPackedUserOperation.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7e77750fb9212bc4f81c58107e7067a88d5a4f79 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/userOperation/toPackedUserOperation.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toPackedUserOperation.js","sourceRoot":"","sources":["../../../../account-abstraction/utils/userOperation/toPackedUserOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAKrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,0FAA0F;AAC1F,MAAM,uBAAuB,GAAG,oBAA6B,CAAA;AAO7D,MAAM,UAAU,qBAAqB,CACnC,aAA4B,EAC5B,UAAwC,EAAE;IAE1C,MAAM,EACJ,YAAY,EACZ,QAAQ,EACR,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,aAAa,EACb,uBAAuB,EACvB,kBAAkB,EAClB,6BAA6B,EAC7B,MAAM,EACN,SAAS,GAAG,IAAI,EAChB,oBAAoB,GACrB,GAAG,aAAgE,CAAA;IAEpE,MAAM,gBAAgB,GAAG,MAAM,CAAC;QAC9B,GAAG,CAAC,WAAW,CAAC,oBAAoB,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC1D,GAAG,CAAC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KACnD,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IAEpD,MAAM,OAAO,GAAG,MAAM,CAAC;QACrB,GAAG,CAAC,WAAW,CAAC,oBAAoB,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC1D,GAAG,CAAC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KACnD,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,IAAI,EAAE,CAAA;IAEvC,4FAA4F;IAC5F,2EAA2E;IAC3E,mEAAmE;IACnE,0DAA0D;IAC1D,MAAM,gBAAgB,GAAG,SAAS;QAChC,CAAC,CAAC,MAAM,CAAC;YACL,SAAS;YACT,GAAG,CAAC,WAAW,CAAC,6BAA6B,IAAI,EAAE,CAAC,EAAE;gBACpD,IAAI,EAAE,EAAE;aACT,CAAC;YACF,GAAG,CAAC,WAAW,CAAC,uBAAuB,IAAI,EAAE,CAAC,EAAE;gBAC9C,IAAI,EAAE,EAAE;aACT,CAAC;YACF,aAAa,IAAI,IAAI;YACrB,GAAG,CAAC,kBAAkB;gBACpB,CAAC,CAAC,OAAO,CAAC,OAAO;oBACf,CAAC,CAAC,CAAC,uBAAuB,CAAC;oBAC3B,CAAC,CAAC;wBACE,kBAAmC;wBACnC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;wBACvD,uBAAuB;qBACxB;gBACL,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QACJ,CAAC,CAAC,IAAI,CAAA;IACR,MAAM,kBAAkB,GAAG,aAAa,CAAC,kBAAkB,IAAI,EAAE,CAAA;IAEjE,OAAO;QACL,gBAAgB;QAChB,QAAQ;QACR,QAAQ;QACR,OAAO;QACP,KAAK;QACL,gBAAgB;QAChB,kBAAkB;QAClB,MAAM;QACN,SAAS;KACV,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/userOperation/toUserOperation.js b/node_modules/viem/_esm/account-abstraction/utils/userOperation/toUserOperation.js new file mode 100644 index 0000000000000000000000000000000000000000..938116b2b79374e60fb063283859ca18de8c7143 --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/userOperation/toUserOperation.js @@ -0,0 +1,3 @@ +import { UserOperation } from 'ox/erc4337'; +export const toUserOperation = UserOperation.from; +//# sourceMappingURL=toUserOperation.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/account-abstraction/utils/userOperation/toUserOperation.js.map b/node_modules/viem/_esm/account-abstraction/utils/userOperation/toUserOperation.js.map new file mode 100644 index 0000000000000000000000000000000000000000..37619f4755baffb48f3f93e7748d25083b16330a --- /dev/null +++ b/node_modules/viem/_esm/account-abstraction/utils/userOperation/toUserOperation.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toUserOperation.js","sourceRoot":"","sources":["../../../../account-abstraction/utils/userOperation/toUserOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1C,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/generateMnemonic.js b/node_modules/viem/_esm/accounts/generateMnemonic.js new file mode 100644 index 0000000000000000000000000000000000000000..882fe832e140b11e89918cdcc7b7ab35d481e614 --- /dev/null +++ b/node_modules/viem/_esm/accounts/generateMnemonic.js @@ -0,0 +1,13 @@ +import { generateMnemonic as generateMnemonic_ } from '@scure/bip39'; +/** + * @description Generates a random mnemonic phrase with a given wordlist. + * + * @param wordlist The wordlist to use for generating the mnemonic phrase. + * @param strength mnemonic strength 128-256 bits + * + * @returns A randomly generated mnemonic phrase. + */ +export function generateMnemonic(wordlist, strength) { + return generateMnemonic_(wordlist, strength); +} +//# sourceMappingURL=generateMnemonic.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/generateMnemonic.js.map b/node_modules/viem/_esm/accounts/generateMnemonic.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ca46ba55a3decefcb200febc415ed2f9b8f4ef75 --- /dev/null +++ b/node_modules/viem/_esm/accounts/generateMnemonic.js.map @@ -0,0 +1 @@ +{"version":3,"file":"generateMnemonic.js","sourceRoot":"","sources":["../../accounts/generateMnemonic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAKpE;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAkB,EAClB,QAA6B;IAE7B,OAAO,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;AAC9C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/generatePrivateKey.js b/node_modules/viem/_esm/accounts/generatePrivateKey.js new file mode 100644 index 0000000000000000000000000000000000000000..ef8fd973a4746efa4ee5986fd1808dd3962b0ace --- /dev/null +++ b/node_modules/viem/_esm/accounts/generatePrivateKey.js @@ -0,0 +1,11 @@ +import { secp256k1 } from '@noble/curves/secp256k1'; +import { toHex } from '../utils/encoding/toHex.js'; +/** + * @description Generates a random private key. + * + * @returns A randomly generated private key. + */ +export function generatePrivateKey() { + return toHex(secp256k1.utils.randomPrivateKey()); +} +//# sourceMappingURL=generatePrivateKey.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/generatePrivateKey.js.map b/node_modules/viem/_esm/accounts/generatePrivateKey.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b8a9e2057f9d3dda5dd90005f4a7a8548e0f465d --- /dev/null +++ b/node_modules/viem/_esm/accounts/generatePrivateKey.js.map @@ -0,0 +1 @@ +{"version":3,"file":"generatePrivateKey.js","sourceRoot":"","sources":["../../accounts/generatePrivateKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAInD,OAAO,EAAuB,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAIvE;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAA;AAClD,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/hdKeyToAccount.js b/node_modules/viem/_esm/accounts/hdKeyToAccount.js new file mode 100644 index 0000000000000000000000000000000000000000..a847aa69c4aefc1e56438c9be0ac4de8a0572c9d --- /dev/null +++ b/node_modules/viem/_esm/accounts/hdKeyToAccount.js @@ -0,0 +1,17 @@ +import { toHex } from '../utils/encoding/toHex.js'; +import { privateKeyToAccount, } from './privateKeyToAccount.js'; +/** + * @description Creates an Account from a HD Key. + * + * @returns A HD Account. + */ +export function hdKeyToAccount(hdKey_, { accountIndex = 0, addressIndex = 0, changeIndex = 0, path, ...options } = {}) { + const hdKey = hdKey_.derive(path || `m/44'/60'/${accountIndex}'/${changeIndex}/${addressIndex}`); + const account = privateKeyToAccount(toHex(hdKey.privateKey), options); + return { + ...account, + getHdKey: () => hdKey, + source: 'hd', + }; +} +//# sourceMappingURL=hdKeyToAccount.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/hdKeyToAccount.js.map b/node_modules/viem/_esm/accounts/hdKeyToAccount.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5162f4a85c2f8eca8bf7bfac288977eb2098d57e --- /dev/null +++ b/node_modules/viem/_esm/accounts/hdKeyToAccount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"hdKeyToAccount.js","sourceRoot":"","sources":["../../accounts/hdKeyToAccount.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,KAAK,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,EAGL,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AAUjC;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAa,EACb,EACE,YAAY,GAAG,CAAC,EAChB,YAAY,GAAG,CAAC,EAChB,WAAW,GAAG,CAAC,EACf,IAAI,EACJ,GAAG,OAAO,KACe,EAAE;IAE7B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CACzB,IAAI,IAAI,aAAa,YAAY,KAAK,WAAW,IAAI,YAAY,EAAE,CACpE,CAAA;IACD,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,UAAW,CAAC,EAAE,OAAO,CAAC,CAAA;IACtE,OAAO;QACL,GAAG,OAAO;QACV,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK;QACrB,MAAM,EAAE,IAAI;KACb,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/index.js b/node_modules/viem/_esm/accounts/index.js new file mode 100644 index 0000000000000000000000000000000000000000..28c72527dbde4e5339f13c32647e2410c4588ebb --- /dev/null +++ b/node_modules/viem/_esm/accounts/index.js @@ -0,0 +1,22 @@ +// biome-ignore lint/performance/noBarrelFile: entrypoint module +export { HDKey } from '@scure/bip32'; +export { createNonceManager, nonceManager, } from '../utils/nonceManager.js'; +export { +/** @deprecated Use `serializeSignature` instead. */ +serializeSignature as signatureToHex, serializeSignature, } from '../utils/signature/serializeSignature.js'; +export { generateMnemonic, } from './generateMnemonic.js'; +export { generatePrivateKey, } from './generatePrivateKey.js'; +export { hdKeyToAccount, } from './hdKeyToAccount.js'; +export { mnemonicToAccount, } from './mnemonicToAccount.js'; +export { privateKeyToAccount, } from './privateKeyToAccount.js'; +export { toAccount } from './toAccount.js'; +export { parseAccount, } from './utils/parseAccount.js'; +export { privateKeyToAddress, } from './utils/privateKeyToAddress.js'; +export { publicKeyToAddress, } from './utils/publicKeyToAddress.js'; +export { setSignEntropy, sign, } from './utils/sign.js'; +export { signAuthorization, } from './utils/signAuthorization.js'; +export { signMessage, } from './utils/signMessage.js'; +export { signTransaction, } from './utils/signTransaction.js'; +export { signTypedData, } from './utils/signTypedData.js'; +export { czech, english, french, italian, japanese, korean, portuguese, simplifiedChinese, spanish, traditionalChinese, } from './wordlists.js'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/index.js.map b/node_modules/viem/_esm/accounts/index.js.map new file mode 100644 index 0000000000000000000000000000000000000000..623fc8d1a44f58f5841e6a89b68e3565bc9fefe2 --- /dev/null +++ b/node_modules/viem/_esm/accounts/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../accounts/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEpC,OAAO,EAEL,kBAAkB,EAGlB,YAAY,GACb,MAAM,0BAA0B,CAAA;AACjC,OAAO;AAIL,oDAAoD;AACpD,kBAAkB,IAAI,cAAc,EACpC,kBAAkB,GACnB,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAEL,gBAAgB,GACjB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAEL,kBAAkB,GACnB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAGL,cAAc,GACf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAGL,iBAAiB,GAClB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAGL,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAA2B,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAWnE,OAAO,EAEL,YAAY,GACb,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAEL,mBAAmB,GACpB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAEL,kBAAkB,GACnB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAIL,cAAc,EACd,IAAI,GACL,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAIL,iBAAiB,GAClB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAIL,WAAW,GACZ,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAIL,eAAe,GAChB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAIL,aAAa,GACd,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,KAAK,EACL,OAAO,EACP,MAAM,EACN,OAAO,EACP,QAAQ,EACR,MAAM,EACN,UAAU,EACV,iBAAiB,EACjB,OAAO,EACP,kBAAkB,GACnB,MAAM,gBAAgB,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/mnemonicToAccount.js b/node_modules/viem/_esm/accounts/mnemonicToAccount.js new file mode 100644 index 0000000000000000000000000000000000000000..d876b09b337ce71de0adc946efeefacc083a961e --- /dev/null +++ b/node_modules/viem/_esm/accounts/mnemonicToAccount.js @@ -0,0 +1,13 @@ +import { HDKey } from '@scure/bip32'; +import { mnemonicToSeedSync } from '@scure/bip39'; +import { hdKeyToAccount, } from './hdKeyToAccount.js'; +/** + * @description Creates an Account from a mnemonic phrase. + * + * @returns A HD Account. + */ +export function mnemonicToAccount(mnemonic, { passphrase, ...hdKeyOpts } = {}) { + const seed = mnemonicToSeedSync(mnemonic, passphrase); + return hdKeyToAccount(HDKey.fromMasterSeed(seed), hdKeyOpts); +} +//# sourceMappingURL=mnemonicToAccount.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/mnemonicToAccount.js.map b/node_modules/viem/_esm/accounts/mnemonicToAccount.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f3d2e9ac8d42124adf27de25b311100045c3ae81 --- /dev/null +++ b/node_modules/viem/_esm/accounts/mnemonicToAccount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mnemonicToAccount.js","sourceRoot":"","sources":["../../accounts/mnemonicToAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAGjD,OAAO,EAGL,cAAc,GACf,MAAM,qBAAqB,CAAA;AAS5B;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,EAAE,UAAU,EAAE,GAAG,SAAS,KAA+B,EAAE;IAE3D,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IACrD,OAAO,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAA;AAC9D,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/privateKeyToAccount.js b/node_modules/viem/_esm/accounts/privateKeyToAccount.js new file mode 100644 index 0000000000000000000000000000000000000000..b78582991ab867e8bf5d5fad9458699711f32050 --- /dev/null +++ b/node_modules/viem/_esm/accounts/privateKeyToAccount.js @@ -0,0 +1,44 @@ +import { secp256k1 } from '@noble/curves/secp256k1'; +import { toHex } from '../utils/encoding/toHex.js'; +import { toAccount } from './toAccount.js'; +import { publicKeyToAddress, } from './utils/publicKeyToAddress.js'; +import { sign } from './utils/sign.js'; +import { signAuthorization } from './utils/signAuthorization.js'; +import { signMessage } from './utils/signMessage.js'; +import { signTransaction, } from './utils/signTransaction.js'; +import { signTypedData, } from './utils/signTypedData.js'; +/** + * @description Creates an Account from a private key. + * + * @returns A Private Key Account. + */ +export function privateKeyToAccount(privateKey, options = {}) { + const { nonceManager } = options; + const publicKey = toHex(secp256k1.getPublicKey(privateKey.slice(2), false)); + const address = publicKeyToAddress(publicKey); + const account = toAccount({ + address, + nonceManager, + async sign({ hash }) { + return sign({ hash, privateKey, to: 'hex' }); + }, + async signAuthorization(authorization) { + return signAuthorization({ ...authorization, privateKey }); + }, + async signMessage({ message }) { + return signMessage({ message, privateKey }); + }, + async signTransaction(transaction, { serializer } = {}) { + return signTransaction({ privateKey, transaction, serializer }); + }, + async signTypedData(typedData) { + return signTypedData({ ...typedData, privateKey }); + }, + }); + return { + ...account, + publicKey, + source: 'privateKey', + }; +} +//# sourceMappingURL=privateKeyToAccount.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/privateKeyToAccount.js.map b/node_modules/viem/_esm/accounts/privateKeyToAccount.js.map new file mode 100644 index 0000000000000000000000000000000000000000..1b34b9957f81cf9cdfc4eb6bbb0672be0048d8a6 --- /dev/null +++ b/node_modules/viem/_esm/accounts/privateKeyToAccount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"privateKeyToAccount.js","sourceRoot":"","sources":["../../accounts/privateKeyToAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGnD,OAAO,EAAuB,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAEvE,OAAO,EAA2B,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAEnE,OAAO,EAEL,kBAAkB,GACnB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAsB,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAA6B,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,EAEL,eAAe,GAChB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAEL,aAAa,GACd,MAAM,0BAA0B,CAAA;AAgBjC;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAe,EACf,UAAsC,EAAE;IAExC,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAA;IAChC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;IAC3E,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAA;IAE7C,MAAM,OAAO,GAAG,SAAS,CAAC;QACxB,OAAO;QACP,YAAY;QACZ,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9C,CAAC;QACD,KAAK,CAAC,iBAAiB,CAAC,aAAa;YACnC,OAAO,iBAAiB,CAAC,EAAE,GAAG,aAAa,EAAE,UAAU,EAAE,CAAC,CAAA;QAC5D,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE;YAC3B,OAAO,WAAW,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;QAC7C,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE;YACpD,OAAO,eAAe,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAA;QACjE,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,SAAS;YAC3B,OAAO,aAAa,CAAC,EAAE,GAAG,SAAS,EAAE,UAAU,EAAS,CAAC,CAAA;QAC3D,CAAC;KACF,CAAC,CAAA;IAEF,OAAO;QACL,GAAG,OAAO;QACV,SAAS;QACT,MAAM,EAAE,YAAY;KACA,CAAA;AACxB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/toAccount.js b/node_modules/viem/_esm/accounts/toAccount.js new file mode 100644 index 0000000000000000000000000000000000000000..fd42f7c4037de2fed48dfd867d252f99f4bd8d9e --- /dev/null +++ b/node_modules/viem/_esm/accounts/toAccount.js @@ -0,0 +1,32 @@ +// TODO(v3): Rename to `toLocalAccount` + add `source` property to define source (privateKey, mnemonic, hdKey, etc). +import { InvalidAddressError, } from '../errors/address.js'; +import { isAddress, } from '../utils/address/isAddress.js'; +/** + * @description Creates an Account from a custom signing implementation. + * + * @returns A Local Account. + */ +export function toAccount(source) { + if (typeof source === 'string') { + if (!isAddress(source, { strict: false })) + throw new InvalidAddressError({ address: source }); + return { + address: source, + type: 'json-rpc', + }; + } + if (!isAddress(source.address, { strict: false })) + throw new InvalidAddressError({ address: source.address }); + return { + address: source.address, + nonceManager: source.nonceManager, + sign: source.sign, + signAuthorization: source.signAuthorization, + signMessage: source.signMessage, + signTransaction: source.signTransaction, + signTypedData: source.signTypedData, + source: 'custom', + type: 'local', + }; +} +//# sourceMappingURL=toAccount.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/toAccount.js.map b/node_modules/viem/_esm/accounts/toAccount.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7583fa5b10a6eb98ba3367459b102a6896301011 --- /dev/null +++ b/node_modules/viem/_esm/accounts/toAccount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"toAccount.js","sourceRoot":"","sources":["../../accounts/toAccount.ts"],"names":[],"mappings":"AAAA,oHAAoH;AAIpH,OAAO,EACL,mBAAmB,GAEpB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAEL,SAAS,GACV,MAAM,+BAA+B,CAAA;AAiBtC;;;;GAIG;AACH,MAAM,UAAU,SAAS,CACvB,MAAqB;IAErB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACvC,MAAM,IAAI,mBAAmB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;QACpD,OAAO;YACL,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,UAAU;SACsB,CAAA;IAC1C,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC/C,MAAM,IAAI,mBAAmB,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;IAC5D,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,OAAO;KACyB,CAAA;AAC1C,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/types.js b/node_modules/viem/_esm/accounts/types.js new file mode 100644 index 0000000000000000000000000000000000000000..718fd38ae40c67ea23b242517cf9919f602c5a3e --- /dev/null +++ b/node_modules/viem/_esm/accounts/types.js @@ -0,0 +1,2 @@ +export {}; +//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/types.js.map b/node_modules/viem/_esm/accounts/types.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d0ad330f973e46bdb5cb00719370ce2b4ef32891 --- /dev/null +++ b/node_modules/viem/_esm/accounts/types.js.map @@ -0,0 +1 @@ +{"version":3,"file":"types.js","sourceRoot":"","sources":["../../accounts/types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/utils/parseAccount.js b/node_modules/viem/_esm/accounts/utils/parseAccount.js new file mode 100644 index 0000000000000000000000000000000000000000..749dca944fd8b0d4e70ebe5b448b36711ce0ba93 --- /dev/null +++ b/node_modules/viem/_esm/accounts/utils/parseAccount.js @@ -0,0 +1,6 @@ +export function parseAccount(account) { + if (typeof account === 'string') + return { address: account, type: 'json-rpc' }; + return account; +} +//# sourceMappingURL=parseAccount.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/utils/parseAccount.js.map b/node_modules/viem/_esm/accounts/utils/parseAccount.js.map new file mode 100644 index 0000000000000000000000000000000000000000..361f783c923f5d3070d2833cd6f3f076aad52902 --- /dev/null +++ b/node_modules/viem/_esm/accounts/utils/parseAccount.js.map @@ -0,0 +1 @@ +{"version":3,"file":"parseAccount.js","sourceRoot":"","sources":["../../../accounts/utils/parseAccount.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,YAAY,CAC1B,OAAyB;IAEzB,IAAI,OAAO,OAAO,KAAK,QAAQ;QAC7B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAS,CAAA;IACtD,OAAO,OAAc,CAAA;AACvB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/utils/privateKeyToAddress.js b/node_modules/viem/_esm/accounts/utils/privateKeyToAddress.js new file mode 100644 index 0000000000000000000000000000000000000000..3a78ead25b0d49b89fe0a3bd8ca5323bbe71208c --- /dev/null +++ b/node_modules/viem/_esm/accounts/utils/privateKeyToAddress.js @@ -0,0 +1,15 @@ +import { secp256k1 } from '@noble/curves/secp256k1'; +import { bytesToHex, } from '../../utils/encoding/toHex.js'; +import { publicKeyToAddress, } from './publicKeyToAddress.js'; +/** + * @description Converts an ECDSA private key to an address. + * + * @param privateKey The private key to convert. + * + * @returns The address. + */ +export function privateKeyToAddress(privateKey) { + const publicKey = bytesToHex(secp256k1.getPublicKey(privateKey.slice(2), false)); + return publicKeyToAddress(publicKey); +} +//# sourceMappingURL=privateKeyToAddress.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/utils/privateKeyToAddress.js.map b/node_modules/viem/_esm/accounts/utils/privateKeyToAddress.js.map new file mode 100644 index 0000000000000000000000000000000000000000..aa8298b1d058a04bd02cb8d46d3c2c1bf4b355c4 --- /dev/null +++ b/node_modules/viem/_esm/accounts/utils/privateKeyToAddress.js.map @@ -0,0 +1 @@ +{"version":3,"file":"privateKeyToAddress.js","sourceRoot":"","sources":["../../../accounts/utils/privateKeyToAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAKnD,OAAO,EAEL,UAAU,GACX,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAEL,kBAAkB,GACnB,MAAM,yBAAyB,CAAA;AAOhC;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAe;IACjD,MAAM,SAAS,GAAG,UAAU,CAC1B,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CACnD,CAAA;IACD,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAA;AACtC,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/utils/publicKeyToAddress.js b/node_modules/viem/_esm/accounts/utils/publicKeyToAddress.js new file mode 100644 index 0000000000000000000000000000000000000000..548f145fb3bcdbdecfa79e2206db6714d3f74870 --- /dev/null +++ b/node_modules/viem/_esm/accounts/utils/publicKeyToAddress.js @@ -0,0 +1,14 @@ +import { checksumAddress, } from '../../utils/address/getAddress.js'; +import { keccak256, } from '../../utils/hash/keccak256.js'; +/** + * @description Converts an ECDSA public key to an address. + * + * @param publicKey The public key to convert. + * + * @returns The address. + */ +export function publicKeyToAddress(publicKey) { + const address = keccak256(`0x${publicKey.substring(4)}`).substring(26); + return checksumAddress(`0x${address}`); +} +//# sourceMappingURL=publicKeyToAddress.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/utils/publicKeyToAddress.js.map b/node_modules/viem/_esm/accounts/utils/publicKeyToAddress.js.map new file mode 100644 index 0000000000000000000000000000000000000000..fa4521706991316b4659e05515761f9443dcd0d6 --- /dev/null +++ b/node_modules/viem/_esm/accounts/utils/publicKeyToAddress.js.map @@ -0,0 +1 @@ +{"version":3,"file":"publicKeyToAddress.js","sourceRoot":"","sources":["../../../accounts/utils/publicKeyToAddress.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,eAAe,GAChB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAEL,SAAS,GACV,MAAM,+BAA+B,CAAA;AAOtC;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAc;IAC/C,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IACtE,OAAO,eAAe,CAAC,KAAK,OAAO,EAAE,CAAY,CAAA;AACnD,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/utils/sign.js b/node_modules/viem/_esm/accounts/utils/sign.js new file mode 100644 index 0000000000000000000000000000000000000000..4eca8e21ed4dbb76dbe15e3f0855476f399600da --- /dev/null +++ b/node_modules/viem/_esm/accounts/utils/sign.js @@ -0,0 +1,43 @@ +// TODO(v3): Convert to sync. +import { secp256k1 } from '@noble/curves/secp256k1'; +import { isHex } from '../../utils/data/isHex.js'; +import { hexToBytes, } from '../../utils/encoding/toBytes.js'; +import { numberToHex, } from '../../utils/encoding/toHex.js'; +import { serializeSignature } from '../../utils/signature/serializeSignature.js'; +let extraEntropy = false; +/** + * Sets extra entropy for signing functions. + */ +export function setSignEntropy(entropy) { + if (!entropy) + throw new Error('must be a `true` or a hex value.'); + extraEntropy = entropy; +} +/** + * @description Signs a hash with a given private key. + * + * @param hash The hash to sign. + * @param privateKey The private key to sign with. + * + * @returns The signature. + */ +export async function sign({ hash, privateKey, to = 'object', }) { + const { r, s, recovery } = secp256k1.sign(hash.slice(2), privateKey.slice(2), { + lowS: true, + extraEntropy: isHex(extraEntropy, { strict: false }) + ? hexToBytes(extraEntropy) + : extraEntropy, + }); + const signature = { + r: numberToHex(r, { size: 32 }), + s: numberToHex(s, { size: 32 }), + v: recovery ? 28n : 27n, + yParity: recovery, + }; + return (() => { + if (to === 'bytes' || to === 'hex') + return serializeSignature({ ...signature, to }); + return signature; + })(); +} +//# sourceMappingURL=sign.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/utils/sign.js.map b/node_modules/viem/_esm/accounts/utils/sign.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7a7acae7d7c5ee0ac9d3b0fafec84d668e274992 --- /dev/null +++ b/node_modules/viem/_esm/accounts/utils/sign.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sign.js","sourceRoot":"","sources":["../../../accounts/utils/sign.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAInD,OAAO,EAAuB,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAEL,UAAU,GACX,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAEL,WAAW,GACZ,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AAqBhF,IAAI,YAAY,GAAkB,KAAK,CAAA;AAEvC;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAmB;IAChD,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACjE,YAAY,GAAG,OAAO,CAAA;AACxB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAA2B,EACnD,IAAI,EACJ,UAAU,EACV,EAAE,GAAG,QAAQ,GACM;IACnB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,IAAI,CACvC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EACb,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EACnB;QACE,IAAI,EAAE,IAAI;QACV,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAClD,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;YAC1B,CAAC,CAAC,YAAY;KACjB,CACF,CAAA;IACD,MAAM,SAAS,GAAG;QAChB,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC/B,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC/B,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;QACvB,OAAO,EAAE,QAAQ;KAClB,CAAA;IACD,OAAO,CAAC,GAAG,EAAE;QACX,IAAI,EAAE,KAAK,OAAO,IAAI,EAAE,KAAK,KAAK;YAChC,OAAO,kBAAkB,CAAC,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC,CAAA;QACjD,OAAO,SAAS,CAAA;IAClB,CAAC,CAAC,EAAwB,CAAA;AAC5B,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/utils/signAuthorization.js b/node_modules/viem/_esm/accounts/utils/signAuthorization.js new file mode 100644 index 0000000000000000000000000000000000000000..f87bb6e5ae4beded440a42ab44103f7ddfcf172c --- /dev/null +++ b/node_modules/viem/_esm/accounts/utils/signAuthorization.js @@ -0,0 +1,23 @@ +import { hashAuthorization, } from '../../utils/authorization/hashAuthorization.js'; +import { sign, } from './sign.js'; +/** + * Signs an Authorization hash in [EIP-7702 format](https://eips.ethereum.org/EIPS/eip-7702): `keccak256('0x05' || rlp([chain_id, address, nonce]))`. + */ +export async function signAuthorization(parameters) { + const { chainId, nonce, privateKey, to = 'object' } = parameters; + const address = parameters.contractAddress ?? parameters.address; + const signature = await sign({ + hash: hashAuthorization({ address, chainId, nonce }), + privateKey, + to, + }); + if (to === 'object') + return { + address, + chainId, + nonce, + ...signature, + }; + return signature; +} +//# sourceMappingURL=signAuthorization.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/utils/signAuthorization.js.map b/node_modules/viem/_esm/accounts/utils/signAuthorization.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f557280a6b0bce24a67bbf636f8c7f6c0d72cb70 --- /dev/null +++ b/node_modules/viem/_esm/accounts/utils/signAuthorization.js.map @@ -0,0 +1 @@ +{"version":3,"file":"signAuthorization.js","sourceRoot":"","sources":["../../../accounts/utils/signAuthorization.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,iBAAiB,GAClB,MAAM,gDAAgD,CAAA;AACvD,OAAO,EAIL,IAAI,GACL,MAAM,WAAW,CAAA;AAoBlB;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAA2C;IAE3C,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,UAAU,CAAA;IAChE,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,IAAI,UAAU,CAAC,OAAO,CAAA;IAChE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC;QAC3B,IAAI,EAAE,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACpD,UAAU;QACV,EAAE;KACH,CAAC,CAAA;IACF,IAAI,EAAE,KAAK,QAAQ;QACjB,OAAO;YACL,OAAO;YACP,OAAO;YACP,KAAK;YACL,GAAI,SAAuB;SACrB,CAAA;IACV,OAAO,SAAgB,CAAA;AACzB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/utils/signMessage.js b/node_modules/viem/_esm/accounts/utils/signMessage.js new file mode 100644 index 0000000000000000000000000000000000000000..452ec1e242a956e4c7770af74ec8d50400c11a67 --- /dev/null +++ b/node_modules/viem/_esm/accounts/utils/signMessage.js @@ -0,0 +1,12 @@ +import { hashMessage, } from '../../utils/signature/hashMessage.js'; +import { sign } from './sign.js'; +/** + * @description Calculates an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191): + * `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`. + * + * @returns The signature. + */ +export async function signMessage({ message, privateKey, }) { + return await sign({ hash: hashMessage(message), privateKey, to: 'hex' }); +} +//# sourceMappingURL=signMessage.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/utils/signMessage.js.map b/node_modules/viem/_esm/accounts/utils/signMessage.js.map new file mode 100644 index 0000000000000000000000000000000000000000..85421bd7f291d7b8c63b9c02274b53eb7abab96d --- /dev/null +++ b/node_modules/viem/_esm/accounts/utils/signMessage.js.map @@ -0,0 +1 @@ +{"version":3,"file":"signMessage.js","sourceRoot":"","sources":["../../../accounts/utils/signMessage.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,WAAW,GACZ,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EAAsB,IAAI,EAAE,MAAM,WAAW,CAAA;AAgBpD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAChC,OAAO,EACP,UAAU,GACY;IACtB,OAAO,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;AAC1E,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/utils/signTransaction.js b/node_modules/viem/_esm/accounts/utils/signTransaction.js new file mode 100644 index 0000000000000000000000000000000000000000..c09bbe4c64bf1e6608a857b7e4128efc4fdad34f --- /dev/null +++ b/node_modules/viem/_esm/accounts/utils/signTransaction.js @@ -0,0 +1,22 @@ +import { keccak256, } from '../../utils/hash/keccak256.js'; +import { serializeTransaction, } from '../../utils/transaction/serializeTransaction.js'; +import { sign } from './sign.js'; +export async function signTransaction(parameters) { + const { privateKey, transaction, serializer = serializeTransaction, } = parameters; + const signableTransaction = (() => { + // For EIP-4844 Transactions, we want to sign the transaction payload body (tx_payload_body) without the sidecars (ie. without the network wrapper). + // See: https://github.com/ethereum/EIPs/blob/e00f4daa66bd56e2dbd5f1d36d09fd613811a48b/EIPS/eip-4844.md#networking + if (transaction.type === 'eip4844') + return { + ...transaction, + sidecars: false, + }; + return transaction; + })(); + const signature = await sign({ + hash: keccak256(await serializer(signableTransaction)), + privateKey, + }); + return (await serializer(transaction, signature)); +} +//# sourceMappingURL=signTransaction.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/utils/signTransaction.js.map b/node_modules/viem/_esm/accounts/utils/signTransaction.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ea517b2a19b26c76792df5ec4e6cd1704a924eec --- /dev/null +++ b/node_modules/viem/_esm/accounts/utils/signTransaction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"signTransaction.js","sourceRoot":"","sources":["../../../accounts/utils/signTransaction.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,SAAS,GACV,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAEL,oBAAoB,GACrB,MAAM,iDAAiD,CAAA;AAExD,OAAO,EAAsB,IAAI,EAAE,MAAM,WAAW,CAAA;AAuBpD,MAAM,CAAC,KAAK,UAAU,eAAe,CAKnC,UAA8D;IAE9D,MAAM,EACJ,UAAU,EACV,WAAW,EACX,UAAU,GAAG,oBAAoB,GAClC,GAAG,UAAU,CAAA;IAEd,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE;QAChC,oJAAoJ;QACpJ,kHAAkH;QAClH,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS;YAChC,OAAO;gBACL,GAAG,WAAW;gBACd,QAAQ,EAAE,KAAK;aAChB,CAAA;QACH,OAAO,WAAW,CAAA;IACpB,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC;QAC3B,IAAI,EAAE,SAAS,CAAC,MAAM,UAAU,CAAC,mBAAmB,CAAC,CAAC;QACtD,UAAU;KACX,CAAC,CAAA;IACF,OAAO,CAAC,MAAM,UAAU,CACtB,WAAW,EACX,SAAS,CACV,CAAuD,CAAA;AAC1D,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/utils/signTypedData.js b/node_modules/viem/_esm/accounts/utils/signTypedData.js new file mode 100644 index 0000000000000000000000000000000000000000..5a5f36c0e0b51d493672eefe927d7c64c4ac10e3 --- /dev/null +++ b/node_modules/viem/_esm/accounts/utils/signTypedData.js @@ -0,0 +1,17 @@ +import { hashTypedData, } from '../../utils/signature/hashTypedData.js'; +import { sign } from './sign.js'; +/** + * @description Signs typed data and calculates an Ethereum-specific signature in [https://eips.ethereum.org/EIPS/eip-712](https://eips.ethereum.org/EIPS/eip-712): + * `sign(keccak256("\x19\x01" ‖ domainSeparator ‖ hashStruct(message)))`. + * + * @returns The signature. + */ +export async function signTypedData(parameters) { + const { privateKey, ...typedData } = parameters; + return await sign({ + hash: hashTypedData(typedData), + privateKey, + to: 'hex', + }); +} +//# sourceMappingURL=signTypedData.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/utils/signTypedData.js.map b/node_modules/viem/_esm/accounts/utils/signTypedData.js.map new file mode 100644 index 0000000000000000000000000000000000000000..87dcb9dba899fb38438f82022c65772e0e286df3 --- /dev/null +++ b/node_modules/viem/_esm/accounts/utils/signTypedData.js.map @@ -0,0 +1 @@ +{"version":3,"file":"signTypedData.js","sourceRoot":"","sources":["../../../accounts/utils/signTypedData.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,aAAa,GACd,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAAsB,IAAI,EAAE,MAAM,WAAW,CAAA;AAiBpD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAIjC,UAA2D;IAE3D,MAAM,EAAE,UAAU,EAAE,GAAG,SAAS,EAAE,GAChC,UAAgD,CAAA;IAClD,OAAO,MAAM,IAAI,CAAC;QAChB,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC;QAC9B,UAAU;QACV,EAAE,EAAE,KAAK;KACV,CAAC,CAAA;AACJ,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/wordlists.js b/node_modules/viem/_esm/accounts/wordlists.js new file mode 100644 index 0000000000000000000000000000000000000000..14eccf023d0fbc5a19dd7ac94d115270e6650d27 --- /dev/null +++ b/node_modules/viem/_esm/accounts/wordlists.js @@ -0,0 +1,12 @@ +// biome-ignore lint/performance/noBarrelFile: _ +export { wordlist as czech } from '@scure/bip39/wordlists/czech'; +export { wordlist as english } from '@scure/bip39/wordlists/english'; +export { wordlist as french } from '@scure/bip39/wordlists/french'; +export { wordlist as italian } from '@scure/bip39/wordlists/italian'; +export { wordlist as japanese } from '@scure/bip39/wordlists/japanese'; +export { wordlist as korean } from '@scure/bip39/wordlists/korean'; +export { wordlist as portuguese } from '@scure/bip39/wordlists/portuguese'; +export { wordlist as simplifiedChinese } from '@scure/bip39/wordlists/simplified-chinese'; +export { wordlist as spanish } from '@scure/bip39/wordlists/spanish'; +export { wordlist as traditionalChinese } from '@scure/bip39/wordlists/traditional-chinese'; +//# sourceMappingURL=wordlists.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/accounts/wordlists.js.map b/node_modules/viem/_esm/accounts/wordlists.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b179df0b945516cff368db5391f11f3af007439c --- /dev/null +++ b/node_modules/viem/_esm/accounts/wordlists.js.map @@ -0,0 +1 @@ +{"version":3,"file":"wordlists.js","sourceRoot":"","sources":["../../accounts/wordlists.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,OAAO,EAAE,QAAQ,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,QAAQ,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,QAAQ,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AACzF,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,4CAA4C,CAAA"} \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/ens/getEnsAddress.js b/node_modules/viem/_esm/actions/ens/getEnsAddress.js new file mode 100644 index 0000000000000000000000000000000000000000..a83a464e84d908281c3566d8badadbdc7498c568 --- /dev/null +++ b/node_modules/viem/_esm/actions/ens/getEnsAddress.js @@ -0,0 +1,120 @@ +import { addressResolverAbi, universalResolverResolveAbi, } from '../../constants/abis.js'; +import { decodeFunctionResult, } from '../../utils/abi/decodeFunctionResult.js'; +import { encodeFunctionData, } from '../../utils/abi/encodeFunctionData.js'; +import { getAddress, } from '../../utils/address/getAddress.js'; +import { getChainContractAddress, } from '../../utils/chain/getChainContractAddress.js'; +import { size } from '../../utils/data/size.js'; +import { trim } from '../../utils/data/trim.js'; +import { toHex } from '../../utils/encoding/toHex.js'; +import { isNullUniversalResolverError } from '../../utils/ens/errors.js'; +import { localBatchGatewayUrl } from '../../utils/ens/localBatchGatewayRequest.js'; +import { namehash } from '../../utils/ens/namehash.js'; +import { packetToBytes, } from '../../utils/ens/packetToBytes.js'; +import { getAction } from '../../utils/getAction.js'; +import { readContract, } from '../public/readContract.js'; +/** + * Gets address for ENS name. + * + * - Docs: https://viem.sh/docs/ens/actions/getEnsAddress + * - Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/ens + * + * Calls `resolve(bytes, bytes)` on ENS Universal Resolver Contract. + * + * Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `getEnsAddress`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize) function for this. + * + * @param client - Client to use + * @param parameters - {@link GetEnsAddressParameters} + * @returns Address for ENS name or `null` if not found. {@link GetEnsAddressReturnType} + * + * @example + * import { createPublicClient, http } from 'viem' + * import { mainnet } from 'viem/chains' + * import { getEnsAddress, normalize } from 'viem/ens' + * + * const client = createPublicClient({ + * chain: mainnet, + * transport: http(), + * }) + * const ensAddress = await getEnsAddress(client, { + * name: normalize('wevm.eth'), + * }) + * // '0xd2135CfB216b74109775236E36d4b433F1DF507B' + */ +export async function getEnsAddress(client, parameters) { + const { blockNumber, blockTag, coinType, name, gatewayUrls, strict } = parameters; + const { chain } = client; + const universalResolverAddress = (() => { + if (parameters.universalResolverAddress) + return parameters.universalResolverAddress; + if (!chain) + throw new Error('client chain not configured. universalResolverAddress is required.'); + return getChainContractAddress({ + blockNumber, + chain, + contract: 'ensUniversalResolver', + }); + })(); + const tlds = chain?.ensTlds; + if (tlds && !tlds.some((tld) => name.endsWith(tld))) + return null; + const args = (() => { + if (coinType != null) + return [namehash(name), BigInt(coinType)]; + return [namehash(name)]; + })(); + try { + const functionData = encodeFunctionData({ + abi: addressResolverAbi, + functionName: 'addr', + args, + }); + const readContractParameters = { + address: universalResolverAddress, + abi: universalResolverResolveAbi, + functionName: 'resolveWithGateways', + args: [ + toHex(packetToBytes(name)), + functionData, + gatewayUrls ?? [localBatchGatewayUrl], + ], + blockNumber, + blockTag, + }; + const readContractAction = getAction(client, readContract, 'readContract'); + const res = await readContractAction(readContractParameters); + if (res[0] === '0x') + return null; + const address = decodeAddress({ coinType, data: res[0], args }); + if (address === '0x') + return null; + if (trim(address) === '0x00') + return null; + return address; + } + catch (err) { + if (strict) + throw err; + if (isNullUniversalResolverError(err)) + return null; + throw err; + } +} +function decodeAddress({ coinType, data, args, }) { + try { + return decodeFunctionResult({ + abi: addressResolverAbi, + args, + functionName: 'addr', + data, + }); + } + catch (err) { + if (coinType == null) + throw err; + const address = trim(data); + if (size(address) === 20) + return getAddress(address); + throw err; + } +} +//# sourceMappingURL=getEnsAddress.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/ens/getEnsAddress.js.map b/node_modules/viem/_esm/actions/ens/getEnsAddress.js.map new file mode 100644 index 0000000000000000000000000000000000000000..11a50d664ab37c3d747645281f4161643279d1ab --- /dev/null +++ b/node_modules/viem/_esm/actions/ens/getEnsAddress.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getEnsAddress.js","sourceRoot":"","sources":["../../../actions/ens/getEnsAddress.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,yBAAyB,CAAA;AAIhC,OAAO,EAEL,oBAAoB,GACrB,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAEL,kBAAkB,GACnB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAEL,UAAU,GACX,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAEL,uBAAuB,GACxB,MAAM,8CAA8C,CAAA;AACrD,OAAO,EAAsB,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,EAAsB,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,EAAuB,KAAK,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAA;AAClF,OAAO,EAA0B,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAEL,aAAa,GACd,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAEL,YAAY,GACb,MAAM,2BAA2B,CAAA;AAmDlC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAgC,EAChC,UAAmC;IAEnC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAClE,UAAU,CAAA;IACZ,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IAExB,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE;QACrC,IAAI,UAAU,CAAC,wBAAwB;YACrC,OAAO,UAAU,CAAC,wBAAwB,CAAA;QAC5C,IAAI,CAAC,KAAK;YACR,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAA;QACH,OAAO,uBAAuB,CAAC;YAC7B,WAAW;YACX,KAAK;YACL,QAAQ,EAAE,sBAAsB;SACjC,CAAC,CAAA;IACJ,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,IAAI,GAAG,KAAK,EAAE,OAAO,CAAA;IAC3B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAEhE,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE;QACjB,IAAI,QAAQ,IAAI,IAAI;YAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAU,CAAA;QACxE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAU,CAAA;IAClC,CAAC,CAAC,EAAE,CAAA;IAEJ,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACtC,GAAG,EAAE,kBAAkB;YACvB,YAAY,EAAE,MAAM;YACpB,IAAI;SACL,CAAC,CAAA;QAEF,MAAM,sBAAsB,GAAG;YAC7B,OAAO,EAAE,wBAAwB;YACjC,GAAG,EAAE,2BAA2B;YAChC,YAAY,EAAE,qBAAqB;YACnC,IAAI,EAAE;gBACJ,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC1B,YAAY;gBACZ,WAAW,IAAI,CAAC,oBAAoB,CAAC;aACtC;YACD,WAAW;YACX,QAAQ;SACA,CAAA;QAEV,MAAM,kBAAkB,GAAG,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;QAE1E,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,sBAAsB,CAAC,CAAA;QAE5D,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAEhC,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;QAE/D,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QACjC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,MAAM;YAAE,OAAO,IAAI,CAAA;QACzC,OAAO,OAAO,CAAA;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,MAAM;YAAE,MAAM,GAAG,CAAA;QACrB,IAAI,4BAA4B,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAA;QAClD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,QAAQ,EACR,IAAI,EACJ,IAAI,GAKL;IACC,IAAI,CAAC;QACH,OAAO,oBAAoB,CAAC;YAC1B,GAAG,EAAE,kBAAkB;YACvB,IAAI;YACJ,YAAY,EAAE,MAAM;YACpB,IAAI;SACL,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,QAAQ,IAAI,IAAI;YAAE,MAAM,GAAG,CAAA;QAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAAE,OAAO,UAAU,CAAC,OAAO,CAAC,CAAA;QAEpD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/ens/getEnsAvatar.js b/node_modules/viem/_esm/actions/ens/getEnsAvatar.js new file mode 100644 index 0000000000000000000000000000000000000000..985e6a9cb12b5facd7ffd42b2509902baef5b87d --- /dev/null +++ b/node_modules/viem/_esm/actions/ens/getEnsAvatar.js @@ -0,0 +1,54 @@ +import { parseAvatarRecord, } from '../../utils/ens/avatar/parseAvatarRecord.js'; +import { getAction } from '../../utils/getAction.js'; +import { getEnsText, } from './getEnsText.js'; +/** + * Gets the avatar of an ENS name. + * + * - Docs: https://viem.sh/docs/ens/actions/getEnsAvatar + * - Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/ens + * + * Calls [`getEnsText`](https://viem.sh/docs/ens/actions/getEnsText) with `key` set to `'avatar'`. + * + * Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `getEnsAddress`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize) function for this. + * + * @param client - Client to use + * @param parameters - {@link GetEnsAvatarParameters} + * @returns Avatar URI or `null` if not found. {@link GetEnsAvatarReturnType} + * + * @example + * import { createPublicClient, http } from 'viem' + * import { mainnet } from 'viem/chains' + * import { getEnsAvatar, normalize } from 'viem/ens' + * + * const client = createPublicClient({ + * chain: mainnet, + * transport: http(), + * }) + * const ensAvatar = await getEnsAvatar(client, { + * name: normalize('wevm.eth'), + * }) + * // 'https://ipfs.io/ipfs/Qma8mnp6xV3J2cRNf3mTth5C8nV11CAnceVinc3y8jSbio' + */ +export async function getEnsAvatar(client, { blockNumber, blockTag, assetGatewayUrls, name, gatewayUrls, strict, universalResolverAddress, }) { + const record = await getAction(client, getEnsText, 'getEnsText')({ + blockNumber, + blockTag, + key: 'avatar', + name, + universalResolverAddress, + gatewayUrls, + strict, + }); + if (!record) + return null; + try { + return await parseAvatarRecord(client, { + record, + gatewayUrls: assetGatewayUrls, + }); + } + catch { + return null; + } +} +//# sourceMappingURL=getEnsAvatar.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/ens/getEnsAvatar.js.map b/node_modules/viem/_esm/actions/ens/getEnsAvatar.js.map new file mode 100644 index 0000000000000000000000000000000000000000..3c5fa408eb7ace3fd8afd34b11fe29bde8c1e129 --- /dev/null +++ b/node_modules/viem/_esm/actions/ens/getEnsAvatar.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getEnsAvatar.js","sourceRoot":"","sources":["../../../actions/ens/getEnsAvatar.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,iBAAiB,GAClB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,EAGL,UAAU,GACX,MAAM,iBAAiB,CAAA;AAgBxB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAgC,EAChC,EACE,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,IAAI,EACJ,WAAW,EACX,MAAM,EACN,wBAAwB,GACD;IAEzB,MAAM,MAAM,GAAG,MAAM,SAAS,CAC5B,MAAM,EACN,UAAU,EACV,YAAY,CACb,CAAC;QACA,WAAW;QACX,QAAQ;QACR,GAAG,EAAE,QAAQ;QACb,IAAI;QACJ,wBAAwB;QACxB,WAAW;QACX,MAAM;KACP,CAAC,CAAA;IACF,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxB,IAAI,CAAC;QACH,OAAO,MAAM,iBAAiB,CAAC,MAAM,EAAE;YACrC,MAAM;YACN,WAAW,EAAE,gBAAgB;SAC9B,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/ens/getEnsName.js b/node_modules/viem/_esm/actions/ens/getEnsName.js new file mode 100644 index 0000000000000000000000000000000000000000..1ceb02bb6c749f8ffb90402732025859a2d7b63c --- /dev/null +++ b/node_modules/viem/_esm/actions/ens/getEnsName.js @@ -0,0 +1,68 @@ +import { universalResolverReverseAbi } from '../../constants/abis.js'; +import { getChainContractAddress, } from '../../utils/chain/getChainContractAddress.js'; +import { isNullUniversalResolverError } from '../../utils/ens/errors.js'; +import { localBatchGatewayUrl } from '../../utils/ens/localBatchGatewayRequest.js'; +import { getAction } from '../../utils/getAction.js'; +import { readContract, } from '../public/readContract.js'; +/** + * Gets primary name for specified address. + * + * - Docs: https://viem.sh/docs/ens/actions/getEnsName + * - Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/ens + * + * Calls `reverse(bytes)` on ENS Universal Resolver Contract to "reverse resolve" the address to the primary ENS name. + * + * @param client - Client to use + * @param parameters - {@link GetEnsNameParameters} + * @returns Name or `null` if not found. {@link GetEnsNameReturnType} + * + * @example + * import { createPublicClient, http } from 'viem' + * import { mainnet } from 'viem/chains' + * import { getEnsName } from 'viem/ens' + * + * const client = createPublicClient({ + * chain: mainnet, + * transport: http(), + * }) + * const ensName = await getEnsName(client, { + * address: '0xd2135CfB216b74109775236E36d4b433F1DF507B', + * }) + * // 'wevm.eth' + */ +export async function getEnsName(client, parameters) { + const { address, blockNumber, blockTag, coinType = 60n, gatewayUrls, strict, } = parameters; + const { chain } = client; + const universalResolverAddress = (() => { + if (parameters.universalResolverAddress) + return parameters.universalResolverAddress; + if (!chain) + throw new Error('client chain not configured. universalResolverAddress is required.'); + return getChainContractAddress({ + blockNumber, + chain, + contract: 'ensUniversalResolver', + }); + })(); + try { + const readContractParameters = { + address: universalResolverAddress, + abi: universalResolverReverseAbi, + args: [address, coinType, gatewayUrls ?? [localBatchGatewayUrl]], + functionName: 'reverseWithGateways', + blockNumber, + blockTag, + }; + const readContractAction = getAction(client, readContract, 'readContract'); + const [name] = await readContractAction(readContractParameters); + return name || null; + } + catch (err) { + if (strict) + throw err; + if (isNullUniversalResolverError(err)) + return null; + throw err; + } +} +//# sourceMappingURL=getEnsName.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/ens/getEnsName.js.map b/node_modules/viem/_esm/actions/ens/getEnsName.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ebcad292786ca2b7e3ef799eba570048a247c1ce --- /dev/null +++ b/node_modules/viem/_esm/actions/ens/getEnsName.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getEnsName.js","sourceRoot":"","sources":["../../../actions/ens/getEnsName.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AAIrE,OAAO,EAEL,uBAAuB,GACxB,MAAM,8CAA8C,CAAA;AACrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAA;AAElF,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAGL,YAAY,GACb,MAAM,2BAA2B,CAAA;AA6ClC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAgC,EAChC,UAAgC;IAEhC,MAAM,EACJ,OAAO,EACP,WAAW,EACX,QAAQ,EACR,QAAQ,GAAG,GAAG,EACd,WAAW,EACX,MAAM,GACP,GAAG,UAAU,CAAA;IACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IAExB,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE;QACrC,IAAI,UAAU,CAAC,wBAAwB;YACrC,OAAO,UAAU,CAAC,wBAAwB,CAAA;QAC5C,IAAI,CAAC,KAAK;YACR,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAA;QACH,OAAO,uBAAuB,CAAC;YAC7B,WAAW;YACX,KAAK;YACL,QAAQ,EAAE,sBAAsB;SACjC,CAAC,CAAA;IACJ,CAAC,CAAC,EAAE,CAAA;IAEJ,IAAI,CAAC;QACH,MAAM,sBAAsB,GAAG;YAC7B,OAAO,EAAE,wBAAwB;YACjC,GAAG,EAAE,2BAA2B;YAChC,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAChE,YAAY,EAAE,qBAAqB;YACnC,WAAW;YACX,QAAQ;SACA,CAAA;QAEV,MAAM,kBAAkB,GAAG,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;QAE1E,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,kBAAkB,CAAC,sBAAsB,CAAC,CAAA;QAE/D,OAAO,IAAI,IAAI,IAAI,CAAA;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,MAAM;YAAE,MAAM,GAAG,CAAA;QACrB,IAAI,4BAA4B,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAA;QAClD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/ens/getEnsResolver.js b/node_modules/viem/_esm/actions/ens/getEnsResolver.js new file mode 100644 index 0000000000000000000000000000000000000000..4c6106c0f12d306bd560bf5762fd95a5f1b69111 --- /dev/null +++ b/node_modules/viem/_esm/actions/ens/getEnsResolver.js @@ -0,0 +1,73 @@ +import { getChainContractAddress, } from '../../utils/chain/getChainContractAddress.js'; +import { toHex } from '../../utils/encoding/toHex.js'; +import { packetToBytes, } from '../../utils/ens/packetToBytes.js'; +import { getAction } from '../../utils/getAction.js'; +import { readContract, } from '../public/readContract.js'; +/** + * Gets resolver for ENS name. + * + * - Docs: https://viem.sh/docs/ens/actions/getEnsResolver + * - Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/ens + * + * Calls `findResolver(bytes)` on ENS Universal Resolver Contract to retrieve the resolver of an ENS name. + * + * Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `getEnsAddress`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize) function for this. + * + * @param client - Client to use + * @param parameters - {@link GetEnsResolverParameters} + * @returns Address for ENS resolver. {@link GetEnsResolverReturnType} + * + * @example + * import { createPublicClient, http } from 'viem' + * import { mainnet } from 'viem/chains' + * import { getEnsResolver, normalize } from 'viem/ens' + * + * const client = createPublicClient({ + * chain: mainnet, + * transport: http(), + * }) + * const resolverAddress = await getEnsResolver(client, { + * name: normalize('wevm.eth'), + * }) + * // '0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41' + */ +export async function getEnsResolver(client, parameters) { + const { blockNumber, blockTag, name } = parameters; + const { chain } = client; + const universalResolverAddress = (() => { + if (parameters.universalResolverAddress) + return parameters.universalResolverAddress; + if (!chain) + throw new Error('client chain not configured. universalResolverAddress is required.'); + return getChainContractAddress({ + blockNumber, + chain, + contract: 'ensUniversalResolver', + }); + })(); + const tlds = chain?.ensTlds; + if (tlds && !tlds.some((tld) => name.endsWith(tld))) + throw new Error(`${name} is not a valid ENS TLD (${tlds?.join(', ')}) for chain "${chain.name}" (id: ${chain.id}).`); + const [resolverAddress] = await getAction(client, readContract, 'readContract')({ + address: universalResolverAddress, + abi: [ + { + inputs: [{ type: 'bytes' }], + name: 'findResolver', + outputs: [ + { type: 'address' }, + { type: 'bytes32' }, + { type: 'uint256' }, + ], + stateMutability: 'view', + type: 'function', + }, + ], + functionName: 'findResolver', + args: [toHex(packetToBytes(name))], + blockNumber, + blockTag, + }); + return resolverAddress; +} +//# sourceMappingURL=getEnsResolver.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/ens/getEnsResolver.js.map b/node_modules/viem/_esm/actions/ens/getEnsResolver.js.map new file mode 100644 index 0000000000000000000000000000000000000000..30d670deed226c16d0c0924a3fa37337b47706d0 --- /dev/null +++ b/node_modules/viem/_esm/actions/ens/getEnsResolver.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getEnsResolver.js","sourceRoot":"","sources":["../../../actions/ens/getEnsResolver.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,uBAAuB,GACxB,MAAM,8CAA8C,CAAA;AACrD,OAAO,EAAuB,KAAK,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAEL,aAAa,GACd,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAEL,YAAY,GACb,MAAM,2BAA2B,CAAA;AAmBlC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAgC,EAChC,UAAoC;IAEpC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,UAAU,CAAA;IAClD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IAExB,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE;QACrC,IAAI,UAAU,CAAC,wBAAwB;YACrC,OAAO,UAAU,CAAC,wBAAwB,CAAA;QAC5C,IAAI,CAAC,KAAK;YACR,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAA;QACH,OAAO,uBAAuB,CAAC;YAC7B,WAAW;YACX,KAAK;YACL,QAAQ,EAAE,sBAAsB;SACjC,CAAC,CAAA;IACJ,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,IAAI,GAAG,KAAK,EAAE,OAAO,CAAA;IAC3B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,4BAA4B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,EAAE,IAAI,CACpG,CAAA;IAEH,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,SAAS,CACvC,MAAM,EACN,YAAY,EACZ,cAAc,CACf,CAAC;QACA,OAAO,EAAE,wBAAwB;QACjC,GAAG,EAAE;YACH;gBACE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBAC3B,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnB,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnB,EAAE,IAAI,EAAE,SAAS,EAAE;iBACpB;gBACD,eAAe,EAAE,MAAM;gBACvB,IAAI,EAAE,UAAU;aACjB;SACF;QACD,YAAY,EAAE,cAAc;QAC5B,IAAI,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAClC,WAAW;QACX,QAAQ;KACT,CAAC,CAAA;IACF,OAAO,eAAe,CAAA;AACxB,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/ens/getEnsText.js b/node_modules/viem/_esm/actions/ens/getEnsText.js new file mode 100644 index 0000000000000000000000000000000000000000..9fec7097d217572a662a4133ccd0971b5d0419ef --- /dev/null +++ b/node_modules/viem/_esm/actions/ens/getEnsText.js @@ -0,0 +1,94 @@ +import { textResolverAbi, universalResolverResolveAbi, } from '../../constants/abis.js'; +import { decodeFunctionResult, } from '../../utils/abi/decodeFunctionResult.js'; +import { encodeFunctionData, } from '../../utils/abi/encodeFunctionData.js'; +import { getChainContractAddress, } from '../../utils/chain/getChainContractAddress.js'; +import { toHex } from '../../utils/encoding/toHex.js'; +import { isNullUniversalResolverError } from '../../utils/ens/errors.js'; +import { localBatchGatewayUrl } from '../../utils/ens/localBatchGatewayRequest.js'; +import { namehash } from '../../utils/ens/namehash.js'; +import { packetToBytes, } from '../../utils/ens/packetToBytes.js'; +import { getAction } from '../../utils/getAction.js'; +import { readContract, } from '../public/readContract.js'; +/** + * Gets a text record for specified ENS name. + * + * - Docs: https://viem.sh/docs/ens/actions/getEnsResolver + * - Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/ens + * + * Calls `resolve(bytes, bytes)` on ENS Universal Resolver Contract. + * + * Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `getEnsAddress`. You can use the built-in [`normalize`](https://viem.sh/docs/ens/utilities/normalize) function for this. + * + * @param client - Client to use + * @param parameters - {@link GetEnsTextParameters} + * @returns Address for ENS resolver. {@link GetEnsTextReturnType} + * + * @example + * import { createPublicClient, http } from 'viem' + * import { mainnet } from 'viem/chains' + * import { getEnsText, normalize } from 'viem/ens' + * + * const client = createPublicClient({ + * chain: mainnet, + * transport: http(), + * }) + * const twitterRecord = await getEnsText(client, { + * name: normalize('wevm.eth'), + * key: 'com.twitter', + * }) + * // 'wevm_dev' + */ +export async function getEnsText(client, parameters) { + const { blockNumber, blockTag, key, name, gatewayUrls, strict } = parameters; + const { chain } = client; + const universalResolverAddress = (() => { + if (parameters.universalResolverAddress) + return parameters.universalResolverAddress; + if (!chain) + throw new Error('client chain not configured. universalResolverAddress is required.'); + return getChainContractAddress({ + blockNumber, + chain, + contract: 'ensUniversalResolver', + }); + })(); + const tlds = chain?.ensTlds; + if (tlds && !tlds.some((tld) => name.endsWith(tld))) + return null; + try { + const readContractParameters = { + address: universalResolverAddress, + abi: universalResolverResolveAbi, + args: [ + toHex(packetToBytes(name)), + encodeFunctionData({ + abi: textResolverAbi, + functionName: 'text', + args: [namehash(name), key], + }), + gatewayUrls ?? [localBatchGatewayUrl], + ], + functionName: 'resolveWithGateways', + blockNumber, + blockTag, + }; + const readContractAction = getAction(client, readContract, 'readContract'); + const res = await readContractAction(readContractParameters); + if (res[0] === '0x') + return null; + const record = decodeFunctionResult({ + abi: textResolverAbi, + functionName: 'text', + data: res[0], + }); + return record === '' ? null : record; + } + catch (err) { + if (strict) + throw err; + if (isNullUniversalResolverError(err)) + return null; + throw err; + } +} +//# sourceMappingURL=getEnsText.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/ens/getEnsText.js.map b/node_modules/viem/_esm/actions/ens/getEnsText.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f7a01e6488a7ae11b2ebcc815c6617a768d5f922 --- /dev/null +++ b/node_modules/viem/_esm/actions/ens/getEnsText.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getEnsText.js","sourceRoot":"","sources":["../../../actions/ens/getEnsText.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,eAAe,EACf,2BAA2B,GAC5B,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAEL,oBAAoB,GACrB,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAEL,kBAAkB,GACnB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAEL,uBAAuB,GACxB,MAAM,8CAA8C,CAAA;AACrD,OAAO,EAAuB,KAAK,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAA;AAClF,OAAO,EAA0B,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAEL,aAAa,GACd,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAGL,YAAY,GACb,MAAM,2BAA2B,CAAA;AA4BlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAgC,EAChC,UAAgC;IAEhC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IAC5E,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IAExB,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE;QACrC,IAAI,UAAU,CAAC,wBAAwB;YACrC,OAAO,UAAU,CAAC,wBAAwB,CAAA;QAC5C,IAAI,CAAC,KAAK;YACR,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAA;QACH,OAAO,uBAAuB,CAAC;YAC7B,WAAW;YACX,KAAK;YACL,QAAQ,EAAE,sBAAsB;SACjC,CAAC,CAAA;IACJ,CAAC,CAAC,EAAE,CAAA;IAEJ,MAAM,IAAI,GAAG,KAAK,EAAE,OAAO,CAAA;IAC3B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAEhE,IAAI,CAAC;QACH,MAAM,sBAAsB,GAAG;YAC7B,OAAO,EAAE,wBAAwB;YACjC,GAAG,EAAE,2BAA2B;YAChC,IAAI,EAAE;gBACJ,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC1B,kBAAkB,CAAC;oBACjB,GAAG,EAAE,eAAe;oBACpB,YAAY,EAAE,MAAM;oBACpB,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;iBAC5B,CAAC;gBACF,WAAW,IAAI,CAAC,oBAAoB,CAAC;aACtC;YACD,YAAY,EAAE,qBAAqB;YACnC,WAAW;YACX,QAAQ;SACA,CAAA;QAEV,MAAM,kBAAkB,GAAG,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;QAE1E,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,sBAAsB,CAAC,CAAA;QAE5D,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAEhC,MAAM,MAAM,GAAG,oBAAoB,CAAC;YAClC,GAAG,EAAE,eAAe;YACpB,YAAY,EAAE,MAAM;YACpB,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;SACb,CAAC,CAAA;QAEF,OAAO,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,MAAM;YAAE,MAAM,GAAG,CAAA;QACrB,IAAI,4BAA4B,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAA;QAClD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/getContract.js b/node_modules/viem/_esm/actions/getContract.js new file mode 100644 index 0000000000000000000000000000000000000000..e39148ff895153fefea82ca17a1c82b59d25327d --- /dev/null +++ b/node_modules/viem/_esm/actions/getContract.js @@ -0,0 +1,214 @@ +import { getAction } from '../utils/getAction.js'; +import { createContractEventFilter, } from './public/createContractEventFilter.js'; +import { estimateContractGas, } from './public/estimateContractGas.js'; +import { getContractEvents, } from './public/getContractEvents.js'; +import { readContract, } from './public/readContract.js'; +import { simulateContract, } from './public/simulateContract.js'; +import { watchContractEvent, } from './public/watchContractEvent.js'; +import { writeContract, } from './wallet/writeContract.js'; +/** + * Gets type-safe interface for performing contract-related actions with a specific `abi` and `address`. + * + * - Docs https://viem.sh/docs/contract/getContract + * + * Using Contract Instances can make it easier to work with contracts if you don't want to pass the `abi` and `address` properties every time you perform contract actions, e.g. [`readContract`](https://viem.sh/docs/contract/readContract), [`writeContract`](https://viem.sh/docs/contract/writeContract), [`estimateContractGas`](https://viem.sh/docs/contract/estimateContractGas), etc. + * + * @example + * import { createPublicClient, getContract, http, parseAbi } from 'viem' + * import { mainnet } from 'viem/chains' + * + * const publicClient = createPublicClient({ + * chain: mainnet, + * transport: http(), + * }) + * const contract = getContract({ + * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2', + * abi: parseAbi([ + * 'function balanceOf(address owner) view returns (uint256)', + * 'function ownerOf(uint256 tokenId) view returns (address)', + * 'function totalSupply() view returns (uint256)', + * ]), + * client: publicClient, + * }) + */ +export function getContract({ abi, address, client: client_, }) { + const client = client_; + const [publicClient, walletClient] = (() => { + if (!client) + return [undefined, undefined]; + if ('public' in client && 'wallet' in client) + return [client.public, client.wallet]; + if ('public' in client) + return [client.public, undefined]; + if ('wallet' in client) + return [undefined, client.wallet]; + return [client, client]; + })(); + const hasPublicClient = publicClient !== undefined && publicClient !== null; + const hasWalletClient = walletClient !== undefined && walletClient !== null; + const contract = {}; + let hasReadFunction = false; + let hasWriteFunction = false; + let hasEvent = false; + for (const item of abi) { + if (item.type === 'function') + if (item.stateMutability === 'view' || item.stateMutability === 'pure') + hasReadFunction = true; + else + hasWriteFunction = true; + else if (item.type === 'event') + hasEvent = true; + // Exit early if all flags are `true` + if (hasReadFunction && hasWriteFunction && hasEvent) + break; + } + if (hasPublicClient) { + if (hasReadFunction) + contract.read = new Proxy({}, { + get(_, functionName) { + return (...parameters) => { + const { args, options } = getFunctionParameters(parameters); + return getAction(publicClient, readContract, 'readContract')({ + abi, + address, + functionName, + args, + ...options, + }); + }; + }, + }); + if (hasWriteFunction) + contract.simulate = new Proxy({}, { + get(_, functionName) { + return (...parameters) => { + const { args, options } = getFunctionParameters(parameters); + return getAction(publicClient, simulateContract, 'simulateContract')({ + abi, + address, + functionName, + args, + ...options, + }); + }; + }, + }); + if (hasEvent) { + contract.createEventFilter = new Proxy({}, { + get(_, eventName) { + return (...parameters) => { + const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName); + const { args, options } = getEventParameters(parameters, abiEvent); + return getAction(publicClient, createContractEventFilter, 'createContractEventFilter')({ + abi, + address, + eventName, + args, + ...options, + }); + }; + }, + }); + contract.getEvents = new Proxy({}, { + get(_, eventName) { + return (...parameters) => { + const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName); + const { args, options } = getEventParameters(parameters, abiEvent); + return getAction(publicClient, getContractEvents, 'getContractEvents')({ + abi, + address, + eventName, + args, + ...options, + }); + }; + }, + }); + contract.watchEvent = new Proxy({}, { + get(_, eventName) { + return (...parameters) => { + const abiEvent = abi.find((x) => x.type === 'event' && x.name === eventName); + const { args, options } = getEventParameters(parameters, abiEvent); + return getAction(publicClient, watchContractEvent, 'watchContractEvent')({ + abi, + address, + eventName, + args, + ...options, + }); + }; + }, + }); + } + } + if (hasWalletClient) { + if (hasWriteFunction) + contract.write = new Proxy({}, { + get(_, functionName) { + return (...parameters) => { + const { args, options } = getFunctionParameters(parameters); + return getAction(walletClient, writeContract, 'writeContract')({ + abi, + address, + functionName, + args, + ...options, + }); + }; + }, + }); + } + if (hasPublicClient || hasWalletClient) + if (hasWriteFunction) + contract.estimateGas = new Proxy({}, { + get(_, functionName) { + return (...parameters) => { + const { args, options } = getFunctionParameters(parameters); + const client = (publicClient ?? walletClient); + return getAction(client, estimateContractGas, 'estimateContractGas')({ + abi, + address, + functionName, + args, + ...options, + account: options.account ?? + walletClient.account, + }); + }; + }, + }); + contract.address = address; + contract.abi = abi; + return contract; +} +/** + * @internal exporting for testing only + */ +export function getFunctionParameters(values) { + const hasArgs = values.length && Array.isArray(values[0]); + const args = hasArgs ? values[0] : []; + const options = (hasArgs ? values[1] : values[0]) ?? {}; + return { args, options }; +} +/** + * @internal exporting for testing only + */ +export function getEventParameters(values, abiEvent) { + let hasArgs = false; + // If first item is array, must be `args` + if (Array.isArray(values[0])) + hasArgs = true; + // Check if first item is `args` or `options` + else if (values.length === 1) { + // if event has indexed inputs, must have `args` + hasArgs = abiEvent.inputs.some((x) => x.indexed); + // If there are two items in array, must have `args` + } + else if (values.length === 2) { + hasArgs = true; + } + const args = hasArgs ? values[0] : undefined; + const options = (hasArgs ? values[1] : values[0]) ?? {}; + return { args, options }; +} +//# sourceMappingURL=getContract.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/getContract.js.map b/node_modules/viem/_esm/actions/getContract.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ce7132297367ea8207524e2ab8f4d769f3c2f28d --- /dev/null +++ b/node_modules/viem/_esm/actions/getContract.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getContract.js","sourceRoot":"","sources":["../../actions/getContract.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/index.js b/node_modules/viem/_esm/actions/index.js new file mode 100644 index 0000000000000000000000000000000000000000..c2741e85b5db951e5e8b0dda2de8b91d5005da2f --- /dev/null +++ b/node_modules/viem/_esm/actions/index.js @@ -0,0 +1,118 @@ +// biome-ignore lint/performance/noBarrelFile: entrypoint module +export { getEnsAddress, } from './ens/getEnsAddress.js'; +export { getEnsAvatar, } from './ens/getEnsAvatar.js'; +export { getEnsName, } from './ens/getEnsName.js'; +export { getEnsResolver, } from './ens/getEnsResolver.js'; +export { getEnsText, } from './ens/getEnsText.js'; +export { call, } from './public/call.js'; +export { createAccessList, } from './public/createAccessList.js'; +export { createBlockFilter, } from './public/createBlockFilter.js'; +export { createContractEventFilter, } from './public/createContractEventFilter.js'; +export { createEventFilter, } from './public/createEventFilter.js'; +export { createPendingTransactionFilter, } from './public/createPendingTransactionFilter.js'; +export { estimateContractGas, } from './public/estimateContractGas.js'; +export { estimateFeesPerGas, } from './public/estimateFeesPerGas.js'; +export { estimateGas, } from './public/estimateGas.js'; +export { estimateMaxPriorityFeePerGas, } from './public/estimateMaxPriorityFeePerGas.js'; +export { fillTransaction, } from './public/fillTransaction.js'; +export { getBalance, } from './public/getBalance.js'; +export { getBlobBaseFee, } from './public/getBlobBaseFee.js'; +export { getBlock, } from './public/getBlock.js'; +export { getBlockNumber, } from './public/getBlockNumber.js'; +export { getBlockReceipts, } from './public/getBlockReceipts.js'; +export { getBlockTransactionCount, } from './public/getBlockTransactionCount.js'; +export { getChainId, } from './public/getChainId.js'; +export { +/** @deprecated Use `getCode` instead */ +getCode as getBytecode, getCode, } from './public/getCode.js'; +export { getContractEvents, } from './public/getContractEvents.js'; +export { getDelegation, } from './public/getDelegation.js'; +export { getEip712Domain, } from './public/getEip712Domain.js'; +export { getFeeHistory, } from './public/getFeeHistory.js'; +export { getFilterChanges, } from './public/getFilterChanges.js'; +export { getFilterLogs, } from './public/getFilterLogs.js'; +export { getGasPrice, } from './public/getGasPrice.js'; +export { getLogs, } from './public/getLogs.js'; +export { getProof, } from './public/getProof.js'; +export { getRawTransaction, } from './public/getRawTransaction.js'; +export { getStorageAt, } from './public/getStorageAt.js'; +export { getTransaction, } from './public/getTransaction.js'; +export { getTransactionConfirmations, } from './public/getTransactionConfirmations.js'; +export { getTransactionCount, } from './public/getTransactionCount.js'; +export { getTransactionReceipt, } from './public/getTransactionReceipt.js'; +export { multicall, } from './public/multicall.js'; +export { readContract, } from './public/readContract.js'; +export { simulateBlocks, +/** @deprecated Use `simulateBlocks` instead */ +simulateBlocks as simulate, } from './public/simulateBlocks.js'; +export { simulateCalls, } from './public/simulateCalls.js'; +export { simulateContract, } from './public/simulateContract.js'; +export { uninstallFilter, } from './public/uninstallFilter.js'; +export { verifyHash, } from './public/verifyHash.js'; +export { verifyMessage, } from './public/verifyMessage.js'; +export { verifyTypedData, } from './public/verifyTypedData.js'; +export { waitForTransactionReceipt, } from './public/waitForTransactionReceipt.js'; +export { watchBlockHeaders, } from './public/watchBlockHeaders.js'; +export { watchBlockNumber, } from './public/watchBlockNumber.js'; +export { watchBlocks, } from './public/watchBlocks.js'; +export { watchContractEvent, } from './public/watchContractEvent.js'; +export { watchEvent, } from './public/watchEvent.js'; +export { watchPendingTransactions, } from './public/watchPendingTransactions.js'; +export { dropTransaction, } from './test/dropTransaction.js'; +export { dumpState, } from './test/dumpState.js'; +export { getAutomine, } from './test/getAutomine.js'; +export { getTxpoolContent, } from './test/getTxpoolContent.js'; +export { getTxpoolStatus, } from './test/getTxpoolStatus.js'; +export { impersonateAccount, } from './test/impersonateAccount.js'; +export { increaseTime, } from './test/increaseTime.js'; +export { inspectTxpool, } from './test/inspectTxpool.js'; +export { loadState, } from './test/loadState.js'; +export { mine, } from './test/mine.js'; +export { removeBlockTimestampInterval, } from './test/removeBlockTimestampInterval.js'; +export { reset, } from './test/reset.js'; +export { revert, } from './test/revert.js'; +export { sendUnsignedTransaction, } from './test/sendUnsignedTransaction.js'; +export { setAutomine } from './test/setAutomine.js'; +export { setBalance, } from './test/setBalance.js'; +export { setBlockGasLimit, } from './test/setBlockGasLimit.js'; +export { setBlockTimestampInterval, } from './test/setBlockTimestampInterval.js'; +export { setCode, } from './test/setCode.js'; +export { setCoinbase, } from './test/setCoinbase.js'; +export { setIntervalMining, } from './test/setIntervalMining.js'; +export { setLoggingEnabled, } from './test/setLoggingEnabled.js'; +export { setMinGasPrice, } from './test/setMinGasPrice.js'; +export { setNextBlockBaseFeePerGas, } from './test/setNextBlockBaseFeePerGas.js'; +export { setNextBlockTimestamp, } from './test/setNextBlockTimestamp.js'; +export { setNonce, } from './test/setNonce.js'; +export { setRpcUrl } from './test/setRpcUrl.js'; +export { setStorageAt, } from './test/setStorageAt.js'; +export { snapshot } from './test/snapshot.js'; +export { stopImpersonatingAccount, } from './test/stopImpersonatingAccount.js'; +export * as token from './token/index.js'; +export { addChain, } from './wallet/addChain.js'; +export { deployContract, } from './wallet/deployContract.js'; +export { getAddresses, } from './wallet/getAddresses.js'; +export { getCallsStatus, } from './wallet/getCallsStatus.js'; +export { getCapabilities, } from './wallet/getCapabilities.js'; +export { getPermissions, } from './wallet/getPermissions.js'; +export { prepareAuthorization, } from './wallet/prepareAuthorization.js'; +export { defaultParameters as defaultPrepareTransactionRequestParameters, prepareTransactionRequest, } from './wallet/prepareTransactionRequest.js'; +export { requestAddresses, } from './wallet/requestAddresses.js'; +export { requestPermissions, } from './wallet/requestPermissions.js'; +export { sendCalls, } from './wallet/sendCalls.js'; +export { sendCallsSync, } from './wallet/sendCallsSync.js'; +export { sendRawTransaction, } from './wallet/sendRawTransaction.js'; +export { sendRawTransactionSync, } from './wallet/sendRawTransactionSync.js'; +export { sendTransaction, } from './wallet/sendTransaction.js'; +export { sendTransactionSync, } from './wallet/sendTransactionSync.js'; +export { showCallsStatus, } from './wallet/showCallsStatus.js'; +export { signAuthorization, } from './wallet/signAuthorization.js'; +export { signMessage, } from './wallet/signMessage.js'; +export { signTransaction, } from './wallet/signTransaction.js'; +export { signTypedData, } from './wallet/signTypedData.js'; +export { switchChain, } from './wallet/switchChain.js'; +export { waitForCallsStatus, } from './wallet/waitForCallsStatus.js'; +export { watchAsset, } from './wallet/watchAsset.js'; +export { writeContract, } from './wallet/writeContract.js'; +export { writeContractSync, } from './wallet/writeContractSync.js'; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/index.js.map b/node_modules/viem/_esm/actions/index.js.map new file mode 100644 index 0000000000000000000000000000000000000000..755d2d5868ecae4d8d9c8665fc1febd459d624a2 --- /dev/null +++ b/node_modules/viem/_esm/actions/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../actions/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/public/call.js b/node_modules/viem/_esm/actions/public/call.js new file mode 100644 index 0000000000000000000000000000000000000000..59994674b379cbbdfde17edaba4984494f18bd13 --- /dev/null +++ b/node_modules/viem/_esm/actions/public/call.js @@ -0,0 +1,319 @@ +import { parseAbi } from 'abitype'; +import * as BlockOverrides from 'ox/BlockOverrides'; +import { parseAccount, } from '../../accounts/utils/parseAccount.js'; +import { multicall3Abi } from '../../constants/abis.js'; +import { aggregate3Signature } from '../../constants/contract.js'; +import { deploylessCallViaBytecodeBytecode, deploylessCallViaFactoryBytecode, multicall3Bytecode, } from '../../constants/contracts.js'; +import { BaseError } from '../../errors/base.js'; +import { ChainDoesNotSupportContract, ClientChainNotConfiguredError, } from '../../errors/chain.js'; +import { CounterfactualDeploymentFailedError, RawContractError, } from '../../errors/contract.js'; +import { getAbortError, isAbortError, } from '../../errors/utils.js'; +import { decodeFunctionResult, } from '../../utils/abi/decodeFunctionResult.js'; +import { encodeDeployData, } from '../../utils/abi/encodeDeployData.js'; +import { encodeFunctionData, } from '../../utils/abi/encodeFunctionData.js'; +import { isAddressEqual } from '../../utils/address/isAddressEqual.js'; +import { formatBlockParameter, } from '../../utils/block/formatBlockParameter.js'; +import { getChainContractAddress, } from '../../utils/chain/getChainContractAddress.js'; +import { getCallError, } from '../../utils/errors/getCallError.js'; +import { extract } from '../../utils/formatters/extract.js'; +import { formatTransactionRequest, } from '../../utils/formatters/transactionRequest.js'; +import { createBatchScheduler, } from '../../utils/promise/createBatchScheduler.js'; +import { serializeStateOverride, } from '../../utils/stateOverride.js'; +import { assertRequest } from '../../utils/transaction/assertRequest.js'; +/** + * Executes a new message call immediately without submitting a transaction to the network. + * + * - Docs: https://viem.sh/docs/actions/public/call + * - JSON-RPC Methods: [`eth_call`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_call) + * + * @param client - Client to use + * @param parameters - {@link CallParameters} + * @returns The call data. {@link CallReturnType} + * + * @example + * import { createPublicClient, http } from 'viem' + * import { mainnet } from 'viem/chains' + * import { call } from 'viem/public' + * + * const client = createPublicClient({ + * chain: mainnet, + * transport: http(), + * }) + * const data = await call(client, { + * account: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266', + * data: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', + * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', + * }) + */ +export async function call(client, args) { + const { account: account_ = client.account, authorizationList, batch = Boolean(client.batch?.multicall), blockHash, blockNumber, blockTag = client.experimental_blockTag ?? 'latest', requireCanonical, accessList, blobs, blockOverrides, code, data: data_, factory, factoryData, gas, gasPrice, maxFeePerBlobGas, maxFeePerGas, maxPriorityFeePerGas, nonce, requestOptions, to, value, stateOverride, ...rest } = args; + const account = account_ ? parseAccount(account_) : undefined; + if (code && (factory || factoryData)) + throw new BaseError('Cannot provide both `code` & `factory`/`factoryData` as parameters.'); + if (code && to) + throw new BaseError('Cannot provide both `code` & `to` as parameters.'); + // Check if the call is deployless via bytecode. + const deploylessCallViaBytecode = code && data_; + // Check if the call is deployless via a factory. + const deploylessCallViaFactory = factory && factoryData && to && data_; + const deploylessCall = deploylessCallViaBytecode || deploylessCallViaFactory; + const data = (() => { + if (deploylessCallViaBytecode) + return toDeploylessCallViaBytecodeData({ + code, + data: data_, + }); + if (deploylessCallViaFactory) + return toDeploylessCallViaFactoryData({ + data: data_, + factory, + factoryData, + to, + }); + return data_; + })(); + try { + assertRequest(args); + const block = formatBlockParameter({ + blockHash, + blockNumber, + blockTag, + requireCanonical, + }); + const rpcBlockOverrides = blockOverrides + ? BlockOverrides.toRpc(blockOverrides) + : undefined; + const rpcStateOverride = serializeStateOverride(stateOverride); + const chainFormat = client.chain?.formatters?.transactionRequest?.format; + const format = chainFormat || formatTransactionRequest; + const request = format({ + // Pick out extra data that might exist on the chain's transaction request type. + ...extract(rest, { format: chainFormat }), + accessList, + account, + authorizationList, + blobs, + data, + gas, + gasPrice, + maxFeePerBlobGas, + maxFeePerGas, + maxPriorityFeePerGas, + nonce, + to: deploylessCall ? undefined : to, + value, + }, 'call'); + if (batch && + shouldPerformMulticall({ request }) && + !rpcBlockOverrides && + blockHash === undefined) { + try { + const { deployless = false } = typeof client.batch?.multicall === 'object' + ? client.batch.multicall + : {}; + const multicallAddress = getMulticallAddress(client, { + blockNumber, + deployless, + }); + if (!multicallAddress || + !hasStateOverrideForAddress(rpcStateOverride, multicallAddress)) + return await scheduleMulticall(client, { + ...request, + blockHash, + blockNumber, + blockTag, + multicallAddress, + requestOptions, + requireCanonical, + rpcStateOverride, + }); + } + catch (err) { + if (!(err instanceof ClientChainNotConfiguredError) && + !(err instanceof ChainDoesNotSupportContract)) + throw err; + } + } + const params = (() => { + const base = [ + request, + block, + ]; + if (rpcStateOverride && rpcBlockOverrides) + return [...base, rpcStateOverride, rpcBlockOverrides]; + if (rpcStateOverride) + return [...base, rpcStateOverride]; + if (rpcBlockOverrides) + return [...base, {}, rpcBlockOverrides]; + return base; + })(); + const response = await client.request({ + method: 'eth_call', + params, + }, requestOptions); + if (response === '0x') + return { data: undefined }; + return { data: response }; + } + catch (err) { + if (requestOptions?.signal?.aborted) + throw getAbortError(requestOptions.signal); + if (isAbortError(err)) + throw err; + const data = getRevertErrorData(err); + // Check for CCIP-Read offchain lookup signature. + const { offchainLookup, offchainLookupSignature } = await import('../../utils/ccip.js'); + if (client.ccipRead !== false && + data?.slice(0, 10) === offchainLookupSignature && + to) + return { + data: await offchainLookup(client, { data, requestOptions, to }), + }; + // Check for counterfactual deployment error. + if (deploylessCall && data?.slice(0, 10) === '0x101bb98d') + throw new CounterfactualDeploymentFailedError({ factory }); + throw getCallError(err, { + ...args, + account, + chain: client.chain, + }); + } +} +// We only want to perform a scheduled multicall if: +// - The request has calldata, +// - The request has a target address, +// - The target address is not already the aggregate3 signature, +// - The request has no other properties (`nonce`, `gas`, etc cannot be sent with a multicall). +function shouldPerformMulticall({ request }) { + const { data, to, ...request_ } = request; + if (!data) + return false; + if (data.startsWith(aggregate3Signature)) + return false; + if (!to) + return false; + if (Object.values(request_).filter((x) => typeof x !== 'undefined').length > 0) + return false; + return true; +} +let requestOptionsId = 0; +const requestOptionsIds = new WeakMap(); +function getRequestOptionsId(requestOptions) { + if (!requestOptions) + return 'default'; + const id = requestOptionsIds.get(requestOptions); + if (id !== undefined) + return id; + const nextId = requestOptionsId++; + requestOptionsIds.set(requestOptions, nextId); + return nextId; +} +async function scheduleMulticall(client, args) { + const { batchSize = 1024, deployless = false, wait = 0, } = typeof client.batch?.multicall === 'object' ? client.batch.multicall : {}; + const { blockHash, blockNumber, blockTag = client.experimental_blockTag ?? 'latest', requireCanonical, data, multicallAddress: multicallAddress_, requestOptions, rpcStateOverride, to, } = args; + const multicallAddress = multicallAddress_ !== undefined + ? multicallAddress_ + : getMulticallAddress(client, { + blockNumber, + deployless, + }); + const block = formatBlockParameter({ + blockHash, + blockNumber, + blockTag, + requireCanonical, + }); + const blockId = typeof block === 'string' ? block : JSON.stringify(block); + const stateOverrideKey = rpcStateOverride + ? `.${JSON.stringify(rpcStateOverride)}` + : ''; + const { schedule } = createBatchScheduler({ + id: `${client.uid}.${blockId}.${getRequestOptionsId(requestOptions)}${stateOverrideKey}`, + wait, + shouldSplitBatch(args) { + const size = args.reduce((size, { data }) => size + (data.length - 2), 0); + return size > batchSize * 2; + }, + fn: async (requests) => { + const calls = requests.map((request) => ({ + allowFailure: true, + callData: request.data, + target: request.to, + })); + const calldata = encodeFunctionData({ + abi: multicall3Abi, + args: [calls], + functionName: 'aggregate3', + }); + const multicallRequest = { + ...(multicallAddress === null + ? { + data: toDeploylessCallViaBytecodeData({ + code: multicall3Bytecode, + data: calldata, + }), + } + : { to: multicallAddress, data: calldata }), + }; + const data = await client.request({ + method: 'eth_call', + params: rpcStateOverride + ? [multicallRequest, block, rpcStateOverride] + : [multicallRequest, block], + }, requestOptions); + return decodeFunctionResult({ + abi: multicall3Abi, + args: [calls], + functionName: 'aggregate3', + data: data || '0x', + }); + }, + }); + const [{ returnData, success }] = await schedule({ data, to }); + if (!success) + throw new RawContractError({ data: returnData }); + if (returnData === '0x') + return { data: undefined }; + return { data: returnData }; +} +function getMulticallAddress(client, parameters) { + const { blockNumber, deployless } = parameters; + if (deployless) + return null; + if (client.chain) + return getChainContractAddress({ + blockNumber, + chain: client.chain, + contract: 'multicall3', + }); + throw new ClientChainNotConfiguredError(); +} +function hasStateOverrideForAddress(rpcStateOverride, address) { + if (!rpcStateOverride) + return false; + return Object.keys(rpcStateOverride).some((stateOverrideAddress) => isAddressEqual(stateOverrideAddress, address)); +} +function toDeploylessCallViaBytecodeData(parameters) { + const { code, data } = parameters; + return encodeDeployData({ + abi: parseAbi(['constructor(bytes, bytes)']), + bytecode: deploylessCallViaBytecodeBytecode, + args: [code, data], + }); +} +function toDeploylessCallViaFactoryData(parameters) { + const { data, factory, factoryData, to } = parameters; + return encodeDeployData({ + abi: parseAbi(['constructor(address, bytes, address, bytes)']), + bytecode: deploylessCallViaFactoryBytecode, + args: [to, data, factory, factoryData], + }); +} +/** @internal */ +export function getRevertErrorData(err) { + if (!(err instanceof BaseError)) + return undefined; + const error = err.walk(); + return typeof error?.data === 'object' ? error.data?.data : error.data; +} +//# sourceMappingURL=call.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/public/call.js.map b/node_modules/viem/_esm/actions/public/call.js.map new file mode 100644 index 0000000000000000000000000000000000000000..99a80fd20d715b77bb155ded7597c368e2d43c12 --- /dev/null +++ b/node_modules/viem/_esm/actions/public/call.js.map @@ -0,0 +1 @@ +{"version":3,"file":"call.js","sourceRoot":"","sources":["../../../actions/public/call.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/public/createAccessList.js b/node_modules/viem/_esm/actions/public/createAccessList.js new file mode 100644 index 0000000000000000000000000000000000000000..3f588e20d702ddf946b0636e5923412cb4ba07d0 --- /dev/null +++ b/node_modules/viem/_esm/actions/public/createAccessList.js @@ -0,0 +1,75 @@ +import { parseAccount, } from '../../accounts/utils/parseAccount.js'; +import { BaseError } from '../../errors/base.js'; +import { numberToHex, } from '../../utils/encoding/toHex.js'; +import { getCallError, } from '../../utils/errors/getCallError.js'; +import { extract } from '../../utils/formatters/extract.js'; +import { formatTransactionRequest, } from '../../utils/formatters/transactionRequest.js'; +import { assertRequest } from '../../utils/transaction/assertRequest.js'; +/** + * Creates an EIP-2930 access list. + * + * - Docs: https://viem.sh/docs/actions/public/createAccessList + * - JSON-RPC Methods: `eth_createAccessList` + * + * @param client - Client to use + * @param parameters - {@link CreateAccessListParameters} + * @returns The access list. {@link CreateAccessListReturnType} + * + * @example + * import { createPublicClient, http } from 'viem' + * import { mainnet } from 'viem/chains' + * import { createAccessList } from 'viem/public' + * + * const client = createPublicClient({ + * chain: mainnet, + * transport: http(), + * }) + * const data = await createAccessList(client, { + * account: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266', + * data: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', + * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', + * }) + */ +export async function createAccessList(client, args) { + const { account: account_ = client.account, blockNumber, blockTag = 'latest', blobs, data, gas, gasPrice, maxFeePerBlobGas, maxFeePerGas, maxPriorityFeePerGas, to, value, ...rest } = args; + const account = account_ ? parseAccount(account_) : undefined; + try { + assertRequest(args); + const blockNumberHex = typeof blockNumber === 'bigint' ? numberToHex(blockNumber) : undefined; + const block = blockNumberHex || blockTag; + const chainFormat = client.chain?.formatters?.transactionRequest?.format; + const format = chainFormat || formatTransactionRequest; + const request = format({ + // Pick out extra data that might exist on the chain's transaction request type. + ...extract(rest, { format: chainFormat }), + account, + blobs, + data, + gas, + gasPrice, + maxFeePerBlobGas, + maxFeePerGas, + maxPriorityFeePerGas, + to, + value, + }, 'createAccessList'); + const response = await client.request({ + method: 'eth_createAccessList', + params: [request, block], + }); + if (response.error) + throw new BaseError(response.error, { details: response.error }); + return { + accessList: response.accessList, + gasUsed: BigInt(response.gasUsed), + }; + } + catch (err) { + throw getCallError(err, { + ...args, + account, + chain: client.chain, + }); + } +} +//# sourceMappingURL=createAccessList.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/public/createAccessList.js.map b/node_modules/viem/_esm/actions/public/createAccessList.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d33b84bc0ff0a324323989f16edcfd3f3b412e43 --- /dev/null +++ b/node_modules/viem/_esm/actions/public/createAccessList.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createAccessList.js","sourceRoot":"","sources":["../../../actions/public/createAccessList.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,YAAY,GACb,MAAM,sCAAsC,CAAA;AAG7C,OAAO,EAAE,SAAS,EAAsB,MAAM,sBAAsB,CAAA;AAQpE,OAAO,EAEL,WAAW,GACZ,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAEL,YAAY,GACb,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAC3D,OAAO,EAGL,wBAAwB,GACzB,MAAM,8CAA8C,CAAA;AAKrD,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAA;AAwCxE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAgC,EAChC,IAAuC;IAEvC,MAAM,EACJ,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,WAAW,EACX,QAAQ,GAAG,QAAQ,EACnB,KAAK,EACL,IAAI,EACJ,GAAG,EACH,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,EAAE,EACF,KAAK,EACL,GAAG,IAAI,EACR,GAAG,IAAI,CAAA;IACR,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAE7D,IAAI,CAAC;QACH,aAAa,CAAC,IAA+B,CAAC,CAAA;QAE9C,MAAM,cAAc,GAClB,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACxE,MAAM,KAAK,GAAG,cAAc,IAAI,QAAQ,CAAA;QAExC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,CAAA;QACxE,MAAM,MAAM,GAAG,WAAW,IAAI,wBAAwB,CAAA;QAEtD,MAAM,OAAO,GAAG,MAAM,CACpB;YACE,gFAAgF;YAChF,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YACzC,OAAO;YACP,KAAK;YACL,IAAI;YACJ,GAAG;YACH,QAAQ;YACR,gBAAgB;YAChB,YAAY;YACZ,oBAAoB;YACpB,EAAE;YACF,KAAK;SACgB,EACvB,kBAAkB,CACG,CAAA;QAEvB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;YACpC,MAAM,EAAE,sBAAsB;YAC9B,MAAM,EAAE,CAAC,OAA8C,EAAE,KAAK,CAAC;SAChE,CAAC,CAAA;QACF,IAAI,QAAQ,CAAC,KAAK;YAChB,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;QAClE,OAAO;YACL,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;SAClC,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,YAAY,CAAC,GAAgB,EAAE;YACnC,GAAG,IAAI;YACP,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/public/createBlockFilter.js b/node_modules/viem/_esm/actions/public/createBlockFilter.js new file mode 100644 index 0000000000000000000000000000000000000000..8f6e2dbe696ef304c5f4376215798536366233c7 --- /dev/null +++ b/node_modules/viem/_esm/actions/public/createBlockFilter.js @@ -0,0 +1,32 @@ +import { createFilterRequestScope } from '../../utils/filters/createFilterRequestScope.js'; +/** + * Creates a [`Filter`](https://viem.sh/docs/glossary/types#filter) to listen for new block hashes that can be used with [`getFilterChanges`](https://viem.sh/docs/actions/public/getFilterChanges). + * + * - Docs: https://viem.sh/docs/actions/public/createBlockFilter + * - JSON-RPC Methods: [`eth_newBlockFilter`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_newBlockFilter) + * + * @param client - Client to use + * @returns [`Filter`](https://viem.sh/docs/glossary/types#filter). {@link CreateBlockFilterReturnType} + * + * @example + * import { createPublicClient, http } from 'viem' + * import { mainnet } from 'viem/chains' + * import { createBlockFilter } from 'viem/public' + * + * const client = createPublicClient({ + * chain: mainnet, + * transport: http(), + * }) + * const filter = await createBlockFilter(client) + * // { id: "0x345a6572337856574a76364e457a4366", type: 'block' } + */ +export async function createBlockFilter(client) { + const getRequest = createFilterRequestScope(client, { + method: 'eth_newBlockFilter', + }); + const id = await client.request({ + method: 'eth_newBlockFilter', + }); + return { id, request: getRequest(id), type: 'block' }; +} +//# sourceMappingURL=createBlockFilter.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/public/createBlockFilter.js.map b/node_modules/viem/_esm/actions/public/createBlockFilter.js.map new file mode 100644 index 0000000000000000000000000000000000000000..71f85fd6671ca9946476d1baf00fe16866176272 --- /dev/null +++ b/node_modules/viem/_esm/actions/public/createBlockFilter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createBlockFilter.js","sourceRoot":"","sources":["../../../actions/public/createBlockFilter.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAA;AAM1F;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAgC;IAEhC,MAAM,UAAU,GAAG,wBAAwB,CAAC,MAAM,EAAE;QAClD,MAAM,EAAE,oBAAoB;KAC7B,CAAC,CAAA;IACF,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,EAAE,oBAAoB;KAC7B,CAAC,CAAA;IACF,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AACvD,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/public/createContractEventFilter.js b/node_modules/viem/_esm/actions/public/createContractEventFilter.js new file mode 100644 index 0000000000000000000000000000000000000000..a11442209f59ac3662406bd0226bda0ef4e9dd39 --- /dev/null +++ b/node_modules/viem/_esm/actions/public/createContractEventFilter.js @@ -0,0 +1,59 @@ +import { encodeEventTopics, } from '../../utils/abi/encodeEventTopics.js'; +import { numberToHex, } from '../../utils/encoding/toHex.js'; +import { createFilterRequestScope } from '../../utils/filters/createFilterRequestScope.js'; +/** + * Creates a Filter to retrieve event logs that can be used with [`getFilterChanges`](https://viem.sh/docs/actions/public/getFilterChanges) or [`getFilterLogs`](https://viem.sh/docs/actions/public/getFilterLogs). + * + * - Docs: https://viem.sh/docs/contract/createContractEventFilter + * + * @param client - Client to use + * @param parameters - {@link CreateContractEventFilterParameters} + * @returns [`Filter`](https://viem.sh/docs/glossary/types#filter). {@link CreateContractEventFilterReturnType} + * + * @example + * import { createPublicClient, http, parseAbi } from 'viem' + * import { mainnet } from 'viem/chains' + * import { createContractEventFilter } from 'viem/contract' + * + * const client = createPublicClient({ + * chain: mainnet, + * transport: http(), + * }) + * const filter = await createContractEventFilter(client, { + * abi: parseAbi(['event Transfer(address indexed, address indexed, uint256)']), + * }) + */ +export async function createContractEventFilter(client, parameters) { + const { address, abi, args, eventName, fromBlock, strict, toBlock } = parameters; + const getRequest = createFilterRequestScope(client, { + method: 'eth_newFilter', + }); + const topics = eventName + ? encodeEventTopics({ + abi, + args, + eventName, + }) + : undefined; + const id = await client.request({ + method: 'eth_newFilter', + params: [ + { + address, + fromBlock: typeof fromBlock === 'bigint' ? numberToHex(fromBlock) : fromBlock, + toBlock: typeof toBlock === 'bigint' ? numberToHex(toBlock) : toBlock, + topics, + }, + ], + }); + return { + abi, + args, + eventName, + id, + request: getRequest(id), + strict: Boolean(strict), + type: 'event', + }; +} +//# sourceMappingURL=createContractEventFilter.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/public/createContractEventFilter.js.map b/node_modules/viem/_esm/actions/public/createContractEventFilter.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a91f731bbd02374d0062e8d664fbdad0833ad571 --- /dev/null +++ b/node_modules/viem/_esm/actions/public/createContractEventFilter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createContractEventFilter.js","sourceRoot":"","sources":["../../../actions/public/createContractEventFilter.ts"],"names":[],"mappings":"AAaA,OAAO,EAGL,iBAAiB,GAClB,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EAEL,WAAW,GACZ,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAA;AAsD1F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAS7C,MAAgC,EAChC,UAOC;IAWD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GACjE,UAAiD,CAAA;IAEnD,MAAM,UAAU,GAAG,wBAAwB,CAAC,MAAM,EAAE;QAClD,MAAM,EAAE,eAAe;KACxB,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,SAAS;QACtB,CAAC,CAAC,iBAAiB,CAAC;YAChB,GAAG;YACH,IAAI;YACJ,SAAS;SACgC,CAAC;QAC9C,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,EAAE,GAAQ,MAAM,MAAM,CAAC,OAAO,CAAC;QACnC,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE;YACN;gBACE,OAAO;gBACP,SAAS,EACP,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpE,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;gBACrE,MAAM;aACP;SACF;KACF,CAAC,CAAA;IAEF,OAAO;QACL,GAAG;QACH,IAAI;QACJ,SAAS;QACT,EAAE;QACF,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;QACvB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;QACvB,IAAI,EAAE,OAAO;KAQd,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/public/createEventFilter.js b/node_modules/viem/_esm/actions/public/createEventFilter.js new file mode 100644 index 0000000000000000000000000000000000000000..fcff0f5c17123c921c37cf4c6481e13d48a08301 --- /dev/null +++ b/node_modules/viem/_esm/actions/public/createEventFilter.js @@ -0,0 +1,67 @@ +import { encodeEventTopics, } from '../../utils/abi/encodeEventTopics.js'; +import { numberToHex, } from '../../utils/encoding/toHex.js'; +import { createFilterRequestScope } from '../../utils/filters/createFilterRequestScope.js'; +/** + * Creates a [`Filter`](https://viem.sh/docs/glossary/types#filter) to listen for new events that can be used with [`getFilterChanges`](https://viem.sh/docs/actions/public/getFilterChanges). + * + * - Docs: https://viem.sh/docs/actions/public/createEventFilter + * - JSON-RPC Methods: [`eth_newFilter`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_newfilter) + * + * @param client - Client to use + * @param parameters - {@link CreateEventFilterParameters} + * @returns [`Filter`](https://viem.sh/docs/glossary/types#filter). {@link CreateEventFilterReturnType} + * + * @example + * import { createPublicClient, http } from 'viem' + * import { mainnet } from 'viem/chains' + * import { createEventFilter } from 'viem/public' + * + * const client = createPublicClient({ + * chain: mainnet, + * transport: http(), + * }) + * const filter = await createEventFilter(client, { + * address: '0xfba3912ca04dd458c843e2ee08967fc04f3579c2', + * }) + */ +export async function createEventFilter(client, { address, args, event, events: events_, fromBlock, strict, toBlock, } = {}) { + const events = events_ ?? (event ? [event] : undefined); + const getRequest = createFilterRequestScope(client, { + method: 'eth_newFilter', + }); + let topics = []; + if (events) { + const encoded = events.flatMap((event) => encodeEventTopics({ + abi: [event], + eventName: event.name, + args, + })); + // TODO: Clean up type casting + topics = [encoded]; + if (event) + topics = topics[0]; + } + const id = await client.request({ + method: 'eth_newFilter', + params: [ + { + address, + fromBlock: typeof fromBlock === 'bigint' ? numberToHex(fromBlock) : fromBlock, + toBlock: typeof toBlock === 'bigint' ? numberToHex(toBlock) : toBlock, + ...(topics.length ? { topics } : {}), + }, + ], + }); + return { + abi: events, + args, + eventName: event ? event.name : undefined, + fromBlock, + id, + request: getRequest(id), + strict: Boolean(strict), + toBlock, + type: 'event', + }; +} +//# sourceMappingURL=createEventFilter.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/public/createEventFilter.js.map b/node_modules/viem/_esm/actions/public/createEventFilter.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f2714c1705e5cb2542ceb1e93de5b83bbe804682 --- /dev/null +++ b/node_modules/viem/_esm/actions/public/createEventFilter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createEventFilter.js","sourceRoot":"","sources":["../../../actions/public/createEventFilter.ts"],"names":[],"mappings":"AAcA,OAAO,EAGL,iBAAiB,GAClB,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EAEL,WAAW,GACZ,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAA;AA6F1F;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAerC,MAAgC,EAChC,EACE,OAAO,EACP,IAAI,EACJ,KAAK,EACL,MAAM,EAAE,OAAO,EACf,SAAS,EACT,MAAM,EACN,OAAO,MASL,EAAS;IAYb,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAEvD,MAAM,UAAU,GAAG,wBAAwB,CAAC,MAAM,EAAE;QAClD,MAAM,EAAE,eAAe;KACxB,CAAC,CAAA;IAEF,IAAI,MAAM,GAAe,EAAE,CAAA;IAC3B,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,OAAO,GAAI,MAAqB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvD,iBAAiB,CAAC;YAChB,GAAG,EAAE,CAAC,KAAK,CAAC;YACZ,SAAS,EAAG,KAAkB,CAAC,IAAI;YACnC,IAAI;SAC0B,CAAC,CAClC,CAAA;QACD,8BAA8B;QAC9B,MAAM,GAAG,CAAC,OAAmB,CAAC,CAAA;QAC9B,IAAI,KAAK;YAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAe,CAAA;IAC7C,CAAC;IAED,MAAM,EAAE,GAAQ,MAAM,MAAM,CAAC,OAAO,CAAC;QACnC,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE;YACN;gBACE,OAAO;gBACP,SAAS,EACP,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpE,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;gBACrE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrC;SACF;KACF,CAAC,CAAA;IAEF,OAAO;QACL,GAAG,EAAE,MAAM;QACX,IAAI;QACJ,SAAS,EAAE,KAAK,CAAC,CAAC,CAAE,KAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACvD,SAAS;QACT,EAAE;QACF,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;QACvB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;QACvB,OAAO;QACP,IAAI,EAAE,OAAO;KASd,CAAA;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/public/createPendingTransactionFilter.js b/node_modules/viem/_esm/actions/public/createPendingTransactionFilter.js new file mode 100644 index 0000000000000000000000000000000000000000..1afb85ec8ce08a27f632807a7e7d64f49bae3961 --- /dev/null +++ b/node_modules/viem/_esm/actions/public/createPendingTransactionFilter.js @@ -0,0 +1,32 @@ +import { createFilterRequestScope } from '../../utils/filters/createFilterRequestScope.js'; +/** + * Creates a Filter to listen for new pending transaction hashes that can be used with [`getFilterChanges`](https://viem.sh/docs/actions/public/getFilterChanges). + * + * - Docs: https://viem.sh/docs/actions/public/createPendingTransactionFilter + * - JSON-RPC Methods: [`eth_newPendingTransactionFilter`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_newpendingtransactionfilter) + * + * @param client - Client to use + * @returns [`Filter`](https://viem.sh/docs/glossary/types#filter). {@link CreateBlockFilterReturnType} + * + * @example + * import { createPublicClient, http } from 'viem' + * import { mainnet } from 'viem/chains' + * import { createPendingTransactionFilter } from 'viem/public' + * + * const client = createPublicClient({ + * chain: mainnet, + * transport: http(), + * }) + * const filter = await createPendingTransactionFilter(client) + * // { id: "0x345a6572337856574a76364e457a4366", type: 'transaction' } + */ +export async function createPendingTransactionFilter(client) { + const getRequest = createFilterRequestScope(client, { + method: 'eth_newPendingTransactionFilter', + }); + const id = await client.request({ + method: 'eth_newPendingTransactionFilter', + }); + return { id, request: getRequest(id), type: 'transaction' }; +} +//# sourceMappingURL=createPendingTransactionFilter.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/public/createPendingTransactionFilter.js.map b/node_modules/viem/_esm/actions/public/createPendingTransactionFilter.js.map new file mode 100644 index 0000000000000000000000000000000000000000..3f2c8140ce34b3c4cbdc2e66c441644e4578e2d8 --- /dev/null +++ b/node_modules/viem/_esm/actions/public/createPendingTransactionFilter.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createPendingTransactionFilter.js","sourceRoot":"","sources":["../../../actions/public/createPendingTransactionFilter.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAA;AAQ1F;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAIlD,MAAgC;IAEhC,MAAM,UAAU,GAAG,wBAAwB,CAAC,MAAM,EAAE;QAClD,MAAM,EAAE,iCAAiC;KAC1C,CAAC,CAAA;IACF,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;QAC9B,MAAM,EAAE,iCAAiC;KAC1C,CAAC,CAAA;IACF,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAA;AAC7D,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/public/estimateContractGas.js b/node_modules/viem/_esm/actions/public/estimateContractGas.js new file mode 100644 index 0000000000000000000000000000000000000000..cbae21c06e28a395ec3419174e7bcf4d60d8ffa1 --- /dev/null +++ b/node_modules/viem/_esm/actions/public/estimateContractGas.js @@ -0,0 +1,62 @@ +import { parseAccount, } from '../../accounts/utils/parseAccount.js'; +import { encodeFunctionData, } from '../../utils/abi/encodeFunctionData.js'; +import { getContractError, } from '../../utils/errors/getContractError.js'; +import { getAction } from '../../utils/getAction.js'; +import { estimateGas, } from './estimateGas.js'; +/** + * Estimates the gas required to successfully execute a contract write function call. + * + * - Docs: https://viem.sh/docs/contract/estimateContractGas + * + * Internally, uses a [Public Client](https://viem.sh/docs/clients/public) to call the [`estimateGas` action](https://viem.sh/docs/actions/public/estimateGas) with [ABI-encoded `data`](https://viem.sh/docs/contract/encodeFunctionData). + * + * @param client - Client to use + * @param parameters - {@link EstimateContractGasParameters} + * @returns The gas estimate (in wei). {@link EstimateContractGasReturnType} + * + * @example + * import { createPublicClient, http, parseAbi } from 'viem' + * import { mainnet } from 'viem/chains' + * import { estimateContractGas } from 'viem/contract' + * + * const client = createPublicClient({ + * chain: mainnet, + * transport: http(), + * }) + * const gas = await estimateContractGas(client, { + * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2', + * abi: parseAbi(['function mint() public']), + * functionName: 'mint', + * account: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266', + * }) + */ +export async function estimateContractGas(client, parameters) { + const { abi, address, args, functionName, dataSuffix = typeof client.dataSuffix === 'string' + ? client.dataSuffix + : client.dataSuffix?.value, ...request } = parameters; + const data = encodeFunctionData({ + abi, + args, + functionName, + }); + try { + const gas = await getAction(client, estimateGas, 'estimateGas')({ + data: `${data}${dataSuffix ? dataSuffix.replace('0x', '') : ''}`, + to: address, + ...request, + }); + return gas; + } + catch (error) { + const account = request.account ? parseAccount(request.account) : undefined; + throw getContractError(error, { + abi, + address, + args, + docsPath: '/docs/contract/estimateContractGas', + functionName, + sender: account?.address, + }); + } +} +//# sourceMappingURL=estimateContractGas.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/public/estimateContractGas.js.map b/node_modules/viem/_esm/actions/public/estimateContractGas.js.map new file mode 100644 index 0000000000000000000000000000000000000000..96a7574dbb61bb4d6765721dbfe05ae401d1d31e --- /dev/null +++ b/node_modules/viem/_esm/actions/public/estimateContractGas.js.map @@ -0,0 +1 @@ +{"version":3,"file":"estimateContractGas.js","sourceRoot":"","sources":["../../../actions/public/estimateContractGas.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,YAAY,GACb,MAAM,sCAAsC,CAAA;AAa7C,OAAO,EAGL,kBAAkB,GACnB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAEL,gBAAgB,GACjB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAGL,WAAW,GACZ,MAAM,kBAAkB,CAAA;AAsCzB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAOvC,MAAyC,EACzC,UAAyE;IAEzE,MAAM,EACJ,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,UAAU,GAAG,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QAChD,CAAC,CAAC,MAAM,CAAC,UAAU;QACnB,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAC5B,GAAG,OAAO,EACX,GAAG,UAA2C,CAAA;IAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC9B,GAAG;QACH,IAAI;QACJ,YAAY;KACmB,CAAC,CAAA;IAElC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,CACzB,MAAM,EACN,WAAW,EACX,aAAa,CACd,CAAC;YACA,IAAI,EAAE,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;YAChE,EAAE,EAAE,OAAO;YACX,GAAG,OAAO;SACyB,CAAC,CAAA;QACtC,OAAO,GAAG,CAAA;IACZ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC3E,MAAM,gBAAgB,CAAC,KAAkB,EAAE;YACzC,GAAG;YACH,OAAO;YACP,IAAI;YACJ,QAAQ,EAAE,oCAAoC;YAC9C,YAAY;YACZ,MAAM,EAAE,OAAO,EAAE,OAAO;SACzB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/public/estimateFeesPerGas.js b/node_modules/viem/_esm/actions/public/estimateFeesPerGas.js new file mode 100644 index 0000000000000000000000000000000000000000..54fc7fadcf8c57b5e7f583e2f478a0542d7c6e6d --- /dev/null +++ b/node_modules/viem/_esm/actions/public/estimateFeesPerGas.js @@ -0,0 +1,86 @@ +import { BaseFeeScalarError, Eip1559FeesNotSupportedError, } from '../../errors/fee.js'; +import { getAction } from '../../utils/getAction.js'; +import { internal_estimateMaxPriorityFeePerGas, } from './estimateMaxPriorityFeePerGas.js'; +import { getBlock } from './getBlock.js'; +import { getGasPrice } from './getGasPrice.js'; +/** + * Returns an estimate for the fees per gas (in wei) for a + * transaction to be likely included in the next block. + * Defaults to [`chain.fees.estimateFeesPerGas`](/docs/clients/chains#fees-estimatefeespergas) if set. + * + * - Docs: https://viem.sh/docs/actions/public/estimateFeesPerGas + * + * @param client - Client to use + * @param parameters - {@link EstimateFeesPerGasParameters} + * @returns An estimate (in wei) for the fees per gas. {@link EstimateFeesPerGasReturnType} + * + * @example + * import { createPublicClient, http } from 'viem' + * import { mainnet } from 'viem/chains' + * import { estimateFeesPerGas } from 'viem/actions' + * + * const client = createPublicClient({ + * chain: mainnet, + * transport: http(), + * }) + * const maxPriorityFeePerGas = await estimateFeesPerGas(client) + * // { maxFeePerGas: ..., maxPriorityFeePerGas: ... } + */ +export async function estimateFeesPerGas(client, args) { + return internal_estimateFeesPerGas(client, args); +} +export async function internal_estimateFeesPerGas(client, args) { + const { block: block_, chain = client.chain, request, type = 'eip1559', } = args || {}; + const baseFeeMultiplier = await (async () => { + if (typeof chain?.fees?.baseFeeMultiplier === 'function') + return chain.fees.baseFeeMultiplier({ + block: block_, + client, + request, + }); + return chain?.fees?.baseFeeMultiplier ?? 1.2; + })(); + if (baseFeeMultiplier < 1) + throw new BaseFeeScalarError(); + const decimals = baseFeeMultiplier.toString().split('.')[1]?.length ?? 0; + const denominator = 10 ** decimals; + const multiply = (base) => (base * BigInt(Math.round(baseFeeMultiplier * denominator))) / + BigInt(denominator); + const block = block_ + ? block_ + : await getAction(client, getBlock, 'getBlock')({}); + if (typeof chain?.fees?.estimateFeesPerGas === 'function') { + const fees = (await chain.fees.estimateFeesPerGas({ + block: block_, + client, + multiply, + request, + type, + })); + if (fees !== null) + return fees; + } + if (type === 'eip1559') { + if (typeof block.baseFeePerGas !== 'bigint') + throw new Eip1559FeesNotSupportedError(); + const maxPriorityFeePerGas = typeof request?.maxPriorityFeePerGas === 'bigint' + ? request.maxPriorityFeePerGas + : await internal_estimateMaxPriorityFeePerGas(client, { + block: block, + chain, + request, + }); + const baseFeePerGas = multiply(block.baseFeePerGas); + const maxFeePerGas = request?.maxFeePerGas ?? baseFeePerGas + maxPriorityFeePerGas; + return { + maxFeePerGas, + maxPriorityFeePerGas, + }; + } + const gasPrice = request?.gasPrice ?? + multiply(await getAction(client, getGasPrice, 'getGasPrice')({})); + return { + gasPrice, + }; +} +//# sourceMappingURL=estimateFeesPerGas.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/public/estimateFeesPerGas.js.map b/node_modules/viem/_esm/actions/public/estimateFeesPerGas.js.map new file mode 100644 index 0000000000000000000000000000000000000000..07298ba3f91212de42c84b0b6f142aaf84565635 --- /dev/null +++ b/node_modules/viem/_esm/actions/public/estimateFeesPerGas.js.map @@ -0,0 +1 @@ +{"version":3,"file":"estimateFeesPerGas.js","sourceRoot":"","sources":["../../../actions/public/estimateFeesPerGas.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/public/estimateGas.js b/node_modules/viem/_esm/actions/public/estimateGas.js new file mode 100644 index 0000000000000000000000000000000000000000..3d3872933a9e1fff8211d129baa095c0fad7ecda --- /dev/null +++ b/node_modules/viem/_esm/actions/public/estimateGas.js @@ -0,0 +1,121 @@ +import { parseAccount, } from '../../accounts/utils/parseAccount.js'; +import { BaseError } from '../../errors/base.js'; +import { recoverAuthorizationAddress, } from '../../utils/authorization/recoverAuthorizationAddress.js'; +import { numberToHex, } from '../../utils/encoding/toHex.js'; +import { getEstimateGasError, } from '../../utils/errors/getEstimateGasError.js'; +import { extract } from '../../utils/formatters/extract.js'; +import { formatTransactionRequest, } from '../../utils/formatters/transactionRequest.js'; +import { serializeStateOverride } from '../../utils/stateOverride.js'; +import { assertRequest, } from '../../utils/transaction/assertRequest.js'; +import { prepareTransactionRequest, } from '../wallet/prepareTransactionRequest.js'; +/** + * Estimates the gas necessary to complete a transaction without submitting it to the network. + * + * - Docs: https://viem.sh/docs/actions/public/estimateGas + * - JSON-RPC Methods: [`eth_estimateGas`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_estimategas) + * + * @param client - Client to use + * @param parameters - {@link EstimateGasParameters} + * @returns The gas estimate (in gas units). {@link EstimateGasReturnType} + * + * @example + * import { createPublicClient, http, parseEther } from 'viem' + * import { mainnet } from 'viem/chains' + * import { estimateGas } from 'viem/public' + * + * const client = createPublicClient({ + * chain: mainnet, + * transport: http(), + * }) + * const gasEstimate = await estimateGas(client, { + * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e', + * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', + * value: parseEther('1'), + * }) + */ +export async function estimateGas(client, args) { + const { account: account_ = client.account, prepare = true } = args; + const account = account_ ? parseAccount(account_) : undefined; + const parameters = (() => { + if (Array.isArray(prepare)) + return prepare; + // Some RPC Providers do not compute versioned hashes from blobs. We will need + // to compute them. + if (account?.type !== 'local') + return ['blobVersionedHashes']; + return undefined; + })(); + try { + const to = await (async () => { + // If `to` exists on the parameters, use that. + if (args.to) + return args.to; + // If no `to` exists, and we are sending a EIP-7702 transaction, use the + // address of the first authorization in the list. + if (args.authorizationList && args.authorizationList.length > 0) + return await recoverAuthorizationAddress({ + authorization: args.authorizationList[0], + }).catch(() => { + throw new BaseError('`to` is required. Could not infer from `authorizationList`'); + }); + // Otherwise, we are sending a deployment transaction. + return undefined; + })(); + const { accessList, authorizationList, blobs, blobVersionedHashes, blockNumber, blockTag, data, gas, gasPrice, maxFeePerBlobGas, maxFeePerGas, maxPriorityFeePerGas, nonce, value, stateOverride, ...rest } = prepare + ? (await prepareTransactionRequest(client, { + ...args, + parameters, + to, + })) + : args; + // If we get `gas` back from the prepared transaction request, which is + // different from the `gas` we provided, it was likely filled by other means + // during request preparation (e.g. `eth_fillTransaction` or `chain.transactionRequest.prepare`). + // (e.g. `eth_fillTransaction` or `chain.transactionRequest.prepare`). + if (gas && args.gas !== gas) + return gas; + const blockNumberHex = typeof blockNumber === 'bigint' ? numberToHex(blockNumber) : undefined; + const block = blockNumberHex || blockTag; + const rpcStateOverride = serializeStateOverride(stateOverride); + assertRequest(args); + const chainFormat = client.chain?.formatters?.transactionRequest?.format; + const format = chainFormat || formatTransactionRequest; + const request = format({ + // Pick out extra data that might exist on the chain's transaction request type. + ...extract(rest, { format: chainFormat }), + account, + accessList, + authorizationList, + blobs, + blobVersionedHashes, + data, + gasPrice, + maxFeePerBlobGas, + maxFeePerGas, + maxPriorityFeePerGas, + nonce, + to, + value, + }, 'estimateGas'); + return BigInt(await client.request({ + method: 'eth_estimateGas', + params: rpcStateOverride + ? [ + request, + block ?? client.experimental_blockTag ?? 'latest', + rpcStateOverride, + ] + : block + ? [request, block] + : [request], + })); + } + catch (err) { + throw getEstimateGasError(err, { + ...args, + account, + chain: client.chain, + }); + } +} +//# sourceMappingURL=estimateGas.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/public/estimateGas.js.map b/node_modules/viem/_esm/actions/public/estimateGas.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c564ec6e0c1d8e81c594a01c9a246850cfacf7d9 --- /dev/null +++ b/node_modules/viem/_esm/actions/public/estimateGas.js.map @@ -0,0 +1 @@ +{"version":3,"file":"estimateGas.js","sourceRoot":"","sources":["../../../actions/public/estimateGas.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,YAAY,GACb,MAAM,sCAAsC,CAAA;AAG7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAMhD,OAAO,EAEL,2BAA2B,GAC5B,MAAM,0DAA0D,CAAA;AAEjE,OAAO,EAEL,WAAW,GACZ,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAEL,mBAAmB,GACpB,MAAM,2CAA2C,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAC3D,OAAO,EAEL,wBAAwB,GACzB,MAAM,8CAA8C,CAAA;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAGL,aAAa,GACd,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAGL,yBAAyB,GAC1B,MAAM,wCAAwC,CAAA;AAuC/C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAI/B,MAAyC,EACzC,IAAkC;IAElC,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,IAAI,CAAA;IACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAE7D,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;QACvB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAA;QAC1C,8EAA8E;QAC9E,mBAAmB;QACnB,IAAI,OAAO,EAAE,IAAI,KAAK,OAAO;YAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;QAC7D,OAAO,SAAS,CAAA;IAClB,CAAC,CAAC,EAAE,CAAA;IAEJ,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;YAC3B,8CAA8C;YAC9C,IAAI,IAAI,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC,EAAE,CAAA;YAE3B,wEAAwE;YACxE,kDAAkD;YAClD,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;gBAC7D,OAAO,MAAM,2BAA2B,CAAC;oBACvC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;iBACzC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBACZ,MAAM,IAAI,SAAS,CACjB,4DAA4D,CAC7D,CAAA;gBACH,CAAC,CAAC,CAAA;YAEJ,sDAAsD;YACtD,OAAO,SAAS,CAAA;QAClB,CAAC,CAAC,EAAE,CAAA;QAEJ,MAAM,EACJ,UAAU,EACV,iBAAiB,EACjB,KAAK,EACL,mBAAmB,EACnB,WAAW,EACX,QAAQ,EACR,IAAI,EACJ,GAAG,EACH,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,KAAK,EACL,KAAK,EACL,aAAa,EACb,GAAG,IAAI,EACR,GAAG,OAAO;YACT,CAAC,CAAE,CAAC,MAAM,yBAAyB,CAAC,MAAM,EAAE;gBACxC,GAAG,IAAI;gBACP,UAAU;gBACV,EAAE;aACoC,CAAC,CAA2B;YACtE,CAAC,CAAC,IAAI,CAAA;QAER,uEAAuE;QACvE,4EAA4E;QAC5E,iGAAiG;QACjG,sEAAsE;QACtE,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG;YAAE,OAAO,GAAG,CAAA;QAEvC,MAAM,cAAc,GAClB,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACxE,MAAM,KAAK,GAAG,cAAc,IAAI,QAAQ,CAAA;QAExC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAA;QAE9D,aAAa,CAAC,IAA+B,CAAC,CAAA;QAE9C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,CAAA;QACxE,MAAM,MAAM,GAAG,WAAW,IAAI,wBAAwB,CAAA;QAEtD,MAAM,OAAO,GAAG,MAAM,CACpB;YACE,gFAAgF;YAChF,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YACzC,OAAO;YACP,UAAU;YACV,iBAAiB;YACjB,KAAK;YACL,mBAAmB;YACnB,IAAI;YACJ,QAAQ;YACR,gBAAgB;YAChB,YAAY;YACZ,oBAAoB;YACpB,KAAK;YACL,EAAE;YACF,KAAK;SACgB,EACvB,aAAa,CACd,CAAA;QAED,OAAO,MAAM,CACX,MAAM,MAAM,CAAC,OAAO,CAAC;YACnB,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,gBAAgB;gBACtB,CAAC,CAAC;oBACE,OAAO;oBACP,KAAK,IAAI,MAAM,CAAC,qBAAqB,IAAI,QAAQ;oBACjD,gBAAgB;iBACjB;gBACH,CAAC,CAAC,KAAK;oBACL,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC;oBAClB,CAAC,CAAC,CAAC,OAAO,CAAC;SAChB,CAAC,CACH,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,mBAAmB,CAAC,GAAgB,EAAE;YAC1C,GAAG,IAAI;YACP,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/public/estimateMaxPriorityFeePerGas.js b/node_modules/viem/_esm/actions/public/estimateMaxPriorityFeePerGas.js new file mode 100644 index 0000000000000000000000000000000000000000..3e98a4bdef047de3c732f515f42f546676004bef --- /dev/null +++ b/node_modules/viem/_esm/actions/public/estimateMaxPriorityFeePerGas.js @@ -0,0 +1,71 @@ +import { Eip1559FeesNotSupportedError, } from '../../errors/fee.js'; +import { hexToBigInt, } from '../../utils/encoding/fromHex.js'; +import { getAction } from '../../utils/getAction.js'; +import { getBlock } from './getBlock.js'; +import { getGasPrice } from './getGasPrice.js'; +/** + * Returns an estimate for the max priority fee per gas (in wei) for a + * transaction to be likely included in the next block. + * Defaults to [`chain.fees.defaultPriorityFee`](/docs/clients/chains#fees-defaultpriorityfee) if set. + * + * - Docs: https://viem.sh/docs/actions/public/estimateMaxPriorityFeePerGas + * + * @param client - Client to use + * @returns An estimate (in wei) for the max priority fee per gas. {@link EstimateMaxPriorityFeePerGasReturnType} + * + * @example + * import { createPublicClient, http } from 'viem' + * import { mainnet } from 'viem/chains' + * import { estimateMaxPriorityFeePerGas } from 'viem/actions' + * + * const client = createPublicClient({ + * chain: mainnet, + * transport: http(), + * }) + * const maxPriorityFeePerGas = await estimateMaxPriorityFeePerGas(client) + * // 10000000n + */ +export async function estimateMaxPriorityFeePerGas(client, args) { + return internal_estimateMaxPriorityFeePerGas(client, args); +} +export async function internal_estimateMaxPriorityFeePerGas(client, args) { + const { block: block_, chain = client.chain, request } = args || {}; + try { + const maxPriorityFeePerGas = chain?.fees?.maxPriorityFeePerGas ?? chain?.fees?.defaultPriorityFee; + if (typeof maxPriorityFeePerGas === 'function') { + const block = block_ || (await getAction(client, getBlock, 'getBlock')({})); + const maxPriorityFeePerGas_ = await maxPriorityFeePerGas({ + block, + client, + request, + }); + if (maxPriorityFeePerGas_ === null) + throw new Error(); + return maxPriorityFeePerGas_; + } + if (typeof maxPriorityFeePerGas !== 'undefined') + return maxPriorityFeePerGas; + const maxPriorityFeePerGasHex = await client.request({ + method: 'eth_maxPriorityFeePerGas', + }); + return hexToBigInt(maxPriorityFeePerGasHex); + } + catch { + // If the RPC Provider does not support `eth_maxPriorityFeePerGas` + // fall back to calculating it manually via `gasPrice - baseFeePerGas`. + // See: https://github.com/ethereum/pm/issues/328#:~:text=eth_maxPriorityFeePerGas%20after%20London%20will%20effectively%20return%20eth_gasPrice%20%2D%20baseFee + const [block, gasPrice] = await Promise.all([ + block_ + ? Promise.resolve(block_) + : getAction(client, getBlock, 'getBlock')({}), + getAction(client, getGasPrice, 'getGasPrice')({}), + ]); + if (typeof block.baseFeePerGas !== 'bigint') + throw new Eip1559FeesNotSupportedError(); + const maxPriorityFeePerGas = gasPrice - block.baseFeePerGas; + if (maxPriorityFeePerGas < 0n) + return 0n; + return maxPriorityFeePerGas; + } +} +//# sourceMappingURL=estimateMaxPriorityFeePerGas.js.map \ No newline at end of file diff --git a/node_modules/viem/_esm/actions/public/estimateMaxPriorityFeePerGas.js.map b/node_modules/viem/_esm/actions/public/estimateMaxPriorityFeePerGas.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e2ffa14a0407320fad4879a5cf505a4b8bc9339d --- /dev/null +++ b/node_modules/viem/_esm/actions/public/estimateMaxPriorityFeePerGas.js.map @@ -0,0 +1 @@ +{"version":3,"file":"estimateMaxPriorityFeePerGas.js","sourceRoot":"","sources":["../../../actions/public/estimateMaxPriorityFeePerGas.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,4BAA4B,GAE7B,MAAM,qBAAqB,CAAA;AAU5B,OAAO,EAEL,WAAW,GACZ,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,OAAO,EAA0B,QAAQ,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAA6B,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAkBzE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAIhD,MAAgC,EAChC,IAEa;IAEb,OAAO,qCAAqC,CAAC,MAAM,EAAE,IAAW,CAAC,CAAA;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qCAAqC,CAIzD,MAAgC,EAChC,IASC;IAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;IAEnE,IAAI,CAAC;QACH,MAAM,oBAAoB,GACxB,KAAK,EAAE,IAAI,EAAE,oBAAoB,IAAI,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAA;QAEtE,IAAI,OAAO,oBAAoB,KAAK,UAAU,EAAE,CAAC;YAC/C,MAAM,KAAK,GACT,MAAM,IAAI,CAAC,MAAM,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC/D,MAAM,qBAAqB,GAAG,MAAM,oBAAoB,CAAC;gBACvD,KAAK;gBACL,MAAM;gBACN,OAAO;aACiB,CAAC,CAAA;YAC3B,IAAI,qBAAqB,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,EAAE,CAAA;YACrD,OAAO,qBAAqB,CAAA;QAC9B,CAAC;QAED,IAAI,OAAO,oBAAoB,KAAK,WAAW;YAAE,OAAO,oBAAoB,CAAA;QAE5E,MAAM,uBAAuB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;YACnD,MAAM,EAAE,0BAA0B;SACnC,CAAC,CAAA;QACF,OAAO,WAAW,CAAC,uBAAuB,CAAC,CAAA;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;QAClE,uEAAuE;QACvE,gKAAgK;QAChK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC1C,MAAM;gBACJ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;gBACzB,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;YAC/C,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC,CAAA;QAEF,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;YACzC,MAAM,IAAI,4BAA4B,EAAE,CAAA;QAE1C,MAAM,oBAAoB,GAAG,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAA;QAE3D,IAAI,oBAAoB,GAAG,EAAE;YAAE,OAAO,EAAE,CAAA;QACxC,OAAO,oBAAoB,CAAA;IAC7B,CAAC;AACH,CAAC"} \ No newline at end of file