Transaction Hash:
Block:
20050631 at Jun-09-2024 12:16:11 AM +UTC
Transaction Fee:
0.000269522025148937 ETH
$0.97
Gas Used:
53,119 Gas / 5.073928823 Gwei
Emitted Events:
230 |
AccessManager.AccessGranted( wallet=[Sender] 0x8d07b3895ba2af23d64d805a4d8c33b5a8046978, geoVersion=0 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x4838B106...B0BAD5f97
Miner
| (Titan Builder) | 7.259871387211244652 Eth | 7.259876699111244652 Eth | 0.0000053119 | |
0x8D07b389...5A8046978 |
0.001385509168844907 Eth
Nonce: 7
|
0.00111598714369597 Eth
Nonce: 8
| 0.000269522025148937 | ||
0x8Ea56882...EbC280Aba |
Execution Trace
AccessManager.grantAccess( signature=0x0E05906C6B575FC268AB9BF45A13FD56444DE5FEBAAB3357927FDA6C4770C6E82DB1D0A1FF56D15B874B1724B7DC56C1B1EAA499B10D4D5FE77B232ACDEBBCC61B )
-
Null: 0x000...001.4127e3bd( )
12345678910111213141516171819202122// SPDX-License-Identifier: BUSL 1.1pragma solidity =0.8.22;import "./interfaces/IAccessManager.sol";import "./dao/interfaces/IDAO.sol";import "./SigningTools.sol";// A simple AccessManager in which user IP is mapped offchain to a geolocation and then whitelisted user status is stored in the contract.// If geographic regions are later excluded, users are required to reverify (allowing avoiding storing countries for specific wallets and potentiallyviolating user privacy).// The AccessManager restricts users from adding liquidity, and staking - but always allows existing assets to be removed (in case a user's region isrestricted after depositing assets).//// This contract can be replaced by the DAO with other mechanics such as completely open access, decentralized ID services, KYC by region, orwhatever else deemed the best option by the DAO.//// Making proposals and voting is not access restricted - just in case AccessManager.sol is ever updated with a flaw in it that universally blocksaccess (which would effectively cripple the DAO if proposals and voting were then mistakingly restricted).//// Updateable using DAO.proposeSetAccessManager( "accessManager" )contract AccessManager is IAccessManager\t{\tevent AccessGranted(address indexed wallet, uint256 geoVersion);\tIDAO immutable public dao;\t// Determines granted access for [geoVersion][wallet]mapping(uint256 => mapping(address => bool)) private _walletsWithAccess;\t// The current geoVersion for the AccessManager - which is incremented when new countries are excluded by the DAO.uint256 public geoVersion;