Contract 0x00000000016c35e3613ad3ed484aa48f161b67fd 6

 

Contract Overview

Balance:
0 ETH

ETH Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x4c972daa975ed9d3aa623ee4a268a9174092e40c1a1574871b3a94376197a0d5Set Approval For...284084572022-10-05 0:54:192 hrs 21 mins ago0xf89aa70cf27b2bb306c01b060ebd933732df22b4 IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00002311
0x972c4c1cbb90d4c8481ca4dd748c506faacced11f3fc75bae8f018e0ae4ef0c7Set Approval For...281346702022-10-03 8:49:301 day 18 hrs ago0x6df32e84c09331a6704cb536e0df35a2294aecb8 IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00001493
0xae67023559a1bf78c6d83ad5e62d1db1a5ad541a0775db3ca96aedee16a17a7bSet Approval For...280742672022-10-03 0:32:082 days 2 hrs ago0x3e682e7b99858811743027ac31e9de281af33398 IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00001296
0x0986fbe89657e7ca0f51a29d760c079eebb35147304a6cfeebea0ba4230c3593Set Approval For...280410372022-10-02 18:15:392 days 9 hrs ago0x6024b43a414789b02a4358fe1ec8bc0aba47f1d7 IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00001178
0x624df2415eada644921cfc3cfbac92aeeedd795973f82c5dd09694bdc532d122Set Approval For...276252772022-09-30 15:10:264 days 12 hrs ago0xcc47d2d128ae8f5407aa9431b19109b451c2a2e4 IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00002811
0x4baadbcee57bfe6cb18cdc6744a5468457fbe914bba487b62859dca3f0219b73Set Approval For...275358062022-09-30 5:56:594 days 21 hrs ago0x9ede3c9dd3edfb3ed8d844054f6e3eae31232d23 IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00001887
0xf407128b44ee1d590dec7a2683a9d663ab5c5c5ff93cc9e378ead81b972d0174Set Approval For...274895692022-09-29 22:34:255 days 4 hrs ago0xca95e9dfbda44f481e61887ed62c122d8b62e0d5 IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00002503
0x4ef1c35f876efd5cf8485951b2eb9eb834dd660dfd520d5d5300a3cbf6df9153Set Approval For...274213432022-09-29 13:23:255 days 13 hrs ago0x331254b4b39847738c6367e7559607ca7f279cb0 IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00001862
0x55efebff63cddf772a259dc234638cf7f39a030a79320a95b419b80d0b16176eSet Approval For...269926822022-09-27 13:05:107 days 14 hrs ago0x8377df0d99a521c3a8d55bbfa3719d03e0eb0ef5 IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00002792
0xf4a6db4fc7221bed85a1808005eb83f58843a118f19a96a08a017d1fbccbe4bfSet Approval For...269719442022-09-27 11:04:597 days 16 hrs ago0x5b49c32d7b1414030142ef8cfdc1adbb04b0ca55 IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.0000183
0x9853591223a6aad268b5ee337982df2683b229ebbe67293f61fb782647e544f1Set Approval For...268106842022-09-26 13:11:178 days 14 hrs ago0xbd5abdbdf41e2a36803d92310c6e06acf8174fd1 IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00001097
0x057ac23a963e43ad87f8e93c5c4420050995bdca242930dd3c0086813d83bcdfSet Approval For...267426922022-09-26 6:58:408 days 20 hrs ago0x93ff7898c4b1d782755bcc7a4945a7344b81b056 IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00001097
0x6c2899e509dd7cdc3522696b75e51e75596e1ea8378080095708f4c7a09a3aeaSet Approval For...266564392022-09-25 20:25:369 days 6 hrs ago0x0a4716aea3b3d228515f1b05628217bc43b226b9 IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00001391
0x961a129a62d78cc07f9999e8dc471383ee2c09bf713e0af7a569d49897e79cf5Set Approval For...266269112022-09-25 16:37:359 days 10 hrs ago0xc8cb180415b83f3f9a61691d246fe39a74c6a41e IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00002058
0x0d060cca2bd5847b09dfb48c94b15267321e08d12c17d6e0d3afe214659f45b2Set Approval For...264700832022-09-24 23:20:5210 days 3 hrs ago0x6ba7f14ac5aa78e6800b939461dcc06db6ed9311 IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00001246
0x193e3d10eabf02c60008e87ccf9c579e683f459e743699850c580bdec7cf5dfeSet Approval For...263986692022-09-24 13:46:4510 days 13 hrs ago0x9ab57cf9c7b16c334a982d79bb96c96705bea673 IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00001002
0xeaa74d69342e3ff6e464bd2e8c2a9dbc895c2e91a6c5116cfcc922e486d4dc5cSet Approval For...263870152022-09-24 12:37:3710 days 14 hrs ago0xbcaab49e2239469ba0cb3cebcdd8e4a76a23685c IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00000999
0x9494cbe29be0aacab8017a6d199206649d8f66b882616e7462bb6c0e920a09ffSet Approval For...262800052022-09-23 23:47:3211 days 3 hrs ago0x66f35a0fb87868a1f9bbb5ca7c6c641941aab3a1 IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00001418
0x199e399cc838595c97cca7fcd01f4320ff4a62d7b7e1d09638cd3671f083d324Set Approval For...262579872022-09-23 19:58:5011 days 7 hrs ago0xc692098312357756df33dc5104d6a935f06347f6 IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00001987
0x80fffa55c59fddfe481e126079f4b445351dfef50a5bf24e7a369410de89abcfSet Approval For...262347182022-09-23 17:12:0211 days 10 hrs ago0x5285ad0533731c9c672d3c5a620456bacf2eed28 IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00001747
0xf0ecdcaf72111d8f1ceacf4aff262084d674b5f0856a866a528dc9fe0dd1a320Safe Transfer Fr...262345262022-09-23 17:10:4011 days 10 hrs ago0x87fdce43fcca8ca65f984dd8faeec8bd398818bf IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00002093
0x63e78e90572eb102572af30a397c90e72fb0ae24132a67b9e73000210f9487feSet Approval For...261944462022-09-23 13:49:3311 days 13 hrs ago0x7c1c55c794503753d5e173a26d4bcbafc95e4b44 IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00001333
0xbae143917df1583c06950934d32e2986e8d629a727d2a8629526f6cfb8664220Set Approval For...261154262022-09-23 6:34:3611 days 20 hrs ago0xedcf5d6ddc5c8b64dd6927cab50a5b7fb3e50abd IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00000705
0x2aa0d657daffb33047617ffda0c12d1b45b224529791a961d4f672483159a469Set Approval For...260136772022-09-22 17:43:4612 days 9 hrs ago0x6b8d260d58c544e556d6f6de2691bdc0d7707eea IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.00003542
0x4c6e0072b4c1a8b8a20a7bc87b0e36c06c8e02ca8d931943d96a08c554516165Set Approval For...260124742022-09-22 17:35:1412 days 9 hrs ago0x77423e36686420cface92d57e488e954c65bcb16 IN  0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH0.0000387
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xe26d3b3012b2a337cf4c7507f59367e9630b24e1992ca42bc9d19641126c4847284077482022-10-05 0:43:332 hrs 32 mins ago 0x09986b4e255b3c548041a30a2ee312fe176731c2 0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH
0xadcc0b595d2d15eded20a5238d38a8bcdce1cdcab26da7369f68425f3ed14cea284056712022-10-05 0:14:133 hrs 1 min ago 0x00000000016c35e3613ad3ed484aa48f161b67fd 0x492f6bf5bb7b72b5b4023503522a063ff453b00f0 ETH
0xadcc0b595d2d15eded20a5238d38a8bcdce1cdcab26da7369f68425f3ed14cea284056712022-10-05 0:14:133 hrs 1 min ago 0x492f6bf5bb7b72b5b4023503522a063ff453b00f 0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH
0x969e80bb1f5f45ef10b298f66c416647c998e73095acbba85ce2717fa294e13a284056082022-10-05 0:13:173 hrs 2 mins ago 0x09986b4e255b3c548041a30a2ee312fe176731c2 0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH
0x77fdc0958a2c15a2cd430b9145b4904dbcdad334ec1a13d6065cdfa5eb5db4b8283765862022-10-04 18:23:348 hrs 52 mins ago 0x00000000016c35e3613ad3ed484aa48f161b67fd 0x492f6bf5bb7b72b5b4023503522a063ff453b00f0 ETH
0x77fdc0958a2c15a2cd430b9145b4904dbcdad334ec1a13d6065cdfa5eb5db4b8283765862022-10-04 18:23:348 hrs 52 mins ago 0x492f6bf5bb7b72b5b4023503522a063ff453b00f 0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH
0x77fdc0958a2c15a2cd430b9145b4904dbcdad334ec1a13d6065cdfa5eb5db4b8283765862022-10-04 18:23:348 hrs 52 mins ago 0x00000000016c35e3613ad3ed484aa48f161b67fd 0x492f6bf5bb7b72b5b4023503522a063ff453b00f0 ETH
0x77fdc0958a2c15a2cd430b9145b4904dbcdad334ec1a13d6065cdfa5eb5db4b8283765862022-10-04 18:23:348 hrs 52 mins ago 0x492f6bf5bb7b72b5b4023503522a063ff453b00f 0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH
0x630b97ce7d15eb163296a01009b0c8b78ef8a3cbd92ef0d54b283ebb87799995283763772022-10-04 18:20:318 hrs 55 mins ago 0x79109e6f4806fb341abc989380e12067c26aabee 0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH
0x630b97ce7d15eb163296a01009b0c8b78ef8a3cbd92ef0d54b283ebb87799995283763772022-10-04 18:20:318 hrs 55 mins ago 0x79109e6f4806fb341abc989380e12067c26aabee 0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH
0x630b97ce7d15eb163296a01009b0c8b78ef8a3cbd92ef0d54b283ebb87799995283763772022-10-04 18:20:318 hrs 55 mins ago 0x00000000016c35e3613ad3ed484aa48f161b67fd 0x79109e6f4806fb341abc989380e12067c26aabee0 ETH
0x630b97ce7d15eb163296a01009b0c8b78ef8a3cbd92ef0d54b283ebb87799995283763772022-10-04 18:20:318 hrs 55 mins ago 0x09986b4e255b3c548041a30a2ee312fe176731c2 0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH
0x630b97ce7d15eb163296a01009b0c8b78ef8a3cbd92ef0d54b283ebb87799995283763772022-10-04 18:20:318 hrs 55 mins ago 0x79109e6f4806fb341abc989380e12067c26aabee 0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH
0x630b97ce7d15eb163296a01009b0c8b78ef8a3cbd92ef0d54b283ebb87799995283763772022-10-04 18:20:318 hrs 55 mins ago 0x79109e6f4806fb341abc989380e12067c26aabee 0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH
0x630b97ce7d15eb163296a01009b0c8b78ef8a3cbd92ef0d54b283ebb87799995283763772022-10-04 18:20:318 hrs 55 mins ago 0x00000000016c35e3613ad3ed484aa48f161b67fd 0x79109e6f4806fb341abc989380e12067c26aabee0 ETH
0x630b97ce7d15eb163296a01009b0c8b78ef8a3cbd92ef0d54b283ebb87799995283763772022-10-04 18:20:318 hrs 55 mins ago 0x09986b4e255b3c548041a30a2ee312fe176731c2 0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH
0x6f7828f87d7bf48c0441e39c3b522697156b09b47290b5fa684543f971a6cba0282775272022-10-04 6:29:2520 hrs 46 mins ago 0x00000000016c35e3613ad3ed484aa48f161b67fd 0x492f6bf5bb7b72b5b4023503522a063ff453b00f0 ETH
0x6f7828f87d7bf48c0441e39c3b522697156b09b47290b5fa684543f971a6cba0282775272022-10-04 6:29:2520 hrs 46 mins ago 0x492f6bf5bb7b72b5b4023503522a063ff453b00f 0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH
0x6f7828f87d7bf48c0441e39c3b522697156b09b47290b5fa684543f971a6cba0282775272022-10-04 6:29:2520 hrs 46 mins ago 0x00000000016c35e3613ad3ed484aa48f161b67fd 0x492f6bf5bb7b72b5b4023503522a063ff453b00f0 ETH
0x6f7828f87d7bf48c0441e39c3b522697156b09b47290b5fa684543f971a6cba0282775272022-10-04 6:29:2520 hrs 46 mins ago 0x492f6bf5bb7b72b5b4023503522a063ff453b00f 0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH
0x6f7828f87d7bf48c0441e39c3b522697156b09b47290b5fa684543f971a6cba0282775272022-10-04 6:29:2520 hrs 46 mins ago 0x00000000016c35e3613ad3ed484aa48f161b67fd 0x492f6bf5bb7b72b5b4023503522a063ff453b00f0 ETH
0x6f7828f87d7bf48c0441e39c3b522697156b09b47290b5fa684543f971a6cba0282775272022-10-04 6:29:2520 hrs 46 mins ago 0x492f6bf5bb7b72b5b4023503522a063ff453b00f 0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH
0x6f7828f87d7bf48c0441e39c3b522697156b09b47290b5fa684543f971a6cba0282775272022-10-04 6:29:2520 hrs 46 mins ago 0x00000000016c35e3613ad3ed484aa48f161b67fd 0x492f6bf5bb7b72b5b4023503522a063ff453b00f0 ETH
0x6f7828f87d7bf48c0441e39c3b522697156b09b47290b5fa684543f971a6cba0282775272022-10-04 6:29:2520 hrs 46 mins ago 0x492f6bf5bb7b72b5b4023503522a063ff453b00f 0x00000000016c35e3613ad3ed484aa48f161b67fd0 ETH
0x6f7828f87d7bf48c0441e39c3b522697156b09b47290b5fa684543f971a6cba0282775272022-10-04 6:29:2520 hrs 46 mins ago 0x00000000016c35e3613ad3ed484aa48f161b67fd 0x492f6bf5bb7b72b5b4023503522a063ff453b00f0 ETH
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SmithoniaWeapons

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 6 : SmithoniaWeapons.sol
// SPDX-License-Identifier: Unlicense


