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}