@pimlico/alto 0.0.0-main.20251020T162406 → 0.0.0-main.20251022T125259

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.
Files changed (81) hide show
  1. package/contracts/EIP712.sol/EIP712.json +1 -1
  2. package/contracts/ERC165.sol/ERC165.json +1 -1
  3. package/contracts/ERC20.sol/ERC20.json +1 -1
  4. package/contracts/Eip7702Support.sol/Eip7702Support.json +1 -1
  5. package/contracts/EntryPoint.sol/EntryPoint.json +1 -1
  6. package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride06.json +1 -1
  7. package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride07.json +1 -1
  8. package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride08.json +1 -1
  9. package/contracts/EntryPointGasEstimationOverride.sol/EntryPointGasEstimationOverride06.json +1 -1
  10. package/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
  11. package/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
  12. package/contracts/Exec.sol/Exec.json +1 -1
  13. package/contracts/IAccount.sol/IAccount.json +1 -1
  14. package/contracts/IAccountExecute.sol/IAccountExecute.json +1 -1
  15. package/contracts/IAggregator.sol/IAggregator.json +1 -1
  16. package/contracts/IERC165.sol/IERC165.json +1 -1
  17. package/contracts/IERC5267.sol/IERC5267.json +1 -1
  18. package/contracts/IEntryPoint.sol/IEntryPoint.json +1 -1
  19. package/contracts/IEntryPointFilterOpsOverride.sol/IEntryPointFilterOpsOverride08.json +1 -1
  20. package/contracts/IEntryPointSimulations.sol/IEntryPointSimulations.json +1 -1
  21. package/contracts/INonceManager.sol/INonceManager.json +1 -1
  22. package/contracts/IPaymaster.sol/IPaymaster.json +1 -1
  23. package/contracts/ISenderCreator.sol/ISenderCreator.json +1 -1
  24. package/contracts/IStakeManager.sol/IStakeManager.json +1 -1
  25. package/contracts/LibBytes.sol/LibBytes.json +1 -1
  26. package/contracts/Math.sol/Math.json +1 -1
  27. package/contracts/MessageHashUtils.sol/MessageHashUtils.json +1 -1
  28. package/contracts/NonceManager.sol/NonceManager.json +1 -1
  29. package/contracts/Panic.sol/Panic.json +1 -1
  30. package/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
  31. package/contracts/ReentrancyGuard.sol/ReentrancyGuard.json +1 -1
  32. package/contracts/ReentrancyGuardTransient.sol/ReentrancyGuardTransient.json +1 -1
  33. package/contracts/SafeCast.sol/SafeCast.json +1 -1
  34. package/contracts/SenderCreator.sol/SenderCreator.json +1 -1
  35. package/contracts/ShortStrings.sol/ShortStrings.json +1 -1
  36. package/contracts/SignedMath.sol/SignedMath.json +1 -1
  37. package/contracts/SimulationOverrideHelper.sol/SimulationOverrideHelper.json +1 -1
  38. package/contracts/StakeManager.sol/StakeManager.json +1 -1
  39. package/contracts/StorageSlot.sol/StorageSlot.json +1 -1
  40. package/contracts/Strings.sol/Strings.json +1 -1
  41. package/contracts/TransientSlot.sol/TransientSlot.json +1 -1
  42. package/contracts/UserOperation.sol/UserOperationLib.json +1 -1
  43. package/contracts/UserOperationLib.sol/UserOperationLib.json +1 -1
  44. package/contracts/build-info/{18c8965fdfa23caa.json → 006aa55b425148d5.json} +1 -1
  45. package/contracts/build-info/{1961a9e5bee7b1e0.json → 416ffb069999d6eb.json} +1 -1
  46. package/contracts/contracts/interfaces/IAggregator.sol/IAggregator.json +1 -1
  47. package/contracts/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -1
  48. package/contracts/contracts/interfaces/INonceManager.sol/INonceManager.json +1 -1
  49. package/contracts/contracts/interfaces/IStakeManager.sol/IStakeManager.json +1 -1
  50. package/contracts/interfaces/IAggregator.sol/IAggregator.json +1 -1
  51. package/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -1
  52. package/contracts/interfaces/INonceManager.sol/INonceManager.json +1 -1
  53. package/contracts/interfaces/IStakeManager.sol/IStakeManager.json +1 -1
  54. package/contracts/utils/Exec.sol/Exec.json +1 -1
  55. package/contracts/utils/StorageSlot.sol/StorageSlot.json +1 -1
  56. package/esm/cli/shutDown.js +42 -3
  57. package/esm/cli/shutDown.js.map +1 -1
  58. package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride06.json +1 -1
  59. package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride07.json +1 -1
  60. package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride08.json +1 -1
  61. package/esm/contracts/EntryPointGasEstimationOverride.sol/EntryPointGasEstimationOverride06.json +1 -1
  62. package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
  63. package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
  64. package/esm/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
  65. package/esm/executor/bundleManager.d.ts +3 -3
  66. package/esm/executor/bundleManager.js +3 -3
  67. package/esm/executor/bundleManager.js.map +1 -1
  68. package/esm/executor/executorManager.js +5 -5
  69. package/esm/executor/executorManager.js.map +1 -1
  70. package/esm/executor/senderManager/flushOnStartUp.js +4 -4
  71. package/esm/executor/senderManager/flushOnStartUp.js.map +1 -1
  72. package/esm/executor/utils.js +3 -3
  73. package/esm/executor/utils.js.map +1 -1
  74. package/esm/handlers/gasPriceManager.js +2 -2
  75. package/esm/handlers/gasPriceManager.js.map +1 -1
  76. package/esm/rpc/methods/eth_getUserOperationReceipt.d.ts +26 -26
  77. package/esm/rpc/methods/pimlico_sendUserOperationNow.d.ts +26 -26
  78. package/esm/types/mempool.d.ts +3 -0
  79. package/esm/types/schemas.d.ts +130 -130
  80. package/esm/utils/userop.d.ts +3 -3
  81. package/package.json +1 -1
