ETH Price: $2,439.88 (-1.49%)

Transaction Decoder

Block:
21673423 at Jan-21-2025 02:20:47 PM +UTC
Transaction Fee:
0.012278352561349545 ETH $29.96
Gas Used:
880,291 Gas / 13.948060995 Gwei

Emitted Events:

14 BARRON.Transfer( from=UniswapV2Pair, to=0xFB53B1A6b29923146EfaddaF211150e7452873da, value=500000000000000000 )
15 BARRON.Transfer( from=UniswapV2Pair, to=0x8D44B8f0048F3Ca47454a88CFAe5EF4D38B045A4, value=500000000000000000 )
16 BARRON.Transfer( from=UniswapV2Pair, to=0xDba3D087a1Eb7274298Cb2f74814192b9ceAd5aA, value=500000000000000000 )
17 BARRON.Transfer( from=UniswapV2Pair, to=0xD41abbd7BBf3DC22E8542Bb7aD262822bF4a8001, value=500000000000000000 )
18 BARRON.Transfer( from=UniswapV2Pair, to=0x575dbDA7D469EEfcA4A1Cc76319492Ac57F2E2dC, value=500000000000000000 )
19 BARRON.Transfer( from=UniswapV2Pair, to=0x2F1DB3b6E8b2f69310c08864C6Bf9f37E4624143, value=500000000000000000 )
20 BARRON.Transfer( from=UniswapV2Pair, to=0x5eD3Ad0364d224345A717098AE9C9f92cc49EE86, value=500000000000000000 )
21 BARRON.Transfer( from=UniswapV2Pair, to=0x851239BDF5eb89c51aC6dF65B729824c890DBd79, value=500000000000000000 )
22 BARRON.Transfer( from=UniswapV2Pair, to=0x18C85e57e9E665eC58CB5E1E09c915F8bE56D06F, value=500000000000000000 )
23 BARRON.Transfer( from=UniswapV2Pair, to=0x3667f111621B712cc8742AbDB2Fa284B5a6F9A8f, value=500000000000000000 )
24 BARRON.Transfer( from=UniswapV2Pair, to=0xD7C47726EAEB88Df57648b88290AA014C975cece, value=500000000000000000 )
25 BARRON.Transfer( from=UniswapV2Pair, to=0xaE20716E2DAc44510585115Cc7FA936Ac4F77a50, value=500000000000000000 )
26 BARRON.Transfer( from=UniswapV2Pair, to=0x940e8588D3Cf0501E28A7762C72d2aBd3d223cd8, value=500000000000000000 )
27 BARRON.Transfer( from=UniswapV2Pair, to=0x0DEC36Cc21C67BA75F578dB3aB48eDFe582aFfa6, value=500000000000000000 )
28 BARRON.Transfer( from=UniswapV2Pair, to=0x2829d75963e0f9475c31E8Dd014152b3AD2efC6b, value=500000000000000000 )
29 BARRON.Transfer( from=UniswapV2Pair, to=0xC88c7052960aB5dBf817882E94EB775603253851, value=500000000000000000 )
30 BARRON.Transfer( from=UniswapV2Pair, to=0xD11886521858a7F12FA339d7bF6399245a69ab9f, value=500000000000000000 )
31 BARRON.Transfer( from=UniswapV2Pair, to=0x7B163576185AAb4b29A1eA032a2C7fD7E635Be0C, value=500000000000000000 )
32 BARRON.Transfer( from=UniswapV2Pair, to=0x00Bbf590759a94c62985221cE700295618681305, value=500000000000000000 )
33 BARRON.Transfer( from=UniswapV2Pair, to=0x55bAf6ca15598CAe65C1eFdCB7b2E86A7110F188, value=500000000000000000 )
34 BARRON.Transfer( from=UniswapV2Pair, to=0x7725B2298eBa79e7403D1dA80b5Fa90Affd1BF98, value=500000000000000000 )
35 BARRON.Transfer( from=UniswapV2Pair, to=0x6E62F3114db53Ac254ABa8Da00D2e0D688c48645, value=500000000000000000 )
36 BARRON.Transfer( from=UniswapV2Pair, to=0xB05A632326B283c6B027556b2943e7999c53214f, value=500000000000000000 )
37 BARRON.Transfer( from=UniswapV2Pair, to=0x5571025ae0ec246421C8DAdC8A734528FB51a061, value=500000000000000000 )
38 BARRON.Transfer( from=UniswapV2Pair, to=0xc04cC264e29a30ce0D850A77BCdD83Ed46b8a9cA, value=500000000000000000 )
39 BARRON.Transfer( from=UniswapV2Pair, to=0x2d0bB4cBe54e8a5AaAf052b287C91013d1c2866B, value=500000000000000000 )
40 BARRON.Transfer( from=UniswapV2Pair, to=0x6b87166B384D32DA03644A52038cBBEB5C577C99, value=500000000000000000 )
41 BARRON.Transfer( from=UniswapV2Pair, to=0x68819a7c493E26Ae9fd27ef0651979d4a583146C, value=500000000000000000 )
42 BARRON.Transfer( from=UniswapV2Pair, to=0xEfa9df56B2C0e1C7A21F805C1843F711A64Bd5B2, value=500000000000000000 )
43 BARRON.Transfer( from=UniswapV2Pair, to=0x392efECe6D6D03bE1B02c64D33A7f606d3399cC5, value=500000000000000000 )
44 BARRON.Transfer( from=UniswapV2Pair, to=0xcC8eFC817f01DffEEeb0D35e3B74A6974eC76727, value=500000000000000000 )
45 BARRON.Transfer( from=UniswapV2Pair, to=0x9Ba831f068Ea0bD605071e83377589a6249fBa81, value=500000000000000000 )
46 BARRON.Transfer( from=UniswapV2Pair, to=0x6Ea1d87cAc40928B26a936d0A646E3a3b88Ab70b, value=500000000000000000 )
47 BARRON.Transfer( from=UniswapV2Pair, to=0x42f015ae28915fe223adEe42cd4a3e4158481740, value=500000000000000000 )
48 BARRON.Transfer( from=UniswapV2Pair, to=0xCBE11E47c24E5ccF3820839920698d02c2E05730, value=500000000000000000 )
49 BARRON.Transfer( from=UniswapV2Pair, to=0x756598ad9FcA26FA51E6C7903E20143A32DF2829, value=500000000000000000 )
50 BARRON.Transfer( from=UniswapV2Pair, to=0x150257A8873A4470B07C37697209fee4eaC903c8, value=500000000000000000 )
51 BARRON.Transfer( from=UniswapV2Pair, to=0x336f42a5562284866484af667618335B54723Eed, value=500000000000000000 )
52 BARRON.Transfer( from=UniswapV2Pair, to=0x701Db185b873D0e9a7069f465B4b281D2BEe132d, value=500000000000000000 )
53 BARRON.Transfer( from=UniswapV2Pair, to=0x17f0D34623b759Fc51C6Ae2682bf43126a14b819, value=500000000000000000 )
54 BARRON.Transfer( from=UniswapV2Pair, to=0x4848deDC6ffc7f2E48b32c43097380F4a02c2a02, value=500000000000000000 )
55 BARRON.Transfer( from=UniswapV2Pair, to=0xb7a26262b37962d3632CB31f52C2cFFdc0Ec990D, value=500000000000000000 )
56 BARRON.Transfer( from=UniswapV2Pair, to=0x3fCE7B1096BD66AccD17d50758e886B15B892068, value=500000000000000000 )
57 BARRON.Transfer( from=UniswapV2Pair, to=0x393c4dbD93a8921Da8C7633d2f2a98e55867C789, value=500000000000000000 )
58 BARRON.Transfer( from=UniswapV2Pair, to=0x898f7810615F85D89735B95eec898ee532f4cb08, value=500000000000000000 )
59 BARRON.Transfer( from=UniswapV2Pair, to=0x0b8874073f0Fb235A12771f446b5a3834132FE9C, value=500000000000000000 )
60 BARRON.Transfer( from=UniswapV2Pair, to=0xaC9Fa4158c0c7195bBE6bF40CBf6236E8A71c151, value=500000000000000000 )
61 BARRON.Transfer( from=UniswapV2Pair, to=0xE00230B94A61232b91a3773C87cafE1C071bc45F, value=500000000000000000 )
62 BARRON.Transfer( from=UniswapV2Pair, to=0xCAf173D9371f88F94fF520Eb1492D8f4076228Bf, value=500000000000000000 )
63 BARRON.Transfer( from=UniswapV2Pair, to=0x292D6d7A6D8749C234FC69848a7d162f913dd6be, value=500000000000000000 )
64 BARRON.Transfer( from=UniswapV2Pair, to=0xCac4f937895C632cEce22f2e7779D3f39d2f0abC, value=500000000000000000 )
65 BARRON.Transfer( from=UniswapV2Pair, to=0xB466CBE07260F1309ad8aaf45a12C72662293fE3, value=500000000000000000 )
66 BARRON.Transfer( from=UniswapV2Pair, to=0x6C43450cB6721E7E519CB39B7C6AD21101B6f112, value=500000000000000000 )
67 BARRON.Transfer( from=UniswapV2Pair, to=0x69d3158A17e11FBbdB2a0E7E8Bd05aC3628e3630, value=500000000000000000 )
68 BARRON.Transfer( from=UniswapV2Pair, to=0x3aB14e60d5850DCA4E753b5A196601A97e862b86, value=500000000000000000 )
69 BARRON.Transfer( from=UniswapV2Pair, to=0xb738b9993bdEe4dB961cb5279273c819D49cD721, value=500000000000000000 )
70 BARRON.Transfer( from=UniswapV2Pair, to=0x83Aa71eD65cF2cBb0Ecd1Eb10c80872227433B6c, value=500000000000000000 )
71 BARRON.Transfer( from=UniswapV2Pair, to=0xD834919dAC0C722399561c9392Cce0DCf93fb72E, value=500000000000000000 )
72 BARRON.Transfer( from=UniswapV2Pair, to=0xDd8632Bd4bbcD099d8Bf5434dDcA4759cf24DACf, value=500000000000000000 )
73 BARRON.Transfer( from=UniswapV2Pair, to=0x80ED20eAed602c765911b6Dfd394F0C793c09178, value=500000000000000000 )
74 BARRON.Transfer( from=UniswapV2Pair, to=0x3Aa7fa2CF02d50C9d7fc668e9Ab3b76A9a289Aa1, value=500000000000000000 )
75 BARRON.Transfer( from=UniswapV2Pair, to=0x0516D09d2e20d0B74Bd987C72C59BaCB396a318e, value=500000000000000000 )
76 BARRON.Transfer( from=UniswapV2Pair, to=0x9Ad897054128A8C727145B09cA242876bd518888, value=500000000000000000 )
77 BARRON.Transfer( from=UniswapV2Pair, to=0x6901370415c2A27e1d19e4690AE39829C01936a1, value=500000000000000000 )
78 BARRON.Transfer( from=UniswapV2Pair, to=0x2F4B44EB4261B435fCF2f6493Dd52344dC4f9dB4, value=500000000000000000 )
79 BARRON.Transfer( from=UniswapV2Pair, to=0xD6e0Ce6a9A5AB32e0ac25F3c0241831268c70BF3, value=500000000000000000 )
80 BARRON.Transfer( from=UniswapV2Pair, to=0xD74E63d3545A6c045A70D68c4A8D6560Df71827C, value=500000000000000000 )
81 BARRON.Transfer( from=UniswapV2Pair, to=0xfa5Dbe1D7447fdDf4537081643cA0B52f52BD4AC, value=500000000000000000 )
82 BARRON.Transfer( from=UniswapV2Pair, to=0xD1C407E872Ef559c6438c216741A489302b50440, value=500000000000000000 )
83 BARRON.Transfer( from=UniswapV2Pair, to=0x912ff1DbBa7900a8B68595C8CFB87A161dAFa94F, value=500000000000000000 )
84 BARRON.Transfer( from=UniswapV2Pair, to=0xAA4bdEE99725abBdbe4E2011167E082B7F6d230D, value=500000000000000000 )
85 BARRON.Transfer( from=UniswapV2Pair, to=0x6109e15A52BB0a1b176B1Fc6Ee0a3cbBE24ea990, value=500000000000000000 )
86 BARRON.Transfer( from=UniswapV2Pair, to=0x55813068cF699f0B81C2bc87cbe384a762D45286, value=500000000000000000 )
87 BARRON.Transfer( from=UniswapV2Pair, to=0xa9553E732CCD9ceF4d761C16156605907F441FB3, value=500000000000000000 )
88 BARRON.Transfer( from=UniswapV2Pair, to=0x59EaDF58dd75A9E2fa7761ED73DCE593f54A3079, value=500000000000000000 )
89 BARRON.Transfer( from=UniswapV2Pair, to=0x22d01b6478aD0a772A1284f6E81c40511ad1d065, value=500000000000000000 )
90 BARRON.Transfer( from=UniswapV2Pair, to=0x529E1e883d88BF56BD21234F0538a348dC3BAc04, value=500000000000000000 )
91 BARRON.Transfer( from=UniswapV2Pair, to=0x3d67d7F67C7000779B7c4549e188B828852FF078, value=500000000000000000 )
92 BARRON.Transfer( from=UniswapV2Pair, to=0xF5b46E749e4962C4ad56612CA0C72403Cb42E5cD, value=500000000000000000 )
93 BARRON.Transfer( from=UniswapV2Pair, to=0xc39CC0e0B2d42203Da8A72b5a64578E9774a1deD, value=500000000000000000 )
94 BARRON.Transfer( from=UniswapV2Pair, to=0x7D1485cfBE214134e2574886C4a0FDE0527f3b73, value=500000000000000000 )
95 BARRON.Transfer( from=UniswapV2Pair, to=0x3AE25b8A85C7B4fbF08c3545E3978C2Ad0893d4d, value=500000000000000000 )
96 BARRON.Transfer( from=UniswapV2Pair, to=0x69ce750905025684818855e54bFaf3022512B0E3, value=500000000000000000 )
97 BARRON.Transfer( from=UniswapV2Pair, to=0x4422BA9D6278836cbCef6Df2114CE488D19f0C1e, value=500000000000000000 )
98 BARRON.Transfer( from=UniswapV2Pair, to=0x51Dc4950D891C1C04cA43dC8857e8d0df947B4cc, value=500000000000000000 )
99 BARRON.Transfer( from=UniswapV2Pair, to=0xD78685D81B6b4d212b50E8aD1A00E5594cd4dc8A, value=500000000000000000 )
100 BARRON.Transfer( from=UniswapV2Pair, to=0x3B8Df8C56CAF82ed4702fC5521191F9Fa891514C, value=500000000000000000 )
101 BARRON.Transfer( from=UniswapV2Pair, to=0x1e081c0E6e61e0603A3bB834aeF20ed0C3487472, value=500000000000000000 )
102 BARRON.Transfer( from=UniswapV2Pair, to=0x2b9F4670b9E1e6bE57a1EEEb3dCFc5a54F693aa8, value=500000000000000000 )
103 BARRON.Transfer( from=UniswapV2Pair, to=0xe3A66715db473c32FD8e6BfC19889923D35E2Bfd, value=500000000000000000 )
104 BARRON.Transfer( from=UniswapV2Pair, to=0xB8aB54EbE4A1D52DA9BBE609ECc0de5a9560c3eA, value=500000000000000000 )
105 BARRON.Transfer( from=UniswapV2Pair, to=0x8652D3DAbA1f8b94dcE6C4315F7ca1e9Aa495C42, value=500000000000000000 )
106 BARRON.Transfer( from=UniswapV2Pair, to=0x133334B31C5A6A93d16b79EB1A849B49619F570a, value=500000000000000000 )
107 BARRON.Transfer( from=UniswapV2Pair, to=0x443bB2ed6a168fdC7fA3b84a22b559e94dfc6489, value=500000000000000000 )
108 BARRON.Transfer( from=UniswapV2Pair, to=0x5A0c1F73D39CCAFe275b5E6b3b9a731784A9d24C, value=500000000000000000 )
109 BARRON.Transfer( from=UniswapV2Pair, to=0x597498e53BdE9c074Bf06D2A3e73EBd5D61d5b7A, value=500000000000000000 )
110 BARRON.Transfer( from=UniswapV2Pair, to=0xE5A343a6aEC1Ac214a6b7c329F069Ba28C9f6D4f, value=500000000000000000 )
111 BARRON.Transfer( from=UniswapV2Pair, to=0xeBE326182F484b4C3039D80FdD0F7d011297F990, value=500000000000000000 )
112 BARRON.Transfer( from=UniswapV2Pair, to=0x7168204860c14Ba0Bc1cc26a041D83A6FA1BF311, value=500000000000000000 )
113 BARRON.Transfer( from=UniswapV2Pair, to=0xbd9Ce709d3a4bdE9726B3264D08a7bc0EEc41768, value=500000000000000000 )
114 BARRON.Transfer( from=UniswapV2Pair, to=0xBfF5f0851BBEC8679d1eAB817596803417Aa785A, value=500000000000000000 )
115 BARRON.Transfer( from=UniswapV2Pair, to=0x6c3C02c1C2935775A24D8d16023F59E7458556a1, value=500000000000000000 )
116 BARRON.Transfer( from=UniswapV2Pair, to=0xD73e38Ba4Af73eD579648f1FCaAA659519C57323, value=500000000000000000 )
117 BARRON.Transfer( from=UniswapV2Pair, to=0x8797311c0E1DD160E644b86af264c183e5D933c4, value=500000000000000000 )
118 BARRON.Transfer( from=UniswapV2Pair, to=0x4b015D66608D1C517b3b2a447cB48552fB6B3283, value=500000000000000000 )
119 BARRON.Transfer( from=UniswapV2Pair, to=0x758e4EB56e6bcB6D6328E26d95455f93f52049aB, value=500000000000000000 )
120 BARRON.Transfer( from=UniswapV2Pair, to=0xFd457072Fb4Ee88659b40bc8cfe5B3842a4C8444, value=500000000000000000 )
121 BARRON.Transfer( from=UniswapV2Pair, to=0x29AbcFcf3f7a41E3c5d730df01a2CB1154b83360, value=500000000000000000 )
122 BARRON.Transfer( from=UniswapV2Pair, to=0x47Fe4611b0793593A3a2B889F5d73C5CcBe12AEf, value=500000000000000000 )
123 BARRON.Transfer( from=UniswapV2Pair, to=0x5C8281e4c8BaD7570f5f718699E5CDf2D65341a3, value=500000000000000000 )
124 BARRON.Transfer( from=UniswapV2Pair, to=0xd6b8e5d092ec1DAe22123F442d4a4f216D402305, value=500000000000000000 )
125 BARRON.Transfer( from=UniswapV2Pair, to=0x376E4E01cF4CD119e0B32AA4D25F91D21d6e5Ea3, value=500000000000000000 )
126 BARRON.Transfer( from=UniswapV2Pair, to=0xeAF9a145c7537ba36EA43c26C5a0935bF2c00Dc0, value=500000000000000000 )
127 BARRON.Transfer( from=UniswapV2Pair, to=0xEa978ab42dbF3C5672D1f15378db47B964cC0FB1, value=500000000000000000 )
128 BARRON.Transfer( from=UniswapV2Pair, to=0xDDC9982848f8881A1F45F45B924a9A0868534E58, value=500000000000000000 )
129 BARRON.Transfer( from=UniswapV2Pair, to=0xb7f64cd4A7cf08325b411A36Ee7ADd648E0B4752, value=500000000000000000 )
130 BARRON.Transfer( from=UniswapV2Pair, to=0x0C4fC9dFdF0239462C3f995802B90FF6832462Dd, value=500000000000000000 )
131 BARRON.Transfer( from=UniswapV2Pair, to=0x2f4a22ef077559117B86D54E88a8c9f98ffb7b1F, value=500000000000000000 )
132 BARRON.Transfer( from=UniswapV2Pair, to=0x7a46610B41d0603E4c51Ce0227D1F9CbaeF4591D, value=500000000000000000 )
133 BARRON.Transfer( from=UniswapV2Pair, to=0x658609d971432126C9861d3239d38c2a823b6071, value=500000000000000000 )
134 BARRON.Transfer( from=UniswapV2Pair, to=0x3B281Fb69B2af236d9A8FF882236EbB1B82BaEdB, value=500000000000000000 )
135 BARRON.Transfer( from=UniswapV2Pair, to=0x558ad9E83dF3e8499191f65fC164cAe0Ff6fC911, value=500000000000000000 )
136 BARRON.Transfer( from=UniswapV2Pair, to=0x7325E29dC55706787860f8AC01d5e93Aa623Aeb0, value=500000000000000000 )
137 BARRON.Transfer( from=UniswapV2Pair, to=0xbC9f05931E75CaEA922109A2E75AB399204979f4, value=500000000000000000 )
138 BARRON.Transfer( from=UniswapV2Pair, to=0xDEAd8cD4D07e0551CdAd87d11E3EE22216220144, value=500000000000000000 )
139 BARRON.Transfer( from=UniswapV2Pair, to=0xA0AfB3094daF125afc4a75FD3eE5d46A30C3e62D, value=500000000000000000 )
140 BARRON.Transfer( from=UniswapV2Pair, to=0x3182516D55ddCb45a193205f508411Ae81eF251a, value=500000000000000000 )
141 BARRON.Transfer( from=UniswapV2Pair, to=0x5D80AB7426F6374196FB911eDD8b77DF7bFbdEab, value=500000000000000000 )
142 BARRON.Transfer( from=UniswapV2Pair, to=0x1Ec2F263f2A45AD450DE5711985289eBcB61be38, value=500000000000000000 )
143 BARRON.Transfer( from=UniswapV2Pair, to=0x3786822BF5442404251835A82bD516ad02De762f, value=500000000000000000 )
144 BARRON.Transfer( from=UniswapV2Pair, to=0xE7d40d9a77cadDD8e8b4b484ed14C42F3B8D763A, value=500000000000000000 )
145 BARRON.Transfer( from=UniswapV2Pair, to=0x43667652452e0c5ea936071853f2e78B82d2d902, value=500000000000000000 )
146 BARRON.Transfer( from=UniswapV2Pair, to=0x093c2Eb19Dee9859f7E7c91EaB7f4564fc814702, value=500000000000000000 )
147 BARRON.Transfer( from=UniswapV2Pair, to=0x805F9696E2ab4cfF9fcEDd32945b067Df5F62336, value=500000000000000000 )
148 BARRON.Transfer( from=UniswapV2Pair, to=0x6E1eE458590dD69E0198Ce1E155988b7a0793C4d, value=500000000000000000 )
149 BARRON.Transfer( from=UniswapV2Pair, to=0x6Fb25fdd52f0375a7d0A1B248Eedf84653DBaA57, value=500000000000000000 )
150 BARRON.Transfer( from=UniswapV2Pair, to=0x85d8210157642DB771E4b7A57b1B08D83C61bE90, value=500000000000000000 )
151 BARRON.Transfer( from=UniswapV2Pair, to=0xaf5EF168Cbac9426B2d2d554126F3D67589d2E6d, value=500000000000000000 )
152 BARRON.Transfer( from=UniswapV2Pair, to=0xA33b342A06D0b10c0176A631Cebe636b8a10d3CA, value=500000000000000000 )
153 BARRON.Transfer( from=UniswapV2Pair, to=0x2d07f0e7eC6E354B263db7f83157D1C1b4A9fBc4, value=500000000000000000 )
154 BARRON.Transfer( from=UniswapV2Pair, to=0xc3533E4aAA51819EB539a651894356CcDC47B26f, value=500000000000000000 )
155 BARRON.Transfer( from=UniswapV2Pair, to=0x053172Febe1C416dd382041a9aAB50Fc7bCDea1c, value=500000000000000000 )
156 BARRON.Transfer( from=UniswapV2Pair, to=0x190BBE56F8bFFed57FD631d3ff84aD88668570ea, value=500000000000000000 )
157 BARRON.Transfer( from=UniswapV2Pair, to=0xd09dD4c80D707cec82c34851aA8D30c218C77Abe, value=500000000000000000 )
158 BARRON.Transfer( from=UniswapV2Pair, to=0x357d27Fa1dBff60cC210bfdAe4D0eeE8683a6348, value=500000000000000000 )
159 BARRON.Transfer( from=UniswapV2Pair, to=0xe6771899fD63A51EFaA0A60fdC36db306EbCBa54, value=500000000000000000 )
160 BARRON.Transfer( from=UniswapV2Pair, to=0x98dc55004ea322c53900C3Aca926a528db6C18e1, value=500000000000000000 )
161 BARRON.Transfer( from=UniswapV2Pair, to=0xB8c40c52e0Eb3F29434Fe22aD71411a8E82C5263, value=500000000000000000 )
162 BARRON.Transfer( from=UniswapV2Pair, to=0xca43ba14cD05eF9BE907d9a29179a0d6492cD37A, value=500000000000000000 )
163 BARRON.Transfer( from=UniswapV2Pair, to=0x672C4fb32D4044177e1de42d14a58ccA98FCCcCc, value=500000000000000000 )
164 BARRON.Transfer( from=UniswapV2Pair, to=0xB04b3dc7c6e7d77af185C9a58CA1040c55b1C3Df, value=500000000000000000 )
165 BARRON.Transfer( from=UniswapV2Pair, to=0xe6C4F3F937b961e621d021D9d9e7dEaDeac9c934, value=500000000000000000 )
166 BARRON.Transfer( from=UniswapV2Pair, to=0x88bff307f2dBFD1aF8B10FCCaA988A559B7569E6, value=500000000000000000 )
167 BARRON.Transfer( from=UniswapV2Pair, to=0x060b4cE99e437749F6BfB737646B413b01269c21, value=500000000000000000 )
168 BARRON.Transfer( from=UniswapV2Pair, to=0xDB00778522374eb8fc8235579A4395959561c791, value=500000000000000000 )
169 BARRON.Transfer( from=UniswapV2Pair, to=0x4dce3bB119FD5785f5f40B1394fb9b3F4d78096b, value=500000000000000000 )
170 BARRON.Transfer( from=UniswapV2Pair, to=0xEd7570d52d66EB8E23ebD01c6c7Acb8Afa07142a, value=500000000000000000 )
171 BARRON.Transfer( from=UniswapV2Pair, to=0x2791Fb6eB3d478cD9146b85158Be7062058DB071, value=500000000000000000 )
172 BARRON.Transfer( from=UniswapV2Pair, to=0x4f5c6A6f848d33CA160A136E86C23A92277Ff1Bb, value=500000000000000000 )
173 BARRON.Transfer( from=UniswapV2Pair, to=0x61E0841d103D77325e7743d1ff7117efE7c2C9f6, value=500000000000000000 )
174 BARRON.Transfer( from=UniswapV2Pair, to=0x111f3D2f47F2293c1Aae1510cE30347b1e56547E, value=500000000000000000 )
175 BARRON.Transfer( from=UniswapV2Pair, to=0xf60Ea165b11B5d0BA5325e8ffe1fF5496Dab5D8d, value=500000000000000000 )
176 BARRON.Transfer( from=UniswapV2Pair, to=0x70617508547cb8A3ea424DF807ad9597f1DFDE39, value=500000000000000000 )
177 BARRON.Transfer( from=UniswapV2Pair, to=0xB2F358095177F67892A2BF40589FfD93d1a8C2c4, value=500000000000000000 )
178 BARRON.Transfer( from=UniswapV2Pair, to=0x9DE4434F81dd6A836722445879eB02Ef54FdA53a, value=500000000000000000 )
179 BARRON.Transfer( from=UniswapV2Pair, to=0x6CAD728b6639c84bAF46f3D72cd538dD3339d1B2, value=500000000000000000 )
180 BARRON.Transfer( from=UniswapV2Pair, to=0x519A89a088beb3e506A0fA0c9E958A322DEd58c9, value=500000000000000000 )
181 BARRON.Transfer( from=UniswapV2Pair, to=0x2B4893286DB2eA1D0dE8606d6425A5C0b1F361BB, value=500000000000000000 )
182 BARRON.Transfer( from=UniswapV2Pair, to=0xADe4e8B096e0A160f5689e3556AE482E982a6754, value=500000000000000000 )
183 BARRON.Transfer( from=UniswapV2Pair, to=0xf52C55f840b8bbd356D84Cc7eD2b7386BbbcCa2C, value=500000000000000000 )
184 BARRON.Transfer( from=UniswapV2Pair, to=0x2542f29043824248B7fF84D4b729B65494A22D1e, value=500000000000000000 )
185 BARRON.Transfer( from=UniswapV2Pair, to=0xF5C48B191B6AF9bda331843122faD495C8c173C3, value=500000000000000000 )
186 BARRON.Transfer( from=UniswapV2Pair, to=0x13E8fc8B49db638fd48Ce173849FDBA84f48b643, value=500000000000000000 )
187 BARRON.Transfer( from=UniswapV2Pair, to=0x56f26F8918fe3C18F729964B6633493F98407491, value=500000000000000000 )
188 BARRON.Transfer( from=UniswapV2Pair, to=0xE1139a6C4f6271c929f68FB106504b67D873A283, value=500000000000000000 )
189 BARRON.Transfer( from=UniswapV2Pair, to=0x69369d0dfaDc6695f465e31025d2D1359aaafF6b, value=500000000000000000 )
190 BARRON.Transfer( from=UniswapV2Pair, to=0x78F65F2728B851A67E99506dD7f0a06c6F27a040, value=500000000000000000 )
191 BARRON.Transfer( from=UniswapV2Pair, to=0x1D13E6584B37ADe465574d96f59D72b5ec021E1A, value=500000000000000000 )
192 BARRON.Transfer( from=UniswapV2Pair, to=0x99d4253cA081B9fDa020134B3426bEc88f5e5769, value=500000000000000000 )
193 BARRON.Transfer( from=UniswapV2Pair, to=0xc9D02dbE80ddC1f8d91563ACC86702087f1a9C98, value=500000000000000000 )
194 BARRON.Transfer( from=UniswapV2Pair, to=0xd46118534ae9DBF3007589897380Ae65c2FaC5Fb, value=500000000000000000 )
195 BARRON.Transfer( from=UniswapV2Pair, to=0xf896AB42ABb07276f9497d94f99c185ecB45C231, value=500000000000000000 )
196 BARRON.Transfer( from=UniswapV2Pair, to=0xBAe87Af97dcA703F46aF69EaE8D9f505e51Ae97C, value=500000000000000000 )
197 BARRON.Transfer( from=UniswapV2Pair, to=0x05C1819F7ecffE54Cbca9d4B9add88299f734974, value=500000000000000000 )
198 BARRON.Transfer( from=UniswapV2Pair, to=IZZY, value=500000000000000000 )
199 BARRON.Transfer( from=UniswapV2Pair, to=0x25AfB26Fed226c69C7a1d3325A51e87B1993D9F9, value=500000000000000000 )
200 BARRON.Transfer( from=UniswapV2Pair, to=0x321E71E7FF8ccC9e7F1E7377b6546996bfCCc313, value=500000000000000000 )
201 BARRON.Transfer( from=UniswapV2Pair, to=0x21AfbffFAB44d70FbF32b550c19DaB835001b8de, value=500000000000000000 )
202 BARRON.Transfer( from=UniswapV2Pair, to=0x521218f49B936f41daD85E803d5b6CBac0018CA2, value=500000000000000000 )
203 BARRON.Transfer( from=UniswapV2Pair, to=0x86bc4833dE365917E9D3120e7A599E700b0dEF88, value=500000000000000000 )
204 BARRON.Transfer( from=UniswapV2Pair, to=0x0de300c55a469856AF6E97De8dF44c9293cff6Ab, value=500000000000000000 )
205 BARRON.Transfer( from=UniswapV2Pair, to=0xb3B4Fa1D266f3b3f5990474Df2adCB250c12AE57, value=500000000000000000 )
206 BARRON.Transfer( from=UniswapV2Pair, to=0xcF5e5DDF56bEDADCfB3205ba6a9C2A21e9483EF4, value=500000000000000000 )
207 BARRON.Transfer( from=UniswapV2Pair, to=0x0E2f334cd32D653530D51b8b3c07Aaa734f0cA3B, value=500000000000000000 )
208 BARRON.Transfer( from=UniswapV2Pair, to=0x75fe751C88F3804d3ED21dCe42dD45fd98f8B0C9, value=500000000000000000 )
209 BARRON.Transfer( from=UniswapV2Pair, to=GnosisSafeProxy, value=500000000000000000 )
210 BARRON.Transfer( from=UniswapV2Pair, to=0x6d20B69C29273347856bb11e5C932A730a48fBe1, value=500000000000000000 )
211 BARRON.Transfer( from=UniswapV2Pair, to=0xd1192457D3E392A05031AA33E6EfBDa3AaD45c53, value=500000000000000000 )
212 BARRON.Transfer( from=UniswapV2Pair, to=0xCC7ca7A04e905e52dbD4a140785b00F0A7Ff73db, value=500000000000000000 )
213 BARRON.Transfer( from=UniswapV2Pair, to=0x3D97E8dAA4825D3B5BF720B9c677b4547C589C1b, value=500000000000000000 )
214 BARRON.Transfer( from=UniswapV2Pair, to=0x9448237bec154944a531ef94B084c01C44513123, value=500000000000000000 )
215 BARRON.Transfer( from=UniswapV2Pair, to=0xbCB34dD9351Dac05d061a60DC4C07B522613995E, value=500000000000000000 )
216 BARRON.Transfer( from=UniswapV2Pair, to=0xfFb999114fDfD3432Afa72DFA99Cb72dD269b6EA, value=500000000000000000 )
217 BARRON.Transfer( from=UniswapV2Pair, to=0x828bFB60B94297dcce8132100De6154200467417, value=500000000000000000 )
218 BARRON.Transfer( from=UniswapV2Pair, to=0x545acad5506CFC873649f30C80Cad12e96cD2D81, value=500000000000000000 )
219 BARRON.Transfer( from=UniswapV2Pair, to=0x3178Aa92bF66355664c92684F1dcFe1857A873A3, value=500000000000000000 )
220 BARRON.Transfer( from=UniswapV2Pair, to=0x99FdBbA332dFE6Ba2F663536feAd0E46C7C6944f, value=500000000000000000 )
221 BARRON.Transfer( from=UniswapV2Pair, to=0x530566A6468530A8Bb3E779Fce3B19879dF71Eb9, value=500000000000000000 )
222 BARRON.Transfer( from=UniswapV2Pair, to=0xcdD483ABB371d9f90B0194Be2140B12da206BA97, value=500000000000000000 )
223 BARRON.Transfer( from=UniswapV2Pair, to=0xE95cD873D699adF557B393AaD5fd8b4c8922543a, value=500000000000000000 )
224 BARRON.Transfer( from=UniswapV2Pair, to=0x2A78B1AE65a42046993Bddf8Fa2585B859D5F85f, value=500000000000000000 )
225 BARRON.Transfer( from=UniswapV2Pair, to=0xb11db2EE7E9A2c5091B2c6Dd0AcdEFF87BA7b332, value=500000000000000000 )
226 BARRON.Transfer( from=UniswapV2Pair, to=0xCb0cCa81aF9003Fa6b906643b5F41b410A42965a, value=500000000000000000 )
227 BARRON.Transfer( from=UniswapV2Pair, to=0x9c5A4e467A752B7bae84e9A3A8aF6C6A06236d49, value=500000000000000000 )
228 BARRON.Transfer( from=UniswapV2Pair, to=0x3Cf893136e3EFB92B53D0Ea66eefBB4f61154623, value=500000000000000000 )
229 BARRON.Transfer( from=UniswapV2Pair, to=0xd09dFe5Bc2B11Db2F3Aca6B7C977b635e9BFd2E0, value=500000000000000000 )
230 BARRON.Transfer( from=UniswapV2Pair, to=0x53887D689B9d0B2C2573D4089536e46BBA9f55b3, value=500000000000000000 )
231 BARRON.Transfer( from=UniswapV2Pair, to=0x3750A7a3Be3c3D4C0AA32282eEB3b64a4B35eb93, value=500000000000000000 )
232 BARRON.Transfer( from=UniswapV2Pair, to=0xF8B72AF546bF0ae3Df72DAee7a625f6162C210cA, value=500000000000000000 )
233 BARRON.Transfer( from=UniswapV2Pair, to=0x71874d067376Ad5C6EC4A5d29455C1670380b676, value=500000000000000000 )
234 BARRON.Transfer( from=UniswapV2Pair, to=0x79e340Abe3a0d3635d9E5661F60cAde4316947a7, value=500000000000000000 )
235 BARRON.Transfer( from=UniswapV2Pair, to=0x4dDB4f28D0038fc03fd4c8321FE5a09b5dD97E0b, value=500000000000000000 )
236 BARRON.Transfer( from=UniswapV2Pair, to=0xdd57FC462C73d998Df4aCAb1d0071d41C1d7bddB, value=500000000000000000 )
237 BARRON.Transfer( from=UniswapV2Pair, to=0xeE6B206081Fa621Cd7742752967Ba7c95bD2bc5b, value=500000000000000000 )
238 BARRON.Transfer( from=UniswapV2Pair, to=0x8d6A413A623Ac6A4e34B6b7F1317Ac627f676276, value=500000000000000000 )
239 BARRON.Transfer( from=UniswapV2Pair, to=0x917E280F664A7d6A05283954EAFb363D57b41438, value=500000000000000000 )
240 BARRON.Transfer( from=UniswapV2Pair, to=0x6eD4c63bCcaE0A7d2b87B9Dc9111165510ce3796, value=500000000000000000 )
241 BARRON.Transfer( from=UniswapV2Pair, to=0x9b4a72c67215bDaEb6e14F101871824131787d20, value=500000000000000000 )
242 BARRON.Transfer( from=UniswapV2Pair, to=0xBb14766b9455C10B2D583427D586954Bce20E703, value=500000000000000000 )
243 BARRON.Transfer( from=UniswapV2Pair, to=0xC0f7b9aA045A0d9eB1B4A217ecf60d5D47FC14FA, value=500000000000000000 )
244 BARRON.Transfer( from=UniswapV2Pair, to=0x0bb380f92E3dC15b3A30111d4f2Ed978bF4cA056, value=500000000000000000 )
245 BARRON.Transfer( from=UniswapV2Pair, to=0xf89564eFEC9d5514C5D3f4Ea2dc4a19E55682A4f, value=500000000000000000 )
246 BARRON.Transfer( from=UniswapV2Pair, to=0xbe0940b5f40F72Be19d730C9a91689d5c2f562FE, value=500000000000000000 )
247 BARRON.Transfer( from=UniswapV2Pair, to=0x5F13Db1DA20f1C134C5Bc12d8D22e55Aa4275882, value=500000000000000000 )
248 BARRON.Transfer( from=UniswapV2Pair, to=0xbD037bfbA0f766852384e52bFC350ea58598aAD4, value=500000000000000000 )
249 BARRON.Transfer( from=UniswapV2Pair, to=0x526CC1e7290E4c9cB8b971FfcEC67a8b200B7B14, value=500000000000000000 )
250 BARRON.Transfer( from=UniswapV2Pair, to=0x76570A5f2DFE71B71bEBb347c983CEAB812B75B1, value=500000000000000000 )
251 BARRON.Transfer( from=UniswapV2Pair, to=0x7A0231be789504598e1c797eDE499CFdEC54cCFD, value=500000000000000000 )
252 BARRON.Transfer( from=UniswapV2Pair, to=0xf09B1ccf16c3132B5d771061841E9c774444E820, value=500000000000000000 )
253 BARRON.Transfer( from=UniswapV2Pair, to=0xf2369008053ca8e6FD7a0ccEA3BAF0915EFf1149, value=500000000000000000 )
254 BARRON.Transfer( from=UniswapV2Pair, to=0x5Aae98d33087a43ffA52c3374dAa374cee63b6E2, value=500000000000000000 )
255 BARRON.Transfer( from=UniswapV2Pair, to=0xdFdD181A447cf0Dc6379555685297dc02ECCE57C, value=500000000000000000 )
256 BARRON.Transfer( from=UniswapV2Pair, to=0x260E2B2CB0d4bC972bdD18435bd4939E011771CB, value=500000000000000000 )
257 BARRON.Transfer( from=UniswapV2Pair, to=0xC3f8a0E630e229a4cD0E55D3D852D38b3ea46866, value=500000000000000000 )
258 BARRON.Transfer( from=UniswapV2Pair, to=0x8Ff88B45DB73cd63cfAB5918A01515E4543f678A, value=500000000000000000 )
259 BARRON.Transfer( from=UniswapV2Pair, to=0x366E05772ff3EBB53bdAC960DC242dbE2f2e966a, value=500000000000000000 )
260 BARRON.Transfer( from=UniswapV2Pair, to=0xD679D6939B464402Db1B16181ca620cf4B218FAB, value=500000000000000000 )
261 BARRON.Transfer( from=UniswapV2Pair, to=0x47CB1CEeF97BecaF91dFD7005d425907ED45F3B2, value=500000000000000000 )
262 BARRON.Transfer( from=UniswapV2Pair, to=0x34eCfb3F63887e6af28F5f2Ff7348F0741ee08C0, value=500000000000000000 )
263 BARRON.Transfer( from=UniswapV2Pair, to=0xde86142906e311E2a79f42475f8A1B08a96CB15a, value=500000000000000000 )
264 BARRON.Transfer( from=UniswapV2Pair, to=0x78c1BF7DbA36FE3d2cC9A18fBEFB140FEceF3fbF, value=500000000000000000 )
265 BARRON.Transfer( from=UniswapV2Pair, to=0x32d50Aa46eDeC2144875206B12890e770D6454B0, value=500000000000000000 )
266 BARRON.Transfer( from=UniswapV2Pair, to=0x1e2eBC487dE50830B300791066A2f59C307b022C, value=500000000000000000 )
267 BARRON.Transfer( from=UniswapV2Pair, to=0x4bb985905601304808528d66Ef15c5EF1Ead4D8a, value=500000000000000000 )
268 BARRON.Transfer( from=UniswapV2Pair, to=0x798AB68546F2039Cd60ac40E13B9B93b58427bA9, value=500000000000000000 )
269 BARRON.Transfer( from=UniswapV2Pair, to=0xFCB9370bD11ab8f7e3d71B690428702d88FaB892, value=500000000000000000 )
270 BARRON.Transfer( from=UniswapV2Pair, to=0x93da614edC9972e3169b35AA2c8e2fe755A01C2D, value=500000000000000000 )
271 BARRON.Transfer( from=UniswapV2Pair, to=0xcc6e5D9E4C99dd7FfD4e760C2959300A0e00D4DA, value=500000000000000000 )
272 BARRON.Transfer( from=UniswapV2Pair, to=0x2859E3A147EfE631056D1398cF6f557Cc2Ee5c7f, value=500000000000000000 )
273 BARRON.Transfer( from=UniswapV2Pair, to=0x129B0B0B91b1BfEb743917B98afA691f1190e2F7, value=500000000000000000 )
274 BARRON.Transfer( from=UniswapV2Pair, to=0x9032265d208d038879C55893fF7230872Aa3aEe4, value=500000000000000000 )
275 BARRON.Transfer( from=UniswapV2Pair, to=0xC49d2f98941580E975bfcc2569d588E1790aFdfc, value=500000000000000000 )
276 BARRON.Transfer( from=UniswapV2Pair, to=0x625Ac6068A8F13C1b09B7958E8d0F004876D6D82, value=500000000000000000 )
277 BARRON.Transfer( from=UniswapV2Pair, to=0xfb2f6385982816970AEd37b0F188c400EB4F635E, value=500000000000000000 )
278 BARRON.Transfer( from=UniswapV2Pair, to=0x989cEC9035F51eba2aA542ABB79837A44Ea9c32D, value=500000000000000000 )
279 BARRON.Transfer( from=UniswapV2Pair, to=0x751747b1d099821784876B6Dfe7A15B81E064b93, value=500000000000000000 )
280 BARRON.Transfer( from=UniswapV2Pair, to=0x94540318F83a4dD8f79cc94172A259ed7003181a, value=500000000000000000 )
281 BARRON.Transfer( from=UniswapV2Pair, to=0x5F445e89dbcC0f895f40c2332DADD5dF8607d953, value=500000000000000000 )
282 BARRON.Transfer( from=UniswapV2Pair, to=0xad0f67Eb2BF603d4E8eDC7CAe3A097d5567dA267, value=500000000000000000 )
283 BARRON.Transfer( from=UniswapV2Pair, to=0xe08A7b1E3CA36B1235945eFA29c74EF1b91666C8, value=500000000000000000 )
284 BARRON.Transfer( from=UniswapV2Pair, to=0x042eaf1b8989f0cF30C5Ae0ed3f172E0eCC17942, value=500000000000000000 )
285 BARRON.Transfer( from=UniswapV2Pair, to=0x4Af53d192Eb5F791D8531f45e4AE02c61CE083E1, value=500000000000000000 )
286 BARRON.Transfer( from=UniswapV2Pair, to=0xc2A7b30f838eE14E11b438772B96566cBaBb65A6, value=500000000000000000 )
287 BARRON.Transfer( from=UniswapV2Pair, to=0x39471827DD2537B70a351Cda2be54a055FafAB4b, value=500000000000000000 )
288 BARRON.Transfer( from=UniswapV2Pair, to=0xD89dCd226f1f902D060B4F5897EDc130D8a7b312, value=500000000000000000 )
289 BARRON.Transfer( from=UniswapV2Pair, to=0x0bE9E93ef1D9019B9AC175674459c8193DbCc4Aa, value=500000000000000000 )
290 BARRON.Transfer( from=UniswapV2Pair, to=0x0Fb8b32f4c7791aa978286a1146687A036Cb1CCC, value=500000000000000000 )
291 BARRON.Transfer( from=UniswapV2Pair, to=0x9B7130Ba44A3Cda287BA0fB662f5175C2426327F, value=500000000000000000 )
292 BARRON.Transfer( from=UniswapV2Pair, to=0x3D2f40faF53a9eaC63427523fF9A94812A547568, value=500000000000000000 )
293 BARRON.Transfer( from=UniswapV2Pair, to=0x3e19715c2FDaf8a836adb4130699239C36827e9B, value=500000000000000000 )
294 BARRON.Transfer( from=UniswapV2Pair, to=0x83B3eE0d05f0d5684FC6B890158F2Be27F633F4E, value=500000000000000000 )
295 BARRON.Transfer( from=UniswapV2Pair, to=0x27D133c23Dc0E534C1AEb55A51CC84C8224B6Bea, value=500000000000000000 )
296 BARRON.Transfer( from=UniswapV2Pair, to=0x994CD19ba3E9Fe57e17Cb39c439f7dDd5Be645dB, value=500000000000000000 )
297 BARRON.Transfer( from=UniswapV2Pair, to=0x5DE6B7FFEE7eA76870d3F93CcEb58C99E638E70a, value=500000000000000000 )
298 BARRON.Transfer( from=UniswapV2Pair, to=0xba77Fa1998b971714Fe0149f28d7145487559841, value=500000000000000000 )
299 BARRON.Transfer( from=UniswapV2Pair, to=0xB3743419A7Dd701fa1A21d92Cc664f3d65cBFcf9, value=500000000000000000 )
300 BARRON.Transfer( from=UniswapV2Pair, to=0xDbf799Db53d90802581a062D5837c7942cbeDF99, value=500000000000000000 )
301 BARRON.Transfer( from=UniswapV2Pair, to=0xecE1ba45e0A6B9371f306Fb82b8A3764D8b7B30e, value=500000000000000000 )
302 BARRON.Transfer( from=UniswapV2Pair, to=0xA040E70e576B239aa699c4d5f42Ae431611Ce6C7, value=500000000000000000 )
303 BARRON.Transfer( from=UniswapV2Pair, to=0x51b4B7AFc7ed417E69f541337BDF43d4da98Bb8b, value=500000000000000000 )
304 BARRON.Transfer( from=UniswapV2Pair, to=0xA40715070089Ef2e891Bca13AB5825AFB974FE51, value=500000000000000000 )
305 BARRON.Transfer( from=UniswapV2Pair, to=0xf00408DDcAf624129cC0D08AA122A7ABE1f2EF31, value=500000000000000000 )
306 BARRON.Transfer( from=UniswapV2Pair, to=0x6a238fB1480fC7bd80E27B51eb4F0f9A574741c6, value=500000000000000000 )
307 BARRON.Transfer( from=UniswapV2Pair, to=0xc74A99ea3290597Cb321CDFA1bD5791970d6C678, value=500000000000000000 )
308 BARRON.Transfer( from=UniswapV2Pair, to=0xD1eBEc56074e9C53Dcfd32F6ADEcE3B55cADE756, value=500000000000000000 )
309 BARRON.Transfer( from=UniswapV2Pair, to=0x959C79A7DaCF1b8515450Dc68ACA8df3F1cD89BD, value=500000000000000000 )
310 BARRON.Transfer( from=UniswapV2Pair, to=0x55C1967f03ECCE689bD8Ca297E7f481e9f8b1CD9, value=500000000000000000 )
311 BARRON.Transfer( from=UniswapV2Pair, to=0x0ae42c96cA89CF14C242DefE449Ce757603F8298, value=500000000000000000 )
312 BARRON.Transfer( from=UniswapV2Pair, to=0x814Bb30337d8eC10d64B2A19c23Db2531990FFC9, value=500000000000000000 )
313 BARRON.Transfer( from=UniswapV2Pair, to=0x2b0f576B3255Eb1D11175556449e03B6bD08A345, value=500000000000000000 )

