123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- pragma solidity 0.7.4;
- pragma experimental ABIEncoderV2;
-
- contract SmartContract {
- uint number0 = 100;
- uint number1 = 111;
- uint number2 = 222;
- uint number3 = 333;
- uint number4 = 444;
- uint number5 = 555;
- uint number6 = 666;
-
- string category0 = "A";
- string category1 = "B";
- string category2 = "C";
- string category3 = "A";
- string category4 = "B";
- string category5 = "C";
- string category6 = "A";
-
-
- struct Driver{
- string FullNameDriver;
- uint exp;
- uint RoadAccident ;
- uint DriverBalance;
- uint NumberFine;
- }
-
- struct Auto {
- string category;
- uint marketplace;
- uint old;
-
- }
- struct CertificDrive{
- uint number;
- string TimeEnd;
- string category;
- }
-
- address public BankAddress = 0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2;
- address public InsuranceCompanyAddress = 0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db;
- address public DriverAddressIvanov = 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4;
- address public DriverAddressSemenov = 0x78731D3Ca6b7E34aC0F824c42a7cC18A495cabaB;
- address public DriverAddressPetrov = 0x617F2E2fD72FD9D5503197092aC168c91465E7f2;
- address public DriverAddressRomanov = 0x17F6AD8Ef982297579C203069C1DbfFE4348c372;
- address public DriverAddressDmitriev = 0x5c6B0f7Bf3E7ce046039Bd8FABdfD3f9F5021678;
-
- uint public countFine = 0;
- CertificDrive [] Certific;
- mapping(address=>CertificDrive) private Certif;
- mapping(address=>Auto) private nAuto;
-
- function PayFine()public payable{
- }
- function BalanceDriverIvanov()public{
- msg.sender.transfer(address(DriverAddressIvanov).balance);
- }
- function BalanceDriverSemenov()public{
- msg.sender.transfer(address(DriverAddressSemenov).balance);
- }
- function BalanceDriverPetrov()public{
- msg.sender.transfer(address(DriverAddressPetrov).balance);
- }
- function BalanceDriverRomanov()public{
- msg.sender.transfer(address(DriverAddressRomanov).balance);
- }
- function BalanceDriverDmitriev()public{
- msg.sender.transfer(address(DriverAddressDmitriev).balance);
- }
- function PayInsurance () public payable{
-
- }
- function GetInsurance () public payable {
-
- }
- function GetBalanceBank () public payable {
-
- }
-
- function GetInsuranceBalance () public payable {
-
- }
-
- function GetBalanceDriver () public payable {
-
- }
-
- function regDriver(string memory FullNameDriver,uint exp, uint RoadAccident, uint NumberFine )public view {
- Driver memory newDriver;
- newDriver.FullNameDriver = FullNameDriver;
- newDriver.exp = exp;
- newDriver.RoadAccident = RoadAccident;
-
-
- }
-
- function Registration(uint number, string memory TimeEnd, string memory category)public {
- address sender = msg.sender;
-
- CertificDrive memory newCertif;
- newCertif.number = number;
- newCertif.TimeEnd = TimeEnd;
- newCertif.category = category;
- DpsCheck(newCertif,number,category);
- }
-
- function DpsCheck(CertificDrive memory newCertif,uint number,string memory category)private {
- if(number == number0 && keccak256(abi.encodePacked(category)) == keccak256(abi.encodePacked(category0))
- || number == number1 && keccak256(abi.encodePacked(category)) == keccak256(abi.encodePacked(category1))
- || number == number2 && keccak256(abi.encodePacked(category)) == keccak256(abi.encodePacked(category2))
- || number == number3 && keccak256(abi.encodePacked(category)) == keccak256(abi.encodePacked(category3))
- || number == number4 && keccak256(abi.encodePacked(category)) == keccak256(abi.encodePacked(category4))
- || number == number5 && keccak256(abi.encodePacked(category)) == keccak256(abi.encodePacked(category5))
- || number == number6 && keccak256(abi.encodePacked(category)) == keccak256(abi.encodePacked(category6))){
- address sender = msg.sender;
- Certif[sender] = newCertif;
- }
- else {
- number = 0;
- }
-
- }
-
- function regAuto(string memory category,uint marketplace,uint old)public {
- address sender = msg.sender;
- Auto memory newAuto;
- newAuto.category = category;
- newAuto.marketplace = marketplace;
- newAuto.old = old;
- DpsCheck1(newAuto,category);
- }
-
- function DpsCheck1(Auto memory newAuto,string memory category)private {
- if(keccak256(abi.encodePacked(category)) == keccak256(abi.encodePacked(category0))
- ||keccak256(abi.encodePacked(category)) == keccak256(abi.encodePacked(category1))
- ||keccak256(abi.encodePacked(category)) == keccak256(abi.encodePacked(category2))
- ||keccak256(abi.encodePacked(category)) == keccak256(abi.encodePacked(category3))
- ||keccak256(abi.encodePacked(category)) == keccak256(abi.encodePacked(category4))
- ||keccak256(abi.encodePacked(category)) == keccak256(abi.encodePacked(category5))
- ||keccak256(abi.encodePacked(category)) == keccak256(abi.encodePacked(category6))){
- address sender = msg.sender;
- nAuto[sender] = newAuto;
- }
- }
-
- function RenewalOfDrivingLicense(string memory TimeEnd,uint countFine, uint NumberFine) public {
- NumberFine = countFine;
- if (countFine == 0) {
- address sender = msg.sender;
- CertificDrive memory newCertif;
- newCertif.TimeEnd = TimeEnd;
- }
-
- }
-
-
-
- }
|