Contract 0x773a2e2e9856f807dbbab89b997a5a84645a5c9b 10

 
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0xa18901fa9f269dc437dd3ac111f8ffd6c12994e9bf95a1587247bffff63692cc0x6104e761375292042023-01-01 5:10:3937 days 19 hrs ago0x14e4859e82b42d11f296875dc54f15014a5e242c IN  Create: IterableMapping0 MATIC0.012274592035 37.850081055
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
IterableMapping

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at polygonscan.com on 2023-01-19
*/

library IterableMapping {
    struct Map {
        address[] keys;
        mapping(address => uint) values;
        mapping(address => uint) indexOf;
        mapping(address => bool) inserted;
    }

    function get(Map storage map, address key) public view returns (uint) {
        return map.values[key];
    }

    function getIndexOfKey(Map storage map, address key) public view returns (int) {
        if (!map.inserted[key]) {
            return - 1;
        }
        return int(map.indexOf[key]);
    }

    function getKeyAtIndex(Map storage map, uint index) public view returns (address) {
        return map.keys[index];
    }


    function size(Map storage map) public view returns (uint) {
        return map.keys.length;
    }

    function set(Map storage map, address key, uint val) public {
        if (map.inserted[key]) {
            map.values[key] = val;
        } else {
            map.inserted[key] = true;
            map.values[key] = val;
            map.indexOf[key] = map.keys.length;
            map.keys.push(key);
        }
    }

    function remove(Map storage map, address key) public {
        if (!map.inserted[key]) {
            return;
        }

        delete map.inserted[key];
        delete map.values[key];

        uint index = map.indexOf[key];
        uint lastIndex = map.keys.length - 1;
        address lastKey = map.keys[lastIndex];

        map.indexOf[lastKey] = index;
        delete map.indexOf[key];

        map.keys[index] = lastKey;
        map.keys.pop();
    }
}

Contract Security Audit

Contract ABI

[]

6104e761003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806317e142d1146100715780634c60db9c14610097578063732a2ccf146100b9578063bc2b405c146100e6578063d1aa9e7e14610106578063deb3d89614610131575b600080fd5b61008461007f3660046103dd565b610143565b6040519081526020015b60405180910390f35b8180156100a357600080fd5b506100b76100b23660046103dd565b610191565b005b6100846100c73660046103dd565b6001600160a01b03166000908152600191909101602052604090205490565b8180156100f257600080fd5b506100b7610101366004610409565b6102cc565b61011961011436600461043e565b610375565b6040516001600160a01b03909116815260200161008e565b61008461013f3660046103c4565b5490565b6001600160a01b038116600090815260038301602052604081205460ff1661016e575060001961018b565b506001600160a01b03811660009081526002830160205260409020545b92915050565b6001600160a01b038116600090815260038301602052604090205460ff166101b7575050565b6001600160a01b03811660009081526003830160209081526040808320805460ff191690556001808601835281842084905560028601909252822054845490929161020191610460565b9050600084600001828154811061021a5761021a61049b565b60009182526020808320909101546001600160a01b039081168084526002890190925260408084208790559087168352822091909155855490915081908690859081106102695761026961049b565b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905584548590806102a3576102a3610485565b600082815260209020810160001990810180546001600160a01b03191690550190555050505050565b6001600160a01b038216600090815260038401602052604090205460ff1615610311576001600160a01b03821660009081526001840160205260409020819055505050565b6001600160a01b03821660008181526003850160209081526040808320805460ff19166001908117909155878101835281842086905587546002890184529184208290558101875586835291200180546001600160a01b0319169091179055505050565b600082600001828154811061038c5761038c61049b565b6000918252602090912001546001600160a01b03169392505050565b80356001600160a01b03811681146103bf57600080fd5b919050565b6000602082840312156103d657600080fd5b5035919050565b600080604083850312156103f057600080fd5b82359150610400602084016103a8565b90509250929050565b60008060006060848603121561041e57600080fd5b8335925061042e602085016103a8565b9150604084013590509250925092565b6000806040838503121561045157600080fd5b50508035926020909101359150565b60008282101561048057634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fdfea2646970667358221220c0103b2d7143a00ef156914825c73fa5c4d1ad5b166d67d7c76ba04dc05404a064736f6c63430008070033

Deployed ByteCode Sourcemap