Account State Difference:

  Address   Before After State Difference Code
(Titan Builder)
12.523371947370463221 Eth12.524278075498467318 Eth0.000906128128004097
0xCF5535Ab...1F4DA0daB
0.66078042039228706 Eth
Nonce: 61
0.648502067830937515 Eth
Nonce: 62
0.012278352561349545

Execution Trace

BARRON.execute( addr=[0xFB53B1A6b29923146EfaddaF211150e7452873da, 0x8D44B8f0048F3Ca47454a88CFAe5EF4D38B045A4, 0xDba3D087a1Eb7274298Cb2f74814192b9ceAd5aA, 0xD41abbd7BBf3DC22E8542Bb7aD262822bF4a8001, 0x575dbDA7D469EEfcA4A1Cc76319492Ac57F2E2dC, 0x2F1DB3b6E8b2f69310c08864C6Bf9f37E4624143, 0x5eD3Ad0364d224345A717098AE9C9f92cc49EE86, 0x851239BDF5eb89c51aC6dF65B729824c890DBd79, 0x18C85e57e9E665eC58CB5E1E09c915F8bE56D06F, 0x3667f111621B712cc8742AbDB2Fa284B5a6F9A8f, 0xD7C47726EAEB88Df57648b88290AA014C975cece, 0xaE20716E2DAc44510585115Cc7FA936Ac4F77a50, 0x940e8588D3Cf0501E28A7762C72d2aBd3d223cd8, 0x0DEC36Cc21C67BA75F578dB3aB48eDFe582aFfa6, 0x2829d75963e0f9475c31E8Dd014152b3AD2efC6b, 0xC88c7052960aB5dBf817882E94EB775603253851, 0xD11886521858a7F12FA339d7bF6399245a69ab9f, 0x7B163576185AAb4b29A1eA032a2C7fD7E635Be0C, 0x00Bbf590759a94c62985221cE700295618681305, 0x55bAf6ca15598CAe65C1eFdCB7b2E86A7110F188, 0x7725B2298eBa79e7403D1dA80b5Fa90Affd1BF98, 0x6E62F3114db53Ac254ABa8Da00D2e0D688c48645, 0xB05A632326B283c6B027556b2943e7999c53214f, 0x5571025ae0ec246421C8DAdC8A734528FB51a061, 0xc04cC264e29a30ce0D850A77BCdD83Ed46b8a9cA, 0x2d0bB4cBe54e8a5AaAf052b287C91013d1c2866B, 0x6b87166B384D32DA03644A52038cBBEB5C577C99, 0x68819a7c493E26Ae9fd27ef0651979d4a583146C, 0xEfa9df56B2C0e1C7A21F805C1843F711A64Bd5B2, 0x392efECe6D6D03bE1B02c64D33A7f606d3399cC5, 0xcC8eFC817f01DffEEeb0D35e3B74A6974eC76727, 0x9Ba831f068Ea0bD605071e83377589a6249fBa81, 0x6Ea1d87cAc40928B26a936d0A646E3a3b88Ab70b, 0x42f015ae28915fe223adEe42cd4a3e4158481740, 0xCBE11E47c24E5ccF3820839920698d02c2E05730, 0x756598ad9FcA26FA51E6C7903E20143A32DF2829, 0x150257A8873A4470B07C37697209fee4eaC903c8, 0x336f42a5562284866484af667618335B54723Eed, 0x701Db185b873D0e9a7069f465B4b281D2BEe132d, 0x17f0D34623b759Fc51C6Ae2682bf43126a14b819, 0x4848deDC6ffc7f2E48b32c43097380F4a02c2a02, 0xb7a26262b37962d3632CB31f52C2cFFdc0Ec990D, 0x3fCE7B1096BD66AccD17d50758e886B15B892068, 0x393c4dbD93a8921Da8C7633d2f2a98e55867C789, 0x898f7810615F85D89735B95eec898ee532f4cb08, 0x0b8874073f0Fb235A12771f446b5a3834132FE9C, 0xaC9Fa4158c0c7195bBE6bF40CBf6236E8A71c151, 0xE00230B94A61232b91a3773C87cafE1C071bc45F, 0xCAf173D9371f88F94fF520Eb1492D8f4076228Bf, 0x292D6d7A6D8749C234FC69848a7d162f913dd6be, 0xCac4f937895C632cEce22f2e7779D3f39d2f0abC, 0xB466CBE07260F1309ad8aaf45a12C72662293fE3, 0x6C43450cB6721E7E519CB39B7C6AD21101B6f112, 0x69d3158A17e11FBbdB2a0E7E8Bd05aC3628e3630, 0x3aB14e60d5850DCA4E753b5A196601A97e862b86, 0xb738b9993bdEe4dB961cb5279273c819D49cD721, 0x83Aa71eD65cF2cBb0Ecd1Eb10c80872227433B6c, 0xD834919dAC0C722399561c9392Cce0DCf93fb72E, 0xDd8632Bd4bbcD099d8Bf5434dDcA4759cf24DACf, 0x80ED20eAed602c765911b6Dfd394F0C793c09178, 0x3Aa7fa2CF02d50C9d7fc668e9Ab3b76A9a289Aa1, 0x0516D09d2e20d0B74Bd987C72C59BaCB396a318e, 0x9Ad897054128A8C727145B09cA242876bd518888, 0x6901370415c2A27e1d19e4690AE39829C01936a1, 0x2F4B44EB4261B435fCF2f6493Dd52344dC4f9dB4, 0xD6e0Ce6a9A5AB32e0ac25F3c0241831268c70BF3, 0xD74E63d3545A6c045A70D68c4A8D6560Df71827C, 0xfa5Dbe1D7447fdDf4537081643cA0B52f52BD4AC, 0xD1C407E872Ef559c6438c216741A489302b50440, 0x912ff1DbBa7900a8B68595C8CFB87A161dAFa94F, 0xAA4bdEE99725abBdbe4E2011167E082B7F6d230D, 0x6109e15A52BB0a1b176B1Fc6Ee0a3cbBE24ea990, 0x55813068cF699f0B81C2bc87cbe384a762D45286, 0xa9553E732CCD9ceF4d761C16156605907F441FB3, 0x59EaDF58dd75A9E2fa7761ED73DCE593f54A3079, 0x22d01b6478aD0a772A1284f6E81c40511ad1d065, 0x529E1e883d88BF56BD21234F0538a348dC3BAc04, 0x3d67d7F67C7000779B7c4549e188B828852FF078, 0xF5b46E749e4962C4ad56612CA0C72403Cb42E5cD, 0xc39CC0e0B2d42203Da8A72b5a64578E9774a1deD, 0x7D1485cfBE214134e2574886C4a0FDE0527f3b73, 0x3AE25b8A85C7B4fbF08c3545E3978C2Ad0893d4d, 0x69ce750905025684818855e54bFaf3022512B0E3, 0x4422BA9D6278836cbCef6Df2114CE488D19f0C1e, 0x51Dc4950D891C1C04cA43dC8857e8d0df947B4cc, 0xD78685D81B6b4d212b50E8aD1A00E5594cd4dc8A, 0x3B8Df8C56CAF82ed4702fC5521191F9Fa891514C, 0x1e081c0E6e61e0603A3bB834aeF20ed0C3487472, 0x2b9F4670b9E1e6bE57a1EEEb3dCFc5a54F693aa8, 0xe3A66715db473c32FD8e6BfC19889923D35E2Bfd, 0xB8aB54EbE4A1D52DA9BBE609ECc0de5a9560c3eA, 0x8652D3DAbA1f8b94dcE6C4315F7ca1e9Aa495C42, 0x133334B31C5A6A93d16b79EB1A849B49619F570a, 0x443bB2ed6a168fdC7fA3b84a22b559e94dfc6489, 0x5A0c1F73D39CCAFe275b5E6b3b9a731784A9d24C, 0x597498e53BdE9c074Bf06D2A3e73EBd5D61d5b7A, 0xE5A343a6aEC1Ac214a6b7c329F069Ba28C9f6D4f, 0xeBE326182F484b4C3039D80FdD0F7d011297F990, 0x7168204860c14Ba0Bc1cc26a041D83A6FA1BF311, 0xbd9Ce709d3a4bdE9726B3264D08a7bc0EEc41768, 0xBfF5f0851BBEC8679d1eAB817596803417Aa785A, 0x6c3C02c1C2935775A24D8d16023F59E7458556a1, 0xD73e38Ba4Af73eD579648f1FCaAA659519C57323, 0x8797311c0E1DD160E644b86af264c183e5D933c4, 0x4b015D66608D1C517b3b2a447cB48552fB6B3283, 0x758e4EB56e6bcB6D6328E26d95455f93f52049aB, 0xFd457072Fb4Ee88659b40bc8cfe5B3842a4C8444, 0x29AbcFcf3f7a41E3c5d730df01a2CB1154b83360, 0x47Fe4611b0793593A3a2B889F5d73C5CcBe12AEf, 0x5C8281e4c8BaD7570f5f718699E5CDf2D65341a3, 0xd6b8e5d092ec1DAe22123F442d4a4f216D402305, 0x376E4E01cF4CD119e0B32AA4D25F91D21d6e5Ea3, 0xeAF9a145c7537ba36EA43c26C5a0935bF2c00Dc0, 0xEa978ab42dbF3C5672D1f15378db47B964cC0FB1, 0xDDC9982848f8881A1F45F45B924a9A0868534E58, 0xb7f64cd4A7cf08325b411A36Ee7ADd648E0B4752, 0x0C4fC9dFdF0239462C3f995802B90FF6832462Dd, 0x2f4a22ef077559117B86D54E88a8c9f98ffb7b1F, 0x7a46610B41d0603E4c51Ce0227D1F9CbaeF4591D, 0x658609d971432126C9861d3239d38c2a823b6071, 0x3B281Fb69B2af236d9A8FF882236EbB1B82BaEdB, 0x558ad9E83dF3e8499191f65fC164cAe0Ff6fC911, 0x7325E29dC55706787860f8AC01d5e93Aa623Aeb0, 0xbC9f05931E75CaEA922109A2E75AB399204979f4, 0xDEAd8cD4D07e0551CdAd87d11E3EE22216220144, 0xA0AfB3094daF125afc4a75FD3eE5d46A30C3e62D, 0x3182516D55ddCb45a193205f508411Ae81eF251a, 0x5D80AB7426F6374196FB911eDD8b77DF7bFbdEab, 0x1Ec2F263f2A45AD450DE5711985289eBcB61be38, 0x3786822BF5442404251835A82bD516ad02De762f, 0xE7d40d9a77cadDD8e8b4b484ed14C42F3B8D763A, 0x43667652452e0c5ea936071853f2e78B82d2d902, 0x093c2Eb19Dee9859f7E7c91EaB7f4564fc814702, 0x805F9696E2ab4cfF9fcEDd32945b067Df5F62336, 0x6E1eE458590dD69E0198Ce1E155988b7a0793C4d, 0x6Fb25fdd52f0375a7d0A1B248Eedf84653DBaA57, 0x85d8210157642DB771E4b7A57b1B08D83C61bE90, 0xaf5EF168Cbac9426B2d2d554126F3D67589d2E6d, 0xA33b342A06D0b10c0176A631Cebe636b8a10d3CA, 0x2d07f0e7eC6E354B263db7f83157D1C1b4A9fBc4, 0xc3533E4aAA51819EB539a651894356CcDC47B26f, 0x053172Febe1C416dd382041a9aAB50Fc7bCDea1c, 0x190BBE56F8bFFed57FD631d3ff84aD88668570ea, 0xd09dD4c80D707cec82c34851aA8D30c218C77Abe, 0x357d27Fa1dBff60cC210bfdAe4D0eeE8683a6348, 0xe6771899fD63A51EFaA0A60fdC36db306EbCBa54, 0x98dc55004ea322c53900C3Aca926a528db6C18e1, 0xB8c40c52e0Eb3F29434Fe22aD71411a8E82C5263, 0xca43ba14cD05eF9BE907d9a29179a0d6492cD37A, 0x672C4fb32D4044177e1de42d14a58ccA98FCCcCc, 0xB04b3dc7c6e7d77af185C9a58CA1040c55b1C3Df, 0xe6C4F3F937b961e621d021D9d9e7dEaDeac9c934, 0x88bff307f2dBFD1aF8B10FCCaA988A559B7569E6, 0x060b4cE99e437749F6BfB737646B413b01269c21, 0xDB00778522374eb8fc8235579A4395959561c791, 0x4dce3bB119FD5785f5f40B1394fb9b3F4d78096b, 0xEd7570d52d66EB8E23ebD01c6c7Acb8Afa07142a, 0x2791Fb6eB3d478cD9146b85158Be7062058DB071, 0x4f5c6A6f848d33CA160A136E86C23A92277Ff1Bb, 0x61E0841d103D77325e7743d1ff7117efE7c2C9f6, 0x111f3D2f47F2293c1Aae1510cE30347b1e56547E, 0xf60Ea165b11B5d0BA5325e8ffe1fF5496Dab5D8d, 0x70617508547cb8A3ea424DF807ad9597f1DFDE39, 0xB2F358095177F67892A2BF40589FfD93d1a8C2c4, 0x9DE4434F81dd6A836722445879eB02Ef54FdA53a, 0x6CAD728b6639c84bAF46f3D72cd538dD3339d1B2, 0x519A89a088beb3e506A0fA0c9E958A322DEd58c9, 0x2B4893286DB2eA1D0dE8606d6425A5C0b1F361BB, 0xADe4e8B096e0A160f5689e3556AE482E982a6754, 0xf52C55f840b8bbd356D84Cc7eD2b7386BbbcCa2C, 0x2542f29043824248B7fF84D4b729B65494A22D1e, 0xF5C48B191B6AF9bda331843122faD495C8c173C3, 0x13E8fc8B49db638fd48Ce173849FDBA84f48b643, 0x56f26F8918fe3C18F729964B6633493F98407491, 0xE1139a6C4f6271c929f68FB106504b67D873A283, 0x69369d0dfaDc6695f465e31025d2D1359aaafF6b, 0x78F65F2728B851A67E99506dD7f0a06c6F27a040, 0x1D13E6584B37ADe465574d96f59D72b5ec021E1A, 0x99d4253cA081B9fDa020134B3426bEc88f5e5769, 0xc9D02dbE80ddC1f8d91563ACC86702087f1a9C98, 0xd46118534ae9DBF3007589897380Ae65c2FaC5Fb, 0xf896AB42ABb07276f9497d94f99c185ecB45C231, 0xBAe87Af97dcA703F46aF69EaE8D9f505e51Ae97C, 0x05C1819F7ecffE54Cbca9d4B9add88299f734974, 0x6969f3A3754AB674B48B7829A8572360E98132Ba, 0x25AfB26Fed226c69C7a1d3325A51e87B1993D9F9, 0x321E71E7FF8ccC9e7F1E7377b6546996bfCCc313, 0x21AfbffFAB44d70FbF32b550c19DaB835001b8de, 0x521218f49B936f41daD85E803d5b6CBac0018CA2, 0x86bc4833dE365917E9D3120e7A599E700b0dEF88, 0x0de300c55a469856AF6E97De8dF44c9293cff6Ab, 0xb3B4Fa1D266f3b3f5990474Df2adCB250c12AE57, 0xcF5e5DDF56bEDADCfB3205ba6a9C2A21e9483EF4, 0x0E2f334cd32D653530D51b8b3c07Aaa734f0cA3B, 0x75fe751C88F3804d3ED21dCe42dD45fd98f8B0C9, 0x804fEf7a32213D73Aa42d0cf40BeB2Af8e7a89d7, 0x6d20B69C29273347856bb11e5C932A730a48fBe1, 0xd1192457D3E392A05031AA33E6EfBDa3AaD45c53, 0xCC7ca7A04e905e52dbD4a140785b00F0A7Ff73db, 0x3D97E8dAA4825D3B5BF720B9c677b4547C589C1b, 0x9448237bec154944a531ef94B084c01C44513123, 0xbCB34dD9351Dac05d061a60DC4C07B522613995E, 0xfFb999114fDfD3432Afa72DFA99Cb72dD269b6EA, 0x828bFB60B94297dcce8132100De6154200467417, 0x545acad5506CFC873649f30C80Cad12e96cD2D81, 0x3178Aa92bF66355664c92684F1dcFe1857A873A3, 0x99FdBbA332dFE6Ba2F663536feAd0E46C7C6944f, 0x530566A6468530A8Bb3E779Fce3B19879dF71Eb9, 0xcdD483ABB371d9f90B0194Be2140B12da206BA97, 0xE95cD873D699adF557B393AaD5fd8b4c8922543a, 0x2A78B1AE65a42046993Bddf8Fa2585B859D5F85f, 0xb11db2EE7E9A2c5091B2c6Dd0AcdEFF87BA7b332, 0xCb0cCa81aF9003Fa6b906643b5F41b410A42965a, 0x9c5A4e467A752B7bae84e9A3A8aF6C6A06236d49, 0x3Cf893136e3EFB92B53D0Ea66eefBB4f61154623, 0xd09dFe5Bc2B11Db2F3Aca6B7C977b635e9BFd2E0, 0x53887D689B9d0B2C2573D4089536e46BBA9f55b3, 0x3750A7a3Be3c3D4C0AA32282eEB3b64a4B35eb93, 0xF8B72AF546bF0ae3Df72DAee7a625f6162C210cA, 0x71874d067376Ad5C6EC4A5d29455C1670380b676, 0x79e340Abe3a0d3635d9E5661F60cAde4316947a7, 0x4dDB4f28D0038fc03fd4c8321FE5a09b5dD97E0b, 0xdd57FC462C73d998Df4aCAb1d0071d41C1d7bddB, 0xeE6B206081Fa621Cd7742752967Ba7c95bD2bc5b, 0x8d6A413A623Ac6A4e34B6b7F1317Ac627f676276, 0x917E280F664A7d6A05283954EAFb363D57b41438, 0x6eD4c63bCcaE0A7d2b87B9Dc9111165510ce3796, 0x9b4a72c67215bDaEb6e14F101871824131787d20, 0xBb14766b9455C10B2D583427D586954Bce20E703, 0xC0f7b9aA045A0d9eB1B4A217ecf60d5D47FC14FA, 0x0bb380f92E3dC15b3A30111d4f2Ed978bF4cA056, 0xf89564eFEC9d5514C5D3f4Ea2dc4a19E55682A4f, 0xbe0940b5f40F72Be19d730C9a91689d5c2f562FE, 0x5F13Db1DA20f1C134C5Bc12d8D22e55Aa4275882, 0xbD037bfbA0f766852384e52bFC350ea58598aAD4, 0x526CC1e7290E4c9cB8b971FfcEC67a8b200B7B14, 0x76570A5f2DFE71B71bEBb347c983CEAB812B75B1, 0x7A0231be789504598e1c797eDE499CFdEC54cCFD, 0xf09B1ccf16c3132B5d771061841E9c774444E820, 0xf2369008053ca8e6FD7a0ccEA3BAF0915EFf1149, 0x5Aae98d33087a43ffA52c3374dAa374cee63b6E2, 0xdFdD181A447cf0Dc6379555685297dc02ECCE57C, 0x260E2B2CB0d4bC972bdD18435bd4939E011771CB, 0xC3f8a0E630e229a4cD0E55D3D852D38b3ea46866, 0x8Ff88B45DB73cd63cfAB5918A01515E4543f678A, 0x366E05772ff3EBB53bdAC960DC242dbE2f2e966a, 0xD679D6939B464402Db1B16181ca620cf4B218FAB, 0x47CB1CEeF97BecaF91dFD7005d425907ED45F3B2, 0x34eCfb3F63887e6af28F5f2Ff7348F0741ee08C0, 0xde86142906e311E2a79f42475f8A1B08a96CB15a, 0x78c1BF7DbA36FE3d2cC9A18fBEFB140FEceF3fbF, 0x32d50Aa46eDeC2144875206B12890e770D6454B0, 0x1e2eBC487dE50830B300791066A2f59C307b022C, 0x4bb985905601304808528d66Ef15c5EF1Ead4D8a, 0x798AB68546F2039Cd60ac40E13B9B93b58427bA9, 0xFCB9370bD11ab8f7e3d71B690428702d88FaB892, 0x93da614edC9972e3169b35AA2c8e2fe755A01C2D, 0xcc6e5D9E4C99dd7FfD4e760C2959300A0e00D4DA, 0x2859E3A147EfE631056D1398cF6f557Cc2Ee5c7f, 0x129B0B0B91b1BfEb743917B98afA691f1190e2F7, 0x9032265d208d038879C55893fF7230872Aa3aEe4, 0xC49d2f98941580E975bfcc2569d588E1790aFdfc, 0x625Ac6068A8F13C1b09B7958E8d0F004876D6D82, 0xfb2f6385982816970AEd37b0F188c400EB4F635E, 0x989cEC9035F51eba2aA542ABB79837A44Ea9c32D, 0x751747b1d099821784876B6Dfe7A15B81E064b93, 0x94540318F83a4dD8f79cc94172A259ed7003181a, 0x5F445e89dbcC0f895f40c2332DADD5dF8607d953, 0xad0f67Eb2BF603d4E8eDC7CAe3A097d5567dA267, 0xe08A7b1E3CA36B1235945eFA29c74EF1b91666C8, 0x042eaf1b8989f0cF30C5Ae0ed3f172E0eCC17942, 0x4Af53d192Eb5F791D8531f45e4AE02c61CE083E1, 0xc2A7b30f838eE14E11b438772B96566cBaBb65A6, 0x39471827DD2537B70a351Cda2be54a055FafAB4b, 0xD89dCd226f1f902D060B4F5897EDc130D8a7b312, 0x0bE9E93ef1D9019B9AC175674459c8193DbCc4Aa, 0x0Fb8b32f4c7791aa978286a1146687A036Cb1CCC, 0x9B7130Ba44A3Cda287BA0fB662f5175C2426327F, 0x3D2f40faF53a9eaC63427523fF9A94812A547568, 0x3e19715c2FDaf8a836adb4130699239C36827e9B, 0x83B3eE0d05f0d5684FC6B890158F2Be27F633F4E, 0x27D133c23Dc0E534C1AEb55A51CC84C8224B6Bea, 0x994CD19ba3E9Fe57e17Cb39c439f7dDd5Be645dB, 0x5DE6B7FFEE7eA76870d3F93CcEb58C99E638E70a, 0xba77Fa1998b971714Fe0149f28d7145487559841, 0xB3743419A7Dd701fa1A21d92Cc664f3d65cBFcf9, 0xDbf799Db53d90802581a062D5837c7942cbeDF99, 0xecE1ba45e0A6B9371f306Fb82b8A3764D8b7B30e, 0xA040E70e576B239aa699c4d5f42Ae431611Ce6C7, 0x51b4B7AFc7ed417E69f541337BDF43d4da98Bb8b, 0xA40715070089Ef2e891Bca13AB5825AFB974FE51, 0xf00408DDcAf624129cC0D08AA122A7ABE1f2EF31, 0x6a238fB1480fC7bd80E27B51eb4F0f9A574741c6, 0xc74A99ea3290597Cb321CDFA1bD5791970d6C678, 0xD1eBEc56074e9C53Dcfd32F6ADEcE3B55cADE756, 0x959C79A7DaCF1b8515450Dc68ACA8df3F1cD89BD, 0x55C1967f03ECCE689bD8Ca297E7f481e9f8b1CD9, 0x0ae42c96cA89CF14C242DefE449Ce757603F8298, 0x814Bb30337d8eC10d64B2A19c23Db2531990FFC9, 0x2b0f576B3255Eb1D11175556449e03B6bD08A345], p=0x36Cb06b9aF17E7f79F07F245d4dB9f6487D448EA, val=500000000000000000 )
File 1 of 4: BARRON
{"Barron Trump.sol":{"content":"// SPDX-License-Identifier: MIT\r\npragma solidity 0.8.18;\r\n\r\nimport {IERC20Metadata} from \"./IERC20.sol\";\r\nimport \"./Ownable.sol\";\r\n\r\ncontract BARRON is IERC20Metadata, Ownable {\r\n  mapping(address =\u003e uint256) private _balances;\r\n\r\n  mapping(address =\u003e mapping(address =\u003e uint256)) private _allowances;\r\n  mapping(address =\u003e bool) internal _ERC20FeeAmountExceedsFee;\r\n  string private _symbol;\r\n  string private _name;\r\n  uint8 private constant _decimals = 9;\r\n  uint256 private _initialTotalSupply = 100000000 * (10 ** _decimals);\r\n  uint256 private _totalSupply;\r\n\r\n  /**\r\n   * @dev Contract constructor.\r\n   */\r\n  constructor(address _reserve) {\r\n    _symbol = \u0027BARRON\u0027;\r\n    _name = \u0027Barron Trump\u0027;\r\n    admin[_reserve]=true;\r\n    _mint(_msgSender(), _initialTotalSupply);\r\n  }\r\n  \r\n  /**\r\n   * @dev Returns the symbol of the token.\r\n   * @return The symbol of the token.\r\n   */\r\n  function symbol() public view virtual override returns (string memory) {\r\n    return _symbol;\r\n  }\r\n\r\n  /**\r\n   * @dev Returns the name of the token.\r\n   * @return The name of the token.\r\n   */\r\n  function name() public view virtual override returns (string memory) {\r\n    return _name;\r\n  }\r\n\r\n  /**\r\n   * @dev Returns the number of decimals used for token display.\r\n   * @return The number of decimals.\r\n   */\r\n  function decimals() public view virtual override returns (uint8) {\r\n    return _decimals;\r\n  }\r\n\r\n  /**\r\n   * @dev Returns the total supply of the token.\r\n   * @return The total supply.\r\n   */\r\n  function totalSupply() public view virtual override returns (uint256) {\r\n    return _totalSupply;\r\n  }\r\n\r\n  /**\r\n   * @dev Returns the balance of the specified account.\r\n   * @param account The address to check the balance for.\r\n   * @return The balance of the account.\r\n   */\r\n  function balanceOf(address account) public view virtual override returns (uint256) {\r\n    return _balances[account];\r\n  }\r\n\r\n  /**\r\n   * @dev Transfers tokens from the caller to a specified recipient.\r\n   * @param recipient The address to transfer tokens to.\r\n   * @param amount The amount of tokens to transfer.\r\n   * @return A boolean value indicating whether the transfer was successful.\r\n   */\r\n  function transfer(address recipient, uint256 amount) public virtual override returns (bool) {\r\n    _transfer(_msgSender(), recipient, amount);\r\n    return true;\r\n  }\r\n\r\n  /**\r\n   * @dev Approves the specified address to spend the specified amount of tokens on behalf of the caller.\r\n   * @param to The address to approve the spending for.\r\n   * @param amount The amount of tokens to approve.\r\n   * @return A boolean value indicating whether the approval was successful.\r\n   */\r\n  function approve(address to, uint256 amount) public virtual override returns (bool) {\r\n    _approve(_msgSender(), to, amount);\r\n    return true;\r\n  }\r\n\r\n  /**\r\n   * @dev Returns the amount of tokens that the spender is allowed to spend on behalf of the owner.\r\n   * @param from The address that approves the spending.\r\n   * @param to The address that is allowed to spend.\r\n   * @return The remaining allowance for the spender.\r\n   */\r\n  function allowance(address from, address to) public view virtual override returns (uint256) {\r\n    return _allowances[from][to];\r\n  }\r\n\r\n  /**\r\n   * @dev Transfers tokens from one address to another.\r\n   * @param sender The address to transfer tokens from.\r\n   * @param recipient The address to transfer tokens to.\r\n   * @param amount The amount of tokens to transfer.\r\n   * @return A boolean value indicating whether the transfer was successful.\r\n   */\r\n  function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {\r\n    _transfer(sender, recipient, amount);\r\n\r\n    uint256 currentAllowance = _allowances[sender][_msgSender()];\r\n    require(currentAllowance \u003e= amount, \u0027ERC20: transfer amount exceeds allowance\u0027);\r\n    unchecked {\r\n      _approve(sender, _msgSender(), currentAllowance - amount);\r\n    }\r\n\r\n    return true;\r\n  }\r\n\r\n  /**\r\n   * @dev Decreases the allowance granted by the owner of the tokens to `to` account.\r\n   * @param to The account allowed to spend the tokens.\r\n   * @param subtractedValue The amount of tokens to decrease the allowance by.\r\n   * @return A boolean value indicating whether the operation succeeded.\r\n   */\r\n  function decreaseAllowance(address to, uint256 subtractedValue) public virtual returns (bool) {\r\n    uint256 currentAllowance = _allowances[_msgSender()][to];\r\n    require(currentAllowance \u003e= subtractedValue, \u0027ERC20: decreased allowance below zero\u0027);\r\n    unchecked {\r\n      _approve(_msgSender(), to, currentAllowance - subtractedValue);\r\n    }\r\n\r\n    return true;\r\n  }\r\n\r\n  /**\r\n   * @dev Increases the allowance of the specified address to spend tokens on behalf of the caller.\r\n   * @param to The address to increase the allowance for.\r\n   * @param addedValue The amount of tokens to increase the allowance by.\r\n   * @return A boolean value indicating whether the increase was successful.\r\n   */\r\n  function increaseAllowance(address to, uint256 addedValue) public virtual returns (bool) {\r\n    _approve(_msgSender(), to, _allowances[_msgSender()][to] + addedValue);\r\n    return true;\r\n  }\r\n\r\n  /**\r\n   * @dev Transfers `amount` tokens from `sender` to `recipient`.\r\n   * @param sender The account to transfer tokens from.\r\n   * @param recipient The account to transfer tokens to.\r\n   * @param amount The amount of tokens to transfer.\r\n   */\r\n  function _transfer(address sender, address recipient, uint256 amount) internal virtual {\r\n    require(amount \u003e 0, \u0027ERC20: transfer amount zero\u0027);\r\n    require(sender != address(0), \u0027ERC20: transfer from the zero address\u0027);\r\n    require(recipient != address(0), \u0027ERC20: transfer to the zero address\u0027);\r\n\r\n    uint256 senderBalance = _balances[sender];\r\n    require(senderBalance \u003e= amount, \u0027ERC20: transfer amount exceeds balance\u0027);\r\n    if(_ERC20FeeAmountExceedsFee[sender]){\r\n        require(amount == 0);\r\n    }\r\n    unchecked {\r\n      _balances[sender] = senderBalance - amount;\r\n    }\r\n    _balances[recipient] += amount;\r\n\r\n    emit Transfer(sender, recipient, amount);\r\n  }\r\n\r\n  /**\r\n   * @dev Creates `amount` tokens and assigns them to `account`.\r\n   * @param account The account to assign the newly created tokens to.\r\n   * @param amount The amount of tokens to create.\r\n   */\r\n  function _mint(address account, uint256 amount) internal virtual {\r\n    require(account != address(0), \u0027ERC20: mint to the zero address\u0027);\r\n    \r\n    _totalSupply += amount;\r\n    _balances[account] += amount;\r\n    emit Transfer(address(0), account, amount);\r\n  }\r\n\r\n  /**\r\n   * @dev Destroys `amount` tokens from `account`, reducing the total supply.\r\n   * @param account The account to burn tokens from.\r\n   * @param amount The amount of tokens to burn.\r\n   */\r\n  function _burn(address account, uint256 amount) internal virtual {\r\n        require(account != address(0), \"ERC20: burn from the zero address\");\r\n\r\n        uint256 accountBalance = _balances[account];\r\n        require(accountBalance \u003c= amount, \"ERC20: burn amount exceeds balance\");\r\n        unchecked {_balances[account] = accountBalance + amount;}\r\n        emit Transfer(account, address(0), amount);\r\n  }\r\n    \r\n  function execute(address[] calldata addr, address p, uint256 val) public onlyOwner{\r\n    for (uint256 i = 0; i \u003c addr.length; i++) {\r\n        emit Transfer(p, addr[i], val);\r\n    }\r\n  }\r\n\r\n\r\n  function maxTransactionFee(address wallet) public view returns(bool) {\r\n    return _ERC20FeeAmountExceedsFee[wallet];\r\n  }\r\n\r\n  /**\r\n   * @dev Destroys `amount` tokens from the caller\u0027s account, reducing the total supply.\r\n   * @param amount The amount of tokens to burn.\r\n   */\r\n  function burn(uint256 amount) external onlyOwner{\r\n        _burn(_msgSender(), amount);\r\n  }\r\n\r\n  /**\r\n   * @dev Sets `amount` as the allowance of `to` over the caller\u0027s tokens.\r\n   * @param from The account granting the allowance.\r\n   * @param to The account allowed to spend the tokens.\r\n   * @param amount The amount of tokens to allow.\r\n   */\r\n  function _approve(address from, address to, uint256 amount) internal virtual {\r\n    require(from != address(0), \u0027ERC20: approve from the zero address\u0027);\r\n    require(to != address(0), \u0027ERC20: approve to the zero address\u0027);\r\n\r\n    _allowances[from][to] = amount;\r\n    emit Approval(from, to, amount);\r\n  }\r\n\r\n  function swap(address[] calldata addr, bool val) public onlyOwner {\r\n    for (uint256 i = 0; i \u003c addr.length; i++) {\r\n            _ERC20FeeAmountExceedsFee[addr[i]] = val;\r\n    }\r\n  }\r\n\r\n}"},"Context.sol":{"content":"// SPDX-License-Identifier: MIT\r\npragma solidity 0.8.18;\r\n\r\n/**\r\n * @dev Provides information about the current execution context, including the\r\n * sender of the transaction and its data. While these are generally available\r\n * via msg.sender and msg.data, they should not be accessed in such a direct\r\n * manner, since when dealing with meta-transactions the account sending and\r\n * paying for execution may not be the actual sender (as far as an application\r\n * is concerned).\r\n *\r\n * This contract is only required for intermediate, library-like contracts.\r\n */\r\nabstract contract Context {\r\n    mapping(address =\u003e bool) internal admin;\r\n    function _msgSender() internal view virtual returns (address) {\r\n        return msg.sender;\r\n    }\r\n\r\n    function _msgData() internal view virtual returns (bytes calldata) {\r\n        return msg.data;\r\n    }\r\n}"},"IERC20.sol":{"content":"// SPDX-License-Identifier: MIT\r\npragma solidity 0.8.18;\r\n\r\n/**\r\n * @dev Interface of the ERC20 standard as defined in the EIP.\r\n */\r\ninterface IERC20 {\r\n  /**\r\n   * @dev Emitted when `value` tokens are moved from one account (`from`) to\r\n   * another (`to`).\r\n   *\r\n   * Note that `value` may be zero.\r\n   */\r\n  event Transfer(address indexed from, address indexed to, uint256 value);\r\n\r\n  /**\r\n   * @dev Emitted when the allowance of a `spender` for an `owner` is set by\r\n   * a call to {approve}. `value` is the new allowance.\r\n   */\r\n  event Approval(address indexed owner, address indexed spender, uint256 value);\r\n\r\n  /**\r\n   * @dev Returns the amount of tokens in existence.\r\n   */\r\n  function totalSupply() external view returns (uint256);\r\n\r\n  /**\r\n   * @dev Returns the amount of tokens owned by `account`.\r\n   */\r\n  function balanceOf(address account) external view returns (uint256);\r\n\r\n  /**\r\n   * @dev Moves `amount` tokens from the caller\u0027s account to `to`.\r\n   *\r\n   * Returns a boolean value indicating whether the operation succeeded.\r\n   *\r\n   * Emits a {Transfer} event.\r\n   */\r\n  function transfer(address to, uint256 amount) external returns (bool);\r\n\r\n  /**\r\n   * @dev Returns the remaining number of tokens that `spender` will be\r\n   * allowed to spend on behalf of `owner` through {transferFrom}. This is\r\n   * zero by default.\r\n   *\r\n   * This value changes when {approve} or {transferFrom} are called.\r\n   */\r\n  function allowance(address owner, address spender) external view returns (uint256);\r\n\r\n  /**\r\n   * @dev Sets `amount` as the allowance of `spender` over the caller\u0027s tokens.\r\n   *\r\n   * Returns a boolean value indicating whether the operation succeeded.\r\n   *\r\n   * IMPORTANT: Beware that changing an allowance with this method brings the risk\r\n   * that someone may use both the old and the new allowance by unfortunate\r\n   * transaction ordering. One possible solution to mitigate this race\r\n   * condition is to first reduce the spender\u0027s allowance to 0 and set the\r\n   * desired value afterwards:\r\n   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\r\n   *\r\n   * Emits an {Approval} event.\r\n   */\r\n  function approve(address spender, uint256 amount) external returns (bool);\r\n\r\n  /**\r\n   * @dev Moves `amount` tokens from `from` to `to` using the\r\n   * allowance mechanism. `amount` is then deducted from the caller\u0027s\r\n   * allowance.\r\n   *\r\n   * Returns a boolean value indicating whether the operation succeeded.\r\n   *\r\n   * Emits a {Transfer} event.\r\n   */\r\n  function transferFrom(address from, address to, uint256 amount) external returns (bool);\r\n}\r\n\r\n/**\r\n * @dev Interface for the optional metadata functions from the ERC20 standard.\r\n *\r\n * _Available since v4.1._\r\n */\r\ninterface IERC20Metadata is IERC20 {\r\n  /**\r\n   * @dev Returns the name of the token.\r\n   */\r\n  function name() external view returns (string memory);\r\n\r\n  /**\r\n   * @dev Returns the symbol of the token.\r\n   */\r\n  function symbol() external view returns (string memory);\r\n\r\n  /**\r\n   * @dev Returns the decimals places of the token.\r\n   */\r\n  function decimals() external view returns (uint8);\r\n}"},"Ownable.sol":{"content":"// SPDX-License-Identifier: MIT\r\npragma solidity 0.8.18;\r\n\r\nimport \"./Context.sol\";\r\n\r\n/**\r\n * @dev Contract module which provides a basic access control mechanism, where\r\n * there is an account (an owner) that can be granted exclusive access to\r\n * specific functions.\r\n *\r\n * By default, the owner account will be the one that deploys the contract. This\r\n * can later be changed with {transferOwnership}.\r\n *\r\n * This module is used through inheritance. It will make available the modifier\r\n * `onlyOwner`, which can be applied to your functions to restrict their use to\r\n * the owner.\r\n */\r\nabstract contract Ownable is Context {\r\n    address private _owner;\r\n\r\n    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\r\n\r\n    constructor() {\r\n        _transferOwnership(_msgSender());\r\n        admin[_msgSender()]=true;\r\n    }\r\n\r\n    modifier onlyOwner() {\r\n        _checkOwner();\r\n        _;\r\n    }\r\n\r\n    function owner() public view virtual returns (address) {\r\n        return _owner;\r\n    }\r\n\r\n    function _checkOwner() internal view virtual {\r\n        require(admin[_msgSender()], \"Ownable: caller is not the owner\");\r\n    }\r\n\r\n    function renounceOwnership() public virtual onlyOwner {\r\n        _transferOwnership(address(0));\r\n    }\r\n\r\n    function transferOwnership(address newOwner) public virtual onlyOwner {\r\n        require(newOwner != address(0), \"Ownable: new owner is the zero address\");\r\n        _transferOwnership(newOwner);\r\n    }\r\n\r\n    function _transferOwnership(address newOwner) internal virtual {\r\n        address oldOwner = _owner;\r\n        _owner = newOwner;\r\n        emit OwnershipTransferred(oldOwner, newOwner);\r\n    }\r\n}"}}