@@ -1 +1 @@
1
- {"abi":[{"type":"function","name":"addStake","inputs":[{"name":"_unstakeDelaySec","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositTo","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getDepositInfo","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"info","type":"tuple","internalType":"struct IStakeManager.DepositInfo","components":[{"name":"deposit","type":"uint256","internalType":"uint256"},{"name":"staked","type":"bool","internalType":"bool"},{"name":"stake","type":"uint112","internalType":"uint112"},{"name":"unstakeDelaySec","type":"uint32","internalType":"uint32"},{"name":"withdrawTime","type":"uint48","internalType":"uint48"}]}],"stateMutability":"view"},{"type":"function","name":"unlockStake","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawStake","inputs":[{"name":"withdrawAddress","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawTo","inputs":[{"name":"withdrawAddress","type":"address","internalType":"address payable"},{"name":"withdrawAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Deposited","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"totalDeposit","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakeLocked","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"totalStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakeUnlocked","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawTime","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakeWithdrawn","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Withdrawn","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addStake(uint32)":"0396cb60","balanceOf(address)":"70a08231","depositTo(address)":"b760faf9","getDepositInfo(address)":"5287ce12","unlockStake()":"bb9fe6bf","withdrawStake(address)":"c23a5cea","withdrawTo(address,uint256)":"205c2878"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":[{\"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\":\"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\":\"account\",\"type\":\"address\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"payable\",\"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\":\"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\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"addStake(uint32)\":{\"params\":{\"_unstakeDelaySec\":\"- The new lock duration before the deposit can be withdrawn.\"}},\"balanceOf(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"_0\":\"- The deposit (for gas payment) of the account.\"}},\"depositTo(address)\":{\"params\":{\"account\":\"- The account to add to.\"}},\"getDepositInfo(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"info\":\" - Full deposit information of given account.\"}},\"withdrawStake(address)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\"}},\"withdrawTo(address,uint256)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\",\"withdrawAmount\":\"- The amount to withdraw.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addStake(uint32)\":{\"notice\":\"Add to the account's stake - amount and delay any pending unstake is first cancelled.\"},\"balanceOf(address)\":{\"notice\":\"Get account balance.\"},\"depositTo(address)\":{\"notice\":\"Add to the deposit of the given account.\"},\"getDepositInfo(address)\":{\"notice\":\"Get deposit info.\"},\"unlockStake()\":{\"notice\":\"Attempt to unlock the stake. The value can be withdrawn (using withdrawStake) after the unstake delay.\"},\"withdrawStake(address)\":{\"notice\":\"Withdraw from the (unlocked) stake. Must first call unlockStake and wait for the unstakeDelay to pass.\"},\"withdrawTo(address,uint256)\":{\"notice\":\"Withdraw from the deposit.\"}},\"notice\":\"Manage deposits and stakes. Deposit is just a balance used to pay for UserOperations (either by a paymaster or an account). Stake is value locked for at least \\\"unstakeDelay\\\" by the staked entity.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol\":\"IStakeManager\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":@account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":@account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.1.0/contracts/\",\":@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/\",\":@test-utils/=lib/singleton-paymaster/test/utils/\",\":account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":singleton-paymaster/=lib/singleton-paymaster/src/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00\",\"dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"totalDeposit","type":"uint256","indexed":false}],"type":"event","name":"Deposited","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"totalStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256","indexed":false}],"type":"event","name":"StakeLocked","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"withdrawTime","type":"uint256","indexed":false}],"type":"event","name":"StakeUnlocked","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"withdrawAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"StakeWithdrawn","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"withdrawAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Withdrawn","anonymous":false},{"inputs":[{"internalType":"uint32","name":"_unstakeDelaySec","type":"uint32"}],"stateMutability":"payable","type":"function","name":"addStake"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"payable","type":"function","name":"depositTo"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getDepositInfo","outputs":[{"internalType":"struct IStakeManager.DepositInfo","name":"info","type":"tuple","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"}]}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unlockStake"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawStake"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"},{"internalType":"uint256","name":"withdrawAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdrawTo"}],"devdoc":{"kind":"dev","methods":{"addStake(uint32)":{"params":{"_unstakeDelaySec":"- The new lock duration before the deposit can be withdrawn."}},"balanceOf(address)":{"params":{"account":"- The account to query."},"returns":{"_0":"- The deposit (for gas payment) of the account."}},"depositTo(address)":{"params":{"account":"- The account to add to."}},"getDepositInfo(address)":{"params":{"account":"- The account to query."},"returns":{"info":" - Full deposit information of given account."}},"withdrawStake(address)":{"params":{"withdrawAddress":"- The address to send withdrawn value."}},"withdrawTo(address,uint256)":{"params":{"withdrawAddress":"- The address to send withdrawn value.","withdrawAmount":"- The amount to withdraw."}}},"version":1},"userdoc":{"kind":"user","methods":{"addStake(uint32)":{"notice":"Add to the account's stake - amount and delay any pending unstake is first cancelled."},"balanceOf(address)":{"notice":"Get account balance."},"depositTo(address)":{"notice":"Add to the deposit of the given account."},"getDepositInfo(address)":{"notice":"Get deposit info."},"unlockStake()":{"notice":"Attempt to unlock the stake. The value can be withdrawn (using withdrawStake) after the unstake delay."},"withdrawStake(address)":{"notice":"Withdraw from the (unlocked) stake. Must first call unlockStake and wait for the unstakeDelay to pass."},"withdrawTo(address,uint256)":{"notice":"Withdraw from the deposit."}},"version":1}},"settings":{"remappings":["@account-abstraction-v6/=lib/account-abstraction-v6/contracts/","@account-abstraction-v7/=lib/account-abstraction-v7/contracts/","@account-abstraction-v8/=lib/account-abstraction-v8/contracts/","@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.1.0/contracts/","@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/","@test-utils/=lib/singleton-paymaster/test/utils/","account-abstraction-v6/=lib/account-abstraction-v6/contracts/","account-abstraction-v7/=lib/account-abstraction-v7/contracts/","account-abstraction-v8/=lib/account-abstraction-v8/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/","openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","singleton-paymaster/=lib/singleton-paymaster/src/","solady/=lib/solady/src/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol":"IStakeManager"},"evmVersion":"london","libraries":{},"viaIR":true},"sources":{"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol":{"keccak256":"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04","urls":["bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00","dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj"],"license":"GPL-3.0-only"}},"version":1},"id":15}
1
+ {"abi":[{"type":"function","name":"addStake","inputs":[{"name":"_unstakeDelaySec","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositTo","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getDepositInfo","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"info","type":"tuple","internalType":"struct IStakeManager.DepositInfo","components":[{"name":"deposit","type":"uint256","internalType":"uint256"},{"name":"staked","type":"bool","internalType":"bool"},{"name":"stake","type":"uint112","internalType":"uint112"},{"name":"unstakeDelaySec","type":"uint32","internalType":"uint32"},{"name":"withdrawTime","type":"uint48","internalType":"uint48"}]}],"stateMutability":"view"},{"type":"function","name":"unlockStake","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawStake","inputs":[{"name":"withdrawAddress","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawTo","inputs":[{"name":"withdrawAddress","type":"address","internalType":"address payable"},{"name":"withdrawAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Deposited","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"totalDeposit","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakeLocked","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"totalStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakeUnlocked","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawTime","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakeWithdrawn","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Withdrawn","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addStake(uint32)":"0396cb60","balanceOf(address)":"70a08231","depositTo(address)":"b760faf9","getDepositInfo(address)":"5287ce12","unlockStake()":"bb9fe6bf","withdrawStake(address)":"c23a5cea","withdrawTo(address,uint256)":"205c2878"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":[{\"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\":\"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\":\"account\",\"type\":\"address\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"payable\",\"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\":\"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\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"addStake(uint32)\":{\"params\":{\"_unstakeDelaySec\":\"- The new lock duration before the deposit can be withdrawn.\"}},\"balanceOf(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"_0\":\"- The deposit (for gas payment) of the account.\"}},\"depositTo(address)\":{\"params\":{\"account\":\"- The account to add to.\"}},\"getDepositInfo(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"info\":\" - Full deposit information of given account.\"}},\"withdrawStake(address)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\"}},\"withdrawTo(address,uint256)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\",\"withdrawAmount\":\"- The amount to withdraw.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addStake(uint32)\":{\"notice\":\"Add to the account's stake - amount and delay any pending unstake is first cancelled.\"},\"balanceOf(address)\":{\"notice\":\"Get account balance.\"},\"depositTo(address)\":{\"notice\":\"Add to the deposit of the given account.\"},\"getDepositInfo(address)\":{\"notice\":\"Get deposit info.\"},\"unlockStake()\":{\"notice\":\"Attempt to unlock the stake. The value can be withdrawn (using withdrawStake) after the unstake delay.\"},\"withdrawStake(address)\":{\"notice\":\"Withdraw from the (unlocked) stake. Must first call unlockStake and wait for the unstakeDelay to pass.\"},\"withdrawTo(address,uint256)\":{\"notice\":\"Withdraw from the deposit.\"}},\"notice\":\"Manage deposits and stakes. Deposit is just a balance used to pay for UserOperations (either by a paymaster or an account). Stake is value locked for at least \\\"unstakeDelay\\\" by the staked entity.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol\":\"IStakeManager\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":@account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":@account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.0.2/contracts/\",\":@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/\",\":@test-utils/=lib/singleton-paymaster/test/utils/\",\":account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":singleton-paymaster/=lib/singleton-paymaster/src/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00\",\"dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"totalDeposit","type":"uint256","indexed":false}],"type":"event","name":"Deposited","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"totalStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256","indexed":false}],"type":"event","name":"StakeLocked","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"withdrawTime","type":"uint256","indexed":false}],"type":"event","name":"StakeUnlocked","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"withdrawAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"StakeWithdrawn","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"withdrawAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Withdrawn","anonymous":false},{"inputs":[{"internalType":"uint32","name":"_unstakeDelaySec","type":"uint32"}],"stateMutability":"payable","type":"function","name":"addStake"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"payable","type":"function","name":"depositTo"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getDepositInfo","outputs":[{"internalType":"struct IStakeManager.DepositInfo","name":"info","type":"tuple","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"}]}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unlockStake"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawStake"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"},{"internalType":"uint256","name":"withdrawAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdrawTo"}],"devdoc":{"kind":"dev","methods":{"addStake(uint32)":{"params":{"_unstakeDelaySec":"- The new lock duration before the deposit can be withdrawn."}},"balanceOf(address)":{"params":{"account":"- The account to query."},"returns":{"_0":"- The deposit (for gas payment) of the account."}},"depositTo(address)":{"params":{"account":"- The account to add to."}},"getDepositInfo(address)":{"params":{"account":"- The account to query."},"returns":{"info":" - Full deposit information of given account."}},"withdrawStake(address)":{"params":{"withdrawAddress":"- The address to send withdrawn value."}},"withdrawTo(address,uint256)":{"params":{"withdrawAddress":"- The address to send withdrawn value.","withdrawAmount":"- The amount to withdraw."}}},"version":1},"userdoc":{"kind":"user","methods":{"addStake(uint32)":{"notice":"Add to the account's stake - amount and delay any pending unstake is first cancelled."},"balanceOf(address)":{"notice":"Get account balance."},"depositTo(address)":{"notice":"Add to the deposit of the given account."},"getDepositInfo(address)":{"notice":"Get deposit info."},"unlockStake()":{"notice":"Attempt to unlock the stake. The value can be withdrawn (using withdrawStake) after the unstake delay."},"withdrawStake(address)":{"notice":"Withdraw from the (unlocked) stake. Must first call unlockStake and wait for the unstakeDelay to pass."},"withdrawTo(address,uint256)":{"notice":"Withdraw from the deposit."}},"version":1}},"settings":{"remappings":["@account-abstraction-v6/=lib/account-abstraction-v6/contracts/","@account-abstraction-v7/=lib/account-abstraction-v7/contracts/","@account-abstraction-v8/=lib/account-abstraction-v8/contracts/","@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.0.2/contracts/","@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/","@test-utils/=lib/singleton-paymaster/test/utils/","account-abstraction-v6/=lib/account-abstraction-v6/contracts/","account-abstraction-v7/=lib/account-abstraction-v7/contracts/","account-abstraction-v8/=lib/account-abstraction-v8/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/","openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","singleton-paymaster/=lib/singleton-paymaster/src/","solady/=lib/solady/src/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol":"IStakeManager"},"evmVersion":"london","libraries":{},"viaIR":true},"sources":{"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol":{"keccak256":"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04","urls":["bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00","dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj"],"license":"GPL-3.0-only"}},"version":1},"id":15}
@@ -1 +1 @@
1
- {"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212207e3a20a887d85b70c33b63543c265eaf9dd442c08742f6a74867b7ab3060ee2064736f6c634300081c0033","sourceMap":"203:1839:17:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea26469706673582212207e3a20a887d85b70c33b63543c265eaf9dd442c08742f6a74867b7ab3060ee2064736f6c634300081c0033","sourceMap":"203:1839:17:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Utility functions helpful when making different kinds of contract calls in Solidity.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/account-abstraction-v7/contracts/utils/Exec.sol\":\"Exec\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":@account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":@account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.1.0/contracts/\",\":@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/\",\":@test-utils/=lib/singleton-paymaster/test/utils/\",\":account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":singleton-paymaster/=lib/singleton-paymaster/src/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"lib/account-abstraction-v7/contracts/utils/Exec.sol\":{\"keccak256\":\"0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77\",\"dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@account-abstraction-v6/=lib/account-abstraction-v6/contracts/","@account-abstraction-v7/=lib/account-abstraction-v7/contracts/","@account-abstraction-v8/=lib/account-abstraction-v8/contracts/","@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.1.0/contracts/","@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/","@test-utils/=lib/singleton-paymaster/test/utils/","account-abstraction-v6/=lib/account-abstraction-v6/contracts/","account-abstraction-v7/=lib/account-abstraction-v7/contracts/","account-abstraction-v8/=lib/account-abstraction-v8/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/","openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","singleton-paymaster/=lib/singleton-paymaster/src/","solady/=lib/solady/src/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/account-abstraction-v7/contracts/utils/Exec.sol":"Exec"},"evmVersion":"london","libraries":{},"viaIR":true},"sources":{"lib/account-abstraction-v7/contracts/utils/Exec.sol":{"keccak256":"0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74","urls":["bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77","dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ"],"license":"LGPL-3.0-only"}},"version":1},"id":17}
1
+ {"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122069132565ae7fafed17fffe670e2ae413e82b0cdeecced2d9a9ffb3d88d85d0fa64736f6c634300081c0033","sourceMap":"203:1839:17:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea264697066735822122069132565ae7fafed17fffe670e2ae413e82b0cdeecced2d9a9ffb3d88d85d0fa64736f6c634300081c0033","sourceMap":"203:1839:17:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Utility functions helpful when making different kinds of contract calls in Solidity.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/account-abstraction-v7/contracts/utils/Exec.sol\":\"Exec\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":@account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":@account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.0.2/contracts/\",\":@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/\",\":@test-utils/=lib/singleton-paymaster/test/utils/\",\":account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":singleton-paymaster/=lib/singleton-paymaster/src/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"lib/account-abstraction-v7/contracts/utils/Exec.sol\":{\"keccak256\":\"0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77\",\"dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@account-abstraction-v6/=lib/account-abstraction-v6/contracts/","@account-abstraction-v7/=lib/account-abstraction-v7/contracts/","@account-abstraction-v8/=lib/account-abstraction-v8/contracts/","@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.0.2/contracts/","@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/","@test-utils/=lib/singleton-paymaster/test/utils/","account-abstraction-v6/=lib/account-abstraction-v6/contracts/","account-abstraction-v7/=lib/account-abstraction-v7/contracts/","account-abstraction-v8/=lib/account-abstraction-v8/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/","openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","singleton-paymaster/=lib/singleton-paymaster/src/","solady/=lib/solady/src/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/account-abstraction-v7/contracts/utils/Exec.sol":"Exec"},"evmVersion":"london","libraries":{},"viaIR":true},"sources":{"lib/account-abstraction-v7/contracts/utils/Exec.sol":{"keccak256":"0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74","urls":["bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77","dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ"],"license":"LGPL-3.0-only"}},"version":1},"id":17}
@@ -1 +1 @@
1
- {"abi":[],"bytecode":{"object":"0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220151710917bf4633d71f41852fd095ba20d1b2330a5a9bd3e87eb3f0f3a44d74064736f6c634300081c0033","sourceMap":"1407:2774:17:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x5f80fdfea2646970667358221220151710917bf4633d71f41852fd095ba20d1b2330a5a9bd3e87eb3f0f3a44d74064736f6c634300081c0033","sourceMap":"1407:2774:17:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for reading and writing primitive types to specific storage slots. Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts. This library helps with reading and writing to such slots without the need for inline assembly. The functions in this library return Slot structs that contain a `value` member that can be used to read or write. Example usage to set ERC-1967 implementation slot: ```solidity contract ERC1967 { // Define the slot. Alternatively, use the SlotDerivation library to derive the slot. bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; function _getImplementation() internal view returns (address) { return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value; } function _setImplementation(address newImplementation) internal { require(newImplementation.code.length > 0); StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation; } } ``` TIP: Consider using this library along with {SlotDerivation}.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol\":\"StorageSlot\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":@account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":@account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.1.0/contracts/\",\":@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/\",\":@test-utils/=lib/singleton-paymaster/test/utils/\",\":account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":singleton-paymaster/=lib/singleton-paymaster/src/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@account-abstraction-v6/=lib/account-abstraction-v6/contracts/","@account-abstraction-v7/=lib/account-abstraction-v7/contracts/","@account-abstraction-v8/=lib/account-abstraction-v8/contracts/","@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.1.0/contracts/","@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/","@test-utils/=lib/singleton-paymaster/test/utils/","account-abstraction-v6/=lib/account-abstraction-v6/contracts/","account-abstraction-v7/=lib/account-abstraction-v7/contracts/","account-abstraction-v8/=lib/account-abstraction-v8/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/","openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","singleton-paymaster/=lib/singleton-paymaster/src/","solady/=lib/solady/src/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol":"StorageSlot"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"}},"version":1},"id":17}
1
+ {"abi":[],"bytecode":{"object":"0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220d311f5c2d4f25577f29a0e615a3ca10ecc3f0c61a9bfd6c1ba372c0d0e4085e064736f6c634300081c0033","sourceMap":"1407:2774:17:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x5f80fdfea2646970667358221220d311f5c2d4f25577f29a0e615a3ca10ecc3f0c61a9bfd6c1ba372c0d0e4085e064736f6c634300081c0033","sourceMap":"1407:2774:17:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for reading and writing primitive types to specific storage slots. Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts. This library helps with reading and writing to such slots without the need for inline assembly. The functions in this library return Slot structs that contain a `value` member that can be used to read or write. Example usage to set ERC-1967 implementation slot: ```solidity contract ERC1967 { // Define the slot. Alternatively, use the SlotDerivation library to derive the slot. bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; function _getImplementation() internal view returns (address) { return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value; } function _setImplementation(address newImplementation) internal { require(newImplementation.code.length > 0); StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation; } } ``` TIP: Consider using this library along with {SlotDerivation}.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol\":\"StorageSlot\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":@account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":@account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.0.2/contracts/\",\":@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/\",\":@test-utils/=lib/singleton-paymaster/test/utils/\",\":account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":singleton-paymaster/=lib/singleton-paymaster/src/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@account-abstraction-v6/=lib/account-abstraction-v6/contracts/","@account-abstraction-v7/=lib/account-abstraction-v7/contracts/","@account-abstraction-v8/=lib/account-abstraction-v8/contracts/","@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.0.2/contracts/","@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/","@test-utils/=lib/singleton-paymaster/test/utils/","account-abstraction-v6/=lib/account-abstraction-v6/contracts/","account-abstraction-v7/=lib/account-abstraction-v7/contracts/","account-abstraction-v8/=lib/account-abstraction-v8/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/","openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","singleton-paymaster/=lib/singleton-paymaster/src/","solady/=lib/solady/src/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol":"StorageSlot"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"}},"version":1},"id":17}
@@ -2,6 +2,38 @@ import { recoverableJsonParseWithBigint, recoverableJsonStringifyWithBigint } fr
2
2
  import Queue from "bull";