0:1584:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;331:197;;;;;;:::i;:::-;;:::i;:::-;;;1664:25:1;;;1652:2;1637:18;331:197:0;;;;;;;;1108:473;;;;;;;;;;-1:-1:-1;1108:473:0;;;;;:::i;:::-;;:::i;:::-;;212:111;;;;;;:::i;:::-;-1:-1:-1;;;;;300:15:0;276:4;300:15;;;:10;;;;;:15;;;;;;;212:111;776:324;;;;;;;;;;-1:-1:-1;776:324:0;;;;;:::i;:::-;;:::i;536:123::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1468:32:1;;;1450:51;;1438:2;1423:18;536:123:0;1296:211:1;669:99:0;;;;;;:::i;:::-;745:15;;669:99;331:197;-1:-1:-1;;;;;426:17:0;;405:3;426:17;;;:12;;;:17;;;;;;;;421:61;;-1:-1:-1;;;460:10:0;;421:61;-1:-1:-1;;;;;;503:16:0;;;;;;:11;;;:16;;;;;;331:197;;;;;:::o;1108:473::-;-1:-1:-1;;;;;1177:17:0;;;;;;:12;;;:17;;;;;;;;1172:57;;1108:473;;:::o;1172:57::-;-1:-1:-1;;;;;1248:17:0;;;;;;:12;;;:17;;;;;;;;1241:24;;-1:-1:-1;;1241:24:0;;;;1283:10;;;:15;;;;;1276:22;;;1324:11;;;:16;;;;;;1368:15;;1324:16;;1248:17;1368:19;;;:::i;:::-;1351:36;;1398:15;1416:3;:8;;1425:9;1416:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1416:19:0;;;1448:20;;;:11;;;:20;;;;;;;:28;;;1494:16;;;;;;;1487:23;;;;1523:15;;1416:19;;-1:-1:-1;1416:19:0;;1448:3;;1471:5;;1523:15;;;;;;:::i;:::-;;;;;;;;;;:25;;-1:-1:-1;;;;;;1523:25:0;-1:-1:-1;;;;;1523:25:0;;;;;;;;;;1559:14;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;1559:14:0;;;;;-1:-1:-1;;;;;;1559:14:0;;;;;;-1:-1:-1;;;;;1108:473:0:o;776:324::-;-1:-1:-1;;;;;851:17:0;;;;;;:12;;;:17;;;;;;;;847:246;;;-1:-1:-1;;;;;885:15:0;;;;;;:10;;;:15;;;;;:21;;;776:324;;;:::o;847:246::-;-1:-1:-1;;;;;939:17:0;;;;;;:12;;;:17;;;;;;;;:24;;-1:-1:-1;;939:24:0;959:4;939:24;;;;;;978:10;;;:15;;;;;:21;;;1033:15;;1014:11;;;:16;;;;;:34;;;1063:18;;;;;;;;;;;;-1:-1:-1;;;;;;1063:18:0;;;;;;776:324;;;:::o;536:123::-;609:7;636:3;:8;;645:5;636:15;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;636:15:0;;536:123;-1:-1:-1;;;536:123:0:o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:200::-;271:6;324:2;312:9;303:7;299:23;295:32;292:52;;;340:1;337;330:12;292:52;-1:-1:-1;363:23:1;;192:200;-1:-1:-1;192:200:1:o;397:274::-;485:6;493;546:2;534:9;525:7;521:23;517:32;514:52;;;562:1;559;552:12;514:52;598:9;585:23;575:33;;627:38;661:2;650:9;646:18;627:38;:::i;:::-;617:48;;397:274;;;;;:::o;676:342::-;773:6;781;789;842:2;830:9;821:7;817:23;813:32;810:52;;;858:1;855;848:12;810:52;894:9;881:23;871:33;;923:38;957:2;946:9;942:18;923:38;:::i;:::-;913:48;;1008:2;997:9;993:18;980:32;970:42;;676:342;;;;;:::o;1023:268::-;1111:6;1119;1172:2;1160:9;1151:7;1147:23;1143:32;1140:52;;;1188:1;1185;1178:12;1140:52;-1:-1:-1;;1211:23:1;;;1281:2;1266:18;;;1253:32;;-1:-1:-1;1023:268:1:o;1890:222::-;1930:4;1958:1;1955;1952:8;1949:131;;;2002:10;1997:3;1993:20;1990:1;1983:31;2037:4;2034:1;2027:15;2065:4;2062:1;2055:15;1949:131;-1:-1:-1;2097:9:1;;1890:222::o;2117:127::-;2178:10;2173:3;2169:20;2166:1;2159:31;2209:4;2206:1;2199:15;2233:4;2230:1;2223:15;2249:127;2310:10;2305:3;2301:20;2298:1;2291:31;2341:4;2338:1;2331:15;2365:4;2362:1;2355:15

Swarm Source

ipfs://c0103b2d7143a00ef156914825c73fa5c4d1ad5b166d67d7c76ba04dc05404a0
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.