Skip to main content

tempo_contracts/precompiles/
storage_credits.rs

1pub use IStorageCredits::IStorageCreditsErrors as StorageCreditsError;
2
3crate::sol! {
4    #[derive(Debug, PartialEq, Eq)]
5    #[sol(abi)]
6    interface IStorageCredits {
7        enum Mode {
8            Refund,
9            Preserve,
10            Direct
11        }
12
13        error InvalidMode();
14        error OnlyDirectCall();
15
16        function balanceOf(address account) external view returns (uint64);
17        function modeOf(address account) external view returns (Mode);
18        function budgetOf(address account) external view returns (uint64);
19
20        function setMode(Mode newMode) external;
21        function setBudget(uint64 creditBudget) external;
22    }
23}