Cryo Explorer Ethereum Mainnet

Address Contract Partially Verified

Address 0x10BC518c32fbAE5e38Ecb50A612160571bD81e44
Balance 0.030000 ETH
Nonce 1
Code Size 12732 bytes
Indexed Transactions 0
External Etherscan · Sourcify

Contract Bytecode

12732 bytes
0x60806040526004361061023b5760003560e01c80638c8d98a01161012e578063a457c2d7116100ab578063c28ab8901161006f578063c28ab89014610f4c578063dd62ed3e14611027578063f243c2a7146110ac578063f2fde38b14611103578063fa93f883146111545761023b565b8063a457c2d714610d5a578063a6f0e57714610dcd578063a9059cbb14610e24578063b199993714610e97578063b238ad0e14610ee65761023b565b80639508dc77116100f25780639508dc7714610b1457806395d89b4114610b3f5780639dc29fac14610bcf578063a131e0e514610c2a578063a324ad2414610d055761023b565b80638c8d98a0146109365780638da5cb5b146109a35780638f32d59b146109fa5780639054bdec14610a2957806392d6631314610abd5761023b565b806340c10f19116101bc57806365c728401161018057806365c728401461079657806370a08231146107eb578063715018a6146108505780637f791833146108675780638aa001fc146108e15761023b565b806340c10f191461060957806344d4fd19146106645780634ac1ad781461068f5780635f9efad6146106e457806362ba96871461070f5761023b565b8063291babc311610203578063291babc31461044f578063313ce567146104d557806339509351146105065780633bed33ce146105795780633e239e1a146105b45761023b565b806306fdde031461023d578063095ea7b3146102cd57806309daa7eb1461034057806318160ddd1461039157806323b872dd146103bc575b005b34801561024957600080fd5b506102526111a9565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610292578082015181840152602081019050610277565b50505050905090810190601f1680156102bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102d957600080fd5b50610326600480360360408110156102f057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611247565b604051808215151515815260200191505060405180910390f35b34801561034c57600080fd5b5061038f6004803603602081101561036357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061125e565b005b34801561039d57600080fd5b506103a661131c565b6040518082815260200191505060405180910390f35b3480156103c857600080fd5b50610435600480360360608110156103df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611326565b604051808215151515815260200191505060405180910390f35b34801561045b57600080fd5b506104d36004803603602081101561047257600080fd5b810190808035906020019064010000000081111561048f57600080fd5b8201836020820111156104a157600080fd5b803590602001918460208302840111640100000000831117156104c357600080fd5b90919293919293905050506113d7565b005b3480156104e157600080fd5b506104ea6115b9565b604051808260ff1660ff16815260200191505060405180910390f35b34801561051257600080fd5b5061055f6004803603604081101561052957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115cc565b604051808215151515815260200191505060405180910390f35b34801561058557600080fd5b506105b26004803603602081101561059c57600080fd5b8101908080359060200190929190505050611671565b005b3480156105c057600080fd5b506105ed600480360360208110156105d757600080fd5b8101908080359060200190929190505050611742565b604051808260ff1660ff16815260200191505060405180910390f35b34801561061557600080fd5b506106626004803603604081101561062c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611769565b005b34801561067057600080fd5b506106796117f1565b6040518082815260200191505060405180910390f35b34801561069b57600080fd5b506106c8600480360360208110156106b257600080fd5b81019080803590602001909291905050506117f9565b604051808260ff1660ff16815260200191505060405180910390f35b3480156106f057600080fd5b506106f961181c565b6040518082815260200191505060405180910390f35b34801561071b57600080fd5b50610780600480360360a081101561073257600080fd5b81019080803561ffff169060200190929190803560ff169060200190929190803560ff169060200190929190803560ff169060200190929190803560ff16906020019092919050505061183b565b6040518082815260200191505060405180910390f35b3480156107a257600080fd5b506107cf600480360360208110156107b957600080fd5b8101908080359060200190929190505050611857565b604051808260ff1660ff16815260200191505060405180910390f35b3480156107f757600080fd5b5061083a6004803603602081101561080e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061186d565b6040518082815260200191505060405180910390f35b34801561085c57600080fd5b506108656118b5565b005b34801561087357600080fd5b506108cb6004803603608081101561088a57600080fd5b81019080803561ffff169060200190929190803560ff169060200190929190803560ff169060200190929190803560ff1690602001909291905050506119f0565b6040518082815260200191505060405180910390f35b3480156108ed57600080fd5b5061091a6004803603602081101561090457600080fd5b8101908080359060200190929190505050611a0b565b604051808260ff1660ff16815260200191505060405180910390f35b34801561094257600080fd5b5061098d6004803603606081101561095957600080fd5b81019080803561ffff169060200190929190803560ff169060200190929190803560ff169060200190929190505050611a1f565b6040518082815260200191505060405180910390f35b3480156109af57600080fd5b506109b8611a3a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a0657600080fd5b50610a0f611a64565b604051808215151515815260200191505060405180910390f35b348015610a3557600080fd5b50610aa7600480360360c0811015610a4c57600080fd5b81019080803561ffff169060200190929190803560ff169060200190929190803560ff169060200190929190803560ff169060200190929190803560ff169060200190929190803560ff169060200190929190505050611abc565b6040518082815260200191505060405180910390f35b348015610ac957600080fd5b50610af660048036036020811015610ae057600080fd5b8101908080359060200190929190505050611d47565b604051808261ffff1661ffff16815260200191505060405180910390f35b348015610b2057600080fd5b50610b29611df0565b6040518082815260200191505060405180910390f35b348015610b4b57600080fd5b50610b54611df6565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b94578082015181840152602081019050610b79565b50505050905090810190601f168015610bc15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610bdb57600080fd5b50610c2860048036036040811015610bf257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e94565b005b348015610c3657600080fd5b50610d0360048036036040811015610c4d57600080fd5b8101908080359060200190640100000000811115610c6a57600080fd5b820183602082011115610c7c57600080fd5b80359060200191846020830284011164010000000083111715610c9e57600080fd5b909192939192939080359060200190640100000000811115610cbf57600080fd5b820183602082011115610cd157600080fd5b80359060200191846020830284011164010000000083111715610cf357600080fd5b9091929391929390505050611f1c565b005b348015610d1157600080fd5b50610d3e60048036036020811015610d2857600080fd5b8101908080359060200190929190505050611fff565b604051808260ff1660ff16815260200191505060405180910390f35b348015610d6657600080fd5b50610db360048036036040811015610d7d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612015565b604051808215151515815260200191505060405180910390f35b348015610dd957600080fd5b50610e0a60048036036020811015610df057600080fd5b81019080803561ffff1690602001909291905050506120ba565b604051808215151515815260200191505060405180910390f35b348015610e3057600080fd5b50610e7d60048036036040811015610e4757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061212f565b604051808215151515815260200191505060405180910390f35b348015610ea357600080fd5b50610ed060048036036020811015610eba57600080fd5b8101908080359060200190929190505050612146565b6040518082815260200191505060405180910390f35b348015610ef257600080fd5b50610f3060048036036040811015610f0957600080fd5b81019080803560ff169060200190929190803561ffff169060200190929190505050612179565b604051808260ff1660ff16815260200191505060405180910390f35b348015610f5857600080fd5b5061102560048036036040811015610f6f57600080fd5b8101908080359060200190640100000000811115610f8c57600080fd5b820183602082011115610f9e57600080fd5b80359060200191846020830284011164010000000083111715610fc057600080fd5b909192939192939080359060200190640100000000811115610fe157600080fd5b820183602082011115610ff357600080fd5b8035906020019184602083028401116401000000008311171561101557600080fd5b9091929391929390505050612245565b005b34801561103357600080fd5b506110966004803603604081101561104a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612328565b6040518082815260200191505060405180910390f35b3480156110b857600080fd5b506110c16123af565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561110f57600080fd5b506111526004803603602081101561112657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123d5565b005b34801561116057600080fd5b5061118d6004803603602081101561117757600080fd5b810190808035906020019092919050505061245b565b604051808260ff1660ff16815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561123f5780601f106112145761010080835404028352916020019161123f565b820191906000526020600020905b81548152906001019060200180831161122257829003601f168201915b505050505081565b6000611254338484612478565b6001905092915050565b611266611a64565b6112d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600254905090565b600061133384848461266f565b6113cc84336113c785600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461288590919063ffffffff16565b612478565b600190509392505050565b60008090505b828290508110156115ad577fdb5665b0a3d4192e2580326487cbca8068d6897d382d150f9665263f17386594611414600754611fff565b61141d42611fff565b604051808360ff1681526020018260ff1681526020019250505060405180910390a161144842611fff565b60ff16611456600754611fff565b60ff16146115a057600061149184848481811061146f57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1661186d565b905060006114aa6104b08361290e90919063ffffffff16565b90506114de8585858181106114bb57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168261299d565b61150a600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612b3b565b7fb84a7337d97206cb6d967bf78ef8dd1ffd7f1528bb24f00c4c3705c9438566f585858581811061153757fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1682604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150505b80806001019150506113dd565b50426007819055505050565b600560009054906101000a900460ff1681565b6000611667338461166285600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cf690919063ffffffff16565b612478565b6001905092915050565b611679611a64565b6116eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60006116f5611a3a565b90508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015801561173d573d6000803e3d6000fd5b505050565b60006018603c80848161175157fe5b048161175957fe5b048161176157fe5b069050919050565b611771611a64565b6117e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6117ed8282612b3b565b5050565b600042905090565b60006007600462015180848161180b57fe5b04018161181457fe5b069050919050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600061184c86868686866000611abc565b905095945050505050565b600061186282612d7e565b604001519050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6118bd611a64565b61192f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000611a0185858585600080611abc565b9050949350505050565b6000603c8281611a1757fe5b069050919050565b6000611a318484846000806000611abc565b90509392505050565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6000806107b290505b8761ffff168161ffff161015611b0857611ade816120ba565b15611af1576301e2850082019150611afb565b6301e13380820191505b8080600101915050611ac5565b611b10613061565b601f816000600c8110611b1f57fe5b602002019060ff16908160ff1681525050611b39896120ba565b15611b6357601d816001600c8110611b4d57fe5b602002019060ff16908160ff1681525050611b84565b601c816001600c8110611b7257fe5b602002019060ff16908160ff16815250505b601f816002600c8110611b9357fe5b602002019060ff16908160ff1681525050601e816003600c8110611bb357fe5b602002019060ff16908160ff1681525050601f816004600c8110611bd357fe5b602002019060ff16908160ff1681525050601e816005600c8110611bf357fe5b602002019060ff16908160ff1681525050601f816006600c8110611c1357fe5b602002019060ff16908160ff1681525050601f816007600c8110611c3357fe5b602002019060ff16908160ff1681525050601e816008600c8110611c5357fe5b602002019060ff16908160ff1681525050601f816009600c8110611c7357fe5b602002019060ff16908160ff1681525050601e81600a600c8110611c9357fe5b602002019060ff16908160ff1681525050601f81600b600c8110611cb357fe5b602002019060ff16908160ff1681525050600191505b8760ff168261ffff161015611d0957806001830361ffff16600c8110611ceb57fe5b602002015160ff166201518002830192508180600101925050611cc9565b6001870360ff166201518002830192508560ff16610e1002830192508460ff16603c02830192508360ff168301925082925050509695505050505050565b600080600090506000806301e133808581611d5e57fe5b046107b261ffff16019150611d786107b261ffff16612146565b611d858361ffff16612146565b039050806301e285000283019250806107b2830361ffff16036301e1338002830192505b84831115611de557611dbd600183036120ba565b15611dd0576301e2850083039250611dda565b6301e13380830392505b600182039150611da9565b819350505050919050565b60075481565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611e8c5780601f10611e6157610100808354040283529160200191611e8c565b820191906000526020600020905b815481529060010190602001808311611e6f57829003601f168201915b505050505081565b611e9c611a64565b611f0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b611f18828261299d565b5050565b611f24611a64565b611f96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008090505b84849050811015611ff857611feb858583818110611fb657fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16848484818110611fdf57fe5b90506020020135611e94565b8080600101915050611f9c565b5050505050565b600061200a82612d7e565b602001519050919050565b60006120b033846120ab85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461288590919063ffffffff16565b612478565b6001905092915050565b60008060048361ffff16816120cb57fe5b0661ffff16146120de576000905061212a565b600060648361ffff16816120ee57fe5b0661ffff1614612101576001905061212a565b60006101908361ffff168161211257fe5b0661ffff1614612125576000905061212a565b600190505b919050565b600061213c33848461266f565b6001905092915050565b6000600182039150610190828161215957fe5b046064838161216457fe5b046004848161216f57fe5b0403019050919050565b600060018360ff161480612190575060038360ff16145b8061219e575060058360ff16145b806121ac575060078360ff16145b806121ba575060088360ff16145b806121c85750600a8360ff16145b806121d65750600c8360ff16145b156121e457601f905061223f565b60048360ff1614806121f9575060068360ff16145b80612207575060098360ff16145b806122155750600b8360ff16145b1561222357601e905061223f565b61222c826120ba565b1561223a57601d905061223f565b601c90505b92915050565b61224d611a64565b6122bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008090505b84849050811015612321576123148585838181106122df57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1684848481811061230857fe5b90506020020135611769565b80806001019150506122c5565b5050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6123dd611a64565b61244f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61245881612f1b565b50565b6000603c80838161246857fe5b048161247057fe5b069050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156124fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806131646024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612584576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806131216022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156126f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806130d86023913960400191505060405180910390fd5b612746816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461288590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127d9816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cf690919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000828211156128fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b6000808211612985576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b600082848161299057fe5b0490508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a23576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806131436021913960400191505060405180910390fd5b612a388160025461288590919063ffffffff16565b600281905550612a8f816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461288590919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612bde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b612bf381600254612cf690919063ffffffff16565b600281905550612c4a816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cf690919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600080828401905083811015612d74576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b612d86613084565b6000809050600080612d9785611d47565b846000019061ffff16908161ffff1681525050612db96107b261ffff16612146565b612dca856000015161ffff16612146565b039150816301e285000283019250816107b285600001510361ffff16036301e1338002830192506000600191505b600c8260ff1611612e4e57612e11828660000151612179565b60ff1662015180029050858482011115612e3c5781856020019060ff16908160ff1681525050612e4e565b80840193508180600101925050612df8565b600191505b612e6585602001518660000151612179565b60ff168260ff1611612eaa57858462015180011115612e955781856040019060ff16908160ff1681525050612eaa565b62015180840193508180600101925050612e53565b612eb386611742565b856060019060ff16908160ff1681525050612ecd8661245b565b856080019060ff16908160ff1681525050612ee786611a0b565b8560a0019060ff16908160ff1681525050612f01866117f9565b8560c0019060ff16908160ff168152505050505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612fa1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806130fb6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b604051806101800160405280600c90602082028038833980820191505090505090565b6040518060e00160405280600061ffff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff168152602001600060ff168152509056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72315820499d70f9b3bb2bc29cb0772b8086c8a2dd14a492904b95fc41bb57899cd850f064736f6c634300050d0032