///////////////////////////////////////////////////////////////////////////////////////////
//░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░//
//░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░//
//░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██▓██▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░//
//░░░░░░░░░░░░░░░░▒░░▒░░░░░▒░░▒░░░░░░░░░░▓█▓▓▓██░░░░░░░░░░░▒░░▒░░░░▒░░▒░░░░░░░░░░░░░░░░░░//
//░░░░░░░░░░░░░▒▒▒░░░░▒▒░░░░░░░░▒▒▒▒▓▒▒▒▓██▓▓▓███▓▒▒▓▒▒▒▒░░░░░░░░░▓▒░░░▒▒▒░░░░░░░░░░░░░░░//
//░░░░░░░░░░░▒▒░▓▓░░░▒▓▒░░░░▒▓░░░░▓▓██▓▓▓██▓▓▓▓█▓▓▓███▓▒░░░▒▓░░░░░▓▓░░░▒▓▒░▒▒░░░░░░░░░░░░//
//░░░░░░░░▒▒▒░░▒▓▓▒░░░▓▒░░░▒▓░░▒▓███▓▓▒▒▓██▓▓▓██▒▒▒▒▓▓██▓▒░░▒▓░░░░▓▓░░░▓▓▓░░░▒▒░░░░░░░░░░//
//░░░░░░░▓▒▒▒▒░░▓▓▓▒▒▒▓▓▒░▒▓▒▒▓██▓▓▒▒░░░▒██▓▓▓██▒▒▒▒▒▒▓▓██▓▒░▓▓░▒▓▓▒▒▒▓▓▓▒░░▒▓▒▒▒░░░░░░░░//
//░░░░░▒▒░▒▓▓▓▓▓▓▓██▓▓▓██▓▓█▓███▓▓▒░░░░░░███▓▓█▓░░▒▒▒▒▒▒▓▓██▓▓█▓▓█▓▓▓██▓▓▓▓▓▓▓▒░░▓░░░░░░░//
//░░░░░▒░░░░▒▒▓▓██████████████▓▓▓▒░░░░░░░▓██▓██▓░░░░▒▒▒▒▒▓▓███████████████▓▓▒▒░░░░▒░░░░░░//
//░░░░▓▒▓▒▒▒▒▒▓█▓▓▒▒▒▒▒▒▓▓████▓▓▒▒▒▒░░░░░▒▓███▓▒░░░░░▒▒▒▒▒▓▓████▓▓▒▒▒▒▒▒▓█▓▓▒▒▒▒▓▓▓░░░░░░//
//░░░▓▒░▒▓▓▓███░░░░░░░░░░░▒██▓▓▒▒▒▒▒▒░░░░░░▒▒▒░░░░░░▒▒▒▒▒▒▒▓███░░░░░░░░░░░▓██▓▓▓▒░░▓░░░░░//
//░░░█░▒▒▒▒▒▓█░░░░░░░░░░░░░▒█▓▓▓▒▒▒▒▓▓▓▒▒▒░░░░░░▒▒▓▓▓▓▒▒▒▓▓▓██░░░░░░░░░░░░░▓█▓▒▒▒▒▒▓▒░░░░//
//░░░█░▒▒▒▒▓█▓░░░▒░░░▒░░░░░▒█▓░▒▓▓▓▓▒▒░▒▓▓▒▒▒▒▒▓▓▒▒░▒▒▓▓▓▒▒▒██░░░░░░▒░░▒░░░░█▓▒▒▒▒░▓▒░░░░//
//░░░█░░░▒▓▓█▓░░▓▓▒▒▒░▒▒░░░▒█▓░▓▓▓▓▓▓▓▓▒▒▒▒▒▓▓▒▒▒▒▓▓▓▓▓██▓▒▒▓█░░░░▒▒░▒▒▓▓▒░░█▓▓▒▒░░▓▒░░░░//
//░░░▓▒▒▒░░▒▓▓▓░░░█▒▒▒▒▒▒░░▒█▒▓▒░░▒▓▓▓▓▓▓▓▓▒▒▒▒▓▓▓▓▓▓▓▓▒░▒▓▓▓█░░░▓▓▒▒▒▓▓░░▒█▓▓░░░▒▒█░░░░░//
//░░░░▓▓▒▒▓▓▓▒▓██▓▓▓▒▒▓▓▒░░▒█▒▒▒▒▓▓▒░▒▓▓▓▓▒▒▒▒▓▓▓▓▓▓▒░▒▓▓▒▒▒▓█░░░▓█▒▒▓▓▓██▓▓▒▓▓▓▒▒█▒░░░░░//
//░░░░░▓██▓▒░▓▒▒▓█▒▒▓███░░░▒█▒▒▒▒▒▒▒▓▒░▒▒▒▒▒▒▒▒▓▓▓░░▒▓▒▒▒▒▒▒▓█░░░▒███▓▒▓▓▒░▓▒▒▒▓██▓░░░░░░//
//░░░░░░▒▓█▓▓█▓▒▓█████▒░░░░▒█▒▒▒▒▒▒░░▓▒░▒▓▒▒▒▒▒▒▓░▒▓▒░▒▒▒▒▒▒▓█░░░░░▓█████▓▓██▓██▓▒░░░░░░░//
//░░░░░░░░░▒▒▓▓▓▓▒▒▒░░░░░░░▓█▓▒▒▒▒▒▒░▒▓▒▒▓▒▒▒▒▓▓▓░▒▓░▒▒▒▒▒▒▒▓█░░░░░░░░▒▒▓▓▓▓▒▒░░░░░░░░░░░//
//░░░░░░░░░░░░░░░░░░░░░░░░░█▓▓▒▒▒▒▒▒▒░█▒░▒▒▒░▒▒▒▓░▒▓░▒▒▒▒▒▒▒▓█▓░░░░░░░░░░░░░░░░░░░░░░░░░░//
//░░░░░░░░░░░░░░░░░░░░░░░░▓█▓▓▒▒▒▒▒▒▒░█▒░▒▒░▒▒▒▒▒░▒▓░▒▒▒▒▒▒▓▓██░░░░░░░░░░░░░░░░░░░░░░░░░░//
//░░░░░░░░░░░░░░░░░░░░░░░▓██▓▓▓▒▒▒▒▒▒░█▒░▒░░░▒▒▒▒░▒▓░▒▒▒▒▒▒▓▓███░░░░░░░░░░░░░░░░░░░░░░░░░//
//░░░░░░░░░░░░░░░░░░░░▒▒████▓▓▓▓▒▒▒▒▒░█▒░▒░░░▒▒▒░░▒▓░▒▒▒▒▒▓▓▓▓███▓▒▒░░░░░░░░░░░░░░░░░░░░░//
//░░░░░░░░░░░░░░░░░░░▒█▓███▓▓▓▓▓▓▒▒▒▒░█▒░▒▒▒▒▒▒▒░▒▒▓▒▒▒▒▒▓▓▓▓▓▓███▓█░░░░░░░░░░░░░░░░░░░░░//
//░░░░░░░░░░░░░░░░░░░░▒███▓██▓▓▓▓▓▒▒▒▒█▒▒▓▓▓▓▓▓▓█▒▓▓▒▒▒▓▓▓▓▓▓▓█▓██▓░░░░░░░░░░░░░░░░░░░░░░//
//░░░░░░░░░░░░░░░░░░░░░░░▓██▓▓▓▓▓▓▓▓▒▒▓▓▒▒░░░░░░▓▒▓▒▒▓▓▓▓▓▓▓▓██▓▒░░░░░░░░░░░░░░░░░░░░░░░░//
//░░░░░░░░░░░░░░░░░░░░░░░░░░▒▓██████▓▓▓▓▒▒░░░░░░▓▒█▒▓███████▓▒░░░░░░░░░░░░░░░░░░░░░░░░░░░//
//░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▒▒▓▓██▓▒░░░░░░▓▓██▓▒▒▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░//
//░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░//
//░░░░░▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒░░░░░░░░░//
//░░░▓▓██▓▓▓█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒█▓▓▒░░░░░░░░//
//░░▒▓▓█░░░▓█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒█▓█▓▒░░░░░░░░//
//░░░▓▓▓▓▒▒░▒▓▓▓▓░░░▓▓▓▓█▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▒▓▓▓▓▒▓▓▓▓▓▒▓▓▓▒▒▒█▓▓▓▓█▓▓▓▓░░░█▓███▒▓░░░░░░░//
//░░░░▒▓▓▓▓▓▓░▓█▓▓░▓▓▓▓▒░░▓▓▓▒▓▒░▓▓▓░▒▓▒█▓█▒▒▓▓▓█▓▓▒▒▓█▓▓▓█▓▓▓▓▓▓▓░▓█▓▓░░░▓█▓▓▓▓▓▒▒░░░░░░//
//░░▓▓░░░░▓▓█▓▓██▓▓▓█▓▓▒░░▓▓▓░░░░▓▓▓░░░░▓▓▓▓▓▓▓▓█▓▓░░░█▓▓▒█▓██▓▓▓▒░▒█▓▓░░▒█▓▓▒▒██▓▒▒░░░░░//
//░░▓▓▓▒▒▒▓██▓▓█▒▓▓█▒▓▓▓▒░▓▓▓░░░░▓▓▓░░░░▓▓▓░░▓▓▓██▓▒░░▓▓▒░█▓▒▒██▓▓░▒█▓▓▒▒█▓▓▓░░▓█▓▓▓▒▒░░░//
//░░░▒▒▓▓▓▓▒▒▓▓▓▓▒▓▒▒▓▓▓▓▓▓▓▓▓░░▒▓▓▓▓░░▓▓▓▓▒▒▓▓▓▒▒▓▓▓▓▒░▒▓▓▓▓░░▒▓▒▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▓▓▓▓▒░░░//
//░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░//
//░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░//
///////////////////////////////////////////////////////////////////////////////////////////


