https://medium.com/@luiseduardoboikoferreira/using-alloy-to-interact-with-ethereum-smart-contracts-in-rust-3b2c70bbfa6a