-
Notifications
You must be signed in to change notification settings - Fork 396
Expand file tree
/
Copy pathAggregationModePaymentService.json
More file actions
1 lines (1 loc) · 70.1 KB
/
AggregationModePaymentService.json
File metadata and controls
1 lines (1 loc) · 70.1 KB
1
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"addArbitraryExpirationSubscriptions","inputs":[{"name":"addressesToAdd","type":"address[]","internalType":"address[]"},{"name":"expirationTimestamp","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"amountToPayInWei","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_paymentFundsRecipient","type":"address","internalType":"address"},{"name":"_amountToPayInWei","type":"uint256","internalType":"uint256"},{"name":"_paymentExpirationTimeSeconds","type":"uint256","internalType":"uint256"},{"name":"_subscriptionLimit","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"monthlySubscriptionsAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"paymentExpirationTimeSeconds","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"paymentFundsRecipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resetSubscriptions","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setAmountToPay","inputs":[{"name":"newAmountToPay","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFundsRecipientAddress","inputs":[{"name":"newRecipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPaymentExpirationTimeSeconds","inputs":[{"name":"newExpirationTimeInSeconds","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSubscriptionLimit","inputs":[{"name":"newSubscriptionLimit","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"subscribedAddresses","inputs":[{"name":"subscriber","type":"address","internalType":"address"}],"outputs":[{"name":"expirationTime","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"subscriptionLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"withdraw","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AmountToPayUpdated","inputs":[{"name":"newAmountToPay","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"FundsRecipientUpdated","inputs":[{"name":"newFundsRecipient","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"FundsWithdrawn","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PaymentExpirationTimeUpdated","inputs":[{"name":"newExpirationTime","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SubscriptionLimitUpdated","inputs":[{"name":"newSubscriptionLimit","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UserPayment","inputs":[{"name":"user","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"from","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"until","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"InvalidDepositAmount","inputs":[{"name":"amountReceived","type":"uint256","internalType":"uint256"},{"name":"amountRequired","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SubscriptionLimitReached","inputs":[{"name":"subscriptionLimit","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SubscriptionNotExpired","inputs":[{"name":"expiration","type":"uint256","internalType":"uint256"},{"name":"currentTime","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60a080604052346100da57306080525f549060ff8260081c16610088575060ff8082161061004e575b6040516112f390816100df82396080518181816106d1015281816107f60152610bc30152f35b60ff90811916175f557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a15f610028565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b5f80fdfe6080806040526004361015610102575b50361561001a575f80fd5b60ca548034106100ec5760cd5460cc548091146100da57335f5260ce60205260405f205480155f1461009d575061005360c95442611085565b335f5260ce60205260405f20555b61006d60c95442611085565b60405133815242907fae0c3561e5a1a183e6aeb9ef02c8489556e1b2634902c75436b2caf525dbac8360203492a4005b428111156100c457506100b260c95442611085565b335f5260ce60205260405f2055610061565b63390b03ff60e01b5f526004524260245260445ffd5b63dd6af2ad60e01b5f5260045260245ffd5b635136402d60e01b5f523460045260245260445ffd5b5f3560e01c90816307f56ad414610f55575080631611085b14610f0f5780631c261bf114610ec95780632c42a9dd14610ea15780633659cfe614610ba557806337461ecf14610b5f5780633ccfd60b14610ad95780634f1ef2861461078157806352d1902d146106bf5780635683c320146106a2578063670f9d151461063c578063715018a6146105e157806372c139d9146105a9578063869254761461058c5780638da5cb5b146105645780639d32b23e14610448578063a4ece8751461042b578063d13f90b41461029b578063d79b240f1461027d5763f2fde38b146101ea575f61000f565b3461027957602036600319011261027957610203610f6f565b61020b6110a6565b6001600160a01b0381161561022557610223906110fe565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5f80fd5b34610279575f366003190112610279576102956110a6565b5f60cd55005b346102795760a0366003190112610279576102b4610f6f565b6024356001600160a01b03811690819003610279575f5460ff8160081c16159283809461041e575b8015610407575b156103ab5760ff1982166001175f55610334918461039a575b5061031660ff5f5460081c1661031181611146565b611146565b61031f336110fe565b61032f60ff5f5460081c16611146565b6110fe565b60643560c95560443560ca556bffffffffffffffffffffffff60a01b60cb54161760cb5560843560cc5561036457005b61ff00195f54165f557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b61ffff1916610101175f55846102fc565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156102e35750600160ff8316146102e3565b50600160ff8316106102dc565b34610279575f36600319011261027957602060cc54604051908152f35b346102795760403660031901126102795760043567ffffffffffffffff811161027957366023820112156102795780600401359067ffffffffffffffff8211610550578160051b90604051926104a16020840185610f85565b8352602460208401928201019036821161027957602401915b81831061053057836024356104cd6110a6565b5f5b825181101561022357600190818060a01b0360208260051b86010151165f5260ce6020528260405f20558260ca54604051903382527fae0c3561e5a1a183e6aeb9ef02c8489556e1b2634902c75436b2caf525dbac8360204293a4016104cf565b82356001600160a01b0381168103610279578152602092830192016104ba565b634e487b7160e01b5f52604160045260245ffd5b34610279575f366003190112610279576033546040516001600160a01b039091168152602090f35b34610279575f36600319011261027957602060c954604051908152f35b34610279576020366003190112610279576001600160a01b036105ca610f6f565b165f5260ce602052602060405f2054604051908152f35b34610279575f366003190112610279576105f96110a6565b603380546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461027957602036600319011261027957610655610f6f565b61065d6110a6565b60cb80546001600160a01b0319166001600160a01b039290921691821790557f4e533b7e865617bea5475b0e1b68fa93f7d181a40030988af1e239645a8d0a7c5f80a2005b34610279575f36600319011261027957602060cd54604051908152f35b34610279575f366003190112610279577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036107165760206040515f51602061129e5f395f51905f528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b604036600319011261027957610795610f6f565b60243567ffffffffffffffff811161027957366023820112156102795780600401356107c081610fa7565b906107ce6040519283610f85565b8082526020820192366024838301011161027957815f926024602093018637830101526108487f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661082a30821415610fc3565b5f51602061129e5f395f51905f52546001600160a01b031614611024565b6108506110a6565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610885575050610223906111a6565b6040516352d1902d60e01b81526001600160a01b03841690602081600481855afa5f9181610aa5575b5061090f5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b5f51602061129e5f395f51905f5203610a4e5761092b846111a6565b604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115801590610a46575b61096457005b833b156109f55750610223925f92839251915af43d156109ee573d61098881610fa7565b906109966040519283610f85565b81523d5f602083013e5b604051916109af606084610f85565b602783527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020840152660819985a5b195960ca1b6040840152611242565b60606109a0565b62461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608490fd5b50600161095e565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091506020813d602011610ad1575b81610ac160209383610f85565b81010312610279575190866108ae565b3d9150610ab4565b34610279575f36600319011261027957610af16110a6565b475f8080808460018060a01b0360cb5416828215610b56575bf115610b4b5760cb546040519182526001600160a01b0316907feaff4b37086828766ad3268786972c0cd24259d4c87a80f9d3963a3c3d999b0d90602090a2005b6040513d5f823e3d90fd5b506108fc610b0a565b3461027957602036600319011261027957600435610b7b6110a6565b8060cc557f91f9b0f24d54670cbce6bd26d5cbd4350708dd250e48c0aebec6836ffc3effbc5f80a2005b3461027957602036600319011261027957610bbe610f6f565b610bf77f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661082a30821415610fc3565b610bff6110a6565b602090604051610c0f8382610f85565b5f815282810190601f1984013683377f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610c5457505061022391506111a6565b6040516352d1902d60e01b81526001600160a01b038416908581600481855afa5f9181610e72575b50610cdd5760405162461bcd60e51b815260048101879052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b5f51602061129e5f395f51905f5203610e1b57610cf9846111a6565b604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115801590610e14575b610d3257005b833b15610dc3575061022393925f92839251915af43d15610dbb573d90610d5882610fa7565b91610d666040519384610f85565b82523d5f8484013e5b7f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60405193610d9f606086610f85565b60278552840152660819985a5b195960ca1b6040840152611242565b606090610d6f565b62461bcd60e51b815260048101859052602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608490fd5b505f610d2c565b60405162461bcd60e51b815260048101869052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d8311610e9a575b610e8a8183610f85565b8101031261027957519087610c7c565b503d610e80565b34610279575f3660031901126102795760cb546040516001600160a01b039091168152602090f35b3461027957602036600319011261027957600435610ee56110a6565b8060c9557f4a4b636a4abaf3e0b183c20a0d7251aabad6770002f7a7318b32d8e4edbf9ff15f80a2005b3461027957602036600319011261027957600435610f2b6110a6565b8060ca557fa140f7e4754698624a3c99a34262d1d1633c4bcf3c050e414d8b19d5e6de27aa5f80a2005b34610279575f3660031901126102795760209060ca548152f35b600435906001600160a01b038216820361027957565b90601f8019910116810190811067ffffffffffffffff82111761055057604052565b67ffffffffffffffff811161055057601f01601f191660200190565b15610fca57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561102b57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b9190820180921161109257565b634e487b7160e01b5f52601160045260245ffd5b6033546001600160a01b031633036110ba57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b1561114d57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b803b156111e75760018060a01b03166bffffffffffffffffffffffff60a01b5f51602061129e5f395f51905f525416175f51602061129e5f395f51905f5255565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9091901561124e575090565b81511561125e5750805190602001fd5b604460209160405192839162461bcd60e51b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212201bf842e393724d09eac6e84f0a42010faf17cb865f35b5eea91c48206763962d64736f6c634300081b0033","sourceMap":"514:8292:9:-:0;;;;;;;1332:4:5;1324:13;;5456::4;514:8292:9;;;;;;;;;;;;;;5527:30:4;5523:138;;-1:-1:-1;514:8292:9;;;;;;;;1324:13:5;514:8292:9;;;;;;;;;;;;;;;;5523:138:4;514:8292:9;;;;;;5456:13:4;514:8292:9;5622:28:4;514:8292:9;;;;;;5622:28:4;5523:138;;;514:8292:9;-1:-1:-1;;;514:8292:9;;;;;;;;;;;;;;;;;-1:-1:-1;;;514:8292:9;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610102575b50361561001a575f80fd5b60ca548034106100ec5760cd5460cc548091146100da57335f5260ce60205260405f205480155f1461009d575061005360c95442611085565b335f5260ce60205260405f20555b61006d60c95442611085565b60405133815242907fae0c3561e5a1a183e6aeb9ef02c8489556e1b2634902c75436b2caf525dbac8360203492a4005b428111156100c457506100b260c95442611085565b335f5260ce60205260405f2055610061565b63390b03ff60e01b5f526004524260245260445ffd5b63dd6af2ad60e01b5f5260045260245ffd5b635136402d60e01b5f523460045260245260445ffd5b5f3560e01c90816307f56ad414610f55575080631611085b14610f0f5780631c261bf114610ec95780632c42a9dd14610ea15780633659cfe614610ba557806337461ecf14610b5f5780633ccfd60b14610ad95780634f1ef2861461078157806352d1902d146106bf5780635683c320146106a2578063670f9d151461063c578063715018a6146105e157806372c139d9146105a9578063869254761461058c5780638da5cb5b146105645780639d32b23e14610448578063a4ece8751461042b578063d13f90b41461029b578063d79b240f1461027d5763f2fde38b146101ea575f61000f565b3461027957602036600319011261027957610203610f6f565b61020b6110a6565b6001600160a01b0381161561022557610223906110fe565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5f80fd5b34610279575f366003190112610279576102956110a6565b5f60cd55005b346102795760a0366003190112610279576102b4610f6f565b6024356001600160a01b03811690819003610279575f5460ff8160081c16159283809461041e575b8015610407575b156103ab5760ff1982166001175f55610334918461039a575b5061031660ff5f5460081c1661031181611146565b611146565b61031f336110fe565b61032f60ff5f5460081c16611146565b6110fe565b60643560c95560443560ca556bffffffffffffffffffffffff60a01b60cb54161760cb5560843560cc5561036457005b61ff00195f54165f557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b61ffff1916610101175f55846102fc565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156102e35750600160ff8316146102e3565b50600160ff8316106102dc565b34610279575f36600319011261027957602060cc54604051908152f35b346102795760403660031901126102795760043567ffffffffffffffff811161027957366023820112156102795780600401359067ffffffffffffffff8211610550578160051b90604051926104a16020840185610f85565b8352602460208401928201019036821161027957602401915b81831061053057836024356104cd6110a6565b5f5b825181101561022357600190818060a01b0360208260051b86010151165f5260ce6020528260405f20558260ca54604051903382527fae0c3561e5a1a183e6aeb9ef02c8489556e1b2634902c75436b2caf525dbac8360204293a4016104cf565b82356001600160a01b0381168103610279578152602092830192016104ba565b634e487b7160e01b5f52604160045260245ffd5b34610279575f366003190112610279576033546040516001600160a01b039091168152602090f35b34610279575f36600319011261027957602060c954604051908152f35b34610279576020366003190112610279576001600160a01b036105ca610f6f565b165f5260ce602052602060405f2054604051908152f35b34610279575f366003190112610279576105f96110a6565b603380546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461027957602036600319011261027957610655610f6f565b61065d6110a6565b60cb80546001600160a01b0319166001600160a01b039290921691821790557f4e533b7e865617bea5475b0e1b68fa93f7d181a40030988af1e239645a8d0a7c5f80a2005b34610279575f36600319011261027957602060cd54604051908152f35b34610279575f366003190112610279577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036107165760206040515f51602061129e5f395f51905f528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b604036600319011261027957610795610f6f565b60243567ffffffffffffffff811161027957366023820112156102795780600401356107c081610fa7565b906107ce6040519283610f85565b8082526020820192366024838301011161027957815f926024602093018637830101526108487f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661082a30821415610fc3565b5f51602061129e5f395f51905f52546001600160a01b031614611024565b6108506110a6565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610885575050610223906111a6565b6040516352d1902d60e01b81526001600160a01b03841690602081600481855afa5f9181610aa5575b5061090f5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b5f51602061129e5f395f51905f5203610a4e5761092b846111a6565b604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115801590610a46575b61096457005b833b156109f55750610223925f92839251915af43d156109ee573d61098881610fa7565b906109966040519283610f85565b81523d5f602083013e5b604051916109af606084610f85565b602783527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020840152660819985a5b195960ca1b6040840152611242565b60606109a0565b62461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608490fd5b50600161095e565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091506020813d602011610ad1575b81610ac160209383610f85565b81010312610279575190866108ae565b3d9150610ab4565b34610279575f36600319011261027957610af16110a6565b475f8080808460018060a01b0360cb5416828215610b56575bf115610b4b5760cb546040519182526001600160a01b0316907feaff4b37086828766ad3268786972c0cd24259d4c87a80f9d3963a3c3d999b0d90602090a2005b6040513d5f823e3d90fd5b506108fc610b0a565b3461027957602036600319011261027957600435610b7b6110a6565b8060cc557f91f9b0f24d54670cbce6bd26d5cbd4350708dd250e48c0aebec6836ffc3effbc5f80a2005b3461027957602036600319011261027957610bbe610f6f565b610bf77f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661082a30821415610fc3565b610bff6110a6565b602090604051610c0f8382610f85565b5f815282810190601f1984013683377f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610c5457505061022391506111a6565b6040516352d1902d60e01b81526001600160a01b038416908581600481855afa5f9181610e72575b50610cdd5760405162461bcd60e51b815260048101879052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b5f51602061129e5f395f51905f5203610e1b57610cf9846111a6565b604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115801590610e14575b610d3257005b833b15610dc3575061022393925f92839251915af43d15610dbb573d90610d5882610fa7565b91610d666040519384610f85565b82523d5f8484013e5b7f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60405193610d9f606086610f85565b60278552840152660819985a5b195960ca1b6040840152611242565b606090610d6f565b62461bcd60e51b815260048101859052602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608490fd5b505f610d2c565b60405162461bcd60e51b815260048101869052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d8311610e9a575b610e8a8183610f85565b8101031261027957519087610c7c565b503d610e80565b34610279575f3660031901126102795760cb546040516001600160a01b039091168152602090f35b3461027957602036600319011261027957600435610ee56110a6565b8060c9557f4a4b636a4abaf3e0b183c20a0d7251aabad6770002f7a7318b32d8e4edbf9ff15f80a2005b3461027957602036600319011261027957600435610f2b6110a6565b8060ca557fa140f7e4754698624a3c99a34262d1d1633c4bcf3c050e414d8b19d5e6de27aa5f80a2005b34610279575f3660031901126102795760209060ca548152f35b600435906001600160a01b038216820361027957565b90601f8019910116810190811067ffffffffffffffff82111761055057604052565b67ffffffffffffffff811161055057601f01601f191660200190565b15610fca57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561102b57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b9190820180921161109257565b634e487b7160e01b5f52601160045260245ffd5b6033546001600160a01b031633036110ba57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b1561114d57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b803b156111e75760018060a01b03166bffffffffffffffffffffffff60a01b5f51602061129e5f395f51905f525416175f51602061129e5f395f51905f5255565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9091901561124e575090565b81511561125e5750805190602001fd5b604460209160405192839162461bcd60e51b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212201bf842e393724d09eac6e84f0a42010faf17cb865f35b5eea91c48206763962d64736f6c634300081b0033","sourceMap":"514:8292:9:-:0;;;;;;;;;;-1:-1:-1;514:8292:9;;;;;;;;;7380:16;514:8292;7347:9;;7371:25;7367:109;;7490:26;514:8292;7520:17;514:8292;7490:47;;;7486:128;;7750:10;-1:-1:-1;514:8292:9;7730:19;514:8292;;;-1:-1:-1;514:8292:9;;7775:23;;7771:607;7775:23;;;514:8292;7925:46;7943:28;514:8292;7925:15;:46;:::i;:::-;7750:10;-1:-1:-1;514:8292:9;7730:19;514:8292;;;-1:-1:-1;514:8292:9;;7771:607;8442:46;8460:28;514:8292;8425:15;8442:46;:::i;:::-;514:8292;;7750:10;514:8292;;8425:15;7347:9;8393:96;514:8292;7347:9;8393:96;;514:8292;7771:607;8013:15;7992:36;;8013:15;;;514:8292;8143:46;8161:28;514:8292;8013:15;8143:46;:::i;:::-;7750:10;-1:-1:-1;514:8292:9;7730:19;514:8292;;;-1:-1:-1;514:8292:9;;7771:607;;7988:390;8308:59;;;-1:-1:-1;8308:59:9;514:8292;;8013:15;514:8292;;;-1:-1:-1;8308:59:9;7486:128;7560:43;;;-1:-1:-1;7560:43:9;514:8292;;;-1:-1:-1;7560:43:9;7367:109;7419:46;;;-1:-1:-1;7419:46:9;7347:9;514:8292;;;;;-1:-1:-1;7419:46:9;514:8292;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;514:8292:9;;;;;;:::i;:::-;1303:62:0;;:::i;:::-;-1:-1:-1;;;;;514:8292:9;;2409:22:0;514:8292:9;;2503:8:0;;;:::i;:::-;514:8292:9;;;;-1:-1:-1;;;514:8292:9;;;;;;;;;;;;;;;;;-1:-1:-1;;;514:8292:9;;;;;;;;;;;;;;;;;-1:-1:-1;;514:8292:9;;;;1303:62:0;;:::i;:::-;514:8292:9;6391:30;514:8292;;;;;;;;-1:-1:-1;;514:8292:9;;;;;;:::i;:::-;;;-1:-1:-1;;;;;514:8292:9;;;;;;;;;;;;;;;3133:14:4;;;;3179:34;;;514:8292:9;3178:108:4;;;;514:8292:9;;;;-1:-1:-1;;514:8292:9;;;;;;4195:6;;514:8292;3394:65:4;;514:8292:9;;4902:69:4;514:8292:9;;;;;;4902:69:4;;;:::i;:::-;;:::i;:::-;1195:12:0;929:10:7;1195:12:0;:::i;:::-;4902:69:4;514:8292:9;;;;;;4902:69:4;:::i;:::-;4195:6:9;:::i;:::-;514:8292;;4213:60;514:8292;;;4283:36;514:8292;;;;4329:46;514:8292;;;4329:46;514:8292;;;4385:38;514:8292;3479:99:4;;514:8292:9;3479:99:4;514:8292:9;;;;;;;3553:14:4;514:8292:9;;;;;;3553:14:4;514:8292:9;3394:65:4;-1:-1:-1;;514:8292:9;;;;;3394:65:4;;;514:8292:9;;;-1:-1:-1;;;514:8292:9;;;;;;;;;;;;;;;;;-1:-1:-1;;;514:8292:9;;;;;;;3178:108:4;3258:4;;1476:19:6;:23;3219:66:4;;3178:108;3219:66;514:8292:9;;;;;3268:17:4;3178:108;;3179:34;514:8292:9;;;;;3197:16:4;3179:34;;514:8292:9;;;;;;-1:-1:-1;;514:8292:9;;;;;1014:32;514:8292;;;;;;;;;;;;;-1:-1:-1;;514:8292:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1303:62:0;;:::i;:::-;514:8292:9;6877:3;514:8292;;6850:25;;;;;514:8292;;;;;;;;;;;;;;;;;;6951:19;514:8292;;;;;;;;7118:16;514:8292;;;7106:10;;514:8292;;7094:79;514:8292;7136:15;7094:79;;514:8292;6837:11;;514:8292;;;-1:-1:-1;;;;;514:8292:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;514:8292:9;;;;1513:6:0;514:8292:9;;;-1:-1:-1;;;;;514:8292:9;;;;;;;;;;;;;;-1:-1:-1;;514:8292:9;;;;;679:43;514:8292;;;;;;;;;;;;;-1:-1:-1;;514:8292:9;;;;-1:-1:-1;;;;;514:8292:9;;:::i;:::-;;;;1308:80;514:8292;;;;;;;;;;;;;;;;;;;-1:-1:-1;;514:8292:9;;;;1303:62:0;;:::i;:::-;2765:6;514:8292:9;;-1:-1:-1;;;;;;514:8292:9;;;;;;;-1:-1:-1;;;;;514:8292:9;2813:40:0;514:8292:9;;2813:40:0;514:8292:9;;;;;;;-1:-1:-1;;514:8292:9;;;;;;:::i;:::-;1303:62:0;;:::i;:::-;5442:36:9;514:8292;;-1:-1:-1;;;;;;514:8292:9;-1:-1:-1;;;;;514:8292:9;;;;;;;;;5494:35;-1:-1:-1;;5494:35:9;514:8292;;;;;;;-1:-1:-1;;514:8292:9;;;;;1119:41;514:8292;;;;;;;;;;;;;-1:-1:-1;;514:8292:9;;;;2333:6:5;-1:-1:-1;;;;;514:8292:9;2324:4:5;2316:23;514:8292:9;;;;;-1:-1:-1;;;;;;;;;;;514:8292:9;;;;;;-1:-1:-1;;;514:8292:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;514:8292:9;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1963:87:5;1898:6;-1:-1:-1;;;;;514:8292:9;1873:80:5;1889:4;1881:23;;;1873:80;:::i;:::-;-1:-1:-1;;;;;;;;;;;514:8292:9;-1:-1:-1;;;;;514:8292:9;1971:30:5;1963:87;:::i;:::-;1303:62:0;;:::i;:::-;951:66:2;;514:8292:9;;;;;3478:17:2;;;;;:::i;3380:526::-;514:8292:9;;-1:-1:-1;;;3531:63:2;;-1:-1:-1;;;;;514:8292:9;;;;;;;;3531:63:2;;514:8292:9;;3531:63:2;;;3380:526;-1:-1:-1;3527:302:2;;514:8292:9;;-1:-1:-1;;;3758:56:2;;514:8292:9;;3758:56:2;;951:66;;514:8292:9;951:66:2;;514:8292:9;951:66:2;514:8292:9;;;951:66:2;-1:-1:-1;;;951:66:2;;;;3758:56;;;3527:302;-1:-1:-1;;;;;;;;;;;3644:28:2;951:66;;2277:17;;;:::i;:::-;514:8292:9;;2310:27:2;;514:8292:9;2310:27:2;;514:8292:9;;2659:15:2;;;:28;;;3527:302;2655:105;;514:8292:9;2655:105:2;1476:19:6;;:23;514:8292:9;;7395:25:2;7437:99;7395:25;514:8292:9;7395:25:2;;;;;;;514:8292:9;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;514:8292:9;;;;7437:99:2;:::i;514:8292:9:-;;;;;-1:-1:-1;;;514:8292:9;;;;;;;;;;;;;;;;;-1:-1:-1;;;514:8292:9;;;;;;;2659:28:2;;3971:4:5;2659:28:2;;951:66;514:8292:9;;-1:-1:-1;;;951:66:2;;514:8292:9;;951:66:2;;;;514:8292:9;951:66:2;;514:8292:9;951:66:2;514:8292:9;;;951:66:2;-1:-1:-1;;;951:66:2;;;;;;;3531:63;;;;514:8292:9;3531:63:2;;514:8292:9;3531:63:2;;;;;;514:8292:9;3531:63:2;;;:::i;:::-;;;951:66;;;;;3531:63;;;;;;;-1:-1:-1;3531:63:2;;514:8292:9;;;;;;-1:-1:-1;;514:8292:9;;;;1303:62:0;;:::i;:::-;8657:21:9;514:8292;;;;;;;;;;8696:21;514:8292;;8688:48;;;;;514:8292;8688:48;;;;8696:21;514:8292;;;;;;-1:-1:-1;;;;;514:8292:9;;8751:46;;514:8292;;8751:46;514:8292;8688:48;514:8292;;;;;;;;;8688:48;;;;;514:8292;;;;;;-1:-1:-1;;514:8292:9;;;;;;1303:62:0;;:::i;:::-;514:8292:9;6128:40;514:8292;6184:46;514:8292;6184:46;;514:8292;;;;;;;-1:-1:-1;;514:8292:9;;;;;;:::i;:::-;1963:87:5;1898:6;-1:-1:-1;;;;;514:8292:9;1873:80:5;1889:4;1881:23;;;1873:80;:::i;1963:87::-;1303:62:0;;:::i;:::-;514:8292:9;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;514:8292:9;;;;;951:66:2;;514:8292:9;;;;;3478:17:2;;;;;;:::i;3380:526::-;514:8292:9;;-1:-1:-1;;;3531:63:2;;-1:-1:-1;;;;;514:8292:9;;;3531:63:2;514:8292:9;;;;3531:63:2;;514:8292:9;;3531:63:2;;;3380:526;-1:-1:-1;3527:302:2;;514:8292:9;;-1:-1:-1;;;3758:56:2;;514:8292:9;3758:56:2;;951:66;;;;;;;514:8292:9;951:66:2;514:8292:9;;;951:66:2;-1:-1:-1;;;951:66:2;;;;3758:56;;;3527:302;-1:-1:-1;;;;;;;;;;;3644:28:2;951:66;;2277:17;;;:::i;:::-;514:8292:9;;2310:27:2;;514:8292:9;2310:27:2;;514:8292:9;;2659:15:2;;;:28;;;3527:302;2655:105;;514:8292:9;2655:105:2;1476:19:6;;:23;514:8292:9;;7395:25:2;7437:99;7395:25;;514:8292:9;7395:25:2;;;;;;;514:8292:9;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;514:8292:9;;;;7437:99:2;:::i;514:8292:9:-;;;;;;-1:-1:-1;;;514:8292:9;;;;;;;;;;;;;;;;;;-1:-1:-1;;;514:8292:9;;;;;;;2659:28:2;;514:8292:9;2659:28:2;;951:66;514:8292:9;;-1:-1:-1;;;951:66:2;;514:8292:9;951:66:2;;;;;;;;;514:8292:9;951:66:2;514:8292:9;;;951:66:2;-1:-1:-1;;;951:66:2;;;;;;;3531:63;;;;;;;;;;;;;;;;;:::i;:::-;;;951:66;;;;;3531:63;;;;;;;;;514:8292:9;;;;;;-1:-1:-1;;514:8292:9;;;;894:36;514:8292;;;-1:-1:-1;;;;;514:8292:9;;;;;;;;;;;;;;-1:-1:-1;;514:8292:9;;;;;;1303:62:0;;:::i;:::-;514:8292:9;5047:57;514:8292;5120:56;514:8292;5120:56;;514:8292;;;;;;;-1:-1:-1;;514:8292:9;;;;;;1303:62:0;;:::i;:::-;514:8292:9;5781:33;514:8292;5830:34;514:8292;5830:34;;514:8292;;;;;;;-1:-1:-1;;514:8292:9;;;;;;790:31;514:8292;;;;;;;;-1:-1:-1;;;;;514:8292:9;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;514:8292:9;;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;514:8292:9;;;;;;;;;;;;;;;;;-1:-1:-1;;;514:8292:9;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;514:8292:9;;;;;;;;;;;;;;;;;-1:-1:-1;;;514:8292:9;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;1599:130:0;1513:6;514:8292:9;-1:-1:-1;;;;;514:8292:9;929:10:7;1662:23:0;514:8292:9;;1599:130:0:o;514:8292:9:-;;;;951:66:2;;;514:8292:9;;;;;;;;;;;;;;;;;;2673:187:0;2765:6;514:8292:9;;-1:-1:-1;;;;;514:8292:9;;;-1:-1:-1;;;;;;514:8292:9;;;;;;;;;;2813:40:0;-1:-1:-1;;2813:40:0;2673:187::o;514:8292:9:-;;;;:::o;:::-;;;-1:-1:-1;;;514:8292:9;;;;;;;;;;;;;;;;;-1:-1:-1;;;514:8292:9;;;;;;;1805:281:2;1476:19:6;;:23;514:8292:9;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;514:8292:9;;;-1:-1:-1;;;;;;;;;;;514:8292:9;1805:281:2:o;514:8292:9:-;;;-1:-1:-1;;;514:8292:9;;;;;;;;;;;;;;;;;-1:-1:-1;;;514:8292:9;;;;;;;6622:742:6;;;;6792:566;;;6819:17;;:::o;6792:566::-;514:8292:9;;6937:21:6;:17;;7121:154;;;;;;;6933:415;514:8292:9;;;;;951:66:2;;;;;;7313:20:6;;;;;;514:8292:9;;;;;;;;;;;;;;;;6957:1:6;514:8292:9;;;;;;;;-1:-1:-1;;514:8292:9;;;7313:20:6;;;","linkReferences":{},"immutableReferences":{"702":[{"start":1745,"length":32},{"start":2038,"length":32},{"start":3011,"length":32}]}},"methodIdentifiers":{"addArbitraryExpirationSubscriptions(address[],uint256)":"9d32b23e","amountToPayInWei()":"07f56ad4","initialize(address,address,uint256,uint256,uint256)":"d13f90b4","monthlySubscriptionsAmount()":"5683c320","owner()":"8da5cb5b","paymentExpirationTimeSeconds()":"86925476","paymentFundsRecipient()":"2c42a9dd","proxiableUUID()":"52d1902d","renounceOwnership()":"715018a6","resetSubscriptions()":"d79b240f","setAmountToPay(uint256)":"1611085b","setFundsRecipientAddress(address)":"670f9d15","setPaymentExpirationTimeSeconds(uint256)":"1c261bf1","setSubscriptionLimit(uint256)":"37461ecf","subscribedAddresses(address)":"72c139d9","subscriptionLimit()":"a4ece875","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","withdraw()":"3ccfd60b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.27+commit.40a35a09\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountReceived\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountRequired\",\"type\":\"uint256\"}],\"name\":\"InvalidDepositAmount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"subscriptionLimit\",\"type\":\"uint256\"}],\"name\":\"SubscriptionLimitReached\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expiration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTime\",\"type\":\"uint256\"}],\"name\":\"SubscriptionNotExpired\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newAmountToPay\",\"type\":\"uint256\"}],\"name\":\"AmountToPayUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newFundsRecipient\",\"type\":\"address\"}],\"name\":\"FundsRecipientUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"FundsWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newExpirationTime\",\"type\":\"uint256\"}],\"name\":\"PaymentExpirationTimeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newSubscriptionLimit\",\"type\":\"uint256\"}],\"name\":\"SubscriptionLimitUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"from\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"until\",\"type\":\"uint256\"}],\"name\":\"UserPayment\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"addressesToAdd\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimestamp\",\"type\":\"uint256\"}],\"name\":\"addArbitraryExpirationSubscriptions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"amountToPayInWei\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_paymentFundsRecipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToPayInWei\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_paymentExpirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_subscriptionLimit\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"monthlySubscriptionsAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paymentExpirationTimeSeconds\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paymentFundsRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resetSubscriptions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newAmountToPay\",\"type\":\"uint256\"}],\"name\":\"setAmountToPay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newRecipient\",\"type\":\"address\"}],\"name\":\"setFundsRecipientAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newExpirationTimeInSeconds\",\"type\":\"uint256\"}],\"name\":\"setPaymentExpirationTimeSeconds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newSubscriptionLimit\",\"type\":\"uint256\"}],\"name\":\"setSubscriptionLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"subscriber\",\"type\":\"address\"}],\"name\":\"subscribedAddresses\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"expirationTime\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"subscriptionLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Aligned Layer\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"AmountToPayUpdated(uint256)\":{\"params\":{\"newAmountToPay\":\"the new amount to pay for a subscription in wei.\"}},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is upgraded.\"},\"FundsRecipientUpdated(address)\":{\"params\":{\"newFundsRecipient\":\"the new address for receiving the funds on withdrawal.\"}},\"FundsWithdrawn(address,uint256)\":{\"params\":{\"amount\":\"the amont send to the recipient address\",\"recipient\":\"the address where the funds will be sent\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PaymentExpirationTimeUpdated(uint256)\":{\"params\":{\"newExpirationTime\":\"the new expiration time in seconds\"}},\"SubscriptionLimitUpdated(uint256)\":{\"params\":{\"newSubscriptionLimit\":\"the new monthly subscription limit.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"},\"UserPayment(address,uint256,uint256,uint256)\":{\"params\":{\"amount\":\"Native token amount paid.\",\"from\":\"Timestamp when the payment was recorded.\",\"until\":\"Timestamp until when the payment is valid.\",\"user\":\"Address that sent the payment.\"}}},\"kind\":\"dev\",\"methods\":{\"addArbitraryExpirationSubscriptions(address[],uint256)\":{\"params\":{\"addressesToAdd\":\"the addresses to be subscribed\",\"expirationTimestamp\":\"the expiration timestamp (UTC seconds) for that subscriptions\"}},\"initialize(address,address,uint256,uint256,uint256)\":{\"params\":{\"_amountToPayInWei\":\"Amount to pay in wei for the subscription.\",\"_owner\":\"Address that becomes the contract owner.\",\"_paymentExpirationTimeSeconds\":\"The time in seconds that the subscription takes to expire.\",\"_paymentFundsRecipient\":\"Address that will receive the withdrawal funds.\",\"_subscriptionLimit\":\"The maximum subscribers that can be subscribed at the same time. \"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate that the this implementation remains valid after an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"setAmountToPay(uint256)\":{\"params\":{\"newAmountToPay\":\"The new amount to pay for subscription in wei.\"}},\"setFundsRecipientAddress(address)\":{\"params\":{\"newRecipient\":\"The new address for receiving the funds on withdrawal.\"}},\"setPaymentExpirationTimeSeconds(uint256)\":{\"params\":{\"newExpirationTimeInSeconds\":\"The new expiration time for the users payments in seconds.\"}},\"setSubscriptionLimit(uint256)\":{\"params\":{\"newSubscriptionLimit\":\"The new monthly subscription limit.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"title\":\"AggregationModePaymentService\",\"version\":1},\"userdoc\":{\"events\":{\"AmountToPayUpdated(uint256)\":{\"notice\":\"Event emitted when the amount to pay for subscription is updated\"},\"FundsRecipientUpdated(address)\":{\"notice\":\"Event emitted when the funds recipient is updated\"},\"FundsWithdrawn(address,uint256)\":{\"notice\":\"Event emitted when the balance is withdrawn to the recipient address\"},\"PaymentExpirationTimeUpdated(uint256)\":{\"notice\":\"Event emitted when the payment expiration time is updated\"},\"SubscriptionLimitUpdated(uint256)\":{\"notice\":\"Event emitted when the subscription limit is updated\"},\"UserPayment(address,uint256,uint256,uint256)\":{\"notice\":\"Emitted when a user deposits funds to purchase service time.\"}},\"kind\":\"user\",\"methods\":{\"addArbitraryExpirationSubscriptions(address[],uint256)\":{\"notice\":\"Adds an array of addresses to the payment map and emits the Payment event.\"},\"amountToPayInWei()\":{\"notice\":\"The amount to pay for a subscription in wei.\"},\"constructor\":{\"notice\":\"Disables initializers for the implementation contract.\"},\"initialize(address,address,uint256,uint256,uint256)\":{\"notice\":\"Initializes the contract and transfers ownership to the provided address.\"},\"monthlySubscriptionsAmount()\":{\"notice\":\"The amount of subscriptions for the current month\"},\"paymentExpirationTimeSeconds()\":{\"notice\":\"for how much time the payment is valid in seconds\"},\"paymentFundsRecipient()\":{\"notice\":\"The address where the payment funds will be sent.\"},\"resetSubscriptions()\":{\"notice\":\"Resets the monthly subscriptions mapping counter to zero.\"},\"setAmountToPay(uint256)\":{\"notice\":\"Sets the new amount to pay. Only callable by the owner\"},\"setFundsRecipientAddress(address)\":{\"notice\":\"Sets the new amount to pay. Only callable by the owner\"},\"setPaymentExpirationTimeSeconds(uint256)\":{\"notice\":\"Sets the new expiration time. Only callable by the owner\"},\"setSubscriptionLimit(uint256)\":{\"notice\":\"Sets the new subscription limit. Only callable by the owner\"},\"subscribedAddresses(address)\":{\"notice\":\"The amount of addresses currently subscribed. expirationTime is UTC seconds, to be compared against block timestamps\"},\"subscriptionLimit()\":{\"notice\":\"The limit of subscriptions for different addresses per month\"},\"withdraw()\":{\"notice\":\"Withdraws the contract balance to the recipient address.\"}},\"notice\":\"Handles deposits that grant time-limited access to aggregation services.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/core/AggregationModePaymentService.sol\":\"AggregationModePaymentService\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin-upgrades-v4.9.0/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/\",\":@openzeppelin-upgrades/contracts/=lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin-v4.9.0/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/eigenlayer-middleware/lib/openzeppelin-contracts/contracts/\",\":@risc0-contracts/=lib/risc0-ethereum/contracts/src/\",\":@sp1-contracts/=lib/sp1-contracts/contracts/src/\",\":ds-test/=lib/eigenlayer-middleware/lib/ds-test/src/\",\":eigenlayer-contracts/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/\",\":eigenlayer-core-contracts/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/\",\":eigenlayer-core/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/\",\":eigenlayer-middleware/=lib/eigenlayer-middleware/src/\",\":eigenlayer-scripts/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/risc0-ethereum/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable-v4.9.0/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts-v4.9.0/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/\",\":risc0-ethereum/=lib/risc0-ethereum/\",\":sp1-contracts/=lib/sp1-contracts/contracts/\"],\"viaIR\":true},\"sources\":{\"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x247c62047745915c0af6b955470a72d1696ebad4352d7d3011aef1a2463cd888\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7fc8396619de513c96b6e00301b88dd790e83542aab918425633a5f7297a15a\",\"dweb:/ipfs/QmXbP4kiZyp7guuS7xe8KaybnwkRPGrBc2Kbi3vhcTfpxb\"]},\"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol\":{\"keccak256\":\"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053\",\"dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79\"]},\"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol\":{\"keccak256\":\"0x315887e846f1e5f8d8fa535a229d318bb9290aaa69485117f1ee8a9a6b3be823\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://29dda00da6d269685b555e710e4abf1c3eb6d00c15b888a7880a2f8dd3c4fdc2\",\"dweb:/ipfs/QmSqcjtdECygtT1Gy7uEo42x8542srpgGEeKKHfcnQqXgn\"]},\"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol\":{\"keccak256\":\"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1\",\"dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ\"]},\"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x0203dcadc5737d9ef2c211d6fa15d18ebc3b30dfa51903b64870b01a062b0b4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6eb2fd1e9894dbe778f4b8131adecebe570689e63cf892f4e21257bfe1252497\",\"dweb:/ipfs/QmXgUGNfZvrn6N2miv3nooSs7Jm34A41qz94fu2GtDFcx8\"]},\"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x6e36e9b4b71de699c2f3f0d4e4d1aa0b35da99a26e8d5b91ef09ba234b4ef270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abfa467c53a0d60b4d09bf04aa952b1d1d44e5766fcc053aace078d7859b8419\",\"dweb:/ipfs/QmebVTZpyNxYfKYTuLMywzEJTdc1Ca8ME4xm3kR9gQgToG\"]},\"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x611aa3f23e59cfdd1863c536776407b3e33d695152a266fa7cfb34440a29a8a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b4b2110b7f2b3eb32951bc08046fa90feccffa594e1176cb91cdfb0e94726b4\",\"dweb:/ipfs/QmSxLwYjicf9zWFuieRc8WQwE4FisA1Um5jp1iSa731TGt\"]},\"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x09864aea84f01e39313375b5610c73a3c1c68abbdc51e5ccdd25ff977fdadf9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aedb48081190fa828d243529ce25c708202c7d4ccfe99f0e4ecd6bc0cfcd03f3\",\"dweb:/ipfs/QmWyiDQHPZA56iqsAwTmiJoxvNeRQLUVr4gTfzpdpXivpo\"]},\"src/core/AggregationModePaymentService.sol\":{\"keccak256\":\"0x6c2c2abeaad88bba1405340fd1f25891fe872c13608473b01f0a8d2830d4403b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://17670f5b2a6619e9616abe27e6992e9bf37c72f76e5fc4b7dd9b763e728437ea\",\"dweb:/ipfs/QmPeEiZEyjWwhmAq5nK2EdcwwTBamd1DURKPmHhqRutsJj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.27+commit.40a35a09"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"amountReceived","type":"uint256"},{"internalType":"uint256","name":"amountRequired","type":"uint256"}],"type":"error","name":"InvalidDepositAmount"},{"inputs":[{"internalType":"uint256","name":"subscriptionLimit","type":"uint256"}],"type":"error","name":"SubscriptionLimitReached"},{"inputs":[{"internalType":"uint256","name":"expiration","type":"uint256"},{"internalType":"uint256","name":"currentTime","type":"uint256"}],"type":"error","name":"SubscriptionNotExpired"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"uint256","name":"newAmountToPay","type":"uint256","indexed":true}],"type":"event","name":"AmountToPayUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"newFundsRecipient","type":"address","indexed":true}],"type":"event","name":"FundsRecipientUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"FundsWithdrawn","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"newExpirationTime","type":"uint256","indexed":true}],"type":"event","name":"PaymentExpirationTimeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"newSubscriptionLimit","type":"uint256","indexed":true}],"type":"event","name":"SubscriptionLimitUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":true},{"internalType":"uint256","name":"from","type":"uint256","indexed":true},{"internalType":"uint256","name":"until","type":"uint256","indexed":true}],"type":"event","name":"UserPayment","anonymous":false},{"inputs":[{"internalType":"address[]","name":"addressesToAdd","type":"address[]"},{"internalType":"uint256","name":"expirationTimestamp","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addArbitraryExpirationSubscriptions"},{"inputs":[],"stateMutability":"view","type":"function","name":"amountToPayInWei","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_paymentFundsRecipient","type":"address"},{"internalType":"uint256","name":"_amountToPayInWei","type":"uint256"},{"internalType":"uint256","name":"_paymentExpirationTimeSeconds","type":"uint256"},{"internalType":"uint256","name":"_subscriptionLimit","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"monthlySubscriptionsAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"paymentExpirationTimeSeconds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"paymentFundsRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"resetSubscriptions"},{"inputs":[{"internalType":"uint256","name":"newAmountToPay","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setAmountToPay"},{"inputs":[{"internalType":"address","name":"newRecipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setFundsRecipientAddress"},{"inputs":[{"internalType":"uint256","name":"newExpirationTimeInSeconds","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setPaymentExpirationTimeSeconds"},{"inputs":[{"internalType":"uint256","name":"newSubscriptionLimit","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setSubscriptionLimit"},{"inputs":[{"internalType":"address","name":"subscriber","type":"address"}],"stateMutability":"view","type":"function","name":"subscribedAddresses","outputs":[{"internalType":"uint256","name":"expirationTime","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"subscriptionLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"withdraw"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"addArbitraryExpirationSubscriptions(address[],uint256)":{"params":{"addressesToAdd":"the addresses to be subscribed","expirationTimestamp":"the expiration timestamp (UTC seconds) for that subscriptions"}},"initialize(address,address,uint256,uint256,uint256)":{"params":{"_amountToPayInWei":"Amount to pay in wei for the subscription.","_owner":"Address that becomes the contract owner.","_paymentExpirationTimeSeconds":"The time in seconds that the subscription takes to expire.","_paymentFundsRecipient":"Address that will receive the withdrawal funds.","_subscriptionLimit":"The maximum subscribers that can be subscribed at the same time. "}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate that the this implementation remains valid after an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner."},"setAmountToPay(uint256)":{"params":{"newAmountToPay":"The new amount to pay for subscription in wei."}},"setFundsRecipientAddress(address)":{"params":{"newRecipient":"The new address for receiving the funds on withdrawal."}},"setPaymentExpirationTimeSeconds(uint256)":{"params":{"newExpirationTimeInSeconds":"The new expiration time for the users payments in seconds."}},"setSubscriptionLimit(uint256)":{"params":{"newSubscriptionLimit":"The new monthly subscription limit."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"addArbitraryExpirationSubscriptions(address[],uint256)":{"notice":"Adds an array of addresses to the payment map and emits the Payment event."},"amountToPayInWei()":{"notice":"The amount to pay for a subscription in wei."},"constructor":{"notice":"Disables initializers for the implementation contract."},"initialize(address,address,uint256,uint256,uint256)":{"notice":"Initializes the contract and transfers ownership to the provided address."},"monthlySubscriptionsAmount()":{"notice":"The amount of subscriptions for the current month"},"paymentExpirationTimeSeconds()":{"notice":"for how much time the payment is valid in seconds"},"paymentFundsRecipient()":{"notice":"The address where the payment funds will be sent."},"resetSubscriptions()":{"notice":"Resets the monthly subscriptions mapping counter to zero."},"setAmountToPay(uint256)":{"notice":"Sets the new amount to pay. Only callable by the owner"},"setFundsRecipientAddress(address)":{"notice":"Sets the new amount to pay. Only callable by the owner"},"setPaymentExpirationTimeSeconds(uint256)":{"notice":"Sets the new expiration time. Only callable by the owner"},"setSubscriptionLimit(uint256)":{"notice":"Sets the new subscription limit. Only callable by the owner"},"subscribedAddresses(address)":{"notice":"The amount of addresses currently subscribed. expirationTime is UTC seconds, to be compared against block timestamps"},"subscriptionLimit()":{"notice":"The limit of subscriptions for different addresses per month"},"withdraw()":{"notice":"Withdraws the contract balance to the recipient address."}},"version":1}},"settings":{"remappings":["@openzeppelin-upgrades-v4.9.0/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/","@openzeppelin-upgrades/contracts/=lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin-v4.9.0/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/eigenlayer-middleware/lib/openzeppelin-contracts/contracts/","@risc0-contracts/=lib/risc0-ethereum/contracts/src/","@sp1-contracts/=lib/sp1-contracts/contracts/src/","ds-test/=lib/eigenlayer-middleware/lib/ds-test/src/","eigenlayer-contracts/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/","eigenlayer-core-contracts/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/","eigenlayer-core/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/","eigenlayer-middleware/=lib/eigenlayer-middleware/src/","eigenlayer-scripts/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/risc0-ethereum/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts-upgradeable-v4.9.0/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts-v4.9.0/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/","risc0-ethereum/=lib/risc0-ethereum/","sp1-contracts/=lib/sp1-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/core/AggregationModePaymentService.sol":"AggregationModePaymentService"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x247c62047745915c0af6b955470a72d1696ebad4352d7d3011aef1a2463cd888","urls":["bzz-raw://d7fc8396619de513c96b6e00301b88dd790e83542aab918425633a5f7297a15a","dweb:/ipfs/QmXbP4kiZyp7guuS7xe8KaybnwkRPGrBc2Kbi3vhcTfpxb"],"license":"MIT"},"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol":{"keccak256":"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f","urls":["bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053","dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79"],"license":"MIT"},"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol":{"keccak256":"0x315887e846f1e5f8d8fa535a229d318bb9290aaa69485117f1ee8a9a6b3be823","urls":["bzz-raw://29dda00da6d269685b555e710e4abf1c3eb6d00c15b888a7880a2f8dd3c4fdc2","dweb:/ipfs/QmSqcjtdECygtT1Gy7uEo42x8542srpgGEeKKHfcnQqXgn"],"license":"MIT"},"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol":{"keccak256":"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908","urls":["bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1","dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ"],"license":"MIT"},"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x0203dcadc5737d9ef2c211d6fa15d18ebc3b30dfa51903b64870b01a062b0b4e","urls":["bzz-raw://6eb2fd1e9894dbe778f4b8131adecebe570689e63cf892f4e21257bfe1252497","dweb:/ipfs/QmXgUGNfZvrn6N2miv3nooSs7Jm34A41qz94fu2GtDFcx8"],"license":"MIT"},"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0x6e36e9b4b71de699c2f3f0d4e4d1aa0b35da99a26e8d5b91ef09ba234b4ef270","urls":["bzz-raw://abfa467c53a0d60b4d09bf04aa952b1d1d44e5766fcc053aace078d7859b8419","dweb:/ipfs/QmebVTZpyNxYfKYTuLMywzEJTdc1Ca8ME4xm3kR9gQgToG"],"license":"MIT"},"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x611aa3f23e59cfdd1863c536776407b3e33d695152a266fa7cfb34440a29a8a3","urls":["bzz-raw://9b4b2110b7f2b3eb32951bc08046fa90feccffa594e1176cb91cdfb0e94726b4","dweb:/ipfs/QmSxLwYjicf9zWFuieRc8WQwE4FisA1Um5jp1iSa731TGt"],"license":"MIT"},"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol":{"keccak256":"0x09864aea84f01e39313375b5610c73a3c1c68abbdc51e5ccdd25ff977fdadf9a","urls":["bzz-raw://aedb48081190fa828d243529ce25c708202c7d4ccfe99f0e4ecd6bc0cfcd03f3","dweb:/ipfs/QmWyiDQHPZA56iqsAwTmiJoxvNeRQLUVr4gTfzpdpXivpo"],"license":"MIT"},"src/core/AggregationModePaymentService.sol":{"keccak256":"0x6c2c2abeaad88bba1405340fd1f25891fe872c13608473b01f0a8d2830d4403b","urls":["bzz-raw://17670f5b2a6619e9616abe27e6992e9bf37c72f76e5fc4b7dd9b763e728437ea","dweb:/ipfs/QmPeEiZEyjWwhmAq5nK2EdcwwTBamd1DURKPmHhqRutsJj"],"license":"UNLICENSED"}},"version":1},"id":9}