pragma solidity ^0.8.2;

import "@openzeppelin/contracts/access/Ownable.sol";
import "./ERC721I.sol";
import "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";

abstract contract Security {
    modifier onlySender() {
        require(tx.origin == msg.sender, "The caller is another contract");
        _;
    }
}

contract SmithoniaWeapons is Ownable, ERC721I, Security {
    uint256 public maxSupply = 12300;
    bool public mintIsActive = false;
    bool public publicMintIsActive = false;
    address public magicAddress;
    uint256 public minimumAmount;
    string private _baseTokenURI;
    mapping(address => bool) private minter;
    bytes32 public merkleRoot;

    constructor() ERC721I("Smithonia Weapons", "SMITHWEP") {}

    function mintWl(bytes32[] calldata _merkleProof) external onlySender {
        require(mintIsActive, "Blacksmith sleeping");
        require(maxSupply > totalSupply, "Armory empty");
        require(minimumAmount > 0, "Magic amount is not set");
        uint256 magicBalance = IERC20(magicAddress).balanceOf(
            address(msg.sender)
        );
        require(magicBalance >= minimumAmount, "Not enough magic");
        require(!minter[msg.sender], "You have already minted");
        bytes32 leaf = keccak256(abi.encodePacked(msg.sender));
        require(
            MerkleProof.verify(_merkleProof, merkleRoot, leaf),
            "Not allowed to enter Smithonia"
        );
        minter[msg.sender] = true;
        uint256 id = totalSupply + 1;
        _mint(msg.sender, id);
        totalSupply++;
    }

    function publicMint() external onlySender {
        require(mintIsActive && publicMintIsActive, "Blacksmith sleeping");
        require(maxSupply > totalSupply, "Armory empty");
        require(!minter[msg.sender], "You have already minted");
        minter[msg.sender] = true;
        uint256 id = totalSupply + 1;
        _mint(msg.sender, id);
        totalSupply++;
    }

    /* ADMIN ESSENTIALS */

    function adminMint(uint256 quantity, address _target) external onlyOwner {
        require(maxSupply >= totalSupply + quantity, "Sold out");
        uint256 startId = totalSupply + 1;
        for (uint256 i = 0; i < quantity; i++) {
            _mint(_target, startId + i);
        }
        totalSupply += quantity;
    }

    function setBaseTokenURI(string memory baseURI) external onlyOwner {
        _setBaseTokenURI(baseURI);
    }

    function setMagicAddress(address _magicAddress) external onlyOwner {
        magicAddress = _magicAddress;
    }

    function setMinimumAmount(uint256 _minimumAmount) external onlyOwner {
        minimumAmount = _minimumAmount;
    }

    function setMerkleRoot(bytes32 _merkleRoot) external onlyOwner {
        merkleRoot = _merkleRoot;
    }

    function toggleSale() public onlyOwner {
        mintIsActive = !mintIsActive;
    }

    function togglePublicSale() public onlyOwner {
        publicMintIsActive = !publicMintIsActive;
    }
    /* ADMIN ESSENTIALS */

    function hasMinted(address _addr) public view returns (bool) {
        return minter[_addr];
    }
}