3
3
  import Redis from "ioredis";
4
4
  const getQueueName = (chainId) => `alto:mempool:restoration:${chainId}`;
5
+ // Transform SubmittedBundleInfo to a serializable format
6
+ function serializePendingBundle(bundle) {
7
+ const executorAddress = bundle.executor.address;
8
+ return {
9
+ executorAddress,
10
+ uid: bundle.uid,
11
+ transactionHash: bundle.transactionHash,
12
+ previousTransactionHashes: bundle.previousTransactionHashes,
13
+ transactionRequest: bundle.transactionRequest,
14
+ bundle: bundle.bundle,
15
+ lastReplaced: bundle.lastReplaced
16
+ };
17
+ }
18
+ // Reconstruct SubmittedBundleInfo from serialized format.
19
+ // Note: converts executorAddress to Account object from senderManager.
20
+ function deserializePendingBundle(serializedBundle, senderManager, logger) {
21
+ const allWallets = senderManager.getAllWallets();
22
+ const executor = allWallets.find((wallet) => wallet.address === serializedBundle.executorAddress);
23
+ if (!executor) {
24
+ logger.warn({ executorAddress: serializedBundle.executorAddress }, "[MEMPOOL-RESTORATION] Executor wallet not found in pool, skipping bundle");
25
+ return null;
26
+ }
27
+ return {
28
+ executor,
29
+ uid: serializedBundle.uid,
30
+ transactionHash: serializedBundle.transactionHash,
31
+ previousTransactionHashes: serializedBundle.previousTransactionHashes,
32
+ transactionRequest: serializedBundle.transactionRequest,
33
+ bundle: serializedBundle.bundle,
34
+ lastReplaced: serializedBundle.lastReplaced
35
+ };
36
+ }
5
37
  async function dropAllOperationsOnShutdown({ config, mempool, logger }) {
6
38
  await Promise.all(config.entrypoints.map(async (entryPoint) => {
7
39
  try {
@@ -68,12 +100,14 @@ export async function persistShutdownState({ mempool, bundleManager, statusManag
68
100
  if (totalOutstanding > 0 ||
69
101
  pendingBundles.length > 0 ||
70
102
  userOpStatus.length > 0) {
103
+ // Transform pendingBundles to serialized format.
104
+ const serializedPendingBundles = pendingBundles.map(serializePendingBundle);
71
105
  await restorationQueue.add({
72
106
  type: "MEMPOOL_DATA",
73
107
  chainId: config.publicClient.chain.id,
74
108
  data: recoverableJsonStringifyWithBigint({
75
109
  entrypointData,
76
- pendingBundles,
110
+ pendingBundles: serializedPendingBundles,
77
111
  userOpStatus
78
112
  }),
79
113
  timestamp: Date.now()
@@ -183,8 +217,13 @@ export async function restoreShutdownState({ mempool, bundleManager, statusManag
183
217
  });
184
218
  }
185
219
  }
186
- // Restore global pending bundles.
187
- for (const submittedBundle of data.pendingBundles) {
220
+ // Restore global pending bundles
221
+ for (const serializedBundle of data.pendingBundles) {
222
+ const submittedBundle = deserializePendingBundle(serializedBundle, senderManager, logger);
223
+ if (!submittedBundle) {
224
+ // Wallet not found, already logged in deserializePendingBundle
225
+ continue;
226
+ }
188
227
  bundleManager.trackBundle(submittedBundle);
189
228
  if (senderManager.lockWallet) {
190
229
  senderManager.lockWallet(submittedBundle.executor);
@@ -1 +1 @@
1
- {"version":3,"file":"shutDown.js","sourceRoot":"","sources":["../../cli/shutDown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shutDown.js","sourceRoot":"","sources":["../../cli/shutDown.ts"],"names":[],"mappings":"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"}