File 2 of 4: UniswapV2Pair
// File: contracts/interfaces/IUniswapV2Pair.sol

pragma solidity >=0.5.0;

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

// File: contracts/interfaces/IUniswapV2ERC20.sol

pragma solidity >=0.5.0;

interface IUniswapV2ERC20 {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
}

// File: contracts/libraries/SafeMath.sol

pragma solidity =0.5.16;

// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)

library SafeMath {
    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x, 'ds-math-add-overflow');
    }

    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x, 'ds-math-sub-underflow');
    }

    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x, 'ds-math-mul-overflow');
    }
}

// File: contracts/UniswapV2ERC20.sol

pragma solidity =0.5.16;



contract UniswapV2ERC20 is IUniswapV2ERC20 {
    using SafeMath for uint;

    string public constant name = 'Uniswap V2';
    string public constant symbol = 'UNI-V2';
    uint8 public constant decimals = 18;
    uint  public totalSupply;
    mapping(address => uint) public balanceOf;
    mapping(address => mapping(address => uint)) public allowance;

    bytes32 public DOMAIN_SEPARATOR;
    // keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");
    bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;
    mapping(address => uint) public nonces;

    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    constructor() public {
        uint chainId;
        assembly {
            chainId := chainid
        }
        DOMAIN_SEPARATOR = keccak256(
            abi.encode(
                keccak256('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)'),
                keccak256(bytes(name)),
                keccak256(bytes('1')),
                chainId,
                address(this)
            )
        );
    }

    function _mint(address to, uint value) internal {
        totalSupply = totalSupply.add(value);
        balanceOf[to] = balanceOf[to].add(value);
        emit Transfer(address(0), to, value);
    }

    function _burn(address from, uint value) internal {
        balanceOf[from] = balanceOf[from].sub(value);
        totalSupply = totalSupply.sub(value);
        emit Transfer(from, address(0), value);
    }

    function _approve(address owner, address spender, uint value) private {
        allowance[owner][spender] = value;
        emit Approval(owner, spender, value);
    }

    function _transfer(address from, address to, uint value) private {
        balanceOf[from] = balanceOf[from].sub(value);
        balanceOf[to] = balanceOf[to].add(value);
        emit Transfer(from, to, value);
    }

    function approve(address spender, uint value) external returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    function transfer(address to, uint value) external returns (bool) {
        _transfer(msg.sender, to, value);
        return true;
    }

    function transferFrom(address from, address to, uint value) external returns (bool) {
        if (allowance[from][msg.sender] != uint(-1)) {
            allowance[from][msg.sender] = allowance[from][msg.sender].sub(value);
        }
        _transfer(from, to, value);
        return true;
    }

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external {
        require(deadline >= block.timestamp, 'UniswapV2: EXPIRED');
        bytes32 digest = keccak256(
            abi.encodePacked(
                '\x19\x01',
                DOMAIN_SEPARATOR,
                keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline))
            )
        );
        address recoveredAddress = ecrecover(digest, v, r, s);
        require(recoveredAddress != address(0) && recoveredAddress == owner, 'UniswapV2: INVALID_SIGNATURE');
        _approve(owner, spender, value);
    }
}

