@pimlico/alto 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/cli/alto.js +3 -1
- package/esm/cli/alto.js.map +1 -1
- package/esm/cli/config/bundler.d.ts +296 -272
- package/esm/cli/config/bundler.js +15 -7
- package/esm/cli/config/bundler.js.map +1 -1
- package/esm/cli/config/options.js +32 -8
- package/esm/cli/config/options.js.map +1 -1
- package/esm/cli/customTransport.js +40 -7
- package/esm/cli/customTransport.js.map +1 -1
- package/esm/cli/deploySimulationsContract.d.ts +8 -0
- package/esm/cli/deploySimulationsContract.js +26 -0
- package/esm/cli/deploySimulationsContract.js.map +1 -0
- package/esm/cli/handler.d.ts +2 -2
- package/esm/cli/handler.js +67 -89
- package/esm/cli/handler.js.map +1 -1
- package/esm/cli/instrumentation.js +4 -2
- package/esm/cli/instrumentation.js.map +1 -1
- package/esm/cli/parseArgs.d.ts +8 -0
- package/esm/cli/parseArgs.js +21 -0
- package/esm/cli/parseArgs.js.map +1 -0
- package/esm/cli/setupServer.d.ts +4 -9
- package/esm/cli/setupServer.js +98 -82
- package/esm/cli/setupServer.js.map +1 -1
- package/esm/createConfig.d.ts +15 -0
- package/esm/createConfig.js +8 -0
- package/esm/createConfig.js.map +1 -0
- package/esm/executor/executor.d.ts +29 -13
- package/esm/executor/executor.js +110 -72
- package/esm/executor/executor.js.map +1 -1
- package/esm/executor/executorManager.d.ts +14 -10
- package/esm/executor/executorManager.js +29 -39
- package/esm/executor/executorManager.js.map +1 -1
- package/esm/executor/senderManager.d.ts +11 -6
- package/esm/executor/senderManager.js +25 -32
- package/esm/executor/senderManager.js.map +1 -1
- package/esm/executor/utilityWalletMonitor.d.ts +9 -5
- package/esm/executor/utilityWalletMonitor.js +8 -8
- package/esm/executor/utilityWalletMonitor.js.map +1 -1
- package/esm/executor/utils.d.ts +2 -1
- package/esm/executor/utils.js +7 -2
- package/esm/executor/utils.js.map +1 -1
- package/esm/handlers/arbitrumGasPriceManager.d.ts +11 -0
- package/esm/handlers/arbitrumGasPriceManager.js +29 -0
- package/esm/handlers/arbitrumGasPriceManager.js.map +1 -0
- package/esm/handlers/eventManager.d.ts +7 -3
- package/esm/handlers/eventManager.js +24 -16
- package/esm/handlers/eventManager.js.map +1 -1
- package/esm/handlers/gasPriceManager.d.ts +13 -40
- package/esm/handlers/gasPriceManager.js +81 -205
- package/esm/handlers/gasPriceManager.js.map +1 -1
- package/esm/handlers/mantleGasPriceManager.d.ts +20 -0
- package/esm/handlers/mantleGasPriceManager.js +28 -0
- package/esm/handlers/mantleGasPriceManager.js.map +1 -0
- package/esm/mempool/mempool.d.ts +13 -10
- package/esm/mempool/mempool.js +29 -26
- package/esm/mempool/mempool.js.map +1 -1
- package/esm/mempool/reputationManager.d.ts +4 -6
- package/esm/mempool/reputationManager.js +25 -29
- package/esm/mempool/reputationManager.js.map +1 -1
- package/esm/mempool/store.d.ts +1 -1
- package/esm/rpc/estimation/gasEstimationHandler.d.ts +6 -6
- package/esm/rpc/estimation/gasEstimationHandler.js +13 -29
- package/esm/rpc/estimation/gasEstimationHandler.js.map +1 -1
- package/esm/rpc/estimation/gasEstimationsV06.d.ts +7 -7
- package/esm/rpc/estimation/gasEstimationsV06.js +76 -45
- package/esm/rpc/estimation/gasEstimationsV06.js.map +1 -1
- package/esm/rpc/estimation/gasEstimationsV07.d.ts +7 -12
- package/esm/rpc/estimation/gasEstimationsV07.js +49 -37
- package/esm/rpc/estimation/gasEstimationsV07.js.map +1 -1
- package/esm/rpc/nonceQueuer.d.ts +10 -6
- package/esm/rpc/nonceQueuer.js +10 -10
- package/esm/rpc/nonceQueuer.js.map +1 -1
- package/esm/rpc/rpcHandler.d.ts +19 -16
- package/esm/rpc/rpcHandler.js +75 -68
- package/esm/rpc/rpcHandler.js.map +1 -1
- package/esm/rpc/server.d.ts +9 -7
- package/esm/rpc/server.js +27 -25
- package/esm/rpc/server.js.map +1 -1
- package/esm/rpc/validation/SafeValidator.d.ts +11 -6
- package/esm/rpc/validation/SafeValidator.js +14 -11
- package/esm/rpc/validation/SafeValidator.js.map +1 -1
- package/esm/rpc/validation/TracerResultParserV06.d.ts +1 -1
- package/esm/rpc/validation/TracerResultParserV06.js.map +1 -1
- package/esm/rpc/validation/TracerResultParserV07.d.ts +1 -1
- package/esm/rpc/validation/TracerResultParserV07.js +1 -1
- package/esm/rpc/validation/TracerResultParserV07.js.map +1 -1
- package/esm/rpc/validation/UnsafeValidator.d.ts +11 -12
- package/esm/rpc/validation/UnsafeValidator.js +28 -29
- package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
- package/esm/types/contracts/ArbitrumL1FeeAbi.d.ts +32 -0
- package/esm/types/contracts/ArbitrumL1FeeAbi.js +42 -0
- package/esm/types/contracts/ArbitrumL1FeeAbi.js.map +1 -0
- package/esm/types/contracts/EntryPointSimulationsV6.d.ts +34 -0
- package/esm/types/contracts/EntryPointSimulationsV6.js +48 -0
- package/esm/types/contracts/EntryPointSimulationsV6.js.map +1 -0
- package/esm/types/contracts/{EntryPointSimulations.d.ts → EntryPointSimulationsV7.d.ts} +1 -9
- package/esm/types/contracts/{EntryPointSimulations.js → EntryPointSimulationsV7.js} +1 -13
- package/esm/types/contracts/EntryPointSimulationsV7.js.map +1 -0
- package/esm/types/contracts/MantleBvmGasPriceOracle.d.ts +219 -0
- package/esm/types/contracts/MantleBvmGasPriceOracle.js +177 -0
- package/esm/types/contracts/MantleBvmGasPriceOracle.js.map +1 -0
- package/esm/types/contracts/OpL1FeeAbi.d.ts +26 -0
- package/esm/types/contracts/OpL1FeeAbi.js +29 -0
- package/esm/types/contracts/OpL1FeeAbi.js.map +1 -0
- package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
- package/esm/types/contracts/PimlicoEntryPointSimulations.js +1 -1
- package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
- package/esm/types/contracts/index.d.ts +5 -1
- package/esm/types/contracts/index.js +5 -1
- package/esm/types/contracts/index.js.map +1 -1
- package/esm/types/interfaces.d.ts +2 -2
- package/esm/types/schemas.d.ts +26 -26
- package/esm/types/schemas.js +3 -3
- package/esm/types/schemas.js.map +1 -1
- package/esm/types/utils.d.ts +1 -1
- package/esm/utils/bigInt.js +2 -2
- package/esm/utils/bigInt.js.map +1 -1
- package/esm/utils/helpers.js +1 -1
- package/esm/utils/helpers.js.map +1 -1
- package/esm/utils/rpc-reply.d.ts +1 -1
- package/esm/utils/timedQueue.d.ts +12 -0
- package/esm/utils/timedQueue.js +51 -0
- package/esm/utils/timedQueue.js.map +1 -0
- package/esm/utils/userop.d.ts +2 -2
- package/esm/utils/userop.js +2 -2
- package/esm/utils/userop.js.map +1 -1
- package/esm/utils/validation.d.ts +13 -5
- package/esm/utils/validation.js +104 -133
- package/esm/utils/validation.js.map +1 -1
- package/lib/cli/alto.js +2 -0
- package/lib/cli/alto.js.map +1 -1
- package/lib/cli/config/bundler.d.ts +296 -272
- package/lib/cli/config/bundler.js +14 -6
- package/lib/cli/config/bundler.js.map +1 -1
- package/lib/cli/config/options.js +32 -8
- package/lib/cli/config/options.js.map +1 -1
- package/lib/cli/customTransport.js +38 -5
- package/lib/cli/customTransport.js.map +1 -1
- package/lib/cli/deploySimulationsContract.d.ts +8 -0
- package/lib/cli/deploySimulationsContract.js +30 -0
- package/lib/cli/deploySimulationsContract.js.map +1 -0
- package/lib/cli/handler.d.ts +2 -2
- package/lib/cli/handler.js +66 -88
- package/lib/cli/handler.js.map +1 -1
- package/lib/cli/instrumentation.js +4 -2
- package/lib/cli/instrumentation.js.map +1 -1
- package/lib/cli/parseArgs.d.ts +8 -0
- package/lib/cli/parseArgs.js +25 -0
- package/lib/cli/parseArgs.js.map +1 -0
- package/lib/cli/setupServer.d.ts +4 -9
- package/lib/cli/setupServer.js +98 -82
- package/lib/cli/setupServer.js.map +1 -1
- package/lib/createConfig.d.ts +15 -0
- package/lib/createConfig.js +12 -0
- package/lib/createConfig.js.map +1 -0
- package/lib/executor/executor.d.ts +29 -13
- package/lib/executor/executor.js +106 -68
- package/lib/executor/executor.js.map +1 -1
- package/lib/executor/executorManager.d.ts +14 -10
- package/lib/executor/executorManager.js +27 -37
- package/lib/executor/executorManager.js.map +1 -1
- package/lib/executor/senderManager.d.ts +11 -6
- package/lib/executor/senderManager.js +25 -32
- package/lib/executor/senderManager.js.map +1 -1
- package/lib/executor/utilityWalletMonitor.d.ts +9 -5
- package/lib/executor/utilityWalletMonitor.js +8 -8
- package/lib/executor/utilityWalletMonitor.js.map +1 -1
- package/lib/executor/utils.d.ts +2 -1
- package/lib/executor/utils.js +9 -3
- package/lib/executor/utils.js.map +1 -1
- package/lib/handlers/arbitrumGasPriceManager.d.ts +11 -0
- package/lib/handlers/arbitrumGasPriceManager.js +33 -0
- package/lib/handlers/arbitrumGasPriceManager.js.map +1 -0
- package/lib/handlers/eventManager.d.ts +7 -3
- package/lib/handlers/eventManager.js +24 -16
- package/lib/handlers/eventManager.js.map +1 -1
- package/lib/handlers/gasPriceManager.d.ts +13 -40
- package/lib/handlers/gasPriceManager.js +79 -203
- package/lib/handlers/gasPriceManager.js.map +1 -1
- package/lib/handlers/mantleGasPriceManager.d.ts +20 -0
- package/lib/handlers/mantleGasPriceManager.js +32 -0
- package/lib/handlers/mantleGasPriceManager.js.map +1 -0
- package/lib/mempool/mempool.d.ts +13 -10
- package/lib/mempool/mempool.js +28 -25
- package/lib/mempool/mempool.js.map +1 -1
- package/lib/mempool/reputationManager.d.ts +4 -6
- package/lib/mempool/reputationManager.js +25 -29
- package/lib/mempool/reputationManager.js.map +1 -1
- package/lib/mempool/store.d.ts +1 -1
- package/lib/rpc/estimation/gasEstimationHandler.d.ts +6 -6
- package/lib/rpc/estimation/gasEstimationHandler.js +14 -30
- package/lib/rpc/estimation/gasEstimationHandler.js.map +1 -1
- package/lib/rpc/estimation/gasEstimationsV06.d.ts +7 -7
- package/lib/rpc/estimation/gasEstimationsV06.js +75 -44
- package/lib/rpc/estimation/gasEstimationsV06.js.map +1 -1
- package/lib/rpc/estimation/gasEstimationsV07.d.ts +7 -12
- package/lib/rpc/estimation/gasEstimationsV07.js +48 -36
- package/lib/rpc/estimation/gasEstimationsV07.js.map +1 -1
- package/lib/rpc/nonceQueuer.d.ts +10 -6
- package/lib/rpc/nonceQueuer.js +9 -9
- package/lib/rpc/nonceQueuer.js.map +1 -1
- package/lib/rpc/rpcHandler.d.ts +19 -16
- package/lib/rpc/rpcHandler.js +74 -67
- package/lib/rpc/rpcHandler.js.map +1 -1
- package/lib/rpc/server.d.ts +9 -7
- package/lib/rpc/server.js +26 -24
- package/lib/rpc/server.js.map +1 -1
- package/lib/rpc/validation/SafeValidator.d.ts +11 -6
- package/lib/rpc/validation/SafeValidator.js +13 -10
- package/lib/rpc/validation/SafeValidator.js.map +1 -1
- package/lib/rpc/validation/TracerResultParserV06.d.ts +1 -1
- package/lib/rpc/validation/TracerResultParserV07.d.ts +1 -1
- package/lib/rpc/validation/TracerResultParserV07.js +1 -1
- package/lib/rpc/validation/TracerResultParserV07.js.map +1 -1
- package/lib/rpc/validation/UnsafeValidator.d.ts +11 -12
- package/lib/rpc/validation/UnsafeValidator.js +28 -29
- package/lib/rpc/validation/UnsafeValidator.js.map +1 -1
- package/lib/types/contracts/ArbitrumL1FeeAbi.d.ts +32 -0
- package/lib/types/contracts/ArbitrumL1FeeAbi.js +45 -0
- package/lib/types/contracts/ArbitrumL1FeeAbi.js.map +1 -0
- package/lib/types/contracts/EntryPointSimulationsV6.d.ts +34 -0
- package/lib/types/contracts/EntryPointSimulationsV6.js +51 -0
- package/lib/types/contracts/EntryPointSimulationsV6.js.map +1 -0
- package/lib/types/contracts/{EntryPointSimulations.d.ts → EntryPointSimulationsV7.d.ts} +1 -9
- package/lib/types/contracts/{EntryPointSimulations.js → EntryPointSimulationsV7.js} +2 -14
- package/lib/types/contracts/EntryPointSimulationsV7.js.map +1 -0
- package/lib/types/contracts/MantleBvmGasPriceOracle.d.ts +219 -0
- package/lib/types/contracts/MantleBvmGasPriceOracle.js +180 -0
- package/lib/types/contracts/MantleBvmGasPriceOracle.js.map +1 -0
- package/lib/types/contracts/OpL1FeeAbi.d.ts +26 -0
- package/lib/types/contracts/OpL1FeeAbi.js +32 -0
- package/lib/types/contracts/OpL1FeeAbi.js.map +1 -0
- package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
- package/lib/types/contracts/PimlicoEntryPointSimulations.js +1 -1
- package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
- package/lib/types/contracts/index.d.ts +5 -1
- package/lib/types/contracts/index.js +5 -1
- package/lib/types/contracts/index.js.map +1 -1
- package/lib/types/interfaces.d.ts +2 -2
- package/lib/types/schemas.d.ts +26 -26
- package/lib/types/schemas.js +3 -3
- package/lib/types/schemas.js.map +1 -1
- package/lib/types/utils.d.ts +1 -1
- package/lib/utils/bigInt.js +2 -2
- package/lib/utils/bigInt.js.map +1 -1
- package/lib/utils/rpc-reply.d.ts +1 -1
- package/lib/utils/timedQueue.d.ts +12 -0
- package/lib/utils/timedQueue.js +55 -0
- package/lib/utils/timedQueue.js.map +1 -0
- package/lib/utils/userop.d.ts +2 -2
- package/lib/utils/userop.js +1 -1
- package/lib/utils/userop.js.map +1 -1
- package/lib/utils/validation.d.ts +13 -5
- package/lib/utils/validation.js +107 -135
- package/lib/utils/validation.js.map +1 -1
- package/package.json +1 -1
- package/esm/types/contracts/EntryPointSimulations.js.map +0 -1
- package/lib/types/contracts/EntryPointSimulations.js.map +0 -1
|
@@ -2,45 +2,29 @@ import { deepHexlify, isVersion06 } from "../../utils/index.js";
|
|
|
2
2
|
import { toHex } from "viem";
|
|
3
3
|
import { GasEstimatorV06 } from "./gasEstimationsV06.js";
|
|
4
4
|
import { GasEstimatorV07 } from "./gasEstimationsV07.js";
|
|
5
|
-
export const EXECUTE_SIMULATOR_BYTECODE = "0x60806040526004361061012e5760003560e01c806372b37bca116100ab578063b760faf91161006f578063b760faf914610452578063bb9fe6bf14610465578063c23a5cea1461047a578063d6383f941461049a578063ee219423146104ba578063fc7e286d146104da57600080fd5b806372b37bca146103bd5780638f41ec5a146103dd578063957122ab146103f25780639b249f6914610412578063a61935311461043257600080fd5b8063205c2878116100f2578063205c28781461020157806335567e1a146102215780634b1d7cf5146102415780635287ce121461026157806370a082311461037e57600080fd5b80630396cb60146101435780630bd28e3b146101565780631b2e01b8146101765780631d732756146101c15780631fad948c146101e157600080fd5b3661013e5761013c3361058f565b005b600080fd5b61013c6101513660046131c9565b6105f6565b34801561016257600080fd5b5061013c61017136600461320b565b610885565b34801561018257600080fd5b506101ae610191366004613246565b600160209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b3480156101cd57600080fd5b506101ae6101dc366004613440565b6108bc565b3480156101ed57600080fd5b5061013c6101fc366004613549565b610a2f565b34801561020d57600080fd5b5061013c61021c36600461359f565b610bab565b34801561022d57600080fd5b506101ae61023c366004613246565b610d27565b34801561024d57600080fd5b5061013c61025c366004613549565b610d6d565b34801561026d57600080fd5b5061032661027c3660046135cb565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506001600160a01b031660009081526020818152604091829020825160a08101845281546001600160701b038082168352600160701b820460ff16151594830194909452600160781b90049092169282019290925260019091015463ffffffff81166060830152640100000000900465ffffffffffff16608082015290565b6040805182516001600160701b03908116825260208085015115159083015283830151169181019190915260608083015163ffffffff169082015260809182015165ffffffffffff169181019190915260a0016101b8565b34801561038a57600080fd5b506101ae6103993660046135cb565b6001600160a01b03166000908152602081905260409020546001600160701b031690565b3480156103c957600080fd5b5061013c6103d83660046135e8565b6111b0565b3480156103e957600080fd5b506101ae600181565b3480156103fe57600080fd5b5061013c61040d366004613643565b611289565b34801561041e57600080fd5b5061013c61042d3660046136c7565b611386565b34801561043e57600080fd5b506101ae61044d366004613721565b611441565b61013c6104603660046135cb565b61058f565b34801561047157600080fd5b5061013c611483565b34801561048657600080fd5b5061013c6104953660046135cb565b6115ac565b3480156104a657600080fd5b5061013c6104b5366004613755565b6117e4565b3480156104c657600080fd5b5061013c6104d5366004613721565b6118df565b3480156104e657600080fd5b506105496104f53660046135cb565b600060208190529081526040902080546001909101546001600160701b0380831692600160701b810460ff1692600160781b9091049091169063ffffffff811690640100000000900465ffffffffffff1685565b604080516001600160701b0396871681529415156020860152929094169183019190915263ffffffff16606082015265ffffffffffff909116608082015260a0016101b8565b6105998134611abb565b6001600160a01b03811660008181526020818152604091829020805492516001600160701b03909316835292917f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c491015b60405180910390a25050565b33600090815260208190526040902063ffffffff821661065d5760405162461bcd60e51b815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c617900000000000060448201526064015b60405180910390fd5b600181015463ffffffff90811690831610156106bb5760405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152606401610654565b80546000906106db903490600160781b90046001600160701b03166137cc565b9050600081116107225760405162461bcd60e51b81526020600482015260126024820152711b9bc81cdd185ad9481cdc1958da599a595960721b6044820152606401610654565b6001600160701b0381111561076a5760405162461bcd60e51b815260206004820152600e60248201526d7374616b65206f766572666c6f7760901b6044820152606401610654565b6040805160a08101825283546001600160701b0390811682526001602080840182815286841685870190815263ffffffff808b16606088019081526000608089018181523380835296829052908a902098518954955194518916600160781b02600160781b600160e81b0319951515600160701b026effffffffffffffffffffffffffffff199097169190991617949094179290921695909517865551949092018054925165ffffffffffff166401000000000269ffffffffffffffffffff19909316949093169390931717905590517fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0190610878908490879091825263ffffffff16602082015260400190565b60405180910390a2505050565b3360009081526001602090815260408083206001600160c01b038516845290915281208054916108b4836137df565b919050555050565b6000805a90503330146109115760405162461bcd60e51b815260206004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c790000000000000000006044820152606401610654565b8451604081015160608201518101611388015a101561093b5763deaddead60e01b60005260206000fd5b8751600090156109cf576000610958846000015160008c86611b57565b9050806109cd57600061096c610800611b6f565b8051909150156109c75784600001516001600160a01b03168a602001517f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a2018760200151846040516109be929190613848565b60405180910390a35b60019250505b505b600088608001515a8603019050610a216000838b8b8b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250889250611b9b915050565b9a9950505050505050505050565b610a37611e92565b816000816001600160401b03811115610a5257610a5261327b565b604051908082528060200260200182016040528015610a8b57816020015b610a7861313f565b815260200190600190039081610a705790505b50905060005b82811015610b04576000828281518110610aad57610aad613861565b60200260200101519050600080610ae8848a8a87818110610ad057610ad0613861565b9050602002810190610ae29190613877565b85611ee9565b91509150610af984838360006120d4565b505050600101610a91565b506040516000907fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972908290a160005b83811015610b8e57610b8281888884818110610b5157610b51613861565b9050602002810190610b639190613877565b858481518110610b7557610b75613861565b6020026020010151612270565b90910190600101610b33565b50610b998482612397565b505050610ba66001600255565b505050565b33600090815260208190526040902080546001600160701b0316821115610c145760405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152606401610654565b8054610c2a9083906001600160701b0316613898565b81546001600160701b0319166001600160701b0391909116178155604080516001600160a01b03851681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb910160405180910390a26000836001600160a01b03168360405160006040518083038185875af1925050503d8060008114610cd6576040519150601f19603f3d011682016040523d82523d6000602084013e610cdb565b606091505b5050905080610d215760405162461bcd60e51b81526020600482015260126024820152716661696c656420746f20776974686472617760701b6044820152606401610654565b50505050565b6001600160a01b03821660009081526001602090815260408083206001600160c01b038516845290915290819020549082901b67ffffffffffffffff1916175b92915050565b610d75611e92565b816000805b82811015610ee95736868683818110610d9557610d95613861565b9050602002810190610da791906138ab565b9050366000610db683806138c1565b90925090506000610dcd60408501602086016135cb565b90506000196001600160a01b03821601610e295760405162461bcd60e51b815260206004820152601760248201527f4141393620696e76616c69642061676772656761746f720000000000000000006044820152606401610654565b6001600160a01b03811615610ec6576001600160a01b03811663e3563a4f8484610e56604089018961390a565b6040518563ffffffff1660e01b8152600401610e759493929190613ab5565b60006040518083038186803b158015610e8d57600080fd5b505afa925050508015610e9e575060015b610ec65760405163086a9f7560e41b81526001600160a01b0382166004820152602401610654565b610ed082876137cc565b9550505050508080610ee1906137df565b915050610d7a565b506000816001600160401b03811115610f0457610f0461327b565b604051908082528060200260200182016040528015610f3d57816020015b610f2a61313f565b815260200190600190039081610f225790505b506040519091507fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f97290600090a16000805b848110156110525736888883818110610f8957610f89613861565b9050602002810190610f9b91906138ab565b9050366000610faa83806138c1565b90925090506000610fc160408501602086016135cb565b90508160005b81811015611039576000898981518110610fe357610fe3613861565b602002602001015190506000806110068b898987818110610ad057610ad0613861565b91509150611016848383896120d4565b8a611020816137df565b9b50505050508080611031906137df565b915050610fc7565b505050505050808061104a906137df565b915050610f6e565b50600080915060005b8581101561116b573689898381811061107657611076613861565b905060200281019061108891906138ab565b905061109a60408201602083016135cb565b6001600160a01b03167f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d60405160405180910390a23660006110dc83806138c1565b90925090508060005b81811015611153576111278885858481811061110357611103613861565b90506020028101906111159190613877565b8b8b81518110610b7557610b75613861565b61113190886137cc565b96508761113d816137df565b985050808061114b906137df565b9150506110e5565b50505050508080611163906137df565b91505061105b565b506040516000907f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d908290a26111a18682612397565b5050505050610ba66001600255565b735ff137d4b0fdcd49dca30c7cf57e578a026d278933146111d057600080fd5b60005a9050600080866001600160a01b03168487876040516111f3929190613b32565b60006040518083038160008787f1925050503d8060008114611231576040519150601f19603f3d011682016040523d82523d6000602084013e611236565b606091505b509150915060005a6112489085613898565b90506000836112575782611268565b604051806020016040528060008152505b9050838183604051636c6238f160e01b815260040161065493929190613b42565b8315801561129f57506001600160a01b0383163b155b156112ec5760405162461bcd60e51b815260206004820152601960248201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006044820152606401610654565b601481106113645760006113036014828486613b6d565b61130c91613b97565b60601c9050803b6000036113625760405162461bcd60e51b815260206004820152601b60248201527f41413330207061796d6173746572206e6f74206465706c6f79656400000000006044820152606401610654565b505b60405162461bcd60e51b81526020600482015260006024820152604401610654565b604051632b870d1b60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063570e1a36906113d79086908690600401613bcc565b6020604051808303816000875af11580156113f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141a9190613be0565b604051633653dc0360e11b81526001600160a01b0382166004820152909150602401610654565b600061144c82612490565b6040805160208101929092523090820152466060820152608001604051602081830303815290604052805190602001209050919050565b3360009081526020819052604081206001810154909163ffffffff90911690036114dc5760405162461bcd60e51b815260206004820152600a6024820152691b9bdd081cdd185ad95960b21b6044820152606401610654565b8054600160701b900460ff166115285760405162461bcd60e51b8152602060048201526011602482015270616c726561647920756e7374616b696e6760781b6044820152606401610654565b60018101546000906115409063ffffffff1642613bfd565b60018301805469ffffffffffff00000000191664010000000065ffffffffffff841690810291909117909155835460ff60701b1916845560405190815290915033907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a906020016105ea565b3360009081526020819052604090208054600160781b90046001600160701b0316806116115760405162461bcd60e51b81526020600482015260146024820152734e6f207374616b6520746f20776974686472617760601b6044820152606401610654565b6001820154640100000000900465ffffffffffff166116725760405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152606401610654565b60018201544264010000000090910465ffffffffffff1611156116d75760405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152606401610654565b60018201805469ffffffffffffffffffff191690558154600160781b600160e81b0319168255604080516001600160a01b03851681526020810183905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda3910160405180910390a26000836001600160a01b03168260405160006040518083038185875af1925050503d806000811461178e576040519150601f19603f3d011682016040523d82523d6000602084013e611793565b606091505b5050905080610d215760405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152606401610654565b6117ec61313f565b6117f5856124a9565b60008061180460008885611ee9565b9150915060006118148383612583565b905061181f43600052565b600061182d60008a87612270565b905061183843600052565b600060606001600160a01b038a16156118ae57896001600160a01b03168989604051611865929190613b32565b6000604051808303816000865af19150503d80600081146118a2576040519150601f19603f3d011682016040523d82523d6000602084013e6118a7565b606091505b5090925090505b866080015183856020015186604001518585604051630116f59360e71b815260040161065496959493929190613c23565b6118e761313f565b6118f0826124a9565b6000806118ff60008585611ee9565b915091506000611916846000015160a0015161264f565b8451519091506000906119289061264f565b9050611947604051806040016040528060008152602001600081525090565b36600061195760408a018a61390a565b90925090506000601482101561196e576000611989565b61197c601460008486613b6d565b61198591613b97565b60601c5b90506119948161264f565b935050505060006119a58686612583565b9050600081600001519050600060016001600160a01b0316826001600160a01b031614905060006040518060c001604052808b6080015181526020018b6040015181526020018315158152602001856020015165ffffffffffff168152602001856040015165ffffffffffff168152602001611a228c6060015190565b905290506001600160a01b03831615801590611a4857506001600160a01b038316600114155b15611a9a5760006040518060400160405280856001600160a01b03168152602001611a728661264f565b81525090508187878a84604051633ebb2d3960e21b8152600401610654959493929190613cc5565b8086868960405163e0cff05f60e01b81526004016106549493929190613d45565b6001600160a01b03821660009081526020819052604081208054909190611aec9084906001600160701b03166137cc565b90506001600160701b03811115611b385760405162461bcd60e51b815260206004820152601060248201526f6465706f736974206f766572666c6f7760801b6044820152606401610654565b81546001600160701b0319166001600160701b03919091161790555050565b6000806000845160208601878987f195945050505050565b60603d82811115611b7d5750815b604051602082018101604052818152816000602083013e9392505050565b6000805a855190915060009081611bb18261269e565b60a08301519091506001600160a01b038116611bd05782519350611d77565b809350600088511115611d7757868202955060028a6002811115611bf657611bf6613d9c565b14611c6857606083015160405163a9a2340960e01b81526001600160a01b0383169163a9a2340991611c30908e908d908c90600401613db2565b600060405180830381600088803b158015611c4a57600080fd5b5087f1158015611c5e573d6000803e3d6000fd5b5050505050611d77565b606083015160405163a9a2340960e01b81526001600160a01b0383169163a9a2340991611c9d908e908d908c90600401613db2565b600060405180830381600088803b158015611cb757600080fd5b5087f193505050508015611cc9575060015b611d7757611cd5613de9565b806308c379a003611d2e5750611ce9613e05565b80611cf45750611d30565b8b81604051602001611d069190613e8e565b60408051601f1981840301815290829052631101335b60e11b82526106549291600401613848565b505b8a604051631101335b60e11b81526004016106549181526040602082018190526012908201527110504d4c081c1bdcdd13dc081c995d995c9d60721b606082015260800190565b5a85038701965081870295508589604001511015611de0578a604051631101335b60e11b815260040161065491815260406020808301829052908201527f414135312070726566756e642062656c6f772061637475616c476173436f7374606082015260800190565b6040890151869003611df28582611abb565b6000808c6002811115611e0757611e07613d9c565b1490508460a001516001600160a01b031685600001516001600160a01b03168c602001517f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f8860200151858d8f604051611e7a949392919093845291151560208401526040830152606082015260800190565b60405180910390a45050505050505095945050505050565b6002805403611ee35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610654565b60028055565b60008060005a8451909150611efe86826126ce565b611f0786611441565b6020860152604081015160608201516080830151171760e087013517610100870135176effffffffffffffffffffffffffffff811115611f895760405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606401610654565b600080611f95846127c7565b9050611fa38a8a8a84612814565b85516020870151919950919350611fba9190612a4c565b6120105789604051631101335b60e11b8152600401610654918152604060208201819052601a908201527f4141323520696e76616c6964206163636f756e74206e6f6e6365000000000000606082015260800190565b61201943600052565b60a08401516060906001600160a01b0316156120415761203c8b8b8b8587612a99565b975090505b60005a87039050808b60a0013510156120a6578b604051631101335b60e11b8152600401610654918152604060208201819052601e908201527f41413430206f76657220766572696669636174696f6e4761734c696d69740000606082015260800190565b60408a018390528160608b015260c08b01355a8803018a608001818152505050505050505050935093915050565b6000806120e085612cbc565b91509150816001600160a01b0316836001600160a01b0316146121465785604051631101335b60e11b81526004016106549181526040602082018190526014908201527320a0991a1039b4b3b730ba3ab9329032b93937b960611b606082015260800190565b801561219e5785604051631101335b60e11b81526004016106549181526040602082018190526017908201527f414132322065787069726564206f72206e6f7420647565000000000000000000606082015260800190565b60006121a985612cbc565b925090506001600160a01b038116156122055786604051631101335b60e11b81526004016106549181526040602082018190526014908201527320a0999a1039b4b3b730ba3ab9329032b93937b960611b606082015260800190565b81156122675786604051631101335b60e11b81526004016106549181526040602082018190526021908201527f41413332207061796d61737465722065787069726564206f72206e6f742064756060820152606560f81b608082015260a00190565b50505050505050565b6000805a90506000612283846060015190565b905030631d732756612298606088018861390a565b87856040518563ffffffff1660e01b81526004016122b99493929190613ecc565b6020604051808303816000875af19250505080156122f4575060408051601f3d908101601f191682019092526122f191810190613f7f565b60015b61238b57600060206000803e50600051632152215360e01b81016123565786604051631101335b60e11b8152600401610654918152604060208201819052600f908201526e41413935206f7574206f662067617360881b606082015260800190565b600085608001515a6123689086613898565b61237291906137cc565b9050612382886002888685611b9b565b9450505061238e565b92505b50509392505050565b6001600160a01b0382166123ed5760405162461bcd60e51b815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152606401610654565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461243a576040519150601f19603f3d011682016040523d82523d6000602084013e61243f565b606091505b5050905080610ba65760405162461bcd60e51b815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152606401610654565b600061249b82612d0f565b805190602001209050919050565b3063957122ab6124bc604084018461390a565b6124c960208601866135cb565b6124d761012087018761390a565b6040518663ffffffff1660e01b81526004016124f7959493929190613f98565b60006040518083038186803b15801561250f57600080fd5b505afa925050508015612520575060015b6125805761252c613de9565b806308c379a0036125745750612540613e05565b8061254b5750612576565b80511561257057600081604051631101335b60e11b8152600401610654929190613848565b5050565b505b3d6000803e3d6000fd5b50565b60408051606081018252600080825260208201819052918101829052906125a984612de2565b905060006125b684612de2565b82519091506001600160a01b0381166125cd575080515b602080840151604080860151928501519085015191929165ffffffffffff80831690851610156125fb578193505b8065ffffffffffff168365ffffffffffff161115612617578092505b5050604080516060810182526001600160a01b03909416845265ffffffffffff92831660208501529116908201529250505092915050565b604080518082018252600080825260208083018281526001600160a01b03959095168252819052919091208054600160781b90046001600160701b031682526001015463ffffffff1690915290565b60c081015160e0820151600091908082036126ba575092915050565b6126c682488301612e53565b949350505050565b6126db60208301836135cb565b6001600160a01b0316815260208083013590820152608080830135604083015260a0830135606083015260c0808401359183019190915260e080840135918301919091526101008301359082015236600061273a61012085018561390a565b909250905080156127ba5760148110156127965760405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152606401610654565b6127a4601460008385613b6d565b6127ad91613b97565b60601c60a0840152610d21565b600060a084015250505050565b60a081015160009081906001600160a01b03166127e55760016127e8565b60035b60ff16905060008360800151828560600151028560400151010190508360c00151810292505050919050565b60008060005a8551805191925090612839898861283460408c018c61390a565b612e6b565b60a082015161284743600052565b60006001600160a01b03821661288f576001600160a01b0383166000908152602081905260409020546001600160701b03168881116128885780890361288b565b60005b9150505b606084015160208a0151604051633a871cdd60e01b81526001600160a01b03861692633a871cdd9290916128c9918f918790600401613fce565b60206040518083038160008887f193505050508015612905575060408051601f3d908101601f1916820190925261290291810190613f7f565b60015b61298f57612911613de9565b806308c379a0036129425750612925613e05565b806129305750612944565b8b81604051602001611d069190613ff3565b505b8a604051631101335b60e11b8152600401610654918152604060208201819052601690820152754141323320726576657274656420286f72204f4f472960501b606082015260800190565b95506001600160a01b038216612a39576001600160a01b038316600090815260208190526040902080546001600160701b0316808a1115612a1c578c604051631101335b60e11b81526004016106549181526040602082018190526017908201527f41413231206469646e2774207061792070726566756e64000000000000000000606082015260800190565b81546001600160701b031916908a90036001600160701b03161790555b5a85039650505050505094509492505050565b6001600160a01b038216600090815260016020908152604080832084821c80855292528220805484916001600160401b038316919085612a8b836137df565b909155501495945050505050565b82516060818101519091600091848111612af55760405162461bcd60e51b815260206004820152601f60248201527f4141343120746f6f206c6974746c6520766572696669636174696f6e476173006044820152606401610654565b60a08201516001600160a01b038116600090815260208190526040902080548784039291906001600160701b031689811015612b7d578c604051631101335b60e11b8152600401610654918152604060208201819052601e908201527f41413331207061796d6173746572206465706f73697420746f6f206c6f770000606082015260800190565b8981038260000160006101000a8154816001600160701b0302191690836001600160701b03160217905550826001600160a01b031663f465c77e858e8e602001518e6040518563ffffffff1660e01b8152600401612bdd93929190613fce565b60006040518083038160008887f193505050508015612c1e57506040513d6000823e601f3d908101601f19168201604052612c1b919081019061402a565b60015b612ca857612c2a613de9565b806308c379a003612c5b5750612c3e613e05565b80612c495750612c5d565b8d81604051602001611d0691906140b5565b505b8c604051631101335b60e11b8152600401610654918152604060208201819052601690820152754141333320726576657274656420286f72204f4f472960501b606082015260800190565b909e909d509b505050505050505050505050565b60008082600003612cd257506000928392509050565b6000612cdd84612de2565b9050806040015165ffffffffffff16421180612d045750806020015165ffffffffffff1642105b905194909350915050565b6060813560208301356000612d2f612d2a604087018761390a565b61312c565b90506000612d43612d2a606088018861390a565b9050608086013560a087013560c088013560e08901356101008a01356000612d72612d2a6101208e018e61390a565b604080516001600160a01b039c909c1660208d01528b81019a909a5260608b019890985250608089019590955260a088019390935260c087019190915260e08601526101008501526101208401526101408084019190915281518084039091018152610160909201905292915050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff8116600003612e1e575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b6000818310612e625781612e64565b825b9392505050565b8015610d21578251516001600160a01b0381163b15612ed65784604051631101335b60e11b8152600401610654918152604060208201819052601f908201527f414131302073656e64657220616c726561647920636f6e737472756374656400606082015260800190565b835160600151604051632b870d1b60e11b81526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163570e1a369190612f2e9088908890600401613bcc565b60206040518083038160008887f1158015612f4d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612f729190613be0565b90506001600160a01b038116612fd45785604051631101335b60e11b8152600401610654918152604060208201819052601b908201527f4141313320696e6974436f6465206661696c6564206f72204f4f470000000000606082015260800190565b816001600160a01b0316816001600160a01b03161461303e5785604051631101335b60e11b815260040161065491815260406020808301829052908201527f4141313420696e6974436f6465206d7573742072657475726e2073656e646572606082015260800190565b806001600160a01b03163b6000036130a15785604051631101335b60e11b815260040161065491815260406020808301829052908201527f4141313520696e6974436f6465206d757374206372656174652073656e646572606082015260800190565b60006130b06014828688613b6d565b6130b991613b97565b60601c9050826001600160a01b031686602001517fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d83896000015160a0015160405161311b9291906001600160a01b0392831681529116602082015260400190565b60405180910390a350505050505050565b6000604051828085833790209392505050565b6040518060a001604052806131a460405180610100016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081525090565b8152602001600080191681526020016000815260200160008152602001600081525090565b6000602082840312156131db57600080fd5b813563ffffffff81168114612e6457600080fd5b80356001600160c01b038116811461320657600080fd5b919050565b60006020828403121561321d57600080fd5b612e64826131ef565b6001600160a01b038116811461258057600080fd5b803561320681613226565b6000806040838503121561325957600080fd5b823561326481613226565b9150613272602084016131ef565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b60a081018181106001600160401b03821117156132b0576132b061327b565b60405250565b61010081018181106001600160401b03821117156132b0576132b061327b565b601f8201601f191681016001600160401b03811182821017156132fb576132fb61327b565b6040525050565b60006001600160401b0382111561331b5761331b61327b565b50601f01601f191660200190565b600081830361018081121561333d57600080fd5b60405161334981613291565b8092506101008083121561335c57600080fd5b604051925061336a836132b6565b6133738561323b565b8352602085013560208401526040850135604084015260608501356060840152608085013560808401526133a960a0860161323b565b60a084015260c085013560c084015260e085013560e084015282825280850135602083015250610120840135604082015261014084013560608201526101608401356080820152505092915050565b60008083601f84011261340a57600080fd5b5081356001600160401b0381111561342157600080fd5b60208301915083602082850101111561343957600080fd5b9250929050565b6000806000806101c0858703121561345757600080fd5b84356001600160401b038082111561346e57600080fd5b818701915087601f83011261348257600080fd5b813561348d81613302565b60405161349a82826132d6565b8281528a60208487010111156134af57600080fd5b826020860160208301376000602084830101528098505050506134d58860208901613329565b94506101a08701359150808211156134ec57600080fd5b506134f9878288016133f8565b95989497509550505050565b60008083601f84011261351757600080fd5b5081356001600160401b0381111561352e57600080fd5b6020830191508360208260051b850101111561343957600080fd5b60008060006040848603121561355e57600080fd5b83356001600160401b0381111561357457600080fd5b61358086828701613505565b909450925050602084013561359481613226565b809150509250925092565b600080604083850312156135b257600080fd5b82356135bd81613226565b946020939093013593505050565b6000602082840312156135dd57600080fd5b8135612e6481613226565b600080600080606085870312156135fe57600080fd5b843561360981613226565b935060208501356001600160401b0381111561362457600080fd5b613630878288016133f8565b9598909750949560400135949350505050565b60008060008060006060868803121561365b57600080fd5b85356001600160401b038082111561367257600080fd5b61367e89838a016133f8565b90975095506020880135915061369382613226565b909350604087013590808211156136a957600080fd5b506136b6888289016133f8565b969995985093965092949392505050565b600080602083850312156136da57600080fd5b82356001600160401b038111156136f057600080fd5b6136fc858286016133f8565b90969095509350505050565b6000610160828403121561371b57600080fd5b50919050565b60006020828403121561373357600080fd5b81356001600160401b0381111561374957600080fd5b6126c684828501613708565b6000806000806060858703121561376b57600080fd5b84356001600160401b038082111561378257600080fd5b61378e88838901613708565b9550602087013591506137a082613226565b909350604086013590808211156134ec57600080fd5b634e487b7160e01b600052601160045260246000fd5b80820180821115610d6757610d676137b6565b6000600182016137f1576137f16137b6565b5060010190565b60005b838110156138135781810151838201526020016137fb565b50506000910152565b600081518084526138348160208601602086016137f8565b601f01601f19169290920160200192915050565b8281526040602082015260006126c6604083018461381c565b634e487b7160e01b600052603260045260246000fd5b6000823561015e1983360301811261388e57600080fd5b9190910192915050565b81810381811115610d6757610d676137b6565b60008235605e1983360301811261388e57600080fd5b6000808335601e198436030181126138d857600080fd5b8301803591506001600160401b038211156138f257600080fd5b6020019150600581901b360382131561343957600080fd5b6000808335601e1984360301811261392157600080fd5b8301803591506001600160401b0382111561393b57600080fd5b60200191503681900382131561343957600080fd5b6000808335601e1984360301811261396757600080fd5b83016020810192503590506001600160401b0381111561398657600080fd5b80360382131561343957600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60006101606139dd846139d08561323b565b6001600160a01b03169052565b602083013560208501526139f46040840184613950565b826040870152613a078387018284613995565b92505050613a186060840184613950565b8583036060870152613a2b838284613995565b925050506080830135608085015260a083013560a085015260c083013560c085015260e083013560e0850152610100808401358186015250610120613a7281850185613950565b86840383880152613a84848284613995565b9350505050610140613a9881850185613950565b86840383880152613aaa848284613995565b979650505050505050565b6040808252810184905260006060600586901b830181019083018783805b89811015613b1b57868503605f190184528235368c900361015e19018112613af9578283fd5b613b05868d83016139be565b9550506020938401939290920191600101613ad3565b505050508281036020840152613aaa818587613995565b8183823760009101908152919050565b8315158152606060208201526000613b5d606083018561381c565b9050826040830152949350505050565b60008085851115613b7d57600080fd5b83861115613b8a57600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff198135818116916014851015613bc45780818660140360031b1b83161692505b505092915050565b6020815260006126c6602083018486613995565b600060208284031215613bf257600080fd5b8151612e6481613226565b65ffffffffffff818116838216019080821115613c1c57613c1c6137b6565b5092915050565b868152856020820152600065ffffffffffff8087166040840152808616606084015250831515608083015260c060a0830152613c6260c083018461381c565b98975050505050505050565b80518252602081015160208301526040810151151560408301526000606082015165ffffffffffff8082166060860152806080850151166080860152505060a082015160c060a08501526126c660c085018261381c565b6000610140808352613cd981840189613c6e565b915050613cf3602083018780518252602090810151910152565b845160608301526020948501516080830152835160a08301529284015160c082015281516001600160a01b031660e0820152908301518051610100830152909201516101209092019190915292915050565b60e081526000613d5860e0830187613c6e565b9050613d71602083018680518252602090810151910152565b8351606083015260208401516080830152825160a0830152602083015160c083015295945050505050565b634e487b7160e01b600052602160045260246000fd5b600060038510613dd257634e487b7160e01b600052602160045260246000fd5b84825260606020830152613b5d606083018561381c565b600060033d1115613e025760046000803e5060005160e01c5b90565b600060443d1015613e135790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715613e4257505050505090565b8285019150815181811115613e5a5750505050505090565b843d8701016020828501011115613e745750505050505090565b613e83602082860101876132d6565b509095945050505050565b75020a09a98103837b9ba27b8103932bb32b93a32b21d160551b815260008251613ebf8160168501602087016137f8565b9190910160160192915050565b60006101c0808352613ee18184018789613995565b9050845160018060a01b03808251166020860152602082015160408601526040820151606086015260608201516080860152608082015160a08601528060a08301511660c08601525060c081015160e085015260e08101516101008501525060208501516101208401526040850151610140840152606085015161016084015260808501516101808401528281036101a0840152613aaa818561381c565b600060208284031215613f9157600080fd5b5051919050565b606081526000613fac606083018789613995565b6001600160a01b03861660208401528281036040840152613c62818587613995565b606081526000613fe160608301866139be565b60208301949094525060400152919050565b6e020a09919903932bb32b93a32b21d1608d1b81526000825161401d81600f8501602087016137f8565b91909101600f0192915050565b6000806040838503121561403d57600080fd5b82516001600160401b0381111561405357600080fd5b8301601f8101851361406457600080fd5b805161406f81613302565b60405161407c82826132d6565b82815287602084860101111561409157600080fd5b6140a28360208301602087016137f8565b6020969096015195979596505050505050565b6e020a09999903932bb32b93a32b21d1608d1b81526000825161401d81600f8501602087016137f856fea26469706673582212201892e38d1eac5b99b119bf1333f8e39f72ad5274c5da6bb916f97bef4e7e0afc64736f6c63430008140033";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
...stateOverride,
|
|
10
|
-
|
|
11
|
-
balance: toHex(100000000000000000000000n),
|
|
12
|
-
...(stateOverride
|
|
13
|
-
? deepHexlify(stateOverride?.[userOperation.sender])
|
|
14
|
-
: [])
|
|
15
|
-
},
|
|
16
|
-
[entryPoint]: {
|
|
17
|
-
code: EXECUTE_SIMULATOR_BYTECODE
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
: {
|
|
21
|
-
...stateOverride,
|
|
22
|
-
[userOperation.sender]: {
|
|
23
|
-
balance: toHex(100000000000000000000000n),
|
|
24
|
-
...(stateOverride
|
|
25
|
-
? deepHexlify(stateOverride?.[userOperation.sender])
|
|
26
|
-
: [])
|
|
27
|
-
}
|
|
5
|
+
function getStateOverrides({ addSenderBalanceOverride, userOperation, stateOverride = {} }) {
|
|
6
|
+
const result = { ...stateOverride };
|
|
7
|
+
if (addSenderBalanceOverride) {
|
|
8
|
+
result[userOperation.sender] = {
|
|
9
|
+
...deepHexlify(stateOverride?.[userOperation.sender] || {}),
|
|
10
|
+
balance: toHex(100000000000000000000000n)
|
|
28
11
|
};
|
|
12
|
+
}
|
|
13
|
+
return result;
|
|
29
14
|
}
|
|
30
15
|
export class GasEstimationHandler {
|
|
31
16
|
gasEstimatorV06;
|
|
32
17
|
gasEstimatorV07;
|
|
33
|
-
constructor(
|
|
34
|
-
this.gasEstimatorV06 = new GasEstimatorV06(
|
|
35
|
-
this.gasEstimatorV07 = new GasEstimatorV07(
|
|
18
|
+
constructor(config) {
|
|
19
|
+
this.gasEstimatorV06 = new GasEstimatorV06(config);
|
|
20
|
+
this.gasEstimatorV07 = new GasEstimatorV07(config);
|
|
36
21
|
}
|
|
37
|
-
simulateHandleOp({ userOperation, queuedUserOperations,
|
|
22
|
+
simulateHandleOp({ userOperation, queuedUserOperations, addSenderBalanceOverride, entryPoint, targetAddress, targetCallData, balanceOverrideEnabled, stateOverrides = {} }) {
|
|
38
23
|
let finalStateOverride = undefined;
|
|
39
24
|
if (balanceOverrideEnabled) {
|
|
40
25
|
finalStateOverride = getStateOverrides({
|
|
41
26
|
userOperation,
|
|
42
|
-
|
|
43
|
-
replacedEntryPoint,
|
|
27
|
+
addSenderBalanceOverride,
|
|
44
28
|
stateOverride: stateOverrides
|
|
45
29
|
});
|
|
46
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gasEstimationHandler.js","sourceRoot":"","sources":["../../../rpc/estimation/gasEstimationHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gasEstimationHandler.js","sourceRoot":"","sources":["../../../rpc/estimation/gasEstimationHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEtD,OAAO,EAAgB,KAAK,EAAE,MAAM,MAAM,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAIrD,SAAS,iBAAiB,CAAC,EACvB,wBAAwB,EACxB,aAAa,EACb,aAAa,GAAG,EAAE,EAKrB;IACG,MAAM,MAAM,GAAmB,EAAE,GAAG,aAAa,EAAE,CAAA;IAEnD,IAAI,wBAAwB,EAAE,CAAC;QAC3B,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG;YAC3B,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3D,OAAO,EAAE,KAAK,CAAC,yBAA0B,CAAC;SAC7C,CAAA;IACL,CAAC;IAED,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,MAAM,OAAO,oBAAoB;IAC7B,eAAe,CAAiB;IAChC,eAAe,CAAiB;IAEhC,YAAY,MAAkB;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;QAElD,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;IACtD,CAAC;IAED,gBAAgB,CAAC,EACb,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACxB,UAAU,EACV,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,cAAc,GAAG,EAAE,EAUtB;QACG,IAAI,kBAAkB,GAAG,SAAS,CAAA;QAElC,IAAI,sBAAsB,EAAE,CAAC;YACzB,kBAAkB,GAAG,iBAAiB,CAAC;gBACnC,aAAa;gBACb,wBAAwB;gBACxB,aAAa,EAAE,cAAc;aAChC,CAAC,CAAA;QACN,CAAC;QAED,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC;gBAC5C,aAAa;gBACb,UAAU;gBACV,aAAa;gBACb,cAAc;gBACd,cAAc,EAAE,kBAAkB;aACrC,CAAC,CAAA;QACN,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC;YAC5C,aAAa,EAAE,aAAiC;YAChD,oBAAoB,EAAE,oBAA0C;YAChE,UAAU;YACV,cAAc,EAAE,kBAAkB;SACrC,CAAC,CAAA;IACN,CAAC;CACJ"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import type { StateOverrides, UserOperationV06 } from "../../types/index.js";
|
|
2
2
|
import type { Hex } from "viem";
|
|
3
|
-
import { type Address
|
|
3
|
+
import { type Address } from "viem";
|
|
4
4
|
import type { SimulateHandleOpResult } from "./types.js";
|
|
5
|
+
import type { AltoConfig } from "../../createConfig.js";
|
|
5
6
|
export declare class GasEstimatorV06 {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
constructor(publicClient: PublicClient, blockTagSupport: boolean, utilityWalletAddress: Address, fixedGasLimitForEstimation?: bigint);
|
|
11
|
-
simulateHandleOpV06({ userOperation, targetAddress, targetCallData, entryPoint, stateOverrides }: {
|
|
7
|
+
private config;
|
|
8
|
+
constructor(config: AltoConfig);
|
|
9
|
+
decodeSimulateHandleOpResult(data: Hex): SimulateHandleOpResult;
|
|
10
|
+
simulateHandleOpV06({ userOperation, targetAddress, targetCallData, entryPoint, useCodeOverride, stateOverrides }: {
|
|
12
11
|
userOperation: UserOperationV06;
|
|
13
12
|
targetAddress: Address;
|
|
14
13
|
targetCallData: Hex;
|
|
15
14
|
entryPoint: Address;
|
|
15
|
+
useCodeOverride?: boolean;
|
|
16
16
|
stateOverrides?: StateOverrides | undefined;
|
|
17
17
|
}): Promise<SimulateHandleOpResult>;
|
|
18
18
|
}
|
|
@@ -1,19 +1,81 @@
|
|
|
1
|
-
import { EntryPointV06Abi, RpcError, ValidationErrors,
|
|
1
|
+
import { ENTRYPOINT_V06_SIMULATION_OVERRIDE, EntryPointV06Abi, EntryPointV06SimulationsAbi, RpcError, ValidationErrors, executionResultSchema, hexDataSchema } from "../../types/index.js";
|
|
2
2
|
import { decodeErrorResult, encodeFunctionData, toHex } from "viem";
|
|
3
3
|
import { z } from "zod";
|
|
4
|
+
import { deepHexlify } from "../../utils/userop.js";
|
|
5
|
+
import { parseFailedOpWithRevert } from "./gasEstimationsV07.js";
|
|
4
6
|
export class GasEstimatorV06 {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
fixedGasLimitForEstimation;
|
|
9
|
-
constructor(publicClient, blockTagSupport, utilityWalletAddress, fixedGasLimitForEstimation) {
|
|
10
|
-
this.publicClient = publicClient;
|
|
11
|
-
this.blockTagSupport = blockTagSupport;
|
|
12
|
-
this.utilityWalletAddress = utilityWalletAddress;
|
|
13
|
-
this.fixedGasLimitForEstimation = fixedGasLimitForEstimation;
|
|
7
|
+
config;
|
|
8
|
+
constructor(config) {
|
|
9
|
+
this.config = config;
|
|
14
10
|
}
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
decodeSimulateHandleOpResult(data) {
|
|
12
|
+
if (data === "0x") {
|
|
13
|
+
throw new RpcError("AA23 reverted: UserOperation called non-existant contract, or reverted with 0x", ValidationErrors.SimulateValidation);
|
|
14
|
+
}
|
|
15
|
+
const decodedError = decodeErrorResult({
|
|
16
|
+
abi: [...EntryPointV06Abi, ...EntryPointV06SimulationsAbi],
|
|
17
|
+
data
|
|
18
|
+
});
|
|
19
|
+
if (decodedError &&
|
|
20
|
+
decodedError.errorName === "FailedOp" &&
|
|
21
|
+
decodedError.args) {
|
|
22
|
+
return {
|
|
23
|
+
result: "failed",
|
|
24
|
+
data: decodedError.args[1]
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
// custom error thrown by entryPoint if code override is used
|
|
28
|
+
if (decodedError &&
|
|
29
|
+
decodedError.errorName === "CallPhaseReverted" &&
|
|
30
|
+
decodedError.args) {
|
|
31
|
+
return {
|
|
32
|
+
result: "failed",
|
|
33
|
+
data: decodedError.args[0]
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
// custom error thrown by entryPoint if code override is used
|
|
37
|
+
if (decodedError &&
|
|
38
|
+
decodedError.errorName === "FailedOpWithRevert" &&
|
|
39
|
+
decodedError.args) {
|
|
40
|
+
return {
|
|
41
|
+
result: "failed",
|
|
42
|
+
data: `${decodedError.args?.[1]} ${parseFailedOpWithRevert(decodedError.args?.[2])}`
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
if (decodedError &&
|
|
46
|
+
decodedError.errorName === "Error" &&
|
|
47
|
+
decodedError.args) {
|
|
48
|
+
return {
|
|
49
|
+
result: "failed",
|
|
50
|
+
data: decodedError.args[0]
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
if (decodedError.errorName === "ExecutionResult") {
|
|
54
|
+
const parsedExecutionResult = executionResultSchema.parse(decodedError.args);
|
|
55
|
+
return {
|
|
56
|
+
result: "execution",
|
|
57
|
+
data: {
|
|
58
|
+
executionResult: parsedExecutionResult
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
throw new Error("Unexpected error whilst decoding simulateHandleOp result");
|
|
63
|
+
}
|
|
64
|
+
async simulateHandleOpV06({ userOperation, targetAddress, targetCallData, entryPoint, useCodeOverride = true, stateOverrides = undefined }) {
|
|
65
|
+
const publicClient = this.config.publicClient;
|
|
66
|
+
const blockTagSupport = this.config.blockTagSupport;
|
|
67
|
+
const utilityWalletAddress = this.config.utilityPrivateKey?.address ??
|
|
68
|
+
"0x4337000c2828F5260d8921fD25829F606b9E8680";
|
|
69
|
+
const fixedGasLimitForEstimation = this.config.fixedGasLimitForEstimation;
|
|
70
|
+
if (this.config.codeOverrideSupport && useCodeOverride) {
|
|
71
|
+
if (stateOverrides === undefined) {
|
|
72
|
+
stateOverrides = {};
|
|
73
|
+
}
|
|
74
|
+
stateOverrides[entryPoint] = {
|
|
75
|
+
...deepHexlify(stateOverrides?.[entryPoint] || {}),
|
|
76
|
+
code: ENTRYPOINT_V06_SIMULATION_OVERRIDE
|
|
77
|
+
};
|
|
78
|
+
}
|
|
17
79
|
try {
|
|
18
80
|
await publicClient.request({
|
|
19
81
|
method: "eth_call",
|
|
@@ -75,39 +137,8 @@ export class GasEstimatorV06 {
|
|
|
75
137
|
if (!causeParseResult.success) {
|
|
76
138
|
throw new Error(JSON.stringify(err.cause));
|
|
77
139
|
}
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
throw new RpcError("AA23 reverted: UserOperation called non-existant contract, or reverted with 0x", ValidationErrors.SimulateValidation);
|
|
81
|
-
}
|
|
82
|
-
const decodedError = decodeErrorResult({
|
|
83
|
-
abi: [...EntryPointV06Abi, ...EntryPointV06SimulationsAbi],
|
|
84
|
-
data: cause.data
|
|
85
|
-
});
|
|
86
|
-
if (decodedError &&
|
|
87
|
-
decodedError.errorName === "FailedOp" &&
|
|
88
|
-
decodedError.args) {
|
|
89
|
-
return {
|
|
90
|
-
result: "failed",
|
|
91
|
-
data: decodedError.args[1]
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
if (decodedError &&
|
|
95
|
-
decodedError.errorName === "Error" &&
|
|
96
|
-
decodedError.args) {
|
|
97
|
-
return {
|
|
98
|
-
result: "failed",
|
|
99
|
-
data: decodedError.args[0]
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
if (decodedError.errorName === "ExecutionResult") {
|
|
103
|
-
const parsedExecutionResult = executionResultSchema.parse(decodedError.args);
|
|
104
|
-
return {
|
|
105
|
-
result: "execution",
|
|
106
|
-
data: {
|
|
107
|
-
executionResult: parsedExecutionResult
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
}
|
|
140
|
+
const data = causeParseResult.data.data;
|
|
141
|
+
return this.decodeSimulateHandleOpResult(data);
|
|
111
142
|
}
|
|
112
143
|
throw new Error("Unexpected error");
|
|
113
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gasEstimationsV06.js","sourceRoot":"","sources":["../../../rpc/estimation/gasEstimationsV06.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,QAAQ,EACR,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"gasEstimationsV06.js","sourceRoot":"","sources":["../../../rpc/estimation/gasEstimationsV06.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
import type { Hex } from "viem";
|
|
2
|
-
import { type Address, type PublicClient } from "viem";
|
|
3
1
|
import { type StateOverrides, type UserOperationV07, type ValidationResultV07 } from "../../types/index.js";
|
|
2
|
+
import type { Hex } from "viem";
|
|
3
|
+
import { type Address } from "viem";
|
|
4
4
|
import { type SimulateHandleOpResult } from "./types.js";
|
|
5
|
+
import type { AltoConfig } from "../../createConfig.js";
|
|
5
6
|
export declare class GasEstimatorV07 {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
chainId: number;
|
|
9
|
-
publicClient: PublicClient;
|
|
10
|
-
entryPointSimulationsAddress: Address | undefined;
|
|
11
|
-
blockTagSupport: boolean;
|
|
12
|
-
utilityWalletAddress: Address;
|
|
13
|
-
fixedGasLimitForEstimation?: bigint;
|
|
14
|
-
constructor(binarySearchToleranceDelta: bigint, binarySearchGasAllowance: bigint, chainId: number, publicClient: PublicClient, entryPointSimulationsAddress: Address | undefined, blockTagSupport: boolean, utilityWalletAddress: Address, fixedGasLimitForEstimation?: bigint);
|
|
7
|
+
private config;
|
|
8
|
+
constructor(config: AltoConfig);
|
|
15
9
|
simulateValidation({ entryPoint, userOperation, queuedUserOperations }: {
|
|
16
10
|
entryPoint: Address;
|
|
17
11
|
userOperation: UserOperationV07;
|
|
@@ -65,12 +59,13 @@ export declare class GasEstimatorV07 {
|
|
|
65
59
|
initialMinGas?: bigint;
|
|
66
60
|
gasAllowance?: bigint;
|
|
67
61
|
}): Hex;
|
|
68
|
-
retryGetCallDataGas({ entryPoint, optimalGas, minGas, targetOp, queuedOps, simulateHandleOpLastResult }: {
|
|
62
|
+
retryGetCallDataGas({ entryPoint, optimalGas, minGas, targetOp, queuedOps, stateOverrides, simulateHandleOpLastResult }: {
|
|
69
63
|
entryPoint: Address;
|
|
70
64
|
optimalGas: bigint;
|
|
71
65
|
minGas: bigint;
|
|
72
66
|
targetOp: UserOperationV07;
|
|
73
67
|
queuedOps: UserOperationV07[];
|
|
68
|
+
stateOverrides?: StateOverrides | undefined;
|
|
74
69
|
simulateHandleOpLastResult: SimulateHandleOpResult<"execution">;
|
|
75
70
|
}): Promise<SimulateHandleOpResult>;
|
|
76
71
|
simulateHandleOpV07({ entryPoint, userOperation, queuedUserOperations, stateOverrides }: {
|
|
@@ -1,26 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { EntryPointV07Abi, EntryPointV07SimulationsAbi, PimlicoEntryPointSimulationsAbi, ValidationErrors, ExecutionErrors, targetCallResultSchema, RpcError } from "../../types/index.js";
|
|
1
|
+
import { EntryPointV07Abi, EntryPointV07SimulationsAbi, ExecutionErrors, PimlicoEntryPointSimulationsAbi, RpcError, ValidationErrors, targetCallResultSchema } from "../../types/index.js";
|
|
3
2
|
import { getUserOperationHash, toPackedUserOperation } from "../../utils/index.js";
|
|
4
|
-
import {
|
|
3
|
+
import { decodeAbiParameters, decodeErrorResult, decodeFunctionResult, encodeFunctionData, slice, toFunctionSelector, toHex } from "viem";
|
|
5
4
|
import { AccountExecuteAbi } from "../../types/contracts/IAccountExecute.js";
|
|
5
|
+
import { simulationValidationResultStruct } from "./types.js";
|
|
6
6
|
export class GasEstimatorV07 {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
publicClient;
|
|
11
|
-
entryPointSimulationsAddress;
|
|
12
|
-
blockTagSupport;
|
|
13
|
-
utilityWalletAddress;
|
|
14
|
-
fixedGasLimitForEstimation;
|
|
15
|
-
constructor(binarySearchToleranceDelta, binarySearchGasAllowance, chainId, publicClient, entryPointSimulationsAddress, blockTagSupport, utilityWalletAddress, fixedGasLimitForEstimation) {
|
|
16
|
-
this.binarySearchToleranceDelta = binarySearchToleranceDelta;
|
|
17
|
-
this.binarySearchGasAllowance = binarySearchGasAllowance;
|
|
18
|
-
this.chainId = chainId;
|
|
19
|
-
this.publicClient = publicClient;
|
|
20
|
-
this.entryPointSimulationsAddress = entryPointSimulationsAddress;
|
|
21
|
-
this.blockTagSupport = blockTagSupport;
|
|
22
|
-
this.utilityWalletAddress = utilityWalletAddress;
|
|
23
|
-
this.fixedGasLimitForEstimation = fixedGasLimitForEstimation;
|
|
7
|
+
config;
|
|
8
|
+
constructor(config) {
|
|
9
|
+
this.config = config;
|
|
24
10
|
}
|
|
25
11
|
async simulateValidation({ entryPoint, userOperation, queuedUserOperations }) {
|
|
26
12
|
const userOperations = [...queuedUserOperations, userOperation];
|
|
@@ -48,7 +34,7 @@ export class GasEstimatorV07 {
|
|
|
48
34
|
functionName: "executeUserOp",
|
|
49
35
|
args: [
|
|
50
36
|
packedOp,
|
|
51
|
-
getUserOperationHash(op, entryPoint, this.
|
|
37
|
+
getUserOperationHash(op, entryPoint, this.config.publicClient.chain.id)
|
|
52
38
|
]
|
|
53
39
|
});
|
|
54
40
|
}
|
|
@@ -59,7 +45,7 @@ export class GasEstimatorV07 {
|
|
|
59
45
|
const packedUserOperations = userOperations.map((uop) => ({
|
|
60
46
|
packedUserOperation: toPackedUserOperation(uop),
|
|
61
47
|
userOperation: uop,
|
|
62
|
-
userOperationHash: getUserOperationHash(uop, entryPoint, this.
|
|
48
|
+
userOperationHash: getUserOperationHash(uop, entryPoint, this.config.publicClient.chain.id)
|
|
63
49
|
}));
|
|
64
50
|
const simulateHandleOpCallData = encodeFunctionData({
|
|
65
51
|
abi: EntryPointV07SimulationsAbi,
|
|
@@ -68,7 +54,7 @@ export class GasEstimatorV07 {
|
|
|
68
54
|
});
|
|
69
55
|
return simulateHandleOpCallData;
|
|
70
56
|
}
|
|
71
|
-
encodeSimulateCallData({ userOperation, queuedUserOperations, entryPoint, gasAllowance = this.binarySearchGasAllowance, initialMinGas = 0n }) {
|
|
57
|
+
encodeSimulateCallData({ userOperation, queuedUserOperations, entryPoint, gasAllowance = this.config.binarySearchGasAllowance, initialMinGas = 0n }) {
|
|
72
58
|
const queuedOps = queuedUserOperations.map((op) => ({
|
|
73
59
|
op: toPackedUserOperation(op),
|
|
74
60
|
target: op.sender,
|
|
@@ -93,14 +79,14 @@ export class GasEstimatorV07 {
|
|
|
93
79
|
targetOp,
|
|
94
80
|
entryPoint,
|
|
95
81
|
initialMinGas,
|
|
96
|
-
this.binarySearchToleranceDelta,
|
|
82
|
+
this.config.binarySearchToleranceDelta,
|
|
97
83
|
gasAllowance
|
|
98
84
|
]
|
|
99
85
|
});
|
|
100
86
|
return simulateTargetCallData;
|
|
101
87
|
}
|
|
102
88
|
// Try to get the calldata gas again if the initial simulation reverted due to hitting the eth_call gasLimit.
|
|
103
|
-
async retryGetCallDataGas({ entryPoint, optimalGas, minGas, targetOp, queuedOps, simulateHandleOpLastResult }) {
|
|
89
|
+
async retryGetCallDataGas({ entryPoint, optimalGas, minGas, targetOp, queuedOps, stateOverrides, simulateHandleOpLastResult }) {
|
|
104
90
|
const maxRetries = 3;
|
|
105
91
|
let retryCount = 0;
|
|
106
92
|
let currentOptimalGas = optimalGas;
|
|
@@ -117,7 +103,8 @@ export class GasEstimatorV07 {
|
|
|
117
103
|
});
|
|
118
104
|
let cause = await this.callPimlicoEntryPointSimulations({
|
|
119
105
|
entryPoint,
|
|
120
|
-
entryPointSimulationsCallData: [simulateCallData]
|
|
106
|
+
entryPointSimulationsCallData: [simulateCallData],
|
|
107
|
+
stateOverrides
|
|
121
108
|
});
|
|
122
109
|
cause = cause.map((data) => {
|
|
123
110
|
const decodedDelegateAndError = decodeErrorResult({
|
|
@@ -166,14 +153,33 @@ export class GasEstimatorV07 {
|
|
|
166
153
|
userOperation,
|
|
167
154
|
queuedUserOperations
|
|
168
155
|
});
|
|
169
|
-
let cause
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
156
|
+
let cause;
|
|
157
|
+
if (this.config.chainType === "hedera") {
|
|
158
|
+
// due to Hedera specific restrictions, we can't combine these two calls.
|
|
159
|
+
const [simulateHandleOpLastCause, simulateCallDataCause] = await Promise.all([
|
|
160
|
+
this.callPimlicoEntryPointSimulations({
|
|
161
|
+
entryPoint,
|
|
162
|
+
entryPointSimulationsCallData: [simulateHandleOpLast],
|
|
163
|
+
stateOverrides
|
|
164
|
+
}),
|
|
165
|
+
this.callPimlicoEntryPointSimulations({
|
|
166
|
+
entryPoint,
|
|
167
|
+
entryPointSimulationsCallData: [simulateCallData],
|
|
168
|
+
stateOverrides
|
|
169
|
+
})
|
|
170
|
+
]);
|
|
171
|
+
cause = [simulateHandleOpLastCause[0], simulateCallDataCause[0]];
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
cause = await this.callPimlicoEntryPointSimulations({
|
|
175
|
+
entryPoint,
|
|
176
|
+
entryPointSimulationsCallData: [
|
|
177
|
+
simulateHandleOpLast,
|
|
178
|
+
simulateCallData
|
|
179
|
+
],
|
|
180
|
+
stateOverrides
|
|
181
|
+
});
|
|
182
|
+
}
|
|
177
183
|
cause = cause.map((data) => {
|
|
178
184
|
const decodedDelegateAndError = decodeErrorResult({
|
|
179
185
|
abi: EntryPointV07Abi,
|
|
@@ -202,7 +208,8 @@ export class GasEstimatorV07 {
|
|
|
202
208
|
minGas,
|
|
203
209
|
targetOp: userOperation,
|
|
204
210
|
queuedOps: queuedUserOperations,
|
|
205
|
-
simulateHandleOpLastResult: simulateHandleOpLastResult
|
|
211
|
+
simulateHandleOpLastResult: simulateHandleOpLastResult,
|
|
212
|
+
stateOverrides
|
|
206
213
|
});
|
|
207
214
|
}
|
|
208
215
|
return {
|
|
@@ -222,7 +229,12 @@ export class GasEstimatorV07 {
|
|
|
222
229
|
}
|
|
223
230
|
}
|
|
224
231
|
async callPimlicoEntryPointSimulations({ entryPoint, entryPointSimulationsCallData, stateOverrides }) {
|
|
225
|
-
const
|
|
232
|
+
const publicClient = this.config.publicClient;
|
|
233
|
+
const blockTagSupport = this.config.blockTagSupport;
|
|
234
|
+
const utilityWalletAddress = this.config.utilityPrivateKey?.address ??
|
|
235
|
+
"0x4337000c2828F5260d8921fD25829F606b9E8680";
|
|
236
|
+
const entryPointSimulationsAddress = this.config.entrypointSimulationContract;
|
|
237
|
+
const fixedGasLimitForEstimation = this.config.fixedGasLimitForEstimation;
|
|
226
238
|
if (!entryPointSimulationsAddress) {
|
|
227
239
|
throw new RpcError("entryPointSimulationsAddress must be provided for V07 UserOperation", ValidationErrors.InvalidFields);
|
|
228
240
|
}
|
|
@@ -393,7 +405,7 @@ function getSimulateHandleOpResult(data) {
|
|
|
393
405
|
decodedError.args) {
|
|
394
406
|
return {
|
|
395
407
|
result: "failed",
|
|
396
|
-
data: parseFailedOpWithRevert(decodedError.args?.[2])
|
|
408
|
+
data: `${decodedError.args[1]} ${parseFailedOpWithRevert(decodedError.args?.[2])}`,
|
|
397
409
|
code: ValidationErrors.SimulateValidation
|
|
398
410
|
};
|
|
399
411
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gasEstimationsV07.js","sourceRoot":"","sources":["../../../rpc/estimation/gasEstimationsV07.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gasEstimationsV07.js","sourceRoot":"","sources":["../../../rpc/estimation/gasEstimationsV07.ts"],"names":[],"mappings":"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"}
|
package/esm/rpc/nonceQueuer.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import type { EventManager } from "../handlers/index.js";
|
|
2
|
+
import type { MemoryMempool } from "../mempool/index.js";
|
|
1
3
|
import { type MempoolUserOperation } from "../types/index.js";
|
|
2
4
|
import type { Logger } from "../utils/index.js";
|
|
3
|
-
import { type Address, type
|
|
4
|
-
import type {
|
|
5
|
-
import type { EventManager } from "../handlers/index.js";
|
|
5
|
+
import { type Address, type Hash, type PublicClient } from "viem";
|
|
6
|
+
import type { AltoConfig } from "../createConfig.js";
|
|
6
7
|
type QueuedUserOperation = {
|
|
7
8
|
entryPoint: Address;
|
|
8
9
|
userOperationHash: Hash;
|
|
@@ -13,12 +14,15 @@ type QueuedUserOperation = {
|
|
|
13
14
|
};
|
|
14
15
|
export declare class NonceQueuer {
|
|
15
16
|
queuedUserOperations: QueuedUserOperation[];
|
|
17
|
+
config: AltoConfig;
|
|
16
18
|
mempool: MemoryMempool;
|
|
17
|
-
publicClient: PublicClient<Transport, Chain>;
|
|
18
19
|
logger: Logger;
|
|
19
|
-
blockTagSupport: boolean;
|
|
20
20
|
eventManager: EventManager;
|
|
21
|
-
constructor(
|
|
21
|
+
constructor({ config, mempool, eventManager }: {
|
|
22
|
+
config: AltoConfig;
|
|
23
|
+
mempool: MemoryMempool;
|
|
24
|
+
eventManager: EventManager;
|
|
25
|
+
});
|
|
22
26
|
process(): Promise<void>;
|
|
23
27
|
add(mempoolUserOperation: MempoolUserOperation, entryPoint: Address): void;
|
|
24
28
|
resubmitUserOperation(mempoolUserOperation: MempoolUserOperation, entryPoint: Address): void;
|