{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"entryPointAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"JustanAccountFactory_AlreadyDeployed","type":"error"},{"inputs":[],"name":"JustanAccountFactory_OwnerRequired","type":"error"},{"inputs":[{"internalType":"bytes[]","name":"owners","type":"bytes[]"},{"internalType":"uint256","name":"nonce","type":"uint256"}],"name":"createAccount","outputs":[{"internalType":"contract JustanAccount","name":"account","type":"address"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes[]","name":"owners","type":"bytes[]"},{"internalType":"uint256","name":"nonce","type":"uint256"}],"name":"getAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initCodeHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"entryPointAddress":"The address of the entry point contract."}},"createAccount(bytes[],uint256)":{"details":"Deployed as a minimal clone of `this.implementation`.","params":{"nonce":"The nonce of the account, a caller defined value which allows multiple accounts              with the same `owners` to exist at different addresses.","owners":"Array of initial owners. Each item should be an ABI encoded address or 64 byte public key."},"returns":{"account":"The address of the minimal clone created with inputs `owners`, `nonce`, and                 `this.implementation`."}},"getAddress(bytes[],uint256)":{"params":{"nonce":"The nonce provided to `createAccount()`.","owners":"Array of initial owners. Each item should be an ABI encoded address or 64 byte public key."},"returns":{"_0":"The predicted account deployment address."}},"getImplementation()":{"returns":{"_0":"The address of the JustanAccount implementation contract."}},"initCodeHash()":{"returns":{"_0":"The initialization code hash."}}},"version":1},"userdoc":{"errors":{"JustanAccountFactory_AlreadyDeployed()":[{"notice":"Thrown if account already deployed."}],"JustanAccountFactory_OwnerRequired()":[{"notice":"Thrown when trying to create a new account without any owner."}]},"kind":"user","methods":{"constructor":{"notice":"Factory constructor that deploys the JustanAccount implementation."},"createAccount(bytes[],uint256)":{"notice":"Creates and returns a new JustanAccount with the given `owners` and `nonce`.         Reverts if an account with these parameters already exists."},"getAddress(bytes[],uint256)":{"notice":"Returns the deterministic address of the account that would be created by `createAccount`."},"getImplementation()":{"notice":"Returns the implementation address used for new account deployments."},"initCodeHash()":{"notice":"Returns the initialization code hash of the account:         a minimal clone (EIP-1167) of `this.implementation`."}},"version":1}},"settings":{"compilationTarget":{"src/JustanAccountFactory.sol":"JustanAccountFactory"},"evmVersion":"prague","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":true,"runs":20000},"remappings":[":@account-abstraction/=lib/account-abstraction/contracts/",":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",":@solady/=lib/solady/src/",":FreshCryptoLib/=lib/FreshCryptoLib/solidity/src/",":account-abstraction/=lib/account-abstraction/contracts/",":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",":forge-std/=lib/forge-std/src/",":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/",":openzeppelin-contracts/=lib/openzeppelin-contracts/",":safe-singleton-deployer-sol/=lib/safe-singleton-deployer-sol/",":solady/=lib/solady/src/"]},"sources":{"lib/account-abstraction/contracts/core/BaseAccount.sol":{"keccak256":"0x071e38cf697bedbfe021955879277620ff763ecca1a1143ce14792e8c86c6d94","license":"MIT","urls":["bzz-raw://1d55468ffadcec140a1dc853fac153de985d7335655e70935b9d28e148a495ab","dweb:/ipfs/QmXMPLx92TLCDRtNTdmTLSWBNbPVmSGeN9im2zsK9P9p4R"]},"lib/account-abstraction/contracts/core/Eip7702Support.sol":{"keccak256":"0x8e22fc49f3ec8dadd4ec6f6829485d3d301afced9e73da1012e903d4221d715d","license":"MIT","urls":["bzz-raw://85c21152f6f1e1754dbae1b9fa85040d9d282a8badd848765845a71acf3bbd99","dweb:/ipfs/QmdNZSjrtoV4RM6fuKKUQU73AYzALsaBwY2tz2Lxz4mNaS"]},"lib/account-abstraction/contracts/core/Helpers.sol":{"keccak256":"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e","license":"MIT","urls":["bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f","dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f"]},"lib/account-abstraction/contracts/core/UserOperationLib.sol":{"keccak256":"0x2d3450fa3906422b6fdbbe7f2a2a9e36d6f3751bfa9cd80af88befd6a5be78c1","license":"MIT","urls":["bzz-raw://292a0ef5295d7f2016e99d2c228958f7f6de94f5bd9652d8696af15af0094a99","dweb:/ipfs/QmVg4fhkZbUB7AopGcaVPmTdvChq7W9ga8fjrc3XaJNTM2"]},"lib/account-abstraction/contracts/interfaces/IAccount.sol":{"keccak256":"0x1030b464b49ce80da46b5b6c9af357c2d526f308de61391db6a4ec767d33b864","license":"MIT","urls":["bzz-raw://671945f8e18e7305797312b5a209506be3c9bd1d9b9b561c1e8863bccfa61319","dweb:/ipfs/QmVanLK5Aenrb7J94doiE1C9oHwo86jvv8NrpDeNHwvnii"]},"lib/account-abstraction/contracts/interfaces/IAggregator.sol":{"keccak256":"0xdf580eafa015b81bde436d6a5468cc92b531ada84007cef885e923f6dfc5e8bf","license":"MIT","urls":["bzz-raw://99f0060626568619ac94d750eb4c0888d92ca5775a6bd957fef9847843835b77","dweb:/ipfs/QmXJer3D9sTkEj3mmUDqpdqfGpe46Rn9G22nGrfZdP2wAT"]},"lib/account-abstraction/contracts/interfaces/IEntryPoint.sol":{"keccak256":"0x3b0423737e810dd886183ed32cfed9b45edd315f5fb3e1076fc19f86791adc64","license":"MIT","urls":["bzz-raw://c43081efaa2eda581b6249053281bb58cb0c4eeb6bf87efc55d95daaec2fc931","dweb:/ipfs/QmXRN2JnyzWZNeFMHauTnDuc7jhxGY4ZkY37HTtjXKdC87"]},"lib/account-abstraction/contracts/interfaces/INonceManager.sol":{"keccak256":"0xee493ae200b8c675bdc0da66f7ac6bb883ecea33672d7d0a95526b9eecdedf87","license":"MIT","urls":["bzz-raw://979784a0333ac4ef3cc53ab9323a4b7fa574d929bd511f0eed03d3b0370db22d","dweb:/ipfs/QmeiciN5gs4upM6vfKvrRxWiDBUzMU4uJQRRkJajhim9gX"]},"lib/account-abstraction/contracts/interfaces/ISenderCreator.sol":{"keccak256":"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4","license":"MIT","urls":["bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570","dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w"]},"lib/account-abstraction/contracts/interfaces/IStakeManager.sol":{"keccak256":"0xe48e904fcac02295aad07fbfa1c1d449a74bf44c04e432afef6f34d1ef726ae0","license":"MIT","urls":["bzz-raw://5882b635ea6f5da9ae411485975888431de571f85d4baf35e3db1a83c1f14b85","dweb:/ipfs/QmVSTX36Byr48y8JBmz1hCTGAAyQdTYegQbsSqdRNuSQYz"]},"lib/account-abstraction/contracts/interfaces/PackedUserOperation.sol":{"keccak256":"0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800","license":"MIT","urls":["bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79","dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK"]},"lib/account-abstraction/contracts/utils/Exec.sol":{"keccak256":"0x9c724ee22011193ea7f92d3c3c467ee6aa27139d3ddc225c7f1254d241e6ccdd","license":"MIT","urls":["bzz-raw://96cc246fe944a212cbb9ba82065b2d380ec80954fcdb5d8d982b476bd5b72868","dweb:/ipfs/QmZ25eFixEhukbfWGz5TBjsp7YohxUqD5i2rxhaghfvHt8"]},"lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol":{"keccak256":"0x4aaaf1c0737dd16e81f0d2b9833c549747a5ede6873bf1444bc72aa572d03e98","license":"MIT","urls":["bzz-raw://eada27d7668eebaea16c3b890aa1b38ffc53965292e26c96f7c44834623f4710","dweb:/ipfs/QmVSWuLtxyCqNbLyY89ptxkvsk4CLLKDQYigEne5Qj8k1L"]},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0x61a23d601c2ab69dd726ac55058604cbda98e1d728ba31a51c379a3f9eeea715","license":"MIT","urls":["bzz-raw://d8cbb06152d82ebdd5ba1d33454e5759492040f309a82637c7e99c948a04fa20","dweb:/ipfs/QmQQuLr6WSfLu97pMEh6XLefk99TSj9k5Qu1zXGPepwGiK"]},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xb5afb8e8eebc4d1c6404df2f5e1e6d2c3d24fd01e5dfc855314951ecfaae462d","license":"MIT","urls":["bzz-raw://78586466c424f076c6a2a551d848cfbe3f7c49e723830807598484a1047b3b34","dweb:/ipfs/Qmb717ovcFxm7qgNKEShiV6M9SPR3v1qnNpAGH84D6w29p"]},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","license":"MIT","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"]},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x44f87e91783e88415bde66f1a63f6c7f0076f2d511548820407d5c95643ac56c","license":"MIT","urls":["bzz-raw://13a51bc2b23827744dcf5bad10c69e72528cf015a6fe48c93632cdb2c0eb1251","dweb:/ipfs/QmZwPA47Yqgje1qtkdEFEja8ntTahMStYzKf5q3JRnaR7d"]},"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","license":"MIT","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"]},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","license":"MIT","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"]},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","license":"MIT","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"]},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","license":"MIT","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"]},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","license":"MIT","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"]},"lib/solady/src/accounts/ERC1271.sol":{"keccak256":"0x196fbf4f691aba451297e24974216613d1d13514f35a446662ad6b8d62f1a2fd","license":"MIT","urls":["bzz-raw://4fcf2fb41d12165cc219f737472023997b726247d7bc7f7e2b26fcf395047953","dweb:/ipfs/QmYoHCQaLtW2M4U5NpYWPsomzqABu1GFJJ71TJHf4Qm33N"]},"lib/solady/src/accounts/Receiver.sol":{"keccak256":"0xc879aa81dd5639f5fd97b31acd91658ffe33ae4b72b70ed7bd701c37addce43b","license":"MIT","urls":["bzz-raw://2e03a8d37d48644857d94f7432c1e2272bfd19649dfe80aba8f979f157f71f00","dweb:/ipfs/QmWWS34bNWhiZgLXS9gtD8N2dxreRsVXxhvQRKqd4wKUuU"]},"lib/solady/src/utils/Base64.sol":{"keccak256":"0x07dcf983a86bc961e4cc0b57a2cfc3e46b20a50fed9b2092c7497e5fe3715a93","license":"MIT","urls":["bzz-raw://65c6c0a8a29cfc5b757abe84635c83e62a177a48c2ad0be24de6b0fba1a60ea2","dweb:/ipfs/QmYuYwxHiBoUt6vaLTLbs2bZamRzqrTfA4BsNZ1TApTfrm"]},"lib/solady/src/utils/ECDSA.sol":{"keccak256":"0xcf0e0d6f9178f2a077cccbfe1e4cbdbf7e3380a9074191cdb99756c958646053","license":"MIT","urls":["bzz-raw://c8889c160364eb3985a10b8a7a8de88357a02adaf1ac100177ccbfda9f3797b7","dweb:/ipfs/QmW8w6QDxWkg44duxBAQ3gpSxGERTaPk4dvUkWAX8fQXpm"]},"lib/solady/src/utils/EIP712.sol":{"keccak256":"0xfa39c18da4521cd52058d82b97562ca593897ee93ab4824b0916e9b28f659f4e","license":"MIT","urls":["bzz-raw://ac410380a5ebfc3b260b7593cfa9d3b653492570ae925049fcd44a4a7b070e82","dweb:/ipfs/QmRRzJf4r4P8cJMhC6M8uWqKFEBoENXrfxBsAtDkzLgczH"]},"lib/solady/src/utils/LibBit.sol":{"keccak256":"0xca406ce28e3bcabdcb4e764156c040b242bfeb92bd495b54ec8e4defe0bf9aa6","license":"MIT","urls":["bzz-raw://85cceae00b3d87d2227094552ff626919cb8f2b896ff625d4ba3250871e850b8","dweb:/ipfs/QmbTeicVV4GsRKx1EKSJGSzVoZgSwNWK3RaZJpWYGoDfd2"]},"lib/solady/src/utils/LibClone.sol":{"keccak256":"0x1388494b421db04cf6f33ab69580edc5b187328688818504b87eaea9fa3c0d2c","license":"MIT","urls":["bzz-raw://8f6bf027d6fe4f102360bf7e988923f73510697a87d970b28093a0d950d9a3e5","dweb:/ipfs/QmUhdrSqiwhBp2cZPef6jcTfQ8Md3KoyfnK2ZteseAvude"]},"lib/solady/src/utils/P256.sol":{"keccak256":"0x8bd1308d2b7f60c86908d6fa2f76a81230e426c8e40966fd1d355d4357f22898","license":"MIT","urls":["bzz-raw://86ccdf58655e0d88802c2f2728193e969bb4095f3301b14c0a103050d99c9b31","dweb:/ipfs/QmNy48h3Gu37UpEijWu5TNW8bdkXcGXGcjkA7TowA195BY"]},"lib/solady/src/utils/SignatureCheckerLib.sol":{"keccak256":"0x098c7eb88b3048f227b240e0e5bf1da4a8f7622b30f6d7c06416bfcab3225e77","license":"MIT","urls":["bzz-raw://50c2766f652916c5d6433665fb1c3b2f04c3d9292a35c12e0f8d7c71dd6438cb","dweb:/ipfs/QmWTMwN2RDZUUPg7KkH1qFBjTSh84Zw8bbYwRBCQUtLN2h"]},"lib/solady/src/utils/WebAuthn.sol":{"keccak256":"0x3ec910c14349103b54e013465ede6bd4ad51e501facb5e06da8dd37fe888f9bc","license":"MIT","urls":["bzz-raw://01e02747d087615101946a9bcb2e1ec527c010874690a5e5d6c9f183a143b78f","dweb:/ipfs/QmQTtp7g53iECUg7afEUhekNPY5GbLkJSrLNLRZ5fEVsbJ"]},"src/JustanAccount.sol":{"keccak256":"0x962ba1923097b2f8c493e85fd3456bff0cf5c0e74037d349583e3befab9ea5c3","license":"MIT","urls":["bzz-raw://ec0e9fb7ccdd1366ad335033bbd3442244875a71eba70fc674b81440b0ba87bd","dweb:/ipfs/Qmew7wg25JMjV69ao7xkDf34aSCEXToiESrhRzfQxuq4Kp"]},"src/JustanAccountFactory.sol":{"keccak256":"0x04769c99ca0d4f57c286a6777a5fc4cbed2e6856b3f99a7df74337541ac914fc","license":"MIT","urls":["bzz-raw://5c365415c64fe0f4b13a265c5bb379aa42c71344acb54fe40ae449caeb6fd3aa","dweb:/ipfs/QmXwAC4swo6ExGZdFaiMGKS2zmBZXZ8w5GqNpjMPuJqET5"]},"src/MultiOwnable.sol":{"keccak256":"0x18b23d99b1252cbbc51be2b92f0c8a13b4aee5a9e1daaaa73867961478b3f925","license":"MIT","urls":["bzz-raw://f917a6391b017617cfc7acdd283901e22797fe0999e9dedf673e75558cb3bbac","dweb:/ipfs/QmcJj7uxAkJEMF5pKe9otzYxiC4fjS3NUPHtakWbQQDBKh"]}},"version":1}