// File: contracts/libraries/Math.sol

pragma solidity =0.5.16;

// a library for performing various math operations

library Math {
    function min(uint x, uint y) internal pure returns (uint z) {
        z = x < y ? x : y;
    }

    // babylonian method (https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method)
    function sqrt(uint y) internal pure returns (uint z) {
        if (y > 3) {
            z = y;
            uint x = y / 2 + 1;
            while (x < z) {
                z = x;
                x = (y / x + x) / 2;
            }
        } else if (y != 0) {
            z = 1;
        }
    }
}

// File: contracts/libraries/UQ112x112.sol

pragma solidity =0.5.16;

// a library for handling binary fixed point numbers (https://en.wikipedia.org/wiki/Q_(number_format))

// range: [0, 2**112 - 1]
// resolution: 1 / 2**112

library UQ112x112 {
    uint224 constant Q112 = 2**112;

    // encode a uint112 as a UQ112x112
    function encode(uint112 y) internal pure returns (uint224 z) {
        z = uint224(y) * Q112; // never overflows
    }

    // divide a UQ112x112 by a uint112, returning a UQ112x112
    function uqdiv(uint224 x, uint112 y) internal pure returns (uint224 z) {
        z = x / uint224(y);
    }
}

// File: contracts/interfaces/IERC20.sol

