Skip to main contentModule block_timestamp
Source use super::BlockTimestamp; ๐ use crate::linter::LateLintPass; ๐ use crate::linter::LintContext; ๐ use crate::sol::Severity; ๐ use crate::sol::SolLint; ๐ use crate::sol::analysis::any_subexpr; ๐ use crate::sol::analysis::branch_always_exits; ๐ use crate::sol::analysis::loop_stmts; ๐ use crate::sol::analysis::tuple_elems; ๐ use solar::ast::Visibility; ๐ use solar::sema::Gcx; ๐ use solar::sema::Hir; ๐ use solar::sema::builtins::Builtin; ๐ use solar::sema::hir::BinOpKind; ๐ use solar::sema::hir::Expr; ๐ use solar::sema::hir::ExprKind; ๐ use solar::sema::hir::Function; ๐ use solar::sema::hir::FunctionId; ๐ use solar::sema::hir::Stmt; ๐ use solar::sema::hir::StmtKind; ๐ use solar::sema::hir::VariableId; ๐ use solar::sema::hir::Visit; ๐ use std::collections::HashSet; ๐ use std::convert::Infallible; ๐ use std::ops::ControlFlow; ๐
- Checker ๐
- Flow-sensitive walk reporting comparisons involving
block.timestamp, a helper returning it,
or a local holding a value derived from either.
- BLOCK_TIMESTAMP
- is_block_timestamp ๐
block.timestamp, or the Yul timestamp() builtin.- is_cmp ๐
- returns_timestamp ๐
- True if a
return reachable through plain blocks and if arms mentions block.timestamp.