Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
SmartWalletWhitelist
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2020-08-24
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.5.17;
interface SmartWalletChecker {
function check(address) external view returns (bool);
}
contract SmartWalletWhitelist {
mapping(address => bool) public wallets;
address public dao;
address public checker;
address public future_checker;
event ApproveWallet(address);
event RevokeWallet(address);
constructor(address _dao) public {
dao = _dao;
wallets[0xF147b8125d2ef93FB6965Db97D6746952a133934] = true;
emit ApproveWallet(0xF147b8125d2ef93FB6965Db97D6746952a133934);
}
function commitSetChecker(address _checker) external {
require(msg.sender == dao, "!dao");
future_checker = _checker;
}
function applySetChecker() external {
require(msg.sender == dao, "!dao");
checker = future_checker;
}
function approveWallet(address _wallet) public {
require(msg.sender == dao, "!dao");
wallets[_wallet] = true;
emit ApproveWallet(_wallet);
}
function revokeWallet(address _wallet) external {
require(msg.sender == dao, "!dao");
wallets[_wallet] = false;
emit RevokeWallet(_wallet);
}
function check(address _wallet) external view returns (bool) {
bool _check = wallets[_wallet];
if (_check) {
return _check;
} else {
if (checker != address(0)) {
return SmartWalletChecker(checker).check(_wallet);
}
}
return false;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_dao","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"","type":"address"}],"name":"ApproveWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"","type":"address"}],"name":"RevokeWallet","type":"event"},{"constant":false,"inputs":[],"name":"applySetChecker","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"approveWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"check","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"checker","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_checker","type":"address"}],"name":"commitSetChecker","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"dao","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"future_checker","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"revokeWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"wallets","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b50604051610c14380380610c148339818101604052602081101561003357600080fd5b810190808051906020019092919050505080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160008073f147b8125d2ef93fb6965db97d6746952a13393473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fc1e7aae3f3125e58cfc69ab2a872a655dbb9427614aa85b29bb5abeaca4d6a9273f147b8125d2ef93fb6965db97d6746952a133934604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150610a9d806101776000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806389b08f111161006657806389b08f11146101745780638fcdecc8146101d0578063943f35a41461021a578063c23697a81461025e578063cf5303cf146102ba57610093565b80630fcb0ae51461009857806326b42b1a146100dc5780634162169f146100e6578063808a9d4014610130575b600080fd5b6100da600480360360208110156100ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610304565b005b6100e4610484565b005b6100ee6105ac565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101726004803603602081101561014657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105d2565b005b6101b66004803603602081101561018a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610752565b604051808215151515815260200191505060405180910390f35b6101d8610772565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61025c6004803603602081101561023057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610798565b005b6102a06004803603602081101561027457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061089f565b604051808215151515815260200191505060405180910390f35b6102c2610a42565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260048152602001807f2164616f0000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fc1e7aae3f3125e58cfc69ab2a872a655dbb9427614aa85b29bb5abeaca4d6a9281604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610547576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260048152602001807f2164616f0000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610695576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260048152602001807f2164616f0000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f1b676c3cc753786cb95aff57280fd7406f1da74e2a8b9755fdd395aded3e16dd81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60006020528060005260406000206000915054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461085b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260048152602001807f2164616f0000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905080156108ff5780915050610a3d565b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a3757600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c23697a8846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156109f457600080fd5b505afa158015610a08573d6000803e3d6000fd5b505050506040513d6020811015610a1e57600080fd5b8101908080519060200190929190505050915050610a3d565b60009150505b919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fea265627a7a72315820a2d56699e611da2792ad28ee48917a14a883fb4a9ec1802ea1de503fd4a836eb64736f6c6343000511003200000000000000000000000040907540d8a6c65c637785e8f8b742ae6b0b9968
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100935760003560e01c806389b08f111161006657806389b08f11146101745780638fcdecc8146101d0578063943f35a41461021a578063c23697a81461025e578063cf5303cf146102ba57610093565b80630fcb0ae51461009857806326b42b1a146100dc5780634162169f146100e6578063808a9d4014610130575b600080fd5b6100da600480360360208110156100ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610304565b005b6100e4610484565b005b6100ee6105ac565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101726004803603602081101561014657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105d2565b005b6101b66004803603602081101561018a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610752565b604051808215151515815260200191505060405180910390f35b6101d8610772565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61025c6004803603602081101561023057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610798565b005b6102a06004803603602081101561027457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061089f565b604051808215151515815260200191505060405180910390f35b6102c2610a42565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260048152602001807f2164616f0000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fc1e7aae3f3125e58cfc69ab2a872a655dbb9427614aa85b29bb5abeaca4d6a9281604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610547576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260048152602001807f2164616f0000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610695576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260048152602001807f2164616f0000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f1b676c3cc753786cb95aff57280fd7406f1da74e2a8b9755fdd395aded3e16dd81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60006020528060005260406000206000915054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461085b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260048152602001807f2164616f0000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905080156108ff5780915050610a3d565b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a3757600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c23697a8846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156109f457600080fd5b505afa158015610a08573d6000803e3d6000fd5b505050506040513d6020811015610a1e57600080fd5b8101908080519060200190929190505050915050610a3d565b60009150505b919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fea265627a7a72315820a2d56699e611da2792ad28ee48917a14a883fb4a9ec1802ea1de503fd4a836eb64736f6c63430005110032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000040907540d8a6c65c637785e8f8b742ae6b0b9968
-----Decoded View---------------
Arg [0] : _dao (address): 0x40907540d8a6C65c637785e8f8B742ae6b0b9968
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000040907540d8a6c65c637785e8f8b742ae6b0b9968
Deployed Bytecode Sourcemap
159:1490:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;159:1490:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;925:182;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;925:182:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;789:124;;;:::i;:::-;;248:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1113:183;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1113:183:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;202:39;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;202:39:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;302:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;635:142;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;635:142:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1308:338;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1308:338:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;273:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;925:182;1005:3;;;;;;;;;;;991:17;;:10;:17;;;983:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1047:4;1028:7;:16;1036:7;1028:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;1077:22;1091:7;1077:22;;;;;;;;;;;;;;;;;;;;;;925:182;:::o;789:124::-;858:3;;;;;;;;;;;844:17;;:10;:17;;;836:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;891:14;;;;;;;;;;;881:7;;:24;;;;;;;;;;;;;;;;;;789:124::o;248:18::-;;;;;;;;;;;;;:::o;1113:183::-;1194:3;;;;;;;;;;;1180:17;;:10;:17;;;1172:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1236:5;1217:7;:16;1225:7;1217:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;1267:21;1280:7;1267:21;;;;;;;;;;;;;;;;;;;;;;1113:183;:::o;202:39::-;;;;;;;;;;;;;;;;;;;;;;:::o;302:29::-;;;;;;;;;;;;;:::o;635:142::-;721:3;;;;;;;;;;;707:17;;:10;:17;;;699:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;761:8;744:14;;:25;;;;;;;;;;;;;;;;;;635:142;:::o;1308:338::-;1363:4;1380:11;1394:7;:16;1402:7;1394:16;;;;;;;;;;;;;;;;;;;;;;;;;1380:30;;1425:6;1421:195;;;1455:6;1448:13;;;;;1421:195;1517:1;1498:21;;:7;;;;;;;;;;;:21;;;1494:111;;1566:7;;;;;;;;;;;1547:33;;;1581:7;1547:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1547:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1547:42:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1547:42:0;;;;;;;;;;;;;;;;1540:49;;;;;1494:111;1633:5;1626:12;;;1308:338;;;;:::o;273:22::-;;;;;;;;;;;;;:::o
Swarm Source
bzzr://a2d56699e611da2792ad28ee48917a14a883fb4a9ec1802ea1de503fd4a836eb
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.