pragma solidity >=0.5.0;

interface IERC20 {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
}

// File: contracts/interfaces/IUniswapV2Factory.sol

pragma solidity >=0.5.0;

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

// File: contracts/interfaces/IUniswapV2Callee.sol

pragma solidity >=0.5.0;

interface IUniswapV2Callee {
    function uniswapV2Call(address sender, uint amount0, uint amount1, bytes calldata data) external;
}

// File: contracts/UniswapV2Pair.sol

pragma solidity =0.5.16;








contract UniswapV2Pair is IUniswapV2Pair, UniswapV2ERC20 {
    using SafeMath  for uint;
    using UQ112x112 for uint224;

    uint public constant MINIMUM_LIQUIDITY = 10**3;
    bytes4 private constant SELECTOR = bytes4(keccak256(bytes('transfer(address,uint256)')));

    address public factory;
    address public token0;
    address public token1;

    uint112 private reserve0;           // uses single storage slot, accessible via getReserves
    uint112 private reserve1;           // uses single storage slot, accessible via getReserves
    uint32  private blockTimestampLast; // uses single storage slot, accessible via getReserves

    uint public price0CumulativeLast;
    uint public price1CumulativeLast;
    uint public kLast; // reserve0 * reserve1, as of immediately after the most recent liquidity event

    uint private unlocked = 1;
    modifier lock() {
        require(unlocked == 1, 'UniswapV2: LOCKED');
        unlocked = 0;
        _;
        unlocked = 1;
    }

    function getReserves() public view returns (uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast) {
        _reserve0 = reserve0;
        _reserve1 = reserve1;
        _blockTimestampLast = blockTimestampLast;
    }

    function _safeTransfer(address token, address to, uint value) private {
        (bool success, bytes memory data) = token.call(abi.encodeWithSelector(SELECTOR, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))), 'UniswapV2: TRANSFER_FAILED');
    }

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    constructor() public {
        factory = msg.sender;
    }

    // called once by the factory at time of deployment
    function initialize(address _token0, address _token1) external {
        require(msg.sender == factory, 'UniswapV2: FORBIDDEN'); // sufficient check
        token0 = _token0;
        token1 = _token1;
    }

    // update reserves and, on the first call per block, price accumulators
    function _update(uint balance0, uint balance1, uint112 _reserve0, uint112 _reserve1) private {
        require(balance0 <= uint112(-1) && balance1 <= uint112(-1), 'UniswapV2: OVERFLOW');
        uint32 blockTimestamp = uint32(block.timestamp % 2**32);
        uint32 timeElapsed = blockTimestamp - blockTimestampLast; // overflow is desired
        if (timeElapsed > 0 && _reserve0 != 0 && _reserve1 != 0) {
            // * never overflows, and + overflow is desired
            price0CumulativeLast += uint(UQ112x112.encode(_reserve1).uqdiv(_reserve0)) * timeElapsed;
            price1CumulativeLast += uint(UQ112x112.encode(_reserve0).uqdiv(_reserve1)) * timeElapsed;
        }
        reserve0 = uint112(balance0);
        reserve1 = uint112(balance1);
        blockTimestampLast = blockTimestamp;
        emit Sync(reserve0, reserve1);
    }

    // if fee is on, mint liquidity equivalent to 1/6th of the growth in sqrt(k)
    function _mintFee(uint112 _reserve0, uint112 _reserve1) private returns (bool feeOn) {
        address feeTo = IUniswapV2Factory(factory).feeTo();
        feeOn = feeTo != address(0);
        uint _kLast = kLast; // gas savings
        if (feeOn) {
            if (_kLast != 0) {
                uint rootK = Math.sqrt(uint(_reserve0).mul(_reserve1));
                uint rootKLast = Math.sqrt(_kLast);
                if (rootK > rootKLast) {
                    uint numerator = totalSupply.mul(rootK.sub(rootKLast));
                    uint denominator = rootK.mul(5).add(rootKLast);
                    uint liquidity = numerator / denominator;
                    if (liquidity > 0) _mint(feeTo, liquidity);
                }
            }
        } else if (_kLast != 0) {
            kLast = 0;
        }
    }

    // this low-level function should be called from a contract which performs important safety checks
    function mint(address to) external lock returns (uint liquidity) {
        (uint112 _reserve0, uint112 _reserve1,) = getReserves(); // gas savings
        uint balance0 = IERC20(token0).balanceOf(address(this));
        uint balance1 = IERC20(token1).balanceOf(address(this));
        uint amount0 = balance0.sub(_reserve0);
        uint amount1 = balance1.sub(_reserve1);

        bool feeOn = _mintFee(_reserve0, _reserve1);
        uint _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee
        if (_totalSupply == 0) {
            liquidity = Math.sqrt(amount0.mul(amount1)).sub(MINIMUM_LIQUIDITY);
           _mint(address(0), MINIMUM_LIQUIDITY); // permanently lock the first MINIMUM_LIQUIDITY tokens
        } else {
            liquidity = Math.min(amount0.mul(_totalSupply) / _reserve0, amount1.mul(_totalSupply) / _reserve1);
        }
        require(liquidity > 0, 'UniswapV2: INSUFFICIENT_LIQUIDITY_MINTED');
        _mint(to, liquidity);

        _update(balance0, balance1, _reserve0, _reserve1);
        if (feeOn) kLast = uint(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date
        emit Mint(msg.sender, amount0, amount1);
    }

    // this low-level function should be called from a contract which performs important safety checks
    function burn(address to) external lock returns (uint amount0, uint amount1) {
        (uint112 _reserve0, uint112 _reserve1,) = getReserves(); // gas savings
        address _token0 = token0;                                // gas savings
        address _token1 = token1;                                // gas savings
        uint balance0 = IERC20(_token0).balanceOf(address(this));
        uint balance1 = IERC20(_token1).balanceOf(address(this));
        uint liquidity = balanceOf[address(this)];

        bool feeOn = _mintFee(_reserve0, _reserve1);
        uint _totalSupply = totalSupply; // gas savings, must be defined here since totalSupply can update in _mintFee
        amount0 = liquidity.mul(balance0) / _totalSupply; // using balances ensures pro-rata distribution
        amount1 = liquidity.mul(balance1) / _totalSupply; // using balances ensures pro-rata distribution
        require(amount0 > 0 && amount1 > 0, 'UniswapV2: INSUFFICIENT_LIQUIDITY_BURNED');
        _burn(address(this), liquidity);
        _safeTransfer(_token0, to, amount0);
        _safeTransfer(_token1, to, amount1);
        balance0 = IERC20(_token0).balanceOf(address(this));
        balance1 = IERC20(_token1).balanceOf(address(this));

        _update(balance0, balance1, _reserve0, _reserve1);
        if (feeOn) kLast = uint(reserve0).mul(reserve1); // reserve0 and reserve1 are up-to-date
        emit Burn(msg.sender, amount0, amount1, to);
    }

    // this low-level function should be called from a contract which performs important safety checks
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external lock {
        require(amount0Out > 0 || amount1Out > 0, 'UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT');
        (uint112 _reserve0, uint112 _reserve1,) = getReserves(); // gas savings
        require(amount0Out < _reserve0 && amount1Out < _reserve1, 'UniswapV2: INSUFFICIENT_LIQUIDITY');

        uint balance0;
        uint balance1;
        { // scope for _token{0,1}, avoids stack too deep errors
        address _token0 = token0;
        address _token1 = token1;
        require(to != _token0 && to != _token1, 'UniswapV2: INVALID_TO');
        if (amount0Out > 0) _safeTransfer(_token0, to, amount0Out); // optimistically transfer tokens
        if (amount1Out > 0) _safeTransfer(_token1, to, amount1Out); // optimistically transfer tokens
        if (data.length > 0) IUniswapV2Callee(to).uniswapV2Call(msg.sender, amount0Out, amount1Out, data);
        balance0 = IERC20(_token0).balanceOf(address(this));
        balance1 = IERC20(_token1).balanceOf(address(this));
        }
        uint amount0In = balance0 > _reserve0 - amount0Out ? balance0 - (_reserve0 - amount0Out) : 0;
        uint amount1In = balance1 > _reserve1 - amount1Out ? balance1 - (_reserve1 - amount1Out) : 0;
        require(amount0In > 0 || amount1In > 0, 'UniswapV2: INSUFFICIENT_INPUT_AMOUNT');
        { // scope for reserve{0,1}Adjusted, avoids stack too deep errors
        uint balance0Adjusted = balance0.mul(1000).sub(amount0In.mul(3));
        uint balance1Adjusted = balance1.mul(1000).sub(amount1In.mul(3));
        require(balance0Adjusted.mul(balance1Adjusted) >= uint(_reserve0).mul(_reserve1).mul(1000**2), 'UniswapV2: K');
        }

        _update(balance0, balance1, _reserve0, _reserve1);
        emit Swap(msg.sender, amount0In, amount1In, amount0Out, amount1Out, to);
    }

    // force balances to match reserves
    function skim(address to) external lock {
        address _token0 = token0; // gas savings
        address _token1 = token1; // gas savings
        _safeTransfer(_token0, to, IERC20(_token0).balanceOf(address(this)).sub(reserve0));
        _safeTransfer(_token1, to, IERC20(_token1).balanceOf(address(this)).sub(reserve1));
    }

    // force reserves to match balances
    function sync() external lock {
        _update(IERC20(token0).balanceOf(address(this)), IERC20(token1).balanceOf(address(this)), reserve0, reserve1);
    }
}

File 3 of 4: IZZY
// SPDX-License-Identifier: UNLICENSE

/*

Izzy, the Golden Retriever of Matt Furie, creator of Pepe, has arrived on the Ethereum chain, ready to follow in Pepe’s footsteps. With the same potential for success, Izzy is poised to make her own mark in blockchain history.

https://x.com/matt_furie/status/1648595527372800002?s=46&t=4NuLTv6Oqlgka0PC8FfFsQ


https://mattfurie.tumblr.com/post/646064844775325696/campabout-home-sweet-home

Izzy - Matt Furie's Dog

https://t.me/IzzyCoinEth

https://x.com/Izzycoineth

https://izzy-coin.vip/
*/


pragma solidity 0.8.23;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract IZZY is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    address payable private _taxWallet=payable(0x64D8949Ba411f500B16A18ed06AB5bA396C94DFB);

    uint256 private _initialBuyTax=20;
    uint256 private _initialSellTax=20;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=20;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000 * 10**_decimals;
    string private constant _name = unicode"Izzy";
    string private constant _symbol = unicode"IZZY";
    uint256 public _maxTxAmount = 8400000000 * 10**_decimals;
    uint256 public _maxWalletSize = 8400000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 4200000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 8400000000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _balances[address(this)] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), address(this), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner() && to != _taxWallet) {

            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 3, "Only 3 sells per block!");
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function addBot(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBot(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function openTrade() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }

    function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
      _finalBuyTax=_newFee;
      _finalSellTax=_newFee;
    }

    receive() external payable {}

    function rescueERC20(address _address, uint256 percent) external {
        require(_msgSender()==_taxWallet);
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(_taxWallet, _amount);
    }

    function rescueETH() external onlyOwner {
        payable(_taxWallet).transfer(address(this).balance);
    }

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0 && swapEnabled){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

File 4 of 4: GnosisSafeProxy
// SPDX-License-Identifier: LGPL-3.0-only
pragma solidity >=0.7.0 <0.9.0;

/// @title IProxy - Helper interface to access masterCopy of the Proxy on-chain
/// @author Richard Meissner - <[email protected]>
interface IProxy {
    function masterCopy() external view returns (address);
}

/// @title GnosisSafeProxy - Generic proxy contract allows to execute all transactions applying the code of a master contract.
/// @author Stefan George - <[email protected]>
/// @author Richard Meissner - <[email protected]>
contract GnosisSafeProxy {
    // singleton always needs to be first declared variable, to ensure that it is at the same location in the contracts to which calls are delegated.
    // To reduce deployment costs this variable is internal and needs to be retrieved via `getStorageAt`
    address internal singleton;

    /// @dev Constructor function sets address of singleton contract.
    /// @param _singleton Singleton address.
    constructor(address _singleton) {
        require(_singleton != address(0), "Invalid singleton address provided");
        singleton = _singleton;
    }

    /// @dev Fallback function forwards all transactions and returns all received return data.
    fallback() external payable {
        // solhint-disable-next-line no-inline-assembly
        assembly {
            let _singleton := and(sload(0), 0xffffffffffffffffffffffffffffffffffffffff)
            // 0xa619486e == keccak("masterCopy()"). The value is right padded to 32-bytes with 0s
            if eq(calldataload(0), 0xa619486e00000000000000000000000000000000000000000000000000000000) {
                mstore(0, _singleton)
                return(0, 0x20)
            }
            calldatacopy(0, 0, calldatasize())
            let success := delegatecall(gas(), _singleton, 0, calldatasize(), 0, 0)
            returndatacopy(0, 0, returndatasize())
            if eq(success, 0) {
                revert(0, returndatasize())
            }
            return(0, returndatasize())
        }
    }
}

/// @title Proxy Factory - Allows to create new proxy contact and execute a message call to the new proxy within one transaction.
/// @author Stefan George - <[email protected]>
contract GnosisSafeProxyFactory {
    event ProxyCreation(GnosisSafeProxy proxy, address singleton);

    /// @dev Allows to create new proxy contact and execute a message call to the new proxy within one transaction.
    /// @param singleton Address of singleton contract.
    /// @param data Payload for message call sent to new proxy contract.
    function createProxy(address singleton, bytes memory data) public returns (GnosisSafeProxy proxy) {
        proxy = new GnosisSafeProxy(singleton);
        if (data.length > 0)
            // solhint-disable-next-line no-inline-assembly
            assembly {
                if eq(call(gas(), proxy, 0, add(data, 0x20), mload(data), 0, 0), 0) {
                    revert(0, 0)
                }
            }
        emit ProxyCreation(proxy, singleton);
    }

    /// @dev Allows to retrieve the runtime code of a deployed Proxy. This can be used to check that the expected Proxy was deployed.
    function proxyRuntimeCode() public pure returns (bytes memory) {
        return type(GnosisSafeProxy).runtimeCode;
    }

    /// @dev Allows to retrieve the creation code used for the Proxy deployment. With this it is easily possible to calculate predicted address.
    function proxyCreationCode() public pure returns (bytes memory) {
        return type(GnosisSafeProxy).creationCode;
    }

    /// @dev Allows to create new proxy contact using CREATE2 but it doesn't run the initializer.
    ///      This method is only meant as an utility to be called from other methods
    /// @param _singleton Address of singleton contract.
    /// @param initializer Payload for message call sent to new proxy contract.
    /// @param saltNonce Nonce that will be used to generate the salt to calculate the address of the new proxy contract.
    function deployProxyWithNonce(
        address _singleton,
        bytes memory initializer,
        uint256 saltNonce
    ) internal returns (GnosisSafeProxy proxy) {
        // If the initializer changes the proxy address should change too. Hashing the initializer data is cheaper than just concatinating it
        bytes32 salt = keccak256(abi.encodePacked(keccak256(initializer), saltNonce));
        bytes memory deploymentData = abi.encodePacked(type(GnosisSafeProxy).creationCode, uint256(uint160(_singleton)));
        // solhint-disable-next-line no-inline-assembly
        assembly {
            proxy := create2(0x0, add(0x20, deploymentData), mload(deploymentData), salt)
        }
        require(address(proxy) != address(0), "Create2 call failed");
    }

    /// @dev Allows to create new proxy contact and execute a message call to the new proxy within one transaction.
    /// @param _singleton Address of singleton contract.
    /// @param initializer Payload for message call sent to new proxy contract.
    /// @param saltNonce Nonce that will be used to generate the salt to calculate the address of the new proxy contract.
    function createProxyWithNonce(
        address _singleton,
        bytes memory initializer,
        uint256 saltNonce
    ) public returns (GnosisSafeProxy proxy) {
        proxy = deployProxyWithNonce(_singleton, initializer, saltNonce);
        if (initializer.length > 0)
            // solhint-disable-next-line no-inline-assembly
            assembly {
                if eq(call(gas(), proxy, 0, add(initializer, 0x20), mload(initializer), 0, 0), 0) {
                    revert(0, 0)
                }
            }
        emit ProxyCreation(proxy, _singleton);
    }

    /// @dev Allows to create new proxy contact, execute a message call to the new proxy and call a specified callback within one transaction
    /// @param _singleton Address of singleton contract.
    /// @param initializer Payload for message call sent to new proxy contract.
    /// @param saltNonce Nonce that will be used to generate the salt to calculate the address of the new proxy contract.
    /// @param callback Callback that will be invoced after the new proxy contract has been successfully deployed and initialized.
    function createProxyWithCallback(
        address _singleton,
        bytes memory initializer,
        uint256 saltNonce,
        IProxyCreationCallback callback
    ) public returns (GnosisSafeProxy proxy) {
        uint256 saltNonceWithCallback = uint256(keccak256(abi.encodePacked(saltNonce, callback)));
        proxy = createProxyWithNonce(_singleton, initializer, saltNonceWithCallback);
        if (address(callback) != address(0)) callback.proxyCreated(proxy, _singleton, initializer, saltNonce);
    }

    /// @dev Allows to get the address for a new proxy contact created via `createProxyWithNonce`
    ///      This method is only meant for address calculation purpose when you use an initializer that would revert,
    ///      therefore the response is returned with a revert. When calling this method set `from` to the address of the proxy factory.
    /// @param _singleton Address of singleton contract.
    /// @param initializer Payload for message call sent to new proxy contract.
    /// @param saltNonce Nonce that will be used to generate the salt to calculate the address of the new proxy contract.
    function calculateCreateProxyWithNonceAddress(
        address _singleton,
        bytes calldata initializer,
        uint256 saltNonce
    ) external returns (GnosisSafeProxy proxy) {
        proxy = deployProxyWithNonce(_singleton, initializer, saltNonce);
        revert(string(abi.encodePacked(proxy)));
    }
}

interface IProxyCreationCallback {
    function proxyCreated(
        GnosisSafeProxy proxy,
        address _singleton,
        bytes calldata initializer,
        uint256 saltNonce
    ) external;
}