File 2 of 6 : Ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)

pragma solidity ^0.8.0;

import "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

File 3 of 6 : ERC721I.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

/* ERC721I - ERC721I (ERC721 0xInuarashi Edition) - Gas Optimized
    Open Source: with the efforts of the [0x Collective] <3 */

contract ERC721I {

    string public name; string public symbol;
    string internal baseTokenURI; string internal baseTokenURI_EXT;
    constructor(string memory name_, string memory symbol_) {
        name = name_; symbol = symbol_; 
    }

    uint256 public totalSupply; 
    mapping(uint256 => address) public ownerOf; 
    mapping(address => uint256) public balanceOf; 

    mapping(uint256 => address) public getApproved; 
    mapping(address => mapping(address => bool)) public isApprovedForAll; 

    // Events
    event Transfer(address indexed from, address indexed to, 
    uint256 indexed tokenId);
    event Approval(address indexed owner, address indexed approved, 
    uint256 indexed tokenId);
    event ApprovalForAll(address indexed owner, address indexed operator, 
    bool approved);

    // // internal write functions
    // mint
    function _mint(address to_, uint256 tokenId_) internal virtual {
        require(to_ != address(0x0), 
            "ERC721I: _mint() Mint to Zero Address");
        require(ownerOf[tokenId_] == address(0x0), 
            "ERC721I: _mint() Token to Mint Already Exists!");

        balanceOf[to_]++;
        ownerOf[tokenId_] = to_;

        emit Transfer(address(0x0), to_, tokenId_);
    }

    // transfer
    function _transfer(address from_, address to_, uint256 tokenId_) internal virtual {
        require(from_ == ownerOf[tokenId_], 
            "ERC721I: _transfer() Transfer Not Owner of Token!");
        require(to_ != address(0x0), 
            "ERC721I: _transfer() Transfer to Zero Address!");

        // checks if there is an approved address clears it if there is
        if (getApproved[tokenId_] != address(0x0)) { 
            _approve(address(0x0), tokenId_); 
        } 

        ownerOf[tokenId_] = to_; 
        balanceOf[from_]--;
        balanceOf[to_]++;

        emit Transfer(from_, to_, tokenId_);
    }

    // approve
    function _approve(address to_, uint256 tokenId_) internal virtual {
        if (getApproved[tokenId_] != to_) {
            getApproved[tokenId_] = to_;
            emit Approval(ownerOf[tokenId_], to_, tokenId_);
        }
    }
    function _setApprovalForAll(address owner_, address operator_, bool approved_)
    internal virtual {
        require(owner_ != operator_, 
            "ERC721I: _setApprovalForAll() Owner must not be the Operator!");
        isApprovedForAll[owner_][operator_] = approved_;
        emit ApprovalForAll(owner_, operator_, approved_);
    }

    // token uri
    function _setBaseTokenURI(string memory uri_) internal virtual {
        baseTokenURI = uri_;
    }
    function _setBaseTokenURI_EXT(string memory ext_) internal virtual {
        baseTokenURI_EXT = ext_;
    }

    // // Internal View Functions
    // Embedded Libraries
    function _toString(uint256 value_) internal pure returns (string memory) {
        if (value_ == 0) { return "0"; }
        uint256 _iterate = value_; uint256 _digits;
        while (_iterate != 0) { _digits++; _iterate /= 10; } // get digits in value_
        bytes memory _buffer = new bytes(_digits);
        while (value_ != 0) { _digits--; _buffer[_digits] = bytes1(uint8(
            48 + uint256(value_ % 10 ))); value_ /= 10; } // create bytes of value_
        return string(_buffer); // return string converted bytes of value_
    }

    // Functional Views
    function _isApprovedOrOwner(address spender_, uint256 tokenId_) internal 
    view virtual returns (bool) {
        require(ownerOf[tokenId_] != address(0x0), 
            "ERC721I: _isApprovedOrOwner() Owner is Zero Address!");
        address _owner = ownerOf[tokenId_];
        return (spender_ == _owner 
            || spender_ == getApproved[tokenId_] 
            || isApprovedForAll[_owner][spender_]);
    }
    function _exists(uint256 tokenId_) internal view virtual returns (bool) {
        return ownerOf[tokenId_] != address(0x0);
    }

    // // public write functions
    function approve(address to_, uint256 tokenId_) public virtual {
        address _owner = ownerOf[tokenId_];
        require(to_ != _owner, 
            "ERC721I: approve() Cannot approve yourself!");
        require(msg.sender == _owner || isApprovedForAll[_owner][msg.sender],
            "ERC721I: Caller not owner or Approved!");
        _approve(to_, tokenId_);
    }
    function setApprovalForAll(address operator_, bool approved_) public virtual {
        _setApprovalForAll(msg.sender, operator_, approved_);
    }

    function transferFrom(address from_, address to_, uint256 tokenId_) 
    public virtual {
        require(_isApprovedOrOwner(msg.sender, tokenId_), 
            "ERC721I: transferFrom() _isApprovedOrOwner = false!");
        _transfer(from_, to_, tokenId_);
    }
    function safeTransferFrom(address from_, address to_, uint256 tokenId_, 
    bytes memory data_) public virtual {
        transferFrom(from_, to_, tokenId_);
        if (to_.code.length != 0) {
            (, bytes memory _returned) = to_.staticcall(abi.encodeWithSelector(
                0x150b7a02, msg.sender, from_, tokenId_, data_));
            bytes4 _selector = abi.decode(_returned, (bytes4));
            require(_selector == 0x150b7a02, 
                "ERC721I: safeTransferFrom() to_ not ERC721Receivable!");
        }
    }
    function safeTransferFrom(address from_, address to_, uint256 tokenId_) 
    public virtual {
        safeTransferFrom(from_, to_, tokenId_, "");
    }

    // 0xInuarashi Custom Functions
    function multiTransferFrom(address from_, address to_, 
    uint256[] memory tokenIds_) public virtual {
        for (uint256 i = 0; i < tokenIds_.length; i++) {
            transferFrom(from_, to_, tokenIds_[i]);
        }
    }
    function multiSafeTransferFrom(address from_, address to_, 
    uint256[] memory tokenIds_, bytes memory data_) public virtual {
        for (uint256 i = 0; i < tokenIds_.length; i++) {
            safeTransferFrom(from_, to_, tokenIds_[i], data_);
        }
    }

    // OZ Standard Stuff
    function supportsInterface(bytes4 interfaceId_) public pure returns (bool) {
        return (interfaceId_ == 0x80ac58cd || interfaceId_ == 0x5b5e139f);
    }

    function tokenURI(uint256 tokenId_) public view virtual returns (string memory) {
        require(ownerOf[tokenId_] != address(0x0), 
            "ERC721I: tokenURI() Token does not exist!");
        return string(abi.encodePacked(
            baseTokenURI, _toString(tokenId_), baseTokenURI_EXT));
    }
    // // public view functions
    // never use these for functions ever, they are expensive af and for view only 
    function walletOfOwner(address address_) public virtual view 
    returns (uint256[] memory) {
        uint256 _balance = balanceOf[address_];
        uint256[] memory _tokens = new uint256[] (_balance);
        uint256 _index;
        uint256 _loopThrough = totalSupply;
        for (uint256 i = 0; i < _loopThrough; i++) {
            if (ownerOf[i] == address(0x0) && _tokens[_balance - 1] == 0) {
                _loopThrough++; 
            }
            if (ownerOf[i] == address_) { 
                _tokens[_index] = i; _index++; 
            }
        }
        return _tokens;
    }

    // not sure when this will ever be needed but it conforms to erc721 enumerable
    function tokenOfOwnerByIndex(address address_, uint256 index_) public 
    virtual view returns (uint256) {
        uint256[] memory _wallet = walletOfOwner(address_);
        return _wallet[index_];
    }
}