Verified Source Code Partial Match

Compiler: v0.5.13+commit.5b0b510c EVM: petersburg Optimization: No
ERC20.sol 227 lines
pragma solidity ^0.5.13;

import "./SafeMath.sol";

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * https://eips.ethereum.org/EIPS/eip-20
 * Originally based on code by FirstBlood:
 * https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 *
 * This implementation emits additional Approval events, allowing applications to reconstruct the allowance status for
 * all accounts just by listening to said events. Note that this isn't required by the specification, and other
 * compliant implementations may not do it.
 */
contract ERC20 {
    using SafeMath for uint256;

    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowed;

    uint256 private _totalSupply;

    string public name;
    string public symbol;
    uint8 public decimals;

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

    constructor(string memory _name, string memory _symbol, uint8 _decimals) public {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
    }

    /**
     * @dev Total number of tokens in existence.
     */
    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev Gets the balance of the specified address.
     * @param owner The address to query the balance of.
     * @return A uint256 representing the amount owned by the passed address.
     */
    function balanceOf(address owner) public view returns (uint256) {
        return _balances[owner];
    }

    /**
     * @dev Function to check the amount of tokens that an owner allowed to a spender.
     * @param owner address The address which owns the funds.
     * @param spender address The address which will spend the funds.
     * @return A uint256 specifying the amount of tokens still available for the spender.
     */
    function allowance(address owner, address spender)
        public
        view
        returns (uint256)
    {
        return _allowed[owner][spender];
    }

    /**
     * @dev Transfer token to a specified address.
     * @param to The address to transfer to.
     * @param value The amount to be transferred.
     */
    function transfer(address to, uint256 value) public returns (bool) {
        _transfer(msg.sender, to, value);
        return true;
    }

    /**
     * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
     * Beware that changing an allowance with this method brings the risk that someone may use both the old
     * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
     * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     * @param spender The address which will spend the funds.
     * @param value The amount of tokens to be spent.
     */
    function approve(address spender, uint256 value) public returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    /**
     * @dev Transfer tokens from one address to another.
     * Note that while this function emits an Approval event, this is not required as per the specification,
     * and other compliant implementations may not emit the event.
     * @param from address The address which you want to send tokens from
     * @param to address The address which you want to transfer to
     * @param value uint256 the amount of tokens to be transferred
     */
    function transferFrom(address from, address to, uint256 value)
        public
        returns (bool)
    {
        _transfer(from, to, value);
        _approve(from, msg.sender, _allowed[from][msg.sender].sub(value));
        return true;
    }

    /**
     * @dev Increase the amount of tokens that an owner allowed to a spender.
     * approve should be called when _allowed[msg.sender][spender] == 0. To increment
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     * Emits an Approval event.
     * @param spender The address which will spend the funds.
     * @param addedValue The amount of tokens to increase the allowance by.
     */
    function increaseAllowance(address spender, uint256 addedValue)
        public
        returns (bool)
    {
        _approve(
            msg.sender,
            spender,
            _allowed[msg.sender][spender].add(addedValue)
        );
        return true;
    }

    /**
     * @dev Decrease the amount of tokens that an owner allowed to a spender.
     * approve should be called when _allowed[msg.sender][spender] == 0. To decrement
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     * Emits an Approval event.
     * @param spender The address which will spend the funds.
     * @param subtractedValue The amount of tokens to decrease the allowance by.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        returns (bool)
    {
        _approve(
            msg.sender,
            spender,
            _allowed[msg.sender][spender].sub(subtractedValue)
        );
        return true;
    }

    /**
     * @dev Transfer token for a specified addresses.
     * @param from The address to transfer from.
     * @param to The address to transfer to.
     * @param value The amount to be transferred.
     */
    function _transfer(address from, address to, uint256 value) internal {
        require(to != address(0), "ERC20: transfer to the zero address");

        _balances[from] = _balances[from].sub(value);
        _balances[to] = _balances[to].add(value);
        emit Transfer(from, to, value);
    }

    /**
     * @dev Internal function that mints an amount of the token and assigns it to
     * an account. This encapsulates the modification of balances such that the
     * proper events are emitted.
     * @param account The account that will receive the created tokens.
     * @param value The amount that will be created.
     */
    function _mint(address account, uint256 value) internal {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply = _totalSupply.add(value);
        _balances[account] = _balances[account].add(value);
        emit Transfer(address(0), account, value);
    }

    /**
     * @dev Internal function that burns an amount of the token of a given
     * account.
     * @param account The account whose tokens will be burnt.
     * @param value The amount that will be burnt.
     */
    function _burn(address account, uint256 value) internal {
        require(account != address(0), "ERC20: burn from the zero address");

        _totalSupply = _totalSupply.sub(value);
        _balances[account] = _balances[account].sub(value);
        emit Transfer(account, address(0), value);
    }

    /**
     * @dev Approve an address to spend another addresses' tokens.
     * @param owner The address that owns the tokens.
     * @param spender The address that will spend the tokens.
     * @param value The number of tokens that can be spent.
     */
    function _approve(address owner, address spender, uint256 value) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowed[owner][spender] = value;
        emit Approval(owner, spender, value);
    }

    /**
     * @dev Internal function that burns an amount of the token of a given
     * account, deducting from the sender's allowance for said account. Uses the
     * internal burn function.
     * Emits an Approval event (reflecting the reduced allowance).
     * @param account The account whose tokens will be burnt.
     * @param value The amount that will be burnt.
     */
    function _burnFrom(address account, uint256 value) internal {
        _burn(account, value);
        _approve(account, msg.sender, _allowed[account][msg.sender].sub(value));
    }
}
Ownable.sol 79 lines
pragma solidity ^0.5.13;

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address private _owner;

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

    /**
     * @dev The Ownable constructor sets the original `owner` of the contract to the sender
     * account.
     */
    constructor() internal {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

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

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

    /**
     * @return true if `msg.sender` is the owner of the contract.
     */
    function isOwner() public view returns (bool) {
        return msg.sender == _owner;
    }

    /**
     * @dev Allows the current owner to relinquish control of the contract.
     * It will not be possible to call the functions with the `onlyOwner`
     * modifier anymore.
     * @notice Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Allows the current owner to transfer control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function _transferOwnership(address newOwner) internal {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}
DateTime.sol 249 lines
pragma solidity ^0.5.13;

contract DateTime {
    /*
         *  Date and Time utilities for ethereum contracts
         *
         */
    struct _DateTime {
        uint16 year;
        uint8 month;
        uint8 day;
        uint8 hour;
        uint8 minute;
        uint8 second;
        uint8 weekday;
    }

    uint256 constant private DAY_IN_SECONDS = 86400;
    uint256 constant private YEAR_IN_SECONDS = 31536000;
    uint256 constant private LEAP_YEAR_IN_SECONDS = 31622400;

    uint256 constant private HOUR_IN_SECONDS = 3600;
    uint256 constant private MINUTE_IN_SECONDS = 60;

    uint16 constant private ORIGIN_YEAR = 1970;

    function isLeapYear(uint16 year) public pure returns (bool) {
        if (year % 4 != 0) {
            return false;
        }
        if (year % 100 != 0) {
            return true;
        }
        if (year % 400 != 0) {
            return false;
        }
        return true;
    }

    function leapYearsBefore(uint256 year) public pure returns (uint256) {
        year -= 1;
        return year / 4 - year / 100 + year / 400;
    }

    function getDaysInMonth(uint8 month, uint16 year)
        public
        pure
        returns (uint8)
    {
        if (
            month == 1 ||
            month == 3 ||
            month == 5 ||
            month == 7 ||
            month == 8 ||
            month == 10 ||
            month == 12
        ) {
            return 31;
        } else if (month == 4 || month == 6 || month == 9 || month == 11) {
            return 30;
        } else if (isLeapYear(year)) {
            return 29;
        } else {
            return 28;
        }
    }

    function parseTimestamp(uint256 timestamp)
        internal
        pure
        returns (_DateTime memory dt)
    {
        uint256 secondsAccountedFor = 0;
        uint256 buf;
        uint8 i;

        // Year
        dt.year = getYear(timestamp);
        buf = leapYearsBefore(dt.year) - leapYearsBefore(ORIGIN_YEAR);

        secondsAccountedFor += LEAP_YEAR_IN_SECONDS * buf;
        secondsAccountedFor += YEAR_IN_SECONDS * (dt.year - ORIGIN_YEAR - buf);

        // Month
        uint256 secondsInMonth;
        for (i = 1; i <= 12; i++) {
            secondsInMonth = DAY_IN_SECONDS * getDaysInMonth(i, dt.year);
            if (secondsInMonth + secondsAccountedFor > timestamp) {
                dt.month = i;
                break;
            }
            secondsAccountedFor += secondsInMonth;
        }

        // Day
        for (i = 1; i <= getDaysInMonth(dt.month, dt.year); i++) {
            if (DAY_IN_SECONDS + secondsAccountedFor > timestamp) {
                dt.day = i;
                break;
            }
            secondsAccountedFor += DAY_IN_SECONDS;
        }

        // Hour
        dt.hour = getHour(timestamp);

        // Minute
        dt.minute = getMinute(timestamp);

        // Second
        dt.second = getSecond(timestamp);

        // Day of week.
        dt.weekday = getWeekday(timestamp);
    }

    function getYear(uint256 timestamp) public pure returns (uint16) {
        uint256 secondsAccountedFor = 0;
        uint16 year;
        uint256 numLeapYears;

        // Year
        year = uint16(ORIGIN_YEAR + timestamp / YEAR_IN_SECONDS);
        numLeapYears = leapYearsBefore(year) - leapYearsBefore(ORIGIN_YEAR);

        secondsAccountedFor += LEAP_YEAR_IN_SECONDS * numLeapYears;
        secondsAccountedFor +=
            YEAR_IN_SECONDS *
            (year - ORIGIN_YEAR - numLeapYears);

        while (secondsAccountedFor > timestamp) {
            if (isLeapYear(uint16(year - 1))) {
                secondsAccountedFor -= LEAP_YEAR_IN_SECONDS;
            } else {
                secondsAccountedFor -= YEAR_IN_SECONDS;
            }
            year -= 1;
        }
        return year;
    }

    function getMonth(uint256 timestamp) public pure returns (uint8) {
        return parseTimestamp(timestamp).month;
    }

    function getDay(uint256 timestamp) public pure returns (uint8) {
        return parseTimestamp(timestamp).day;
    }

    function getHour(uint256 timestamp) public pure returns (uint8) {
        return uint8((timestamp / 60 / 60) % 24);
    }

    function getMinute(uint256 timestamp) public pure returns (uint8) {
        return uint8((timestamp / 60) % 60);
    }

    function getSecond(uint256 timestamp) public pure returns (uint8) {
        return uint8(timestamp % 60);
    }

    function getWeekday(uint256 timestamp) public pure returns (uint8) {
        return uint8((timestamp / DAY_IN_SECONDS + 4) % 7);
    }

    function toTimestamp(uint16 year, uint8 month, uint8 day)
        public
        pure
        returns (uint256 timestamp)
    {
        return toTimestamp(year, month, day, 0, 0, 0);
    }

    function toTimestamp(uint16 year, uint8 month, uint8 day, uint8 hour)
        public
        pure
        returns (uint256 timestamp)
    {
        return toTimestamp(year, month, day, hour, 0, 0);
    }

    function toTimestamp(
        uint16 year,
        uint8 month,
        uint8 day,
        uint8 hour,
        uint8 minute
    ) public pure returns (uint256 timestamp) {
        return toTimestamp(year, month, day, hour, minute, 0);
    }

    function toTimestamp(
        uint16 year,
        uint8 month,
        uint8 day,
        uint8 hour,
        uint8 minute,
        uint8 second
    ) public pure returns (uint256 timestamp) {
        uint16 i;

        // Year
        for (i = ORIGIN_YEAR; i < year; i++) {
            if (isLeapYear(i)) {
                timestamp += LEAP_YEAR_IN_SECONDS;
            } else {
                timestamp += YEAR_IN_SECONDS;
            }
        }

        // Month
        uint8[12] memory monthDayCounts;
        monthDayCounts[0] = 31;
        if (isLeapYear(year)) {
            monthDayCounts[1] = 29;
        } else {
            monthDayCounts[1] = 28;
        }
        monthDayCounts[2] = 31;
        monthDayCounts[3] = 30;
        monthDayCounts[4] = 31;
        monthDayCounts[5] = 30;
        monthDayCounts[6] = 31;
        monthDayCounts[7] = 31;
        monthDayCounts[8] = 30;
        monthDayCounts[9] = 31;
        monthDayCounts[10] = 30;
        monthDayCounts[11] = 31;

        for (i = 1; i < month; i++) {
            timestamp += DAY_IN_SECONDS * monthDayCounts[i - 1];
        }

        // Day
        timestamp += DAY_IN_SECONDS * (day - 1);

        // Hour
        timestamp += HOUR_IN_SECONDS * (hour);

        // Minute
        timestamp += MINUTE_IN_SECONDS * (minute);

        // Second
        timestamp += second;

        return timestamp;
    }
}
SafeMath.sol 65 lines
pragma solidity ^0.5.13;

