zink/primitives/
properties.rs1use super::{Address, Bytes32};
2use crate::asm;
3
4pub fn number() -> u64 {
6 unsafe { asm::evm::number() }
7}
8
9pub fn blockhash(block_number: u64) -> Bytes32 {
11 unsafe { asm::evm::blockhash(block_number) }
12}
13
14pub fn blobhash(index: u64) -> Bytes32 {
16 unsafe { asm::evm::blobhash(index) }
17}
18
19pub fn basefee() -> u64 {
21 unsafe { asm::evm::basefee() }
22}
23
24pub fn blobbasefee() -> u64 {
26 unsafe { asm::evm::blobbasefee() }
27}
28
29pub fn chainid() -> u64 {
31 unsafe { asm::evm::chainid() }
32}
33
34pub fn coinbase() -> Address {
36 unsafe { asm::evm::coinbase() }
37}
38
39pub fn prevrandao() -> Bytes32 {
41 unsafe { asm::evm::prevrandao() }
42}
43
44pub fn gaslimit() -> Bytes32 {
46 unsafe { asm::evm::gaslimit() }
47}
48
49pub fn gasleft() -> Bytes32 {
51 unsafe { asm::evm::gas() }
52}
53
54pub fn timestamp() -> u64 {
56 unsafe { asm::evm::timestamp() }
57}
58
59pub fn gasprice() -> u64 {
61 unsafe { asm::evm::gasprice() }
62}