File 4 of 6 : MerkleProof.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.5.0) (utils/cryptography/MerkleProof.sol)

pragma solidity ^0.8.0;

/**
 * @dev These functions deal with verification of Merkle Trees proofs.
 *
 * The proofs can be generated using the JavaScript library
 * https://github.com/miguelmota/merkletreejs[merkletreejs].
 * Note: the hashing algorithm should be keccak256 and pair sorting should be enabled.
 *
 * See `test/utils/cryptography/MerkleProof.test.js` for some examples.
 */
library MerkleProof {
    /**
     * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree
     * defined by `root`. For this, a `proof` must be provided, containing
     * sibling hashes on the branch from the leaf to the root of the tree. Each
     * pair of leaves and each pair of pre-images are assumed to be sorted.
     */
    function verify(
        bytes32[] memory proof,
        bytes32 root,
        bytes32 leaf
    ) internal pure returns (bool) {
        return processProof(proof, leaf) == root;
    }

    /**
     * @dev Returns the rebuilt hash obtained by traversing a Merklee tree up
     * from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt
     * hash matches the root of the tree. When processing the proof, the pairs
     * of leafs & pre-images are assumed to be sorted.
     *
     * _Available since v4.4._
     */
    function processProof(bytes32[] memory proof, bytes32 leaf) internal pure returns (bytes32) {
        bytes32 computedHash = leaf;
        for (uint256 i = 0; i < proof.length; i++) {
            bytes32 proofElement = proof[i];
            if (computedHash <= proofElement) {
                // Hash(current computed hash + current element of the proof)
                computedHash = _efficientHash(computedHash, proofElement);
            } else {
                // Hash(current element of the proof + current computed hash)
                computedHash = _efficientHash(proofElement, computedHash);
            }
        }
        return computedHash;
    }

    function _efficientHash(bytes32 a, bytes32 b) private pure returns (bytes32 value) {
        assembly {
            mstore(0x00, a)
            mstore(0x20, b)
            value := keccak256(0x00, 0x40)
        }
    }
}

File 5 of 6 : IERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `from` to `to` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

File 6 of 6 : Context.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"quantity","type":"uint256"},{"internalType":"address","name":"_target","type":"address"}],"name":"adminMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"tokenId_","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"hasMinted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"magicAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"merkleRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintIsActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"_merkleProof","type":"bytes32[]"}],"name":"mintWl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from_","type":"address"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256[]","name":"tokenIds_","type":"uint256[]"},{"internalType":"bytes","name":"data_","type":"bytes"}],"name":"multiSafeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from_","type":"address"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256[]","name":"tokenIds_","type":"uint256[]"}],"name":"multiTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"publicMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"publicMintIsActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from_","type":"address"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"tokenId_","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from_","type":"address"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"tokenId_","type":"uint256"},{"internalType":"bytes","name":"data_","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator_","type":"address"},{"internalType":"bool","name":"approved_","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"baseURI","type":"string"}],"name":"setBaseTokenURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_magicAddress","type":"address"}],"name":"setMagicAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"}],"name":"setMerkleRoot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minimumAmount","type":"uint256"}],"name":"setMinimumAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId_","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"togglePublicSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"toggleSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"},{"internalType":"uint256","name":"index_","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId_","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from_","type":"address"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"tokenId_","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"}],"name":"walletOfOwner","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"}]