/**
 * @title SafeMath
 * @dev Unsigned math operations with safety checks that revert on error.
 */
library SafeMath {
    /**
     * @dev Multiplies two unsigned integers, reverts on overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Adds two unsigned integers, reverts on overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),
     * reverts when dividing by zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0, "SafeMath: modulo by zero");
        return a % b;
    }
}
StableCoin.sol 86 lines
pragma solidity ^0.5.13;

import "./ERC20.sol";
import "./DateTime.sol";
import "./Ownable.sol";

contract StableCoin is ERC20, DateTime, Ownable {
    using SafeMath for uint256;

    address public tokenIssuer;
    uint256 public lastOxydationDate;

    event Oxydated(address holder, uint256 amount);
    event TimestampComparaison(uint256 newTimestamp, uint256 oldTimestamp);

    constructor(
        string memory _tokenName,
        string memory _tokenSymbol,
        uint8 _decimals,
        address _tokenIssuer
    ) public ERC20(_tokenName, _tokenSymbol, _decimals) Ownable() {
        lastOxydationDate = now;
        tokenIssuer = _tokenIssuer;
    }

    // change address that get fees from oxydation
    function setTokenIssuer(address _addressVeraOneFees) public onlyOwner {
        tokenIssuer = _addressVeraOneFees;
    }

    function mint(address _to, uint256 _tokenAmount) public onlyOwner {
        _mint(_to, _tokenAmount);
    }

    //Mint tokens to each each beneficiary
    function mints(address[] calldata _recipients, uint256[] calldata _values) external onlyOwner {
        for (uint256 i = 0; i < _recipients.length; i++) {
            mint(_recipients[i], _values[i]);
        }
    }

    function burn(address _account, uint256 _value) public onlyOwner {
        _burn(_account, _value);
    }

    //Burn tokens to each each beneficiary
    function burns(address[] calldata _recipients, uint256[] calldata _values) external onlyOwner {
        for (uint256 i = 0; i < _recipients.length; i++) {
            burn(_recipients[i], _values[i]);
        }
    }
    // can accept ether
    function() external payable {}

    // give number of ether owned by smart contract
    function getBalanceEthSmartContract() public view returns (uint256) {
        return address(this).balance;
    }

    // transfer smart contract balance to owner
    function withdrawEther(uint256 amount) public onlyOwner {
        address payable ownerPayable = address(uint160(Ownable.owner()));
        ownerPayable.transfer(amount);
    }

    // monthly oxydation for all investors
    function oxydation(address[] calldata holders) external {
        for (uint256 i = 0; i < holders.length; i++) {
            emit TimestampComparaison(getMonth(lastOxydationDate), getMonth(now));
            if (getMonth(lastOxydationDate) != getMonth(now)) {
                // once a month
                uint256 balanceCurrent = balanceOf(holders[i]);
                uint256 toOxyde = balanceCurrent.div(1200); // 1% annual over 12 months
                _burn(holders[i], toOxyde);
                _mint(tokenIssuer, toOxyde);
                emit Oxydated(holders[i], toOxyde);
            }
        }
        lastOxydationDate = now;
    }

    function Now() external view returns (uint256){
      return (now);
  }

}
Migrations.sol 23 lines
pragma solidity ^0.5.13;

contract Migrations {
    address public owner;
    uint256 public lastCompletedMigration;

    modifier restricted() {
        if (msg.sender == owner) _;
    }

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

    function setCompleted(uint256 completed) public restricted {
        lastCompletedMigration = completed;
    }

    function upgrade(address new_address) public restricted {
        Migrations upgraded = Migrations(new_address);
        upgraded.setCompleted(lastCompletedMigration);
    }
}

Read Contract

Now 0x44d4fd19 → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
getBalanceEthSmartContract 0x5f9efad6 → uint256
getDay 0x65c72840 → uint8
getDaysInMonth 0xb238ad0e → uint8
getHour 0x3e239e1a → uint8
getMinute 0xfa93f883 → uint8
getMonth 0xa324ad24 → uint8
getSecond 0x8aa001fc → uint8
getWeekday 0x4ac1ad78 → uint8
getYear 0x92d66313 → uint16
isLeapYear 0xa6f0e577 → bool
isOwner 0x8f32d59b → bool
lastOxydationDate 0x9508dc77 → uint256
leapYearsBefore 0xb1999937 → uint256
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
toTimestamp 0x62ba9687 → uint256
toTimestamp 0x7f791833 → uint256
toTimestamp 0x8c8d98a0 → uint256
toTimestamp 0x9054bdec → uint256
tokenIssuer 0xf243c2a7 → address
totalSupply 0x18160ddd → uint256

Write Contract 14 functions

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

approve 0x095ea7b3
address spender
uint256 value
returns: bool
burn 0x9dc29fac
address _account
uint256 _value
burns 0xa131e0e5
address[] _recipients
uint256[] _values
decreaseAllowance 0xa457c2d7
address spender
uint256 subtractedValue
returns: bool
increaseAllowance 0x39509351
address spender
uint256 addedValue
returns: bool
mint 0x40c10f19
address _to
uint256 _tokenAmount
mints 0xc28ab890
address[] _recipients
uint256[] _values
oxydation 0x291babc3
address[] holders
renounceOwnership 0x715018a6
No parameters
setTokenIssuer 0x09daa7eb
address _addressVeraOneFees
transfer 0xa9059cbb
address to
uint256 value
returns: bool
transferFrom 0x23b872dd
address from
address to
uint256 value
returns: bool
transferOwnership 0xf2fde38b
address newOwner
withdrawEther 0x3bed33ce
uint256 amount

Recent Transactions

No transactions found for this address