Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
IterableMapping
Compiler Version
v0.5.1+commit.c8a2cb62
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-07-22 */ library IterableMapping { struct itmap { mapping(address => IndexValue) data; KeyFlag[] keys; uint size; } struct IndexValue { uint keyIndex; uint value; } struct KeyFlag { address key; bool deleted; } function insert(itmap storage self, address key, uint value) public returns (bool replaced) { uint keyIndex = self.data[key].keyIndex; self.data[key].value = value; if (keyIndex > 0) return true; else { keyIndex = self.keys.length++; self.data[key].keyIndex = keyIndex + 1; self.keys[keyIndex].key = key; self.size++; return false; } } function remove(itmap storage self, address key) public returns (bool success) { uint keyIndex = self.data[key].keyIndex; if (keyIndex == 0) return false; delete self.data[key]; self.keys[keyIndex - 1].deleted = true; self.size --; } function contains(itmap storage self, address key) public view returns (bool) { return self.data[key].keyIndex > 0; } function iterate_start(itmap storage self) public view returns (uint keyIndex) { return iterate_next(self, uint(-1)); } function iterate_valid(itmap storage self, uint keyIndex) public view returns (bool) { return keyIndex < self.keys.length; } function iterate_next(itmap storage self, uint keyIndex) public view returns (uint r_keyIndex) { keyIndex++; while (keyIndex < self.keys.length && self.keys[keyIndex].deleted) keyIndex++; return keyIndex; } function iterate_get(itmap storage self, uint keyIndex) public view returns (address key, uint value) { key = self.keys[keyIndex].key; value = self.data[key].value; } function iterate_getValue(itmap storage self, address key) public view returns (uint value) { return self.data[key].value; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[{"name":"self","type":"IterableMapping.itmap storage"},{"name":"key","type":"address"}],"name":"remove","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"self","type":"IterableMapping.itmap storage"},{"name":"key","type":"address"}],"name":"iterate_getValue","outputs":[{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"self","type":"IterableMapping.itmap storage"},{"name":"key","type":"address"}],"name":"contains","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"self","type":"IterableMapping.itmap storage"},{"name":"keyIndex","type":"uint256"}],"name":"iterate_get","outputs":[{"name":"key","type":"address"},{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"self","type":"IterableMapping.itmap storage"},{"name":"keyIndex","type":"uint256"}],"name":"iterate_next","outputs":[{"name":"r_keyIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"self","type":"IterableMapping.itmap storage"}],"name":"iterate_start","outputs":[{"name":"keyIndex","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"self","type":"IterableMapping.itmap storage"},{"name":"key","type":"address"},{"name":"value","type":"uint256"}],"name":"insert","outputs":[{"name":"replaced","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"self","type":"IterableMapping.itmap storage"},{"name":"keyIndex","type":"uint256"}],"name":"iterate_valid","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
610550610030600b82828239805160001a6073146000811461002057610022565bfe5b5030600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061009e577c0100000000000000000000000000000000000000000000000000000000600035046320aafe1881146100a35780634c5e1cae146100f05780636042c6631461012e57806375a3e8e81461015a57806388d04437146101a0578063a21ab716146101c3578063ab517b4f146101e0578063c8fccc691461021f575b600080fd5b8180156100af57600080fd5b506100dc600480360360408110156100c657600080fd5b5080359060200135600160a060020a0316610242565b604080519115158252519081900360200190f35b61011c6004803603604081101561010657600080fd5b5080359060200135600160a060020a03166102fe565b60408051918252519081900360200190f35b6100dc6004803603604081101561014457600080fd5b5080359060200135600160a060020a031661031d565b61017d6004803603604081101561017057600080fd5b508035906020013561033a565b60408051600160a060020a03909316835260208301919091528051918290030190f35b61011c600480360360408110156101b657600080fd5b508035906020013561037b565b61011c600480360360208110156101d957600080fd5b50356103dd565b8180156101ec57600080fd5b506100dc6004803603606081101561020357600080fd5b50803590600160a060020a0360208201351690604001356103eb565b6100dc6004803603604081101561023557600080fd5b50803590602001356104b7565b600160a060020a03811660009081526020839052604081205480151561026c5760009150506102f8565b600160a060020a0383166000908152602085905260408120818155600190810191909155808501805460001984019081106102a357fe5b60009182526020909120018054911515740100000000000000000000000000000000000000000274ff000000000000000000000000000000000000000019909216919091179055506002830180546000190190555b92915050565b600160a060020a03166000908152602091909152604090206001015490565b600160a060020a0316600090815260209190915260408120541190565b600080836001018381548110151561034e57fe5b6000918252602080832090910154600160a060020a03168083529590526040902060010154939492505050565b60010160005b6001830154821080156103c757506001830180548390811061039f57fe5b60009182526020909120015474010000000000000000000000000000000000000000900460ff165b156103d757600190910190610381565b50919050565b60006102f88260001961037b565b600160a060020a0382166000908152602084905260408120805460019091018390558181111561041f5760019150506104b0565b6001808601805491610433919083016104c2565b600160a060020a038516600090815260208790526040902060018083019091558601805491925085918390811061046657fe5b60009182526020822001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039390931692909217909155600286018054600101905591506104b09050565b9392505050565b600191909101541190565b8154818355818111156104e6576000838152602090206104e69181019083016104eb565b505050565b61052191905b8082111561051d57805474ffffffffffffffffffffffffffffffffffffffffff191681556001016104f1565b5090565b9056fea165627a7a72305820a93e261e2b32e04e09ac07e09d1e2076eedee69fc7a383ac19665196bf2487850029
Deployed Bytecode
0x7303c513ffbdbda34b4a66b3052fa5e0e6606e531b301460806040526004361061009e577c0100000000000000000000000000000000000000000000000000000000600035046320aafe1881146100a35780634c5e1cae146100f05780636042c6631461012e57806375a3e8e81461015a57806388d04437146101a0578063a21ab716146101c3578063ab517b4f146101e0578063c8fccc691461021f575b600080fd5b8180156100af57600080fd5b506100dc600480360360408110156100c657600080fd5b5080359060200135600160a060020a0316610242565b604080519115158252519081900360200190f35b61011c6004803603604081101561010657600080fd5b5080359060200135600160a060020a03166102fe565b60408051918252519081900360200190f35b6100dc6004803603604081101561014457600080fd5b5080359060200135600160a060020a031661031d565b61017d6004803603604081101561017057600080fd5b508035906020013561033a565b60408051600160a060020a03909316835260208301919091528051918290030190f35b61011c600480360360408110156101b657600080fd5b508035906020013561037b565b61011c600480360360208110156101d957600080fd5b50356103dd565b8180156101ec57600080fd5b506100dc6004803603606081101561020357600080fd5b50803590600160a060020a0360208201351690604001356103eb565b6100dc6004803603604081101561023557600080fd5b50803590602001356104b7565b600160a060020a03811660009081526020839052604081205480151561026c5760009150506102f8565b600160a060020a0383166000908152602085905260408120818155600190810191909155808501805460001984019081106102a357fe5b60009182526020909120018054911515740100000000000000000000000000000000000000000274ff000000000000000000000000000000000000000019909216919091179055506002830180546000190190555b92915050565b600160a060020a03166000908152602091909152604090206001015490565b600160a060020a0316600090815260209190915260408120541190565b600080836001018381548110151561034e57fe5b6000918252602080832090910154600160a060020a03168083529590526040902060010154939492505050565b60010160005b6001830154821080156103c757506001830180548390811061039f57fe5b60009182526020909120015474010000000000000000000000000000000000000000900460ff165b156103d757600190910190610381565b50919050565b60006102f88260001961037b565b600160a060020a0382166000908152602084905260408120805460019091018390558181111561041f5760019150506104b0565b6001808601805491610433919083016104c2565b600160a060020a038516600090815260208790526040902060018083019091558601805491925085918390811061046657fe5b60009182526020822001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039390931692909217909155600286018054600101905591506104b09050565b9392505050565b600191909101541190565b8154818355818111156104e6576000838152602090206104e69181019083016104eb565b505050565b61052191905b8082111561051d57805474ffffffffffffffffffffffffffffffffffffffffff191681556001016104f1565b5090565b9056fea165627a7a72305820a93e261e2b32e04e09ac07e09d1e2076eedee69fc7a383ac19665196bf2487850029
Deployed Bytecode Sourcemap
0:1893:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;652:271;;8:9:-1;5:2;;;30:1;27;20:12;5:2;652:271:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;652:271:0;;;;;;-1:-1:-1;;;;;652:271:0;;:::i;:::-;;;;;;;;;;;;;;;;;;1756:134;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1756:134:0;;;;;;-1:-1:-1;;;;;1756:134:0;;:::i;:::-;;;;;;;;;;;;;;;;927:128;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;927:128:0;;;;;;-1:-1:-1;;;;;927:128:0;;:::i;1570:182::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1570:182:0;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1570:182:0;;;;;;;;;;;;;;;;;;;;;1332:234;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1332:234:0;;;;;;;:::i;1059:130::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1059:130:0;;:::i;235:413::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;235:413:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;235:413:0;;;-1:-1:-1;;;;;235:413:0;;;;;;;;;;:::i;1193:135::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1193:135:0;;;;;;;:::i;652:271::-;-1:-1:-1;;;;;757:14:0;;717:12;757:14;;;;;;;;;;:23;791:13;;787:38;;;820:5;813:12;;;;;787:38;-1:-1:-1;;;;;839:14:0;;:9;:14;;;;;;;;;;832:21;;;;;;;;;;;860:9;;;:23;;-1:-1:-1;;870:12:0;;;860:23;;;;;;;;;;;;;;;:38;;;;;;;-1:-1:-1;;860:38:0;;;;;;;;;-1:-1:-1;905:9:0;;;:12;;-1:-1:-1;;905:12:0;;;652:271;;;;;:::o;1756:134::-;-1:-1:-1;;;;;1864:14:0;1836:10;1864:14;;;;;;;;;;;:20;;;;1756:134::o;927:128::-;-1:-1:-1;;;;;1022:14:0;999:4;1022:14;;;;;;;;;;;:23;:27;;927:128::o;1570:182::-;1647:11;1660:10;1688:4;:9;;1698:8;1688:19;;;;;;;;;;;;;;;;;;;;;:23;-1:-1:-1;;;;;1688:23:0;1726:14;;;;;;;;;1688:23;1726:20;;1688:23;;1570:182;-1:-1:-1;;;1570:182:0:o;1332:234::-;1437:10;;1410:15;1454:84;1472:9;;;:16;1461:27;;:58;;;;-1:-1:-1;1492:9:0;;;:19;;1502:8;;1492:19;;;;;;;;;;;;;;;:27;;;;;;1461:58;1454:84;;;1528:10;;;;;1454:84;;;-1:-1:-1;1552:8:0;1332:234;-1:-1:-1;1332:234:0:o;1059:130::-;1123:13;1155:28;1168:4;-1:-1:-1;;1155:12:0;:28::i;235:413::-;-1:-1:-1;;;;;353:14:0;;312:13;353:14;;;;;;;;;;:23;;383:20;;;;:28;;;422:12;;;418:225;;;450:4;443:11;;;;;418:225;491:9;;;;:18;;;;;:9;:18;;;:::i;:::-;-1:-1:-1;;;;;518:14:0;;:9;:14;;;;;;;;;;555:1;544:12;;;518:38;;;565:9;;:19;;480:29;;-1:-1:-1;528:3:0;;480:29;;565:19;;;;;;;;;;;;;;:29;;-1:-1:-1;;565:29:0;-1:-1:-1;;;;;565:29:0;;;;;;;;;;;603:9;;;:11;;-1:-1:-1;603:11:0;;;565:19;-1:-1:-1;623:12:0;;-1:-1:-1;623:12:0;235:413;;;;;;:::o;1193:135::-;1306:9;;;;;:16;-1:-1:-1;1295:27:0;1193:135::o;0:1893::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;0:1893:0;;;;;;;;;;;;;:::o
Swarm Source
bzzr://a93e261e2b32e04e09ac07e09d1e2076eedee69fc7a383ac19665196bf248785
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 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.