608060405261300c600a556000600b60006101000a81548160ff0219169083151502179055506000600b60016101000a81548160ff0219169083151502179055503480156200004d57600080fd5b506040518060400160405280601181526020017f536d6974686f6e696120576561706f6e730000000000000000000000000000008152506040518060400160405280600881526020017f534d495448574550000000000000000000000000000000000000000000000000815250620000da620000ce6200011460201b60201c565b6200011c60201b60201c565b8160019080519060200190620000f2929190620001e0565b5080600290805190602001906200010b929190620001e0565b505050620002f5565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001ee9062000290565b90600052602060002090601f0160209004810192826200021257600085556200025e565b82601f106200022d57805160ff19168380011785556200025e565b828001600101855582156200025e579182015b828111156200025d57825182559160200191906001019062000240565b5b5090506200026d919062000271565b5090565b5b808211156200028c57600081600090555060010162000272565b5090565b60006002820490506001821680620002a957607f821691505b60208210811415620002c057620002bf620002c6565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6145f580620003056000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c806370a0823111610130578063bb0c8298116100b8578063e222c7f91161007c578063e222c7f91461062a578063e985e9c514610634578063eeb4a9c814610664578063f2fde38b14610680578063f487c6021461069c57610227565b8063bb0c829814610586578063c17846dc146105a4578063c87b56dd146105c0578063d419201d146105f0578063d5abeb011461060c57610227565b80638da5cb5b116100ff5780638da5cb5b146104f457806395527a121461051257806395d89b4114610530578063a22cb4651461054e578063b88d4fde1461056a57610227565b806370a0823114610494578063715018a6146104c45780637cb64759146104ce5780637d8966e4146104ea57610227565b80632eb4a7ab116101b35780633a3473b6116101825780633a3473b6146103de57806342842e0e146103fa578063438b630014610416578063471a4294146104465780636352211e1461046457610227565b80632eb4a7ab146103445780632f745c591461036257806330176e131461039257806338e21cce146103ae57610227565b80630dc28efe116101fa5780630dc28efe146102c65780631591b66c146102e257806318160ddd1461030057806323b872dd1461031e57806326092b831461033a57610227565b806301ffc9a71461022c57806306fdde031461025c578063081812fc1461027a578063095ea7b3146102aa575b600080fd5b610246600480360381019061024191906130c5565b6106b8565b60405161025391906137f8565b60405180910390f35b61026461071a565b604051610271919061382e565b60405180910390f35b610294600480360381019061028f9190613168565b6107a8565b6040516102a1919061376f565b60405180910390f35b6102c460048036038101906102bf919061300b565b6107db565b005b6102e060048036038101906102db91906131c2565b610990565b005b6102ea610ac3565b6040516102f7919061376f565b60405180910390f35b610308610ae9565b6040516103159190613af0565b60405180910390f35b61033860048036038101906103339190612ef5565b610aef565b005b610342610b48565b005b61034c610d80565b6040516103599190613813565b60405180910390f35b61037c6004803603810190610377919061300b565b610d86565b6040516103899190613af0565b60405180910390f35b6103ac60048036038101906103a7919061311f565b610db8565b005b6103c860048036038101906103c39190612d7a565b610e40565b6040516103d591906137f8565b60405180910390f35b6103f860048036038101906103f39190612e56565b610e96565b005b610414600480360381019061040f9190612ef5565b610ee2565b005b610430600480360381019061042b9190612d7a565b610f02565b60405161043d91906137d6565b60405180910390f35b61044e611107565b60405161045b91906137f8565b60405180910390f35b61047e60048036038101906104799190613168565b61111a565b60405161048b919061376f565b60405180910390f35b6104ae60048036038101906104a99190612d7a565b61114d565b6040516104bb9190613af0565b60405180910390f35b6104cc611165565b005b6104e860048036038101906104e39190613098565b6111ed565b005b6104f2611273565b005b6104fc61131b565b604051610509919061376f565b60405180910390f35b61051a611344565b60405161052791906137f8565b60405180910390f35b610538611357565b604051610545919061382e565b60405180910390f35b61056860048036038101906105639190612fcb565b6113e5565b005b610584600480360381019061057f9190612f48565b6113f4565b005b61058e61156e565b60405161059b9190613af0565b60405180910390f35b6105be60048036038101906105b99190612d7a565b611574565b005b6105da60048036038101906105d59190613168565b611634565b6040516105e7919061382e565b60405180910390f35b61060a6004803603810190610605919061304b565b61170e565b005b610614611b23565b6040516106219190613af0565b60405180910390f35b610632611b29565b005b61064e60048036038101906106499190612da7565b611bd1565b60405161065b91906137f8565b60405180910390f35b61067e60048036038101906106799190613168565b611c00565b005b61069a60048036038101906106959190612d7a565b611c86565b005b6106b660048036038101906106b19190612de7565b611d7e565b005b60006380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107135750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6001805461072790613dff565b80601f016020809104026020016040519081016040528092919081815260200182805461075390613dff565b80156107a05780601f10610775576101008083540402835291602001916107a0565b820191906000526020600020905b81548152906001019060200180831161078357829003601f168201915b505050505081565b60086020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610882576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087990613950565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806109425750600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610981576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097890613910565b60405180910390fd5b61098b8383611dc8565b505050565b610998611f13565b73ffffffffffffffffffffffffffffffffffffffff166109b661131b565b73ffffffffffffffffffffffffffffffffffffffff1614610a0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0390613a10565b60405180910390fd5b81600554610a1a9190613c5a565b600a541015610a5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5590613a70565b60405180910390fd5b60006001600554610a6f9190613c5a565b905060005b83811015610aa457610a91838284610a8c9190613c5a565b611f1b565b8080610a9c90613e62565b915050610a74565b508260056000828254610ab79190613c5a565b92505081905550505050565b600b60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055481565b610af93382612134565b610b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2f906139f0565b60405180910390fd5b610b43838383612342565b505050565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610bb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bad906138f0565b60405180910390fd5b600b60009054906101000a900460ff168015610bde5750600b60019054906101000a900460ff165b610c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1490613990565b60405180910390fd5b600554600a5411610c63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5a906138d0565b60405180910390fd5b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610cf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce790613890565b60405180910390fd5b6001600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060006001600554610d599190613c5a565b9050610d653382611f1b565b60056000815480929190610d7890613e62565b919050555050565b600f5481565b600080610d9284610f02565b9050808381518110610da757610da6613f8d565b5b602002602001015191505092915050565b610dc0611f13565b73ffffffffffffffffffffffffffffffffffffffff16610dde61131b565b73ffffffffffffffffffffffffffffffffffffffff1614610e34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2b90613a10565b60405180910390fd5b610e3d81612622565b50565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60005b8251811015610edb57610ec88585858481518110610eba57610eb9613f8d565b5b6020026020010151856113f4565b8080610ed390613e62565b915050610e99565b5050505050565b610efd838383604051806020016040528060008152506113f4565b505050565b60606000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008167ffffffffffffffff811115610f6457610f63613fbc565b5b604051908082528060200260200182016040528015610f925781602001602082028036833780820191505090505b509050600080600554905060005b818110156110fa57600073ffffffffffffffffffffffffffffffffffffffff166006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614801561103d57506000846001876110229190613ce1565b8151811061103357611032613f8d565b5b6020026020010151145b1561105157818061104d90613e62565b9250505b8673ffffffffffffffffffffffffffffffffffffffff166006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156110e757808484815181106110cc576110cb613f8d565b5b60200260200101818152505082806110e390613e62565b9350505b80806110f290613e62565b915050610fa0565b5082945050505050919050565b600b60009054906101000a900460ff1681565b60066020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60076020528060005260406000206000915090505481565b61116d611f13565b73ffffffffffffffffffffffffffffffffffffffff1661118b61131b565b73ffffffffffffffffffffffffffffffffffffffff16146111e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d890613a10565b60405180910390fd5b6111eb600061263c565b565b6111f5611f13565b73ffffffffffffffffffffffffffffffffffffffff1661121361131b565b73ffffffffffffffffffffffffffffffffffffffff1614611269576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126090613a10565b60405180910390fd5b80600f8190555050565b61127b611f13565b73ffffffffffffffffffffffffffffffffffffffff1661129961131b565b73ffffffffffffffffffffffffffffffffffffffff16146112ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e690613a10565b60405180910390fd5b600b60009054906101000a900460ff1615600b60006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b60019054906101000a900460ff1681565b6002805461136490613dff565b80601f016020809104026020016040519081016040528092919081815260200182805461139090613dff565b80156113dd5780601f106113b2576101008083540402835291602001916113dd565b820191906000526020600020905b8154815290600101906020018083116113c057829003601f168201915b505050505081565b6113f0338383612700565b5050565b6113ff848484610aef565b60008373ffffffffffffffffffffffffffffffffffffffff163b146115685760008373ffffffffffffffffffffffffffffffffffffffff1663150b7a0233878686604051602401611453949392919061378a565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516114a19190613727565b600060405180830381855afa9150503d80600081146114dc576040519150601f19603f3d011682016040523d82523d6000602084013e6114e1565b606091505b509150506000818060200190518101906114fb91906130f2565b905063150b7a0260e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155c906139d0565b60405180910390fd5b50505b50505050565b600c5481565b61157c611f13565b73ffffffffffffffffffffffffffffffffffffffff1661159a61131b565b73ffffffffffffffffffffffffffffffffffffffff16146115f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e790613a10565b60405180910390fd5b80600b60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6060600073ffffffffffffffffffffffffffffffffffffffff166006600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156116d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d090613ad0565b60405180910390fd5b60036116e48361286d565b60046040516020016116f89392919061373e565b6040516020818303038152906040529050919050565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161461177c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611773906138f0565b60405180910390fd5b600b60009054906101000a900460ff166117cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c290613990565b60405180910390fd5b600554600a5411611811576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611808906138d0565b60405180910390fd5b6000600c5411611856576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184d90613930565b60405180910390fd5b6000600b60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016118b3919061376f565b60206040518083038186803b1580156118cb57600080fd5b505afa1580156118df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119039190613195565b9050600c5481101561194a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611941906139b0565b60405180910390fd5b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156119d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ce90613890565b60405180910390fd5b6000336040516020016119ea919061370c565b604051602081830303815290604052805190602001209050611a50848480806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050600f54836129cd565b611a8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a86906138b0565b60405180910390fd5b6001600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060006001600554611af89190613c5a565b9050611b043382611f1b565b60056000815480929190611b1790613e62565b91905055505050505050565b600a5481565b611b31611f13565b73ffffffffffffffffffffffffffffffffffffffff16611b4f61131b565b73ffffffffffffffffffffffffffffffffffffffff1614611ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9c90613a10565b60405180910390fd5b600b60019054906101000a900460ff1615600b60016101000a81548160ff021916908315150217905550565b60096020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b611c08611f13565b73ffffffffffffffffffffffffffffffffffffffff16611c2661131b565b73ffffffffffffffffffffffffffffffffffffffff1614611c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7390613a10565b60405180910390fd5b80600c8190555050565b611c8e611f13565b73ffffffffffffffffffffffffffffffffffffffff16611cac61131b565b73ffffffffffffffffffffffffffffffffffffffff1614611d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf990613a10565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6990613850565b60405180910390fd5b611d7b8161263c565b50565b60005b8151811015611dc257611daf8484848481518110611da257611da1613f8d565b5b6020026020010151610aef565b8080611dba90613e62565b915050611d81565b50505050565b8173ffffffffffffffffffffffffffffffffffffffff166008600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f0f57816008600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166006600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8290613a30565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461202d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202490613a90565b60405180910390fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919061207d90613e62565b9190505550816006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b60008073ffffffffffffffffffffffffffffffffffffffff166006600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156121d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cf90613a50565b60405180910390fd5b60006006600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806122a857506008600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b806123395750600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b91505092915050565b6006600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146123e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123da90613970565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612453576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244a90613870565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166008600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146124c6576124c5600082611dc8565b5b816006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919061256890613dd5565b9190505550600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906125bd90613e62565b9190505550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b8060039080519060200190612638929190612a70565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561276f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276690613ab0565b60405180910390fd5b80600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161286091906137f8565b60405180910390a3505050565b606060008214156128b5576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506129c8565b600082905060005b600082146128e75780806128d090613e62565b915050600a826128e09190613cb0565b91506128bd565b60008167ffffffffffffffff81111561290357612902613fbc565b5b6040519080825280601f01601f1916602001820160405280156129355781602001600182028036833780820191505090505b5090505b600085146129c157818061294c90613dd5565b925050600a8561295c9190613ecf565b60306129689190613c5a565b60f81b81838151811061297e5761297d613f8d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856129ba9190613cb0565b9450612939565b8093505050505b919050565b6000826129da85846129e4565b1490509392505050565b60008082905060005b8451811015612a4e576000858281518110612a0b57612a0a613f8d565b5b60200260200101519050808311612a2d57612a268382612a59565b9250612a3a565b612a378184612a59565b92505b508080612a4690613e62565b9150506129ed565b508091505092915050565b600082600052816020526040600020905092915050565b828054612a7c90613dff565b90600052602060002090601f016020900481019282612a9e5760008555612ae5565b82601f10612ab757805160ff1916838001178555612ae5565b82800160010185558215612ae5579182015b82811115612ae4578251825591602001919060010190612ac9565b5b509050612af29190612af6565b5090565b5b80821115612b0f576000816000905550600101612af7565b5090565b6000612b26612b2184613b30565b613b0b565b90508083825260208201905082856020860282011115612b4957612b48613ff5565b5b60005b85811015612b795781612b5f8882612d50565b845260208401935060208301925050600181019050612b4c565b5050509392505050565b6000612b96612b9184613b5c565b613b0b565b905082815260208101848484011115612bb257612bb1613ffa565b5b612bbd848285613d93565b509392505050565b6000612bd8612bd384613b8d565b613b0b565b905082815260208101848484011115612bf457612bf3613ffa565b5b612bff848285613d93565b509392505050565b600081359050612c168161454c565b92915050565b60008083601f840112612c3257612c31613ff0565b5b8235905067ffffffffffffffff811115612c4f57612c4e613feb565b5b602083019150836020820283011115612c6b57612c6a613ff5565b5b9250929050565b600082601f830112612c8757612c86613ff0565b5b8135612c97848260208601612b13565b91505092915050565b600081359050612caf81614563565b92915050565b600081359050612cc48161457a565b92915050565b600081359050612cd981614591565b92915050565b600081519050612cee81614591565b92915050565b600082601f830112612d0957612d08613ff0565b5b8135612d19848260208601612b83565b91505092915050565b600082601f830112612d3757612d36613ff0565b5b8135612d47848260208601612bc5565b91505092915050565b600081359050612d5f816145a8565b92915050565b600081519050612d74816145a8565b92915050565b600060208284031215612d9057612d8f614004565b5b6000612d9e84828501612c07565b91505092915050565b60008060408385031215612dbe57612dbd614004565b5b6000612dcc85828601612c07565b9250506020612ddd85828601612c07565b9150509250929050565b600080600060608486031215612e0057612dff614004565b5b6000612e0e86828701612c07565b9350506020612e1f86828701612c07565b925050604084013567ffffffffffffffff811115612e4057612e3f613fff565b5b612e4c86828701612c72565b9150509250925092565b60008060008060808587031215612e7057612e6f614004565b5b6000612e7e87828801612c07565b9450506020612e8f87828801612c07565b935050604085013567ffffffffffffffff811115612eb057612eaf613fff565b5b612ebc87828801612c72565b925050606085013567ffffffffffffffff811115612edd57612edc613fff565b5b612ee987828801612cf4565b91505092959194509250565b600080600060608486031215612f0e57612f0d614004565b5b6000612f1c86828701612c07565b9350506020612f2d86828701612c07565b9250506040612f3e86828701612d50565b9150509250925092565b60008060008060808587031215612f6257612f61614004565b5b6000612f7087828801612c07565b9450506020612f8187828801612c07565b9350506040612f9287828801612d50565b925050606085013567ffffffffffffffff811115612fb357612fb2613fff565b5b612fbf87828801612cf4565b91505092959194509250565b60008060408385031215612fe257612fe1614004565b5b6000612ff085828601612c07565b925050602061300185828601612ca0565b9150509250929050565b6000806040838503121561302257613021614004565b5b600061303085828601612c07565b925050602061304185828601612d50565b9150509250929050565b6000806020838503121561306257613061614004565b5b600083013567ffffffffffffffff8111156130805761307f613fff565b5b61308c85828601612c1c565b92509250509250929050565b6000602082840312156130ae576130ad614004565b5b60006130bc84828501612cb5565b91505092915050565b6000602082840312156130db576130da614004565b5b60006130e984828501612cca565b91505092915050565b60006020828403121561310857613107614004565b5b600061311684828501612cdf565b91505092915050565b60006020828403121561313557613134614004565b5b600082013567ffffffffffffffff81111561315357613152613fff565b5b61315f84828501612d22565b91505092915050565b60006020828403121561317e5761317d614004565b5b600061318c84828501612d50565b91505092915050565b6000602082840312156131ab576131aa614004565b5b60006131b984828501612d65565b91505092915050565b600080604083850312156131d9576131d8614004565b5b60006131e785828601612d50565b92505060206131f885828601612c07565b9150509250929050565b600061320e83836136ee565b60208301905092915050565b61322381613d15565b82525050565b61323a61323582613d15565b613eab565b82525050565b600061324b82613be3565b6132558185613c11565b935061326083613bbe565b8060005b838110156132915781516132788882613202565b975061328383613c04565b925050600181019050613264565b5085935050505092915050565b6132a781613d27565b82525050565b6132b681613d33565b82525050565b60006132c782613bee565b6132d18185613c22565b93506132e1818560208601613da2565b6132ea81614009565b840191505092915050565b600061330082613bee565b61330a8185613c33565b935061331a818560208601613da2565b80840191505092915050565b600061333182613bf9565b61333b8185613c3e565b935061334b818560208601613da2565b61335481614009565b840191505092915050565b600061336a82613bf9565b6133748185613c4f565b9350613384818560208601613da2565b80840191505092915050565b6000815461339d81613dff565b6133a78186613c4f565b945060018216600081146133c257600181146133d357613406565b60ff19831686528186019350613406565b6133dc85613bce565b60005b838110156133fe578154818901526001820191506020810190506133df565b838801955050505b50505092915050565b600061341c602683613c3e565b915061342782614027565b604082019050919050565b600061343f602e83613c3e565b915061344a82614076565b604082019050919050565b6000613462601783613c3e565b915061346d826140c5565b602082019050919050565b6000613485601e83613c3e565b9150613490826140ee565b602082019050919050565b60006134a8600c83613c3e565b91506134b382614117565b602082019050919050565b60006134cb601e83613c3e565b91506134d682614140565b602082019050919050565b60006134ee602683613c3e565b91506134f982614169565b604082019050919050565b6000613511601783613c3e565b915061351c826141b8565b602082019050919050565b6000613534602b83613c3e565b915061353f826141e1565b604082019050919050565b6000613557603183613c3e565b915061356282614230565b604082019050919050565b600061357a601383613c3e565b91506135858261427f565b602082019050919050565b600061359d601083613c3e565b91506135a8826142a8565b602082019050919050565b60006135c0603583613c3e565b91506135cb826142d1565b604082019050919050565b60006135e3603383613c3e565b91506135ee82614320565b604082019050919050565b6000613606602083613c3e565b91506136118261436f565b602082019050919050565b6000613629602583613c3e565b915061363482614398565b604082019050919050565b600061364c603483613c3e565b9150613657826143e7565b604082019050919050565b600061366f600883613c3e565b915061367a82614436565b602082019050919050565b6000613692602e83613c3e565b915061369d8261445f565b604082019050919050565b60006136b5603d83613c3e565b91506136c0826144ae565b604082019050919050565b60006136d8602983613c3e565b91506136e3826144fd565b604082019050919050565b6136f781613d89565b82525050565b61370681613d89565b82525050565b60006137188284613229565b60148201915081905092915050565b600061373382846132f5565b915081905092915050565b600061374a8286613390565b9150613756828561335f565b91506137628284613390565b9150819050949350505050565b6000602082019050613784600083018461321a565b92915050565b600060808201905061379f600083018761321a565b6137ac602083018661321a565b6137b960408301856136fd565b81810360608301526137cb81846132bc565b905095945050505050565b600060208201905081810360008301526137f08184613240565b905092915050565b600060208201905061380d600083018461329e565b92915050565b600060208201905061382860008301846132ad565b92915050565b600060208201905081810360008301526138488184613326565b905092915050565b600060208201905081810360008301526138698161340f565b9050919050565b6000602082019050818103600083015261388981613432565b9050919050565b600060208201905081810360008301526138a981613455565b9050919050565b600060208201905081810360008301526138c981613478565b9050919050565b600060208201905081810360008301526138e98161349b565b9050919050565b60006020820190508181036000830152613909816134be565b9050919050565b60006020820190508181036000830152613929816134e1565b9050919050565b6000602082019050818103600083015261394981613504565b9050919050565b6000602082019050818103600083015261396981613527565b9050919050565b600060208201905081810360008301526139898161354a565b9050919050565b600060208201905081810360008301526139a98161356d565b9050919050565b600060208201905081810360008301526139c981613590565b9050919050565b600060208201905081810360008301526139e9816135b3565b9050919050565b60006020820190508181036000830152613a09816135d6565b9050919050565b60006020820190508181036000830152613a29816135f9565b9050919050565b60006020820190508181036000830152613a498161361c565b9050919050565b60006020820190508181036000830152613a698161363f565b9050919050565b60006020820190508181036000830152613a8981613662565b9050919050565b60006020820190508181036000830152613aa981613685565b9050919050565b60006020820190508181036000830152613ac9816136a8565b9050919050565b60006020820190508181036000830152613ae9816136cb565b9050919050565b6000602082019050613b0560008301846136fd565b92915050565b6000613b15613b26565b9050613b218282613e31565b919050565b6000604051905090565b600067ffffffffffffffff821115613b4b57613b4a613fbc565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613b7757613b76613fbc565b5b613b8082614009565b9050602081019050919050565b600067ffffffffffffffff821115613ba857613ba7613fbc565b5b613bb182614009565b9050602081019050919050565b6000819050602082019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000613c6582613d89565b9150613c7083613d89565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613ca557613ca4613f00565b5b828201905092915050565b6000613cbb82613d89565b9150613cc683613d89565b925082613cd657613cd5613f2f565b5b828204905092915050565b6000613cec82613d89565b9150613cf783613d89565b925082821015613d0a57613d09613f00565b5b828203905092915050565b6000613d2082613d69565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015613dc0578082015181840152602081019050613da5565b83811115613dcf576000848401525b50505050565b6000613de082613d89565b91506000821415613df457613df3613f00565b5b600182039050919050565b60006002820490506001821680613e1757607f821691505b60208210811415613e2b57613e2a613f5e565b5b50919050565b613e3a82614009565b810181811067ffffffffffffffff82111715613e5957613e58613fbc565b5b80604052505050565b6000613e6d82613d89565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613ea057613e9f613f00565b5b600182019050919050565b6000613eb682613ebd565b9050919050565b6000613ec88261401a565b9050919050565b6000613eda82613d89565b9150613ee583613d89565b925082613ef557613ef4613f2f565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f455243373231493a205f7472616e736665722829205472616e7366657220746f60008201527f205a65726f204164647265737321000000000000000000000000000000000000602082015250565b7f596f75206861766520616c7265616479206d696e746564000000000000000000600082015250565b7f4e6f7420616c6c6f77656420746f20656e74657220536d6974686f6e69610000600082015250565b7f41726d6f727920656d7074790000000000000000000000000000000000000000600082015250565b7f5468652063616c6c657220697320616e6f7468657220636f6e74726163740000600082015250565b7f455243373231493a2043616c6c6572206e6f74206f776e6572206f722041707060008201527f726f766564210000000000000000000000000000000000000000000000000000602082015250565b7f4d6167696320616d6f756e74206973206e6f7420736574000000000000000000600082015250565b7f455243373231493a20617070726f766528292043616e6e6f7420617070726f7660008201527f6520796f757273656c6621000000000000000000000000000000000000000000602082015250565b7f455243373231493a205f7472616e736665722829205472616e73666572204e6f60008201527f74204f776e6572206f6620546f6b656e21000000000000000000000000000000602082015250565b7f426c61636b736d69746820736c656570696e6700000000000000000000000000600082015250565b7f4e6f7420656e6f756768206d6167696300000000000000000000000000000000600082015250565b7f455243373231493a20736166655472616e7366657246726f6d282920746f5f2060008201527f6e6f742045524337323152656365697661626c65210000000000000000000000602082015250565b7f455243373231493a207472616e7366657246726f6d2829205f6973417070726f60008201527f7665644f724f776e6572203d2066616c73652100000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f455243373231493a205f6d696e742829204d696e7420746f205a65726f20416460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f455243373231493a205f6973417070726f7665644f724f776e65722829204f7760008201527f6e6572206973205a65726f204164647265737321000000000000000000000000602082015250565b7f536f6c64206f7574000000000000000000000000000000000000000000000000600082015250565b7f455243373231493a205f6d696e74282920546f6b656e20746f204d696e74204160008201527f6c72656164792045786973747321000000000000000000000000000000000000602082015250565b7f455243373231493a205f736574417070726f76616c466f72416c6c2829204f7760008201527f6e6572206d757374206e6f7420626520746865204f70657261746f7221000000602082015250565b7f455243373231493a20746f6b656e555249282920546f6b656e20646f6573206e60008201527f6f74206578697374210000000000000000000000000000000000000000000000602082015250565b61455581613d15565b811461456057600080fd5b50565b61456c81613d27565b811461457757600080fd5b50565b61458381613d33565b811461458e57600080fd5b50565b61459a81613d3d565b81146145a557600080fd5b50565b6145b181613d89565b81146145bc57600080fd5b5056fea26469706673582212205215a4c9b6ccab5872e015abbefbc8a80f0e83b06473fc6b51b68c864a5d251964736f6c